@hyperlane-xyz/core 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/HyperlaneConnectionClient.sol +5 -4
- package/contracts/Mailbox.sol +3 -41
- package/contracts/OwnableMulticall.sol +11 -11
- package/contracts/Router.sol +4 -4
- package/contracts/ValidatorAnnounce.sol +2 -2
- package/contracts/igps/InterchainGasPaymaster.sol +2 -8
- package/contracts/igps/OverheadIgp.sol +1 -1
- package/contracts/igps/gas-oracles/StorageGasOracle.sol +1 -1
- package/contracts/interfaces/IAggregationIsm.sol +19 -0
- package/contracts/interfaces/IHyperlaneConnectionClient.sol +20 -0
- package/{interfaces → contracts/interfaces}/IInterchainSecurityModule.sol +8 -0
- package/contracts/interfaces/IMailbox.sol +71 -0
- package/contracts/interfaces/IRouter.sol +15 -0
- package/{interfaces → contracts/interfaces/isms}/IMultisigIsm.sol +1 -1
- package/contracts/interfaces/middleware/IInterchainAccountRouter.sol +50 -0
- package/contracts/interfaces/middleware/IInterchainQueryRouter.sol +18 -0
- package/contracts/isms/aggregation/AbstractAggregationIsm.sol +72 -0
- package/contracts/isms/aggregation/StaticAggregationIsm.sol +33 -0
- package/contracts/isms/aggregation/StaticAggregationIsmFactory.sol +16 -0
- package/contracts/isms/multisig/AbstractMultisigIsm.sol +124 -0
- package/contracts/isms/{MultisigIsm.sol → multisig/LegacyMultisigIsm.sol} +19 -60
- package/contracts/isms/multisig/StaticMultisigIsm.sol +33 -0
- package/contracts/isms/multisig/StaticMultisigIsmFactory.sol +16 -0
- package/contracts/libs/Call.sol +12 -10
- package/contracts/libs/CheckpointLib.sol +54 -0
- package/contracts/libs/MetaProxy.sol +40 -0
- package/contracts/libs/StaticMOfNAddressSetFactory.sol +98 -0
- package/contracts/libs/TypeCasts.sol +0 -20
- package/contracts/libs/isms/AggregationIsmMetadata.sol +72 -0
- package/contracts/libs/{MultisigIsmMetadata.sol → isms/LegacyMultisigIsmMetadata.sol} +1 -1
- package/contracts/libs/isms/MultisigIsmMetadata.sol +91 -0
- package/contracts/libs/middleware/InterchainAccountMessage.sol +86 -0
- package/contracts/libs/middleware/InterchainQueryMessage.sol +125 -0
- package/contracts/middleware/InterchainAccountRouter.sol +448 -94
- package/contracts/middleware/InterchainQueryRouter.sol +50 -27
- package/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol +2 -2
- package/contracts/mock/MockMailbox.sol +1 -1
- package/contracts/test/TestHyperlaneConnectionClient.sol +5 -1
- package/contracts/test/TestInterchainGasPaymaster.sol +3 -1
- package/contracts/test/TestIsm.sol +1 -1
- package/contracts/test/TestLegacyMultisigIsm.sol +16 -0
- package/contracts/test/TestLiquidityLayerMessageRecipient.sol +1 -1
- package/contracts/test/TestMailbox.sol +1 -1
- package/contracts/test/TestQuerySender.sol +2 -2
- package/contracts/test/TestRecipient.sol +9 -6
- package/contracts/test/TestSendReceiver.sol +3 -3
- package/contracts/test/TestTokenRecipient.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient1.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient3.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient5.sol +1 -1
- package/contracts/test/bad-recipient/BadRecipient6.sol +1 -1
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.d.ts +75 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.d.ts.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.js +4 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.js.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +2 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +3 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +3 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.js +4 -0
- package/dist/@openzeppelin/contracts/token/ERC20/extensions/index.js.map +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/index.d.ts +2 -0
- package/dist/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -1
- package/dist/@openzeppelin/contracts/token/ERC20/index.js +1 -0
- package/dist/@openzeppelin/contracts/token/ERC20/index.js.map +1 -1
- package/dist/contracts/GasRouter.d.ts +2 -2
- package/dist/contracts/GasRouter.d.ts.map +1 -1
- package/dist/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient.d.ts +202 -0
- package/dist/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient.d.ts.map +1 -0
- package/dist/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient.js +4 -0
- package/dist/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient.js.map +1 -0
- package/dist/contracts/ImmutableConnectionClient.sol/index.d.ts +2 -0
- package/dist/contracts/ImmutableConnectionClient.sol/index.d.ts.map +1 -0
- package/dist/contracts/ImmutableConnectionClient.sol/index.js +3 -0
- package/dist/contracts/ImmutableConnectionClient.sol/index.js.map +1 -0
- package/dist/contracts/InterchainGasPaymaster.d.ts +162 -0
- package/dist/contracts/InterchainGasPaymaster.d.ts.map +1 -0
- package/dist/contracts/InterchainGasPaymaster.js +4 -0
- package/dist/contracts/InterchainGasPaymaster.js.map +1 -0
- package/dist/contracts/OwnableMulticall.d.ts +16 -94
- package/dist/contracts/OwnableMulticall.d.ts.map +1 -1
- package/dist/contracts/Router.d.ts +2 -2
- package/dist/contracts/Router.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +4 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/interfaces/IAggregationIsm.d.ts +76 -0
- package/dist/contracts/interfaces/IAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/interfaces/IAggregationIsm.js +4 -0
- package/dist/contracts/interfaces/IAggregationIsm.js.map +1 -0
- package/dist/contracts/interfaces/IGasOracle.d.ts +61 -0
- package/dist/contracts/interfaces/IGasOracle.d.ts.map +1 -0
- package/dist/contracts/interfaces/IGasOracle.js +4 -0
- package/dist/contracts/interfaces/IGasOracle.js.map +1 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.d.ts +107 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.d.ts.map +1 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.js +4 -0
- package/dist/contracts/interfaces/IHyperlaneConnectionClient.js.map +1 -0
- package/dist/contracts/interfaces/IInterchainGasPaymaster.d.ts +76 -0
- package/dist/contracts/interfaces/IInterchainGasPaymaster.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainGasPaymaster.js +4 -0
- package/dist/contracts/interfaces/IInterchainGasPaymaster.js.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts +59 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js +4 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts +43 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js +4 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.js +3 -0
- package/dist/contracts/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.d.ts +51 -0
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.js +4 -0
- package/dist/contracts/interfaces/ILiquidityLayerMessageRecipient.js.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerRouter.d.ts +51 -0
- package/dist/contracts/interfaces/ILiquidityLayerRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/ILiquidityLayerRouter.js +4 -0
- package/dist/contracts/interfaces/ILiquidityLayerRouter.js.map +1 -0
- package/dist/contracts/interfaces/IMailbox.d.ts +175 -0
- package/dist/contracts/interfaces/IMailbox.d.ts.map +1 -0
- package/dist/contracts/interfaces/IMailbox.js +4 -0
- package/dist/contracts/interfaces/IMailbox.js.map +1 -0
- package/dist/contracts/interfaces/IMessageRecipient.d.ts +51 -0
- package/dist/contracts/interfaces/IMessageRecipient.d.ts.map +1 -0
- package/dist/contracts/interfaces/IMessageRecipient.js +4 -0
- package/dist/contracts/interfaces/IMessageRecipient.js.map +1 -0
- package/dist/contracts/interfaces/IRouter.d.ts +83 -0
- package/dist/contracts/interfaces/IRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/IRouter.js +4 -0
- package/dist/contracts/interfaces/IRouter.js.map +1 -0
- package/dist/contracts/interfaces/IValidatorAnnounce.d.ts +83 -0
- package/dist/contracts/interfaces/IValidatorAnnounce.d.ts.map +1 -0
- package/dist/contracts/interfaces/IValidatorAnnounce.js +4 -0
- package/dist/contracts/interfaces/IValidatorAnnounce.js.map +1 -0
- package/dist/contracts/interfaces/index.d.ts +17 -0
- package/dist/contracts/interfaces/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/index.js +4 -0
- package/dist/contracts/interfaces/index.js.map +1 -0
- package/dist/contracts/interfaces/isms/IMultisigIsm.d.ts +82 -0
- package/dist/contracts/interfaces/isms/IMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/interfaces/isms/IMultisigIsm.js +4 -0
- package/dist/contracts/interfaces/isms/IMultisigIsm.js.map +1 -0
- package/dist/contracts/interfaces/isms/index.d.ts +2 -0
- package/dist/contracts/interfaces/isms/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/isms/index.js +3 -0
- package/dist/contracts/interfaces/isms/index.js.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.d.ts +127 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.js +4 -0
- package/dist/contracts/interfaces/middleware/IInterchainAccountRouter.js.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.d.ts +88 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.js +4 -0
- package/dist/contracts/interfaces/middleware/IInterchainQueryRouter.js.map +1 -0
- package/dist/contracts/interfaces/middleware/index.d.ts +3 -0
- package/dist/contracts/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/contracts/interfaces/middleware/index.js +3 -0
- package/dist/contracts/interfaces/middleware/index.js.map +1 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.d.ts +67 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.js +4 -0
- package/dist/contracts/isms/aggregation/AbstractAggregationIsm.js.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.d.ts +67 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.js +4 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsm.js.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.d.ts +59 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.js +4 -0
- package/dist/contracts/isms/aggregation/StaticAggregationIsmFactory.js.map +1 -0
- package/dist/contracts/isms/aggregation/index.d.ts +4 -0
- package/dist/contracts/isms/aggregation/index.d.ts.map +1 -0
- package/dist/contracts/isms/aggregation/index.js +3 -0
- package/dist/contracts/isms/aggregation/index.js.map +1 -0
- package/dist/contracts/isms/index.d.ts +4 -1
- package/dist/contracts/isms/index.d.ts.map +1 -1
- package/dist/contracts/isms/index.js +1 -0
- package/dist/contracts/isms/index.js.map +1 -1
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts +59 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/AbstractMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.d.ts +290 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/LegacyMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.d.ts +59 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.js +4 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsm.js.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.d.ts +59 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.js +4 -0
- package/dist/contracts/isms/multisig/StaticMultisigIsmFactory.js.map +1 -0
- package/dist/contracts/isms/multisig/index.d.ts +5 -0
- package/dist/contracts/isms/multisig/index.d.ts.map +1 -0
- package/dist/contracts/isms/multisig/index.js +3 -0
- package/dist/contracts/isms/multisig/index.js.map +1 -0
- package/dist/contracts/libs/ImmutableOwnable.d.ts +43 -0
- package/dist/contracts/libs/ImmutableOwnable.d.ts.map +1 -0
- package/dist/contracts/libs/ImmutableOwnable.js +4 -0
- package/dist/contracts/libs/ImmutableOwnable.js.map +1 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.d.ts +59 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.d.ts.map +1 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.js +4 -0
- package/dist/contracts/libs/StaticMOfNAddressSetFactory.js.map +1 -0
- package/dist/contracts/libs/index.d.ts +2 -0
- package/dist/contracts/libs/index.d.ts.map +1 -0
- package/dist/contracts/libs/index.js +3 -0
- package/dist/contracts/libs/index.js.map +1 -0
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts +170 -72
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts +32 -16
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +2 -2
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts +78 -0
- package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts.map +1 -0
- package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js +4 -0
- package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js.map +1 -0
- package/dist/contracts/mock/MockCircleBridge.d.ts +86 -0
- package/dist/contracts/mock/MockCircleBridge.d.ts.map +1 -0
- package/dist/contracts/mock/MockCircleBridge.js +4 -0
- package/dist/contracts/mock/MockCircleBridge.js.map +1 -0
- package/dist/contracts/mock/MockInterchainAccountRouter.d.ts +422 -0
- package/dist/contracts/mock/MockInterchainAccountRouter.d.ts.map +1 -0
- package/dist/contracts/mock/MockInterchainAccountRouter.js +4 -0
- package/dist/contracts/mock/MockInterchainAccountRouter.js.map +1 -0
- package/dist/contracts/test/LightTestRecipient.d.ts +54 -1
- package/dist/contracts/test/LightTestRecipient.d.ts.map +1 -1
- package/dist/contracts/test/TestGasRouter.d.ts +2 -2
- package/dist/contracts/test/TestGasRouter.d.ts.map +1 -1
- package/dist/contracts/test/TestLegacyMultisigIsm.d.ts +298 -0
- package/dist/contracts/test/TestLegacyMultisigIsm.d.ts.map +1 -0
- package/dist/contracts/test/TestLegacyMultisigIsm.js +4 -0
- package/dist/contracts/test/TestLegacyMultisigIsm.js.map +1 -0
- package/dist/contracts/test/TestRecipient.d.ts +54 -1
- package/dist/contracts/test/TestRecipient.d.ts.map +1 -1
- package/dist/contracts/test/TestRouter.d.ts +2 -2
- package/dist/contracts/test/TestRouter.d.ts.map +1 -1
- package/dist/contracts/test/index.d.ts +1 -1
- package/dist/contracts/test/index.d.ts.map +1 -1
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.d.ts +23 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.d.ts.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.js +93 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.js.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts +2 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.d.ts.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js +9 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.js.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +2 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js +31 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.js.map +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts +1 -0
- package/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -1
- package/dist/factories/@openzeppelin/contracts/token/ERC20/index.js +25 -1
- package/dist/factories/@openzeppelin/contracts/token/ERC20/index.js.map +1 -1
- package/dist/factories/contracts/GasRouter__factory.js +1 -1
- package/dist/factories/contracts/GasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient__factory.d.ts +43 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient__factory.js +200 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/HyperlaneConnectionClient__factory.js.map +1 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/index.d.ts +2 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/index.d.ts.map +1 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/index.js +9 -0
- package/dist/factories/contracts/ImmutableConnectionClient.sol/index.js.map +1 -0
- package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts +62 -0
- package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +1 -0
- package/dist/factories/contracts/InterchainGasPaymaster__factory.js +178 -0
- package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +1 -0
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.d.ts +10 -43
- package/dist/factories/contracts/OwnableMulticall__factory.d.ts.map +1 -1
- package/dist/factories/contracts/OwnableMulticall__factory.js +20 -80
- package/dist/factories/contracts/OwnableMulticall__factory.js.map +1 -1
- package/dist/factories/contracts/Router__factory.js +1 -1
- package/dist/factories/contracts/Router__factory.js.map +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts +4 -15
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.d.ts.map +1 -1
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js +5 -16
- package/dist/factories/contracts/igps/InterchainGasPaymaster__factory.js.map +1 -1
- package/dist/factories/contracts/igps/OverheadIgp__factory.d.ts +1 -1
- package/dist/factories/contracts/igps/OverheadIgp__factory.js +1 -1
- package/dist/factories/contracts/igps/gas-oracles/StorageGasOracle__factory.d.ts +1 -1
- package/dist/factories/contracts/igps/gas-oracles/StorageGasOracle__factory.js +1 -1
- package/dist/factories/contracts/index.d.ts +2 -1
- package/dist/factories/contracts/index.d.ts.map +1 -1
- package/dist/factories/contracts/index.js +3 -3
- package/dist/factories/contracts/index.js.map +1 -1
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.js +79 -0
- package/dist/factories/contracts/interfaces/IAggregationIsm__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IGasOracle__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IGasOracle__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IGasOracle__factory.js +42 -0
- package/dist/factories/contracts/interfaces/IGasOracle__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.d.ts +29 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.js +96 -0
- package/dist/factories/contracts/interfaces/IHyperlaneConnectionClient__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.d.ts +36 -0
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.js +95 -0
- package/dist/factories/contracts/interfaces/IInterchainGasPaymaster__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js +55 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts +19 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js +31 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.js +11 -0
- package/dist/factories/contracts/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts +19 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.js +51 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.js +62 -0
- package/dist/factories/contracts/interfaces/ILiquidityLayerRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.d.ts +36 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.js +255 -0
- package/dist/factories/contracts/interfaces/IMailbox__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.d.ts +19 -0
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.js +41 -0
- package/dist/factories/contracts/interfaces/IMessageRecipient__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.js +86 -0
- package/dist/factories/contracts/interfaces/IRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.js +105 -0
- package/dist/factories/contracts/interfaces/IValidatorAnnounce__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/index.d.ts +14 -0
- package/dist/factories/contracts/interfaces/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/index.js +53 -0
- package/dist/factories/contracts/interfaces/index.js.map +1 -0
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.js +79 -0
- package/dist/factories/contracts/interfaces/isms/IMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/isms/index.d.ts +2 -0
- package/dist/factories/contracts/interfaces/isms/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/isms/index.js +9 -0
- package/dist/factories/contracts/interfaces/isms/index.js.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.d.ts +33 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.js +265 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainAccountRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.d.ts +43 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.js +100 -0
- package/dist/factories/contracts/interfaces/middleware/IInterchainQueryRouter__factory.js.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/index.d.ts +3 -0
- package/dist/factories/contracts/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/factories/contracts/interfaces/middleware/index.js +11 -0
- package/dist/factories/contracts/interfaces/middleware/index.js.map +1 -0
- package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/MultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/MultisigIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.js +79 -0
- package/dist/factories/contracts/isms/aggregation/AbstractAggregationIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +89 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +102 -0
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/aggregation/index.d.ts +4 -0
- package/dist/factories/contracts/isms/aggregation/index.d.ts.map +1 -0
- package/dist/factories/contracts/isms/aggregation/index.js +13 -0
- package/dist/factories/contracts/isms/aggregation/index.js.map +1 -0
- package/dist/factories/contracts/isms/index.d.ts +2 -1
- package/dist/factories/contracts/isms/index.d.ts.map +1 -1
- package/dist/factories/contracts/isms/index.js +26 -3
- package/dist/factories/contracts/isms/index.js.map +1 -1
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts +23 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js +79 -0
- package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +55 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +437 -0
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js +89 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsmFactory__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts +35 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js +102 -0
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/isms/multisig/index.d.ts +5 -0
- package/dist/factories/contracts/isms/multisig/index.d.ts.map +1 -0
- package/dist/factories/contracts/isms/multisig/index.js +15 -0
- package/dist/factories/contracts/isms/multisig/index.js.map +1 -0
- package/dist/factories/contracts/libs/ImmutableOwnable__factory.d.ts +19 -0
- package/dist/factories/contracts/libs/ImmutableOwnable__factory.d.ts.map +1 -0
- package/dist/factories/contracts/libs/ImmutableOwnable__factory.js +31 -0
- package/dist/factories/contracts/libs/ImmutableOwnable__factory.js.map +1 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.d.ts +23 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.d.ts.map +1 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.js +66 -0
- package/dist/factories/contracts/libs/StaticMOfNAddressSetFactory__factory.js.map +1 -0
- package/dist/factories/contracts/libs/index.d.ts +2 -0
- package/dist/factories/contracts/libs/index.d.ts.map +1 -0
- package/dist/factories/contracts/libs/index.js +9 -0
- package/dist/factories/contracts/libs/index.js.map +1 -0
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +11 -17
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +319 -39
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +39 -5
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +2 -2
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts +36 -0
- package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts.map +1 -0
- package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js +104 -0
- package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js.map +1 -0
- package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts +59 -0
- package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts.map +1 -0
- package/dist/factories/contracts/mock/MockCircleBridge__factory.js +151 -0
- package/dist/factories/contracts/mock/MockCircleBridge__factory.js.map +1 -0
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts +69 -0
- package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts.map +1 -0
- package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js +556 -0
- package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js.map +1 -0
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__factory.js +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js +53 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +2 -2
- package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +9 -2
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +6 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +48 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +456 -0
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js.map +1 -0
- package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.js +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js +53 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.js +2 -2
- package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
- package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestTokenRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient1__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient1__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient3__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient3__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient5__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient5__factory.js +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient6__factory.d.ts +1 -1
- package/dist/factories/contracts/test/bad-recipient/BadRecipient6__factory.js +1 -1
- package/dist/factories/contracts/test/index.d.ts +1 -1
- package/dist/factories/contracts/test/index.d.ts.map +1 -1
- package/dist/factories/contracts/test/index.js +3 -3
- package/dist/factories/contracts/test/index.js.map +1 -1
- package/dist/factories/index.d.ts +0 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +1 -2
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/interfaces/IAggregationIsm__factory.d.ts +23 -0
- package/dist/factories/interfaces/IAggregationIsm__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/IAggregationIsm__factory.js +79 -0
- package/dist/factories/interfaces/IAggregationIsm__factory.js.map +1 -0
- package/dist/factories/interfaces/IHyperlaneConnectionClient__factory.d.ts +29 -0
- package/dist/factories/interfaces/IHyperlaneConnectionClient__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/IHyperlaneConnectionClient__factory.js +96 -0
- package/dist/factories/interfaces/IHyperlaneConnectionClient__factory.js.map +1 -0
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts +2 -12
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +21 -28
- package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts +3 -20
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -1
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js +1 -50
- package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +1 -1
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts +2 -12
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts.map +1 -1
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +85 -17
- package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js +6 -6
- package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js.map +1 -1
- package/dist/factories/interfaces/IRouter__factory.d.ts +23 -0
- package/dist/factories/interfaces/IRouter__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/IRouter__factory.js +86 -0
- package/dist/factories/interfaces/IRouter__factory.js.map +1 -0
- package/dist/factories/interfaces/index.d.ts +0 -2
- package/dist/factories/interfaces/index.d.ts.map +1 -1
- package/dist/factories/interfaces/index.js +1 -5
- package/dist/factories/interfaces/index.js.map +1 -1
- package/dist/factories/interfaces/isms/IMultisigIsm__factory.d.ts +23 -0
- package/dist/factories/interfaces/isms/IMultisigIsm__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/isms/IMultisigIsm__factory.js +79 -0
- package/dist/factories/interfaces/isms/IMultisigIsm__factory.js.map +1 -0
- package/dist/factories/interfaces/isms/index.d.ts +2 -0
- package/dist/factories/interfaces/isms/index.d.ts.map +1 -0
- package/dist/factories/interfaces/isms/index.js +9 -0
- package/dist/factories/interfaces/isms/index.js.map +1 -0
- package/dist/factories/interfaces/middleware/IInterchainAccountRouter__factory.d.ts +33 -0
- package/dist/factories/interfaces/middleware/IInterchainAccountRouter__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/middleware/IInterchainAccountRouter__factory.js +265 -0
- package/dist/factories/interfaces/middleware/IInterchainAccountRouter__factory.js.map +1 -0
- package/dist/factories/interfaces/middleware/IInterchainQueryRouter__factory.d.ts +43 -0
- package/dist/factories/interfaces/middleware/IInterchainQueryRouter__factory.d.ts.map +1 -0
- package/dist/factories/interfaces/middleware/IInterchainQueryRouter__factory.js +100 -0
- package/dist/factories/interfaces/middleware/IInterchainQueryRouter__factory.js.map +1 -0
- package/dist/factories/interfaces/middleware/index.d.ts +3 -0
- package/dist/factories/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/factories/interfaces/middleware/index.js +11 -0
- package/dist/factories/interfaces/middleware/index.js.map +1 -0
- package/dist/index.d.ts +50 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -32
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IAggregationIsm.d.ts +76 -0
- package/dist/interfaces/IAggregationIsm.d.ts.map +1 -0
- package/dist/interfaces/IAggregationIsm.js +4 -0
- package/dist/interfaces/IAggregationIsm.js.map +1 -0
- package/dist/interfaces/IHyperlaneConnectionClient.d.ts +107 -0
- package/dist/interfaces/IHyperlaneConnectionClient.d.ts.map +1 -0
- package/dist/interfaces/IHyperlaneConnectionClient.js +4 -0
- package/dist/interfaces/IHyperlaneConnectionClient.js.map +1 -0
- package/dist/interfaces/IInterchainAccountRouter.d.ts +40 -42
- package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -1
- package/dist/interfaces/IInterchainGasPaymaster.d.ts +9 -34
- package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +1 -1
- package/dist/interfaces/IInterchainQueryRouter.d.ts +49 -30
- package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -1
- package/dist/interfaces/ILiquidityLayerRouter.d.ts +8 -8
- package/dist/interfaces/ILiquidityLayerRouter.d.ts.map +1 -1
- package/dist/interfaces/IRouter.d.ts +83 -0
- package/dist/interfaces/IRouter.d.ts.map +1 -0
- package/dist/interfaces/IRouter.js +4 -0
- package/dist/interfaces/IRouter.js.map +1 -0
- package/dist/interfaces/index.d.ts +0 -2
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/isms/IMultisigIsm.d.ts +82 -0
- package/dist/interfaces/isms/IMultisigIsm.d.ts.map +1 -0
- package/dist/interfaces/isms/IMultisigIsm.js +4 -0
- package/dist/interfaces/isms/IMultisigIsm.js.map +1 -0
- package/dist/interfaces/isms/index.d.ts +2 -0
- package/dist/interfaces/isms/index.d.ts.map +1 -0
- package/dist/interfaces/isms/index.js +3 -0
- package/dist/interfaces/isms/index.js.map +1 -0
- package/dist/interfaces/middleware/IInterchainAccountRouter.d.ts +127 -0
- package/dist/interfaces/middleware/IInterchainAccountRouter.d.ts.map +1 -0
- package/dist/interfaces/middleware/IInterchainAccountRouter.js +4 -0
- package/dist/interfaces/middleware/IInterchainAccountRouter.js.map +1 -0
- package/dist/interfaces/middleware/IInterchainQueryRouter.d.ts +88 -0
- package/dist/interfaces/middleware/IInterchainQueryRouter.d.ts.map +1 -0
- package/dist/interfaces/middleware/IInterchainQueryRouter.js +4 -0
- package/dist/interfaces/middleware/IInterchainQueryRouter.js.map +1 -0
- package/dist/interfaces/middleware/index.d.ts +3 -0
- package/dist/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/interfaces/middleware/index.js +3 -0
- package/dist/interfaces/middleware/index.js.map +1 -0
- package/package.json +3 -3
- package/contracts/Create2Factory.sol +0 -114
- package/contracts/middleware/InterchainCallMessage.sol +0 -112
- package/contracts/test/TestMultisigIsm.sol +0 -23
- package/interfaces/IInterchainAccountRouter.sol +0 -20
- package/interfaces/IInterchainQueryRouter.sol +0 -11
- package/interfaces/IMailbox.sol +0 -28
- /package/{interfaces → contracts/interfaces}/IGasOracle.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IInterchainGasPaymaster.sol +0 -0
- /package/{interfaces → contracts/interfaces}/ILiquidityLayerMessageRecipient.sol +0 -0
- /package/{interfaces → contracts/interfaces}/ILiquidityLayerRouter.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IMessageRecipient.sol +0 -0
- /package/{interfaces → contracts/interfaces}/IValidatorAnnounce.sol +0 -0
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
pragma solidity >=0.6.11;
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
|
-
import {IInterchainGasPaymaster} from "
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import {IInterchainGasPaymaster} from "./interfaces/IInterchainGasPaymaster.sol";
|
|
6
|
+
import {IInterchainSecurityModule} from "./interfaces/IInterchainSecurityModule.sol";
|
|
7
|
+
import {IHyperlaneConnectionClient} from "./interfaces/IHyperlaneConnectionClient.sol";
|
|
8
|
+
import {IMailbox} from "./interfaces/IMailbox.sol";
|
|
8
9
|
|
|
9
10
|
// ============ External Imports ============
|
|
10
11
|
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
|
|
@@ -12,7 +13,7 @@ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
|
|
|
12
13
|
|
|
13
14
|
abstract contract HyperlaneConnectionClient is
|
|
14
15
|
OwnableUpgradeable,
|
|
15
|
-
|
|
16
|
+
IHyperlaneConnectionClient
|
|
16
17
|
{
|
|
17
18
|
// ============ Mutable Storage ============
|
|
18
19
|
|
package/contracts/Mailbox.sol
CHANGED
|
@@ -6,9 +6,9 @@ import {Versioned} from "./upgrade/Versioned.sol";
|
|
|
6
6
|
import {MerkleLib} from "./libs/Merkle.sol";
|
|
7
7
|
import {Message} from "./libs/Message.sol";
|
|
8
8
|
import {TypeCasts} from "./libs/TypeCasts.sol";
|
|
9
|
-
import {IMessageRecipient} from "
|
|
10
|
-
import {IInterchainSecurityModule, ISpecifiesInterchainSecurityModule} from "
|
|
11
|
-
import {IMailbox} from "
|
|
9
|
+
import {IMessageRecipient} from "./interfaces/IMessageRecipient.sol";
|
|
10
|
+
import {IInterchainSecurityModule, ISpecifiesInterchainSecurityModule} from "./interfaces/IInterchainSecurityModule.sol";
|
|
11
|
+
import {IMailbox} from "./interfaces/IMailbox.sol";
|
|
12
12
|
import {PausableReentrancyGuardUpgradeable} from "./PausableReentrancyGuard.sol";
|
|
13
13
|
|
|
14
14
|
// ============ External Imports ============
|
|
@@ -57,44 +57,6 @@ contract Mailbox is
|
|
|
57
57
|
*/
|
|
58
58
|
event DefaultIsmSet(address indexed module);
|
|
59
59
|
|
|
60
|
-
/**
|
|
61
|
-
* @notice Emitted when a new message is dispatched via Hyperlane
|
|
62
|
-
* @param sender The address that dispatched the message
|
|
63
|
-
* @param destination The destination domain of the message
|
|
64
|
-
* @param recipient The message recipient address on `destination`
|
|
65
|
-
* @param message Raw bytes of message
|
|
66
|
-
*/
|
|
67
|
-
event Dispatch(
|
|
68
|
-
address indexed sender,
|
|
69
|
-
uint32 indexed destination,
|
|
70
|
-
bytes32 indexed recipient,
|
|
71
|
-
bytes message
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @notice Emitted when a new message is dispatched via Hyperlane
|
|
76
|
-
* @param messageId The unique message identifier
|
|
77
|
-
*/
|
|
78
|
-
event DispatchId(bytes32 indexed messageId);
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @notice Emitted when a Hyperlane message is processed
|
|
82
|
-
* @param messageId The unique message identifier
|
|
83
|
-
*/
|
|
84
|
-
event ProcessId(bytes32 indexed messageId);
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @notice Emitted when a Hyperlane message is delivered
|
|
88
|
-
* @param origin The origin domain of the message
|
|
89
|
-
* @param sender The message sender address on `origin`
|
|
90
|
-
* @param recipient The address that handled the message
|
|
91
|
-
*/
|
|
92
|
-
event Process(
|
|
93
|
-
uint32 indexed origin,
|
|
94
|
-
bytes32 indexed sender,
|
|
95
|
-
address indexed recipient
|
|
96
|
-
);
|
|
97
|
-
|
|
98
60
|
/**
|
|
99
61
|
* @notice Emitted when Mailbox is paused
|
|
100
62
|
*/
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
pragma solidity ^0.8.13;
|
|
3
3
|
|
|
4
|
-
// ============
|
|
5
|
-
|
|
6
|
-
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
|
|
7
|
-
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
|
|
4
|
+
// ============ Internal Imports ============
|
|
8
5
|
import {CallLib} from "./libs/Call.sol";
|
|
9
6
|
|
|
10
7
|
/*
|
|
11
8
|
* @title OwnableMulticall
|
|
12
|
-
* @dev Permits owner address to execute
|
|
9
|
+
* @dev Permits immutable owner address to execute calls with value to other contracts.
|
|
13
10
|
*/
|
|
14
|
-
contract OwnableMulticall
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
contract OwnableMulticall {
|
|
12
|
+
address public immutable owner;
|
|
13
|
+
|
|
14
|
+
constructor(address _owner) {
|
|
15
|
+
owner = _owner;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
modifier onlyOwner() {
|
|
19
|
+
require(msg.sender == owner, "!owner");
|
|
20
|
+
_;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
function
|
|
23
|
+
function multicall(CallLib.Call[] calldata calls) external onlyOwner {
|
|
24
24
|
return CallLib.multicall(calls);
|
|
25
25
|
}
|
|
26
26
|
|
package/contracts/Router.sol
CHANGED
|
@@ -3,9 +3,9 @@ pragma solidity >=0.6.11;
|
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
5
|
import {HyperlaneConnectionClient} from "./HyperlaneConnectionClient.sol";
|
|
6
|
-
import {IInterchainGasPaymaster} from "
|
|
7
|
-
import {IMessageRecipient} from "
|
|
8
|
-
import {IMailbox} from "
|
|
6
|
+
import {IInterchainGasPaymaster} from "./interfaces/IInterchainGasPaymaster.sol";
|
|
7
|
+
import {IMessageRecipient} from "./interfaces/IMessageRecipient.sol";
|
|
8
|
+
import {IMailbox} from "./interfaces/IMailbox.sol";
|
|
9
9
|
import {EnumerableMapExtended} from "./libs/EnumerableMapExtended.sol";
|
|
10
10
|
|
|
11
11
|
abstract contract Router is HyperlaneConnectionClient, IMessageRecipient {
|
|
@@ -25,7 +25,7 @@ abstract contract Router is HyperlaneConnectionClient, IMessageRecipient {
|
|
|
25
25
|
* @param domain The domain of the new router
|
|
26
26
|
* @param router The address of the new router
|
|
27
27
|
*/
|
|
28
|
-
event RemoteRouterEnrolled(uint32 indexed domain, bytes32
|
|
28
|
+
event RemoteRouterEnrolled(uint32 indexed domain, bytes32 router);
|
|
29
29
|
|
|
30
30
|
// ============ Modifiers ============
|
|
31
31
|
/**
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
|
-
import {IValidatorAnnounce} from "
|
|
6
|
-
import {IMailbox} from "
|
|
5
|
+
import {IValidatorAnnounce} from "./interfaces/IValidatorAnnounce.sol";
|
|
6
|
+
import {IMailbox} from "./interfaces/IMailbox.sol";
|
|
7
7
|
import {TypeCasts} from "./libs/TypeCasts.sol";
|
|
8
8
|
import {ValidatorAnnouncements} from "./libs/ValidatorAnnouncements.sol";
|
|
9
9
|
// ============ External Imports ============
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
|
-
import {IGasOracle} from "
|
|
6
|
-
import {IInterchainGasPaymaster} from "
|
|
5
|
+
import {IGasOracle} from "../interfaces/IGasOracle.sol";
|
|
6
|
+
import {IInterchainGasPaymaster} from "../interfaces/IInterchainGasPaymaster.sol";
|
|
7
7
|
// ============ External Imports ============
|
|
8
8
|
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
|
|
9
9
|
|
|
@@ -50,12 +50,6 @@ contract InterchainGasPaymaster is
|
|
|
50
50
|
address gasOracle;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
// ============ Constructor ============
|
|
54
|
-
|
|
55
|
-
constructor(address _beneficiary) {
|
|
56
|
-
initialize(msg.sender, _beneficiary); // allows contract to be used without proxying
|
|
57
|
-
}
|
|
58
|
-
|
|
59
53
|
// ============ External Functions ============
|
|
60
54
|
|
|
61
55
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
|
-
import {IInterchainGasPaymaster} from "
|
|
5
|
+
import {IInterchainGasPaymaster} from "../interfaces/IInterchainGasPaymaster.sol";
|
|
6
6
|
// ============ External Imports ============
|
|
7
7
|
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
|
-
import {IGasOracle} from "
|
|
5
|
+
import {IGasOracle} from "../../interfaces/IGasOracle.sol";
|
|
6
6
|
// ============ External Imports ============
|
|
7
7
|
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
|
|
8
8
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.6.0;
|
|
3
|
+
|
|
4
|
+
import {IInterchainSecurityModule} from "./IInterchainSecurityModule.sol";
|
|
5
|
+
|
|
6
|
+
interface IAggregationIsm is IInterchainSecurityModule {
|
|
7
|
+
/**
|
|
8
|
+
* @notice Returns the set of modules responsible for verifying _message
|
|
9
|
+
* and the number of modules that must verify
|
|
10
|
+
* @dev Can change based on the content of _message
|
|
11
|
+
* @param _message Hyperlane formatted interchain message
|
|
12
|
+
* @return modules The array of ISM addresses
|
|
13
|
+
* @return threshold The number of modules needed to verify
|
|
14
|
+
*/
|
|
15
|
+
function modulesAndThreshold(bytes calldata _message)
|
|
16
|
+
external
|
|
17
|
+
view
|
|
18
|
+
returns (address[] memory modules, uint8 threshold);
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
import {IInterchainGasPaymaster} from "./IInterchainGasPaymaster.sol";
|
|
4
|
+
import {ISpecifiesInterchainSecurityModule} from "./IInterchainSecurityModule.sol";
|
|
5
|
+
import {IMailbox} from "./IMailbox.sol";
|
|
6
|
+
|
|
7
|
+
interface IHyperlaneConnectionClient is ISpecifiesInterchainSecurityModule {
|
|
8
|
+
function mailbox() external view returns (IMailbox);
|
|
9
|
+
|
|
10
|
+
function interchainGasPaymaster()
|
|
11
|
+
external
|
|
12
|
+
view
|
|
13
|
+
returns (IInterchainGasPaymaster);
|
|
14
|
+
|
|
15
|
+
function setMailbox(address) external;
|
|
16
|
+
|
|
17
|
+
function setInterchainGasPaymaster(address) external;
|
|
18
|
+
|
|
19
|
+
function setInterchainSecurityModule(address) external;
|
|
20
|
+
}
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
pragma solidity >=0.6.11;
|
|
3
3
|
|
|
4
4
|
interface IInterchainSecurityModule {
|
|
5
|
+
enum Types {
|
|
6
|
+
UNUSED_0,
|
|
7
|
+
ROUTING,
|
|
8
|
+
AGGREGATION,
|
|
9
|
+
LEGACY_MULTISIG,
|
|
10
|
+
MULTISIG
|
|
11
|
+
}
|
|
12
|
+
|
|
5
13
|
/**
|
|
6
14
|
* @notice Returns an enum that represents the type of security model
|
|
7
15
|
* encoded by this ISM.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
import {IInterchainSecurityModule} from "./IInterchainSecurityModule.sol";
|
|
5
|
+
|
|
6
|
+
interface IMailbox {
|
|
7
|
+
// ============ Events ============
|
|
8
|
+
/**
|
|
9
|
+
* @notice Emitted when a new message is dispatched via Hyperlane
|
|
10
|
+
* @param sender The address that dispatched the message
|
|
11
|
+
* @param destination The destination domain of the message
|
|
12
|
+
* @param recipient The message recipient address on `destination`
|
|
13
|
+
* @param message Raw bytes of message
|
|
14
|
+
*/
|
|
15
|
+
event Dispatch(
|
|
16
|
+
address indexed sender,
|
|
17
|
+
uint32 indexed destination,
|
|
18
|
+
bytes32 indexed recipient,
|
|
19
|
+
bytes message
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @notice Emitted when a new message is dispatched via Hyperlane
|
|
24
|
+
* @param messageId The unique message identifier
|
|
25
|
+
*/
|
|
26
|
+
event DispatchId(bytes32 indexed messageId);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @notice Emitted when a Hyperlane message is processed
|
|
30
|
+
* @param messageId The unique message identifier
|
|
31
|
+
*/
|
|
32
|
+
event ProcessId(bytes32 indexed messageId);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @notice Emitted when a Hyperlane message is delivered
|
|
36
|
+
* @param origin The origin domain of the message
|
|
37
|
+
* @param sender The message sender address on `origin`
|
|
38
|
+
* @param recipient The address that handled the message
|
|
39
|
+
*/
|
|
40
|
+
event Process(
|
|
41
|
+
uint32 indexed origin,
|
|
42
|
+
bytes32 indexed sender,
|
|
43
|
+
address indexed recipient
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
function localDomain() external view returns (uint32);
|
|
47
|
+
|
|
48
|
+
function delivered(bytes32 messageId) external view returns (bool);
|
|
49
|
+
|
|
50
|
+
function defaultIsm() external view returns (IInterchainSecurityModule);
|
|
51
|
+
|
|
52
|
+
function dispatch(
|
|
53
|
+
uint32 _destinationDomain,
|
|
54
|
+
bytes32 _recipientAddress,
|
|
55
|
+
bytes calldata _messageBody
|
|
56
|
+
) external returns (bytes32);
|
|
57
|
+
|
|
58
|
+
function process(bytes calldata _metadata, bytes calldata _message)
|
|
59
|
+
external;
|
|
60
|
+
|
|
61
|
+
function count() external view returns (uint32);
|
|
62
|
+
|
|
63
|
+
function root() external view returns (bytes32);
|
|
64
|
+
|
|
65
|
+
function latestCheckpoint() external view returns (bytes32, uint32);
|
|
66
|
+
|
|
67
|
+
function recipientIsm(address _recipient)
|
|
68
|
+
external
|
|
69
|
+
view
|
|
70
|
+
returns (IInterchainSecurityModule);
|
|
71
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
interface IRouter {
|
|
5
|
+
function domains() external view returns (uint32[] memory);
|
|
6
|
+
|
|
7
|
+
function routers(uint32 _domain) external view returns (bytes32);
|
|
8
|
+
|
|
9
|
+
function enrollRemoteRouter(uint32 _domain, bytes32 _router) external;
|
|
10
|
+
|
|
11
|
+
function enrollRemoteRouters(
|
|
12
|
+
uint32[] calldata _domains,
|
|
13
|
+
bytes32[] calldata _routers
|
|
14
|
+
) external;
|
|
15
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
2
|
pragma solidity >=0.6.0;
|
|
3
3
|
|
|
4
|
-
import {IInterchainSecurityModule} from "
|
|
4
|
+
import {IInterchainSecurityModule} from "../IInterchainSecurityModule.sol";
|
|
5
5
|
|
|
6
6
|
interface IMultisigIsm is IInterchainSecurityModule {
|
|
7
7
|
/**
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.6.11;
|
|
3
|
+
|
|
4
|
+
import {OwnableMulticall} from "../../OwnableMulticall.sol";
|
|
5
|
+
import {CallLib} from "../../libs/Call.sol";
|
|
6
|
+
|
|
7
|
+
interface IInterchainAccountRouter {
|
|
8
|
+
function callRemote(
|
|
9
|
+
uint32 _destination,
|
|
10
|
+
address _to,
|
|
11
|
+
uint256 _value,
|
|
12
|
+
bytes calldata _data
|
|
13
|
+
) external returns (bytes32);
|
|
14
|
+
|
|
15
|
+
function callRemote(uint32 _destination, CallLib.Call[] calldata calls)
|
|
16
|
+
external
|
|
17
|
+
returns (bytes32);
|
|
18
|
+
|
|
19
|
+
function callRemoteWithOverrides(
|
|
20
|
+
uint32 _destination,
|
|
21
|
+
bytes32 _router,
|
|
22
|
+
bytes32 _ism,
|
|
23
|
+
CallLib.Call[] calldata calls
|
|
24
|
+
) external returns (bytes32);
|
|
25
|
+
|
|
26
|
+
function getLocalInterchainAccount(
|
|
27
|
+
uint32 _origin,
|
|
28
|
+
bytes32 _router,
|
|
29
|
+
bytes32 _owner,
|
|
30
|
+
address _ism
|
|
31
|
+
) external view returns (OwnableMulticall);
|
|
32
|
+
|
|
33
|
+
function getLocalInterchainAccount(
|
|
34
|
+
uint32 _origin,
|
|
35
|
+
address _router,
|
|
36
|
+
address _owner,
|
|
37
|
+
address _ism
|
|
38
|
+
) external view returns (OwnableMulticall);
|
|
39
|
+
|
|
40
|
+
function getRemoteInterchainAccount(
|
|
41
|
+
address _router,
|
|
42
|
+
address _owner,
|
|
43
|
+
address _ism
|
|
44
|
+
) external view returns (address);
|
|
45
|
+
|
|
46
|
+
function getRemoteInterchainAccount(uint32 _destination, address _owner)
|
|
47
|
+
external
|
|
48
|
+
view
|
|
49
|
+
returns (address);
|
|
50
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.6.11;
|
|
3
|
+
|
|
4
|
+
import {CallLib} from "../../libs/Call.sol";
|
|
5
|
+
|
|
6
|
+
interface IInterchainQueryRouter {
|
|
7
|
+
function query(
|
|
8
|
+
uint32 _destination,
|
|
9
|
+
address _to,
|
|
10
|
+
bytes memory _data,
|
|
11
|
+
bytes memory _callback
|
|
12
|
+
) external returns (bytes32);
|
|
13
|
+
|
|
14
|
+
function query(
|
|
15
|
+
uint32 _destination,
|
|
16
|
+
CallLib.StaticCallWithCallback[] calldata calls
|
|
17
|
+
) external returns (bytes32);
|
|
18
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
// ============ External Imports ============
|
|
5
|
+
import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
|
|
6
|
+
|
|
7
|
+
// ============ Internal Imports ============
|
|
8
|
+
import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
|
|
9
|
+
import {IAggregationIsm} from "../../interfaces/IAggregationIsm.sol";
|
|
10
|
+
import {AggregationIsmMetadata} from "../../libs/isms/AggregationIsmMetadata.sol";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @title AggregationIsm
|
|
14
|
+
* @notice Manages per-domain m-of-n ISM sets that are used to verify
|
|
15
|
+
* interchain messages.
|
|
16
|
+
*/
|
|
17
|
+
abstract contract AbstractAggregationIsm is IAggregationIsm {
|
|
18
|
+
// ============ Constants ============
|
|
19
|
+
|
|
20
|
+
uint8 public constant moduleType =
|
|
21
|
+
uint8(IInterchainSecurityModule.Types.MULTISIG);
|
|
22
|
+
|
|
23
|
+
// ============ Virtual Functions ============
|
|
24
|
+
// ======= OVERRIDE THESE TO IMPLEMENT =======
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @notice Returns the set of ISMs responsible for verifying _message
|
|
28
|
+
* and the number of ISMs that must verify
|
|
29
|
+
* @dev Can change based on the content of _message
|
|
30
|
+
* @param _message Hyperlane formatted interchain message
|
|
31
|
+
* @return modules The array of ISM addresses
|
|
32
|
+
* @return threshold The number of ISMs needed to verify
|
|
33
|
+
*/
|
|
34
|
+
function modulesAndThreshold(bytes calldata _message)
|
|
35
|
+
public
|
|
36
|
+
view
|
|
37
|
+
virtual
|
|
38
|
+
returns (address[] memory, uint8);
|
|
39
|
+
|
|
40
|
+
// ============ Public Functions ============
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @notice Requires that m-of-n ISMs verify the provided interchain message.
|
|
44
|
+
* @param _metadata ABI encoded module metadata (see AggregationIsmMetadata.sol)
|
|
45
|
+
* @param _message Formatted Hyperlane message (see Message.sol).
|
|
46
|
+
*/
|
|
47
|
+
function verify(bytes calldata _metadata, bytes calldata _message)
|
|
48
|
+
public
|
|
49
|
+
returns (bool)
|
|
50
|
+
{
|
|
51
|
+
(address[] memory _isms, uint8 _threshold) = modulesAndThreshold(
|
|
52
|
+
_message
|
|
53
|
+
);
|
|
54
|
+
uint256 _count = _isms.length;
|
|
55
|
+
for (uint8 i = 0; i < _count; i++) {
|
|
56
|
+
if (!AggregationIsmMetadata.hasMetadata(_metadata, i)) continue;
|
|
57
|
+
IInterchainSecurityModule _ism = IInterchainSecurityModule(
|
|
58
|
+
_isms[i]
|
|
59
|
+
);
|
|
60
|
+
require(
|
|
61
|
+
_ism.verify(
|
|
62
|
+
AggregationIsmMetadata.metadataAt(_metadata, i),
|
|
63
|
+
_message
|
|
64
|
+
),
|
|
65
|
+
"!verify"
|
|
66
|
+
);
|
|
67
|
+
_threshold -= 1;
|
|
68
|
+
}
|
|
69
|
+
require(_threshold == 0, "!threshold");
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
// ============ Internal Imports ============
|
|
5
|
+
import {AbstractAggregationIsm} from "./AbstractAggregationIsm.sol";
|
|
6
|
+
import {AggregationIsmMetadata} from "../../libs/isms/AggregationIsmMetadata.sol";
|
|
7
|
+
import {MetaProxy} from "../../libs/MetaProxy.sol";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @title StaticAggregationIsm
|
|
11
|
+
* @notice Manages per-domain m-of-n ISM sets that are used to verify
|
|
12
|
+
* interchain messages.
|
|
13
|
+
*/
|
|
14
|
+
contract StaticAggregationIsm is AbstractAggregationIsm {
|
|
15
|
+
// ============ Public Functions ============
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @notice Returns the set of ISMs responsible for verifying _message
|
|
19
|
+
* and the number of ISMs that must verify
|
|
20
|
+
* @dev Can change based on the content of _message
|
|
21
|
+
* @return modules The array of ISM addresses
|
|
22
|
+
* @return threshold The number of ISMs needed to verify
|
|
23
|
+
*/
|
|
24
|
+
function modulesAndThreshold(bytes calldata)
|
|
25
|
+
public
|
|
26
|
+
view
|
|
27
|
+
virtual
|
|
28
|
+
override
|
|
29
|
+
returns (address[] memory, uint8)
|
|
30
|
+
{
|
|
31
|
+
return abi.decode(MetaProxy.metadata(), (address[], uint8));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
// ============ Internal Imports ============
|
|
4
|
+
import {StaticAggregationIsm} from "./StaticAggregationIsm.sol";
|
|
5
|
+
import {StaticMOfNAddressSetFactory} from "../../libs/StaticMOfNAddressSetFactory.sol";
|
|
6
|
+
|
|
7
|
+
contract StaticAggregationIsmFactory is StaticMOfNAddressSetFactory {
|
|
8
|
+
function _deployImplementation()
|
|
9
|
+
internal
|
|
10
|
+
virtual
|
|
11
|
+
override
|
|
12
|
+
returns (address)
|
|
13
|
+
{
|
|
14
|
+
return address(new StaticAggregationIsm());
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
// ============ External Imports ============
|
|
5
|
+
import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
|
|
6
|
+
|
|
7
|
+
// ============ Internal Imports ============
|
|
8
|
+
import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
|
|
9
|
+
import {IMultisigIsm} from "../../interfaces/isms/IMultisigIsm.sol";
|
|
10
|
+
import {Message} from "../../libs/Message.sol";
|
|
11
|
+
import {MultisigIsmMetadata} from "../../libs/isms/MultisigIsmMetadata.sol";
|
|
12
|
+
import {CheckpointLib} from "../../libs/CheckpointLib.sol";
|
|
13
|
+
import {MerkleLib} from "../../libs/Merkle.sol";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @title MultisigIsm
|
|
17
|
+
* @notice Manages per-domain m-of-n Validator sets that are used to verify
|
|
18
|
+
* interchain messages.
|
|
19
|
+
*/
|
|
20
|
+
abstract contract AbstractMultisigIsm is IMultisigIsm {
|
|
21
|
+
// ============ Constants ============
|
|
22
|
+
|
|
23
|
+
uint8 public constant moduleType =
|
|
24
|
+
uint8(IInterchainSecurityModule.Types.MULTISIG);
|
|
25
|
+
|
|
26
|
+
// ============ Virtual Functions ============
|
|
27
|
+
// ======= OVERRIDE THESE TO IMPLEMENT =======
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @notice Returns the set of validators responsible for verifying _message
|
|
31
|
+
* and the number of signatures required
|
|
32
|
+
* @dev Can change based on the content of _message
|
|
33
|
+
* @param _message Hyperlane formatted interchain message
|
|
34
|
+
* @return validators The array of validator addresses
|
|
35
|
+
* @return threshold The number of validator signatures needed
|
|
36
|
+
*/
|
|
37
|
+
function validatorsAndThreshold(bytes calldata _message)
|
|
38
|
+
public
|
|
39
|
+
view
|
|
40
|
+
virtual
|
|
41
|
+
returns (address[] memory, uint8);
|
|
42
|
+
|
|
43
|
+
// ============ Public Functions ============
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @notice Requires that m-of-n validators verify a merkle root,
|
|
47
|
+
* and verifies a merkle proof of `_message` against that root.
|
|
48
|
+
* @param _metadata ABI encoded module metadata (see MultisigIsmMetadata.sol)
|
|
49
|
+
* @param _message Formatted Hyperlane message (see Message.sol).
|
|
50
|
+
*/
|
|
51
|
+
function verify(bytes calldata _metadata, bytes calldata _message)
|
|
52
|
+
public
|
|
53
|
+
view
|
|
54
|
+
returns (bool)
|
|
55
|
+
{
|
|
56
|
+
require(_verifyMerkleProof(_metadata, _message), "!merkle");
|
|
57
|
+
require(_verifyValidatorSignatures(_metadata, _message), "!sigs");
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// ============ Internal Functions ============
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @notice Verifies the merkle proof of `_message` against the provided
|
|
65
|
+
* checkpoint.
|
|
66
|
+
* @param _metadata ABI encoded module metadata (see MultisigIsmMetadata.sol)
|
|
67
|
+
* @param _message Formatted Hyperlane message (see Message.sol).
|
|
68
|
+
*/
|
|
69
|
+
function _verifyMerkleProof(
|
|
70
|
+
bytes calldata _metadata,
|
|
71
|
+
bytes calldata _message
|
|
72
|
+
) internal pure returns (bool) {
|
|
73
|
+
// calculate the expected root based on the proof
|
|
74
|
+
bytes32 _calculatedRoot = MerkleLib.branchRoot(
|
|
75
|
+
Message.id(_message),
|
|
76
|
+
MultisigIsmMetadata.proof(_metadata),
|
|
77
|
+
Message.nonce(_message)
|
|
78
|
+
);
|
|
79
|
+
return _calculatedRoot == MultisigIsmMetadata.root(_metadata);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @notice Verifies that a quorum of the origin domain's validators signed
|
|
84
|
+
* the provided checkpoint.
|
|
85
|
+
* @param _metadata ABI encoded module metadata (see MultisigIsmMetadata.sol)
|
|
86
|
+
* @param _message Formatted Hyperlane message (see Message.sol).
|
|
87
|
+
*/
|
|
88
|
+
function _verifyValidatorSignatures(
|
|
89
|
+
bytes calldata _metadata,
|
|
90
|
+
bytes calldata _message
|
|
91
|
+
) internal view returns (bool) {
|
|
92
|
+
(
|
|
93
|
+
address[] memory _validators,
|
|
94
|
+
uint8 _threshold
|
|
95
|
+
) = validatorsAndThreshold(_message);
|
|
96
|
+
require(_threshold > 0, "No MultisigISM threshold present for message");
|
|
97
|
+
bytes32 _digest = CheckpointLib.digest(
|
|
98
|
+
Message.origin(_message),
|
|
99
|
+
MultisigIsmMetadata.originMailbox(_metadata),
|
|
100
|
+
MultisigIsmMetadata.root(_metadata),
|
|
101
|
+
MultisigIsmMetadata.index(_metadata)
|
|
102
|
+
);
|
|
103
|
+
uint256 _validatorCount = _validators.length;
|
|
104
|
+
uint256 _validatorIndex = 0;
|
|
105
|
+
// Assumes that signatures are ordered by validator
|
|
106
|
+
for (uint256 i = 0; i < _threshold; ++i) {
|
|
107
|
+
address _signer = ECDSA.recover(
|
|
108
|
+
_digest,
|
|
109
|
+
MultisigIsmMetadata.signatureAt(_metadata, i)
|
|
110
|
+
);
|
|
111
|
+
// Loop through remaining validators until we find a match
|
|
112
|
+
for (
|
|
113
|
+
;
|
|
114
|
+
_validatorIndex < _validatorCount &&
|
|
115
|
+
_signer != _validators[_validatorIndex];
|
|
116
|
+
++_validatorIndex
|
|
117
|
+
) {}
|
|
118
|
+
// Fail if we never found a match
|
|
119
|
+
require(_validatorIndex < _validatorCount, "!threshold");
|
|
120
|
+
++_validatorIndex;
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
}
|