├── .gitattributes ├── .gitignore ├── .node-version ├── .npmignore ├── .nvmrc ├── .prettierignore ├── README.md ├── assets ├── Hop_Contract_Inheritance_Diagram.jpg └── Hop_Transfer_Diagrams.jpg ├── audits ├── 042021_MonocerosAlpha.pdf └── 052021_Solidified.pdf ├── config ├── constants.ts ├── interfaces.ts ├── networks │ ├── defaultNetworkData.ts │ ├── goerli.ts │ ├── index.ts │ ├── kovan.ts │ ├── mainnet.ts │ └── types.ts └── utils.ts ├── contracts ├── bridges │ ├── Accounting.sol │ ├── BonderRegistry.sol │ ├── Bridge.sol │ ├── HopBridgeToken.sol │ ├── L1_Bridge.sol │ ├── L2_AmmWrapper.sol │ ├── L2_Bridge.sol │ └── SwapDataConsumer.sol ├── connectors │ ├── Connector.sol │ ├── L1_ArbitrumConnector.sol │ ├── L1_OptimismConnector.sol │ ├── L1_PolygonConnector.sol │ ├── L1_XDaiConnector.sol │ ├── L2_ArbitrumConnector.sol │ ├── L2_OptimismConnector.sol │ ├── L2_PolygonConnector.sol │ └── L2_XDaiConnector.sol ├── governance │ ├── SafeMath.sol │ └── Timelock.sol ├── interfaces │ ├── IBonderRegistry.sol │ ├── IWETH.sol │ ├── arbitrum │ │ ├── bridges │ │ │ └── IEthERC20Bridge.sol │ │ └── messengers │ │ │ ├── IArbSys.sol │ │ │ ├── IBridge.sol │ │ │ ├── IGlobalInbox.sol │ │ │ ├── IInbox.sol │ │ │ ├── IMessageProvider.sol │ │ │ └── IOutbox.sol │ ├── optimism │ │ ├── bridges │ │ │ ├── iOVM_L1ERC20Bridge.sol │ │ │ ├── iOVM_L1StandardBridge.sol │ │ │ ├── iOVM_L2ERC20Bridge.sol │ │ │ └── iOVM_L2StandardBridge.sol │ │ └── messengers │ │ │ ├── iOVM_BaseCrossDomainMessenger.sol │ │ │ ├── iOVM_L1CrossDomainMessenger.sol │ │ │ └── iOVM_L2CrossDomainMessenger.sol │ ├── polygon │ │ ├── bridges │ │ │ └── IRootChainManager.sol │ │ └── messengers │ │ │ ├── IPolygonFxChild.sol │ │ │ ├── I_L1_PolygonMessenger.sol │ │ │ └── I_L2_PolygonMessengerProxy.sol │ └── xDai │ │ ├── bridges │ │ └── IForeignOmniBridge.sol │ │ └── messengers │ │ └── IArbitraryMessageBridge.sol ├── libraries │ └── Lib_MerkleTree.sol ├── polygon │ ├── lib │ │ ├── Merkle.sol │ │ ├── MerklePatriciaProof.sol │ │ └── RLPReader.sol │ └── tunnel │ │ ├── FxBaseChildTunnel.sol │ │ └── FxBaseRootTunnel.sol ├── saddle │ ├── LPToken.sol │ ├── MathUtils.sol │ ├── OwnerPausableUpgradeable.sol │ ├── Swap.sol │ ├── SwapUtils.sol │ └── interfaces │ │ ├── IAllowlist.sol │ │ ├── IFlashLoanReceiver.sol │ │ ├── ISwap.sol │ │ ├── ISwapFlashLoan.sol │ │ └── ISwapGuarded.sol └── test │ ├── BytesLib.sol │ ├── MockERC20.sol │ ├── MockFxChild.sol │ ├── MockFxRoot.sol │ ├── MockMessenger.sol │ ├── Mock_Accounting.sol │ ├── Mock_Bridge.sol │ ├── Mock_L1_Bridge.sol │ ├── Mock_L1_CanonicalBridge.sol │ ├── Mock_L1_Messenger.sol │ ├── Mock_L2_Bridge.sol │ ├── Mock_L2_Messenger.sol │ ├── arbitrum │ ├── MockEthERC20Bridge.sol │ ├── mockArbitrum_L1_ERC20_Bridge.sol │ └── mockArbitrum_L2_ERC20_Bridge.sol │ ├── optimism │ ├── OVM_BaseCrossDomainMessenger.sol │ ├── mockOVM_CrossDomainMessenger.sol │ ├── mockOVM_L1StandardBridge.sol │ ├── mockOVM_L1_ERC20_Bridge.sol │ ├── mockOVM_L2StandardBridge.sol │ └── mockOVM_L2_ERC20_Bridge.sol │ ├── polygon │ ├── MockRootChainManager.sol │ └── Mock_L1_PolygonMessenger.sol │ └── xDai │ ├── MockForeignOmniBridge.sol │ └── Mock_L1_xDaiMessenger.sol ├── hardhat.config.ts ├── lib ├── Transfer.ts └── TransferAmounts.ts ├── package.json ├── scripts ├── contractState │ └── getUpdateContractStateMessage.ts ├── deployAndSetupHop │ ├── deploy.ts │ ├── deployL1.ts │ ├── deployL2.ts │ ├── setupL1.ts │ └── setupL2.ts ├── erc20 │ └── deploy.ts ├── other │ ├── deploySaddle.ts │ ├── sendMessageOverHopBridge.ts │ └── sendOverOmniBridge.ts ├── shared │ └── utils.ts ├── tokenBridge │ ├── deployL1.ts │ └── deployL2.ts └── verificationArguments.js ├── test ├── bridges │ ├── Accounting.test.ts │ ├── BonderRegistry.test.ts │ ├── Bridge.test.ts │ ├── HopBridgeToken.test.ts │ ├── L1_Bridge.test.ts │ ├── L2_AmmWrapper.test.ts │ └── L2_Bridge.test.ts ├── shared │ ├── contractFunctionWrappers.ts │ ├── fixtures.ts │ ├── interfaces.ts │ ├── utils.test.ts │ └── utils.ts └── wrappers │ ├── ArbitrumMessengerWrapper.test.ts │ ├── OptimismMessengerWrapper.test.ts │ ├── PolygonWrapper.test.ts │ └── XDaiMessengerWrapper.test.ts ├── tsconfig.json └── types └── .gitkeep /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sol linguist-language=Solidity -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/.gitignore -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 11.15.0 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/.npmignore -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 11.15.0 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/.prettierignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/README.md -------------------------------------------------------------------------------- /assets/Hop_Contract_Inheritance_Diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/assets/Hop_Contract_Inheritance_Diagram.jpg -------------------------------------------------------------------------------- /assets/Hop_Transfer_Diagrams.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/assets/Hop_Transfer_Diagrams.jpg -------------------------------------------------------------------------------- /audits/042021_MonocerosAlpha.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/audits/042021_MonocerosAlpha.pdf -------------------------------------------------------------------------------- /audits/052021_Solidified.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/audits/052021_Solidified.pdf -------------------------------------------------------------------------------- /config/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/constants.ts -------------------------------------------------------------------------------- /config/interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/interfaces.ts -------------------------------------------------------------------------------- /config/networks/defaultNetworkData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/defaultNetworkData.ts -------------------------------------------------------------------------------- /config/networks/goerli.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/goerli.ts -------------------------------------------------------------------------------- /config/networks/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/index.ts -------------------------------------------------------------------------------- /config/networks/kovan.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/kovan.ts -------------------------------------------------------------------------------- /config/networks/mainnet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/mainnet.ts -------------------------------------------------------------------------------- /config/networks/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/networks/types.ts -------------------------------------------------------------------------------- /config/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/config/utils.ts -------------------------------------------------------------------------------- /contracts/bridges/Accounting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/Accounting.sol -------------------------------------------------------------------------------- /contracts/bridges/BonderRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/BonderRegistry.sol -------------------------------------------------------------------------------- /contracts/bridges/Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/Bridge.sol -------------------------------------------------------------------------------- /contracts/bridges/HopBridgeToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/HopBridgeToken.sol -------------------------------------------------------------------------------- /contracts/bridges/L1_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/L1_Bridge.sol -------------------------------------------------------------------------------- /contracts/bridges/L2_AmmWrapper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/L2_AmmWrapper.sol -------------------------------------------------------------------------------- /contracts/bridges/L2_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/L2_Bridge.sol -------------------------------------------------------------------------------- /contracts/bridges/SwapDataConsumer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/bridges/SwapDataConsumer.sol -------------------------------------------------------------------------------- /contracts/connectors/Connector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/Connector.sol -------------------------------------------------------------------------------- /contracts/connectors/L1_ArbitrumConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L1_ArbitrumConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L1_OptimismConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L1_OptimismConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L1_PolygonConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L1_PolygonConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L1_XDaiConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L1_XDaiConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L2_ArbitrumConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L2_ArbitrumConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L2_OptimismConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L2_OptimismConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L2_PolygonConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L2_PolygonConnector.sol -------------------------------------------------------------------------------- /contracts/connectors/L2_XDaiConnector.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/connectors/L2_XDaiConnector.sol -------------------------------------------------------------------------------- /contracts/governance/SafeMath.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/governance/SafeMath.sol -------------------------------------------------------------------------------- /contracts/governance/Timelock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/governance/Timelock.sol -------------------------------------------------------------------------------- /contracts/interfaces/IBonderRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/IBonderRegistry.sol -------------------------------------------------------------------------------- /contracts/interfaces/IWETH.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/IWETH.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/bridges/IEthERC20Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/bridges/IEthERC20Bridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IArbSys.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IArbSys.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IBridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IGlobalInbox.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IGlobalInbox.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IInbox.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IInbox.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IMessageProvider.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IMessageProvider.sol -------------------------------------------------------------------------------- /contracts/interfaces/arbitrum/messengers/IOutbox.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/arbitrum/messengers/IOutbox.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/bridges/iOVM_L1ERC20Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/bridges/iOVM_L1ERC20Bridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/bridges/iOVM_L1StandardBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/bridges/iOVM_L1StandardBridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/bridges/iOVM_L2ERC20Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/bridges/iOVM_L2ERC20Bridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/bridges/iOVM_L2StandardBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/bridges/iOVM_L2StandardBridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/messengers/iOVM_BaseCrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/messengers/iOVM_BaseCrossDomainMessenger.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/messengers/iOVM_L1CrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/messengers/iOVM_L1CrossDomainMessenger.sol -------------------------------------------------------------------------------- /contracts/interfaces/optimism/messengers/iOVM_L2CrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/optimism/messengers/iOVM_L2CrossDomainMessenger.sol -------------------------------------------------------------------------------- /contracts/interfaces/polygon/bridges/IRootChainManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/polygon/bridges/IRootChainManager.sol -------------------------------------------------------------------------------- /contracts/interfaces/polygon/messengers/IPolygonFxChild.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/polygon/messengers/IPolygonFxChild.sol -------------------------------------------------------------------------------- /contracts/interfaces/polygon/messengers/I_L1_PolygonMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/polygon/messengers/I_L1_PolygonMessenger.sol -------------------------------------------------------------------------------- /contracts/interfaces/polygon/messengers/I_L2_PolygonMessengerProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/polygon/messengers/I_L2_PolygonMessengerProxy.sol -------------------------------------------------------------------------------- /contracts/interfaces/xDai/bridges/IForeignOmniBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/xDai/bridges/IForeignOmniBridge.sol -------------------------------------------------------------------------------- /contracts/interfaces/xDai/messengers/IArbitraryMessageBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/interfaces/xDai/messengers/IArbitraryMessageBridge.sol -------------------------------------------------------------------------------- /contracts/libraries/Lib_MerkleTree.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/libraries/Lib_MerkleTree.sol -------------------------------------------------------------------------------- /contracts/polygon/lib/Merkle.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/polygon/lib/Merkle.sol -------------------------------------------------------------------------------- /contracts/polygon/lib/MerklePatriciaProof.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/polygon/lib/MerklePatriciaProof.sol -------------------------------------------------------------------------------- /contracts/polygon/lib/RLPReader.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/polygon/lib/RLPReader.sol -------------------------------------------------------------------------------- /contracts/polygon/tunnel/FxBaseChildTunnel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/polygon/tunnel/FxBaseChildTunnel.sol -------------------------------------------------------------------------------- /contracts/polygon/tunnel/FxBaseRootTunnel.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/polygon/tunnel/FxBaseRootTunnel.sol -------------------------------------------------------------------------------- /contracts/saddle/LPToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/LPToken.sol -------------------------------------------------------------------------------- /contracts/saddle/MathUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/MathUtils.sol -------------------------------------------------------------------------------- /contracts/saddle/OwnerPausableUpgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/OwnerPausableUpgradeable.sol -------------------------------------------------------------------------------- /contracts/saddle/Swap.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/Swap.sol -------------------------------------------------------------------------------- /contracts/saddle/SwapUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/SwapUtils.sol -------------------------------------------------------------------------------- /contracts/saddle/interfaces/IAllowlist.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/interfaces/IAllowlist.sol -------------------------------------------------------------------------------- /contracts/saddle/interfaces/IFlashLoanReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/interfaces/IFlashLoanReceiver.sol -------------------------------------------------------------------------------- /contracts/saddle/interfaces/ISwap.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/interfaces/ISwap.sol -------------------------------------------------------------------------------- /contracts/saddle/interfaces/ISwapFlashLoan.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/interfaces/ISwapFlashLoan.sol -------------------------------------------------------------------------------- /contracts/saddle/interfaces/ISwapGuarded.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/saddle/interfaces/ISwapGuarded.sol -------------------------------------------------------------------------------- /contracts/test/BytesLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/BytesLib.sol -------------------------------------------------------------------------------- /contracts/test/MockERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/MockERC20.sol -------------------------------------------------------------------------------- /contracts/test/MockFxChild.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/MockFxChild.sol -------------------------------------------------------------------------------- /contracts/test/MockFxRoot.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/MockFxRoot.sol -------------------------------------------------------------------------------- /contracts/test/MockMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/MockMessenger.sol -------------------------------------------------------------------------------- /contracts/test/Mock_Accounting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_Accounting.sol -------------------------------------------------------------------------------- /contracts/test/Mock_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/Mock_L1_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_L1_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/Mock_L1_CanonicalBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_L1_CanonicalBridge.sol -------------------------------------------------------------------------------- /contracts/test/Mock_L1_Messenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_L1_Messenger.sol -------------------------------------------------------------------------------- /contracts/test/Mock_L2_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_L2_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/Mock_L2_Messenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/Mock_L2_Messenger.sol -------------------------------------------------------------------------------- /contracts/test/arbitrum/MockEthERC20Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/arbitrum/MockEthERC20Bridge.sol -------------------------------------------------------------------------------- /contracts/test/arbitrum/mockArbitrum_L1_ERC20_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/arbitrum/mockArbitrum_L1_ERC20_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/arbitrum/mockArbitrum_L2_ERC20_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/arbitrum/mockArbitrum_L2_ERC20_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/optimism/OVM_BaseCrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/OVM_BaseCrossDomainMessenger.sol -------------------------------------------------------------------------------- /contracts/test/optimism/mockOVM_CrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/mockOVM_CrossDomainMessenger.sol -------------------------------------------------------------------------------- /contracts/test/optimism/mockOVM_L1StandardBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/mockOVM_L1StandardBridge.sol -------------------------------------------------------------------------------- /contracts/test/optimism/mockOVM_L1_ERC20_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/mockOVM_L1_ERC20_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/optimism/mockOVM_L2StandardBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/mockOVM_L2StandardBridge.sol -------------------------------------------------------------------------------- /contracts/test/optimism/mockOVM_L2_ERC20_Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/optimism/mockOVM_L2_ERC20_Bridge.sol -------------------------------------------------------------------------------- /contracts/test/polygon/MockRootChainManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/polygon/MockRootChainManager.sol -------------------------------------------------------------------------------- /contracts/test/polygon/Mock_L1_PolygonMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/polygon/Mock_L1_PolygonMessenger.sol -------------------------------------------------------------------------------- /contracts/test/xDai/MockForeignOmniBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/xDai/MockForeignOmniBridge.sol -------------------------------------------------------------------------------- /contracts/test/xDai/Mock_L1_xDaiMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/contracts/test/xDai/Mock_L1_xDaiMessenger.sol -------------------------------------------------------------------------------- /hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/hardhat.config.ts -------------------------------------------------------------------------------- /lib/Transfer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/lib/Transfer.ts -------------------------------------------------------------------------------- /lib/TransferAmounts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/lib/TransferAmounts.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/package.json -------------------------------------------------------------------------------- /scripts/contractState/getUpdateContractStateMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/contractState/getUpdateContractStateMessage.ts -------------------------------------------------------------------------------- /scripts/deployAndSetupHop/deploy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/deployAndSetupHop/deploy.ts -------------------------------------------------------------------------------- /scripts/deployAndSetupHop/deployL1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/deployAndSetupHop/deployL1.ts -------------------------------------------------------------------------------- /scripts/deployAndSetupHop/deployL2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/deployAndSetupHop/deployL2.ts -------------------------------------------------------------------------------- /scripts/deployAndSetupHop/setupL1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/deployAndSetupHop/setupL1.ts -------------------------------------------------------------------------------- /scripts/deployAndSetupHop/setupL2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/deployAndSetupHop/setupL2.ts -------------------------------------------------------------------------------- /scripts/erc20/deploy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/erc20/deploy.ts -------------------------------------------------------------------------------- /scripts/other/deploySaddle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/other/deploySaddle.ts -------------------------------------------------------------------------------- /scripts/other/sendMessageOverHopBridge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/other/sendMessageOverHopBridge.ts -------------------------------------------------------------------------------- /scripts/other/sendOverOmniBridge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/other/sendOverOmniBridge.ts -------------------------------------------------------------------------------- /scripts/shared/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/shared/utils.ts -------------------------------------------------------------------------------- /scripts/tokenBridge/deployL1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/tokenBridge/deployL1.ts -------------------------------------------------------------------------------- /scripts/tokenBridge/deployL2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/scripts/tokenBridge/deployL2.ts -------------------------------------------------------------------------------- /scripts/verificationArguments.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | ]; -------------------------------------------------------------------------------- /test/bridges/Accounting.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/Accounting.test.ts -------------------------------------------------------------------------------- /test/bridges/BonderRegistry.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/BonderRegistry.test.ts -------------------------------------------------------------------------------- /test/bridges/Bridge.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/Bridge.test.ts -------------------------------------------------------------------------------- /test/bridges/HopBridgeToken.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/HopBridgeToken.test.ts -------------------------------------------------------------------------------- /test/bridges/L1_Bridge.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/L1_Bridge.test.ts -------------------------------------------------------------------------------- /test/bridges/L2_AmmWrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/L2_AmmWrapper.test.ts -------------------------------------------------------------------------------- /test/bridges/L2_Bridge.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/bridges/L2_Bridge.test.ts -------------------------------------------------------------------------------- /test/shared/contractFunctionWrappers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/shared/contractFunctionWrappers.ts -------------------------------------------------------------------------------- /test/shared/fixtures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/shared/fixtures.ts -------------------------------------------------------------------------------- /test/shared/interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/shared/interfaces.ts -------------------------------------------------------------------------------- /test/shared/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/shared/utils.test.ts -------------------------------------------------------------------------------- /test/shared/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/shared/utils.ts -------------------------------------------------------------------------------- /test/wrappers/ArbitrumMessengerWrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/wrappers/ArbitrumMessengerWrapper.test.ts -------------------------------------------------------------------------------- /test/wrappers/OptimismMessengerWrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/wrappers/OptimismMessengerWrapper.test.ts -------------------------------------------------------------------------------- /test/wrappers/PolygonWrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/wrappers/PolygonWrapper.test.ts -------------------------------------------------------------------------------- /test/wrappers/XDaiMessengerWrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/test/wrappers/XDaiMessengerWrapper.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hop-protocol/contracts/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/.gitkeep: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------