@hyperlane-xyz/core 1.3.7 → 1.3.8
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/README.md +6 -4
- package/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol +30 -0
- package/contracts/hooks/ERC5164MessageHook.sol +95 -0
- package/contracts/hooks/OptimismMessageHook.sol +3 -1
- package/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol +10 -4
- package/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol +8 -3
- package/contracts/isms/native/AbstractNativeISM.sol +17 -6
- package/contracts/isms/native/ERC5164ISM.sol +75 -0
- package/contracts/isms/native/OptimismISM.sol +15 -4
- package/contracts/mock/MockERC5164.sol +26 -0
- package/dist/contracts/CheckpointFraudProofs.d.ts +103 -0
- package/dist/contracts/CheckpointFraudProofs.d.ts.map +1 -0
- package/dist/contracts/CheckpointFraudProofs.js +4 -0
- package/dist/contracts/CheckpointFraudProofs.js.map +1 -0
- package/dist/contracts/hooks/ERC5164/index.d.ts +3 -0
- package/dist/contracts/hooks/ERC5164/index.d.ts.map +1 -0
- package/dist/contracts/hooks/ERC5164/index.js +4 -0
- package/dist/contracts/hooks/ERC5164/index.js.map +1 -0
- package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.d.ts +72 -0
- package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.d.ts.map +1 -0
- package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.js +4 -0
- package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.js.map +1 -0
- package/dist/contracts/hooks/ERC5164/interfaces/index.d.ts +2 -0
- package/dist/contracts/hooks/ERC5164/interfaces/index.d.ts.map +1 -0
- package/dist/contracts/hooks/ERC5164/interfaces/index.js +3 -0
- package/dist/contracts/hooks/ERC5164/interfaces/index.js.map +1 -0
- package/dist/contracts/hooks/ERC5164MessageHook.d.ts +75 -0
- package/dist/contracts/hooks/ERC5164MessageHook.d.ts.map +1 -0
- package/dist/contracts/hooks/ERC5164MessageHook.js +4 -0
- package/dist/contracts/hooks/ERC5164MessageHook.js.map +1 -0
- package/dist/contracts/hooks/index.d.ts +3 -0
- package/dist/contracts/hooks/index.d.ts.map +1 -1
- package/dist/contracts/hooks/index.js +1 -0
- package/dist/contracts/hooks/index.js.map +1 -1
- package/dist/contracts/isms/native/AbstractNativeISM.d.ts +10 -10
- package/dist/contracts/isms/native/AbstractNativeISM.d.ts.map +1 -1
- package/dist/contracts/isms/native/ERC5164ISM.d.ts +107 -0
- package/dist/contracts/isms/native/ERC5164ISM.d.ts.map +1 -0
- package/dist/contracts/isms/native/ERC5164ISM.js +4 -0
- package/dist/contracts/isms/native/ERC5164ISM.js.map +1 -0
- package/dist/contracts/isms/native/OptimismISM.d.ts +17 -17
- package/dist/contracts/isms/native/OptimismISM.d.ts.map +1 -1
- package/dist/contracts/isms/native/index.d.ts +1 -0
- package/dist/contracts/isms/native/index.d.ts.map +1 -1
- package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts +77 -0
- package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts.map +1 -0
- package/dist/contracts/libs/TestMerkle.sol/MerkleTree.js +4 -0
- package/dist/contracts/libs/TestMerkle.sol/MerkleTree.js.map +1 -0
- package/dist/contracts/libs/TestMerkle.sol/index.d.ts +2 -0
- package/dist/contracts/libs/TestMerkle.sol/index.d.ts.map +1 -0
- package/dist/contracts/libs/TestMerkle.sol/index.js +3 -0
- package/dist/contracts/libs/TestMerkle.sol/index.js.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts +72 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.js +4 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.js.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts +44 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.js +4 -0
- package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.js.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/index.d.ts +3 -0
- package/dist/contracts/mock/MockERC5164.sol/index.d.ts.map +1 -0
- package/dist/contracts/mock/MockERC5164.sol/index.js +3 -0
- package/dist/contracts/mock/MockERC5164.sol/index.js.map +1 -0
- package/dist/contracts/mock/index.d.ts +2 -0
- package/dist/contracts/mock/index.d.ts.map +1 -1
- package/dist/contracts/mock/index.js +1 -0
- package/dist/contracts/mock/index.js.map +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +45 -0
- package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +1 -0
- package/dist/factories/contracts/CheckpointFraudProofs__factory.js +231 -0
- package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/index.d.ts +2 -0
- package/dist/factories/contracts/hooks/ERC5164/index.d.ts.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/index.js +31 -0
- package/dist/factories/contracts/hooks/ERC5164/index.js.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.d.ts +36 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.d.ts.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.js +84 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.js.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/index.d.ts +2 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/index.d.ts.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/index.js +9 -0
- package/dist/factories/contracts/hooks/ERC5164/interfaces/index.js.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.d.ts +45 -0
- package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.d.ts.map +1 -0
- package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.js +125 -0
- package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.js.map +1 -0
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/index.d.ts +2 -0
- package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/index.js +27 -1
- package/dist/factories/contracts/hooks/index.js.map +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.js +4 -9
- package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.js.map +1 -1
- package/dist/factories/contracts/isms/native/ERC5164ISM__factory.d.ts +59 -0
- package/dist/factories/contracts/isms/native/ERC5164ISM__factory.d.ts.map +1 -0
- package/dist/factories/contracts/isms/native/ERC5164ISM__factory.js +171 -0
- package/dist/factories/contracts/isms/native/ERC5164ISM__factory.js.map +1 -0
- package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/native/OptimismISM__factory.js +7 -12
- package/dist/factories/contracts/isms/native/OptimismISM__factory.js.map +1 -1
- package/dist/factories/contracts/isms/native/index.d.ts +1 -0
- package/dist/factories/contracts/isms/native/index.d.ts.map +1 -1
- package/dist/factories/contracts/isms/native/index.js +3 -1
- package/dist/factories/contracts/isms/native/index.js.map +1 -1
- package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts +41 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts.map +1 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js +151 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js.map +1 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts +2 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts.map +1 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/index.js +9 -0
- package/dist/factories/contracts/libs/TestMerkle.sol/index.js.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts +48 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.js +107 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.js.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts +31 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.js +60 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.js.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/index.d.ts +3 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/index.d.ts.map +1 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/index.js +11 -0
- package/dist/factories/contracts/mock/MockERC5164.sol/index.js.map +1 -0
- package/dist/factories/contracts/mock/index.d.ts +1 -0
- package/dist/factories/contracts/mock/index.d.ts.map +1 -1
- package/dist/factories/contracts/mock/index.js +25 -1
- package/dist/factories/contracts/mock/index.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/docs/book.css +13 -0
- package/docs/book.toml +12 -0
- package/docs/solidity.min.js +74 -0
- package/docs/src/README.md +15 -0
- package/docs/src/SUMMARY.md +128 -0
- package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +124 -0
- package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +191 -0
- package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +251 -0
- package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +41 -0
- package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +100 -0
- package/docs/src/contracts/README.md +19 -0
- package/docs/src/contracts/Router.sol/abstract.Router.md +255 -0
- package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +117 -0
- package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
- package/docs/src/contracts/hooks/README.md +4 -0
- package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +231 -0
- package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +161 -0
- package/docs/src/contracts/igps/README.md +6 -0
- package/docs/src/contracts/igps/gas-oracles/README.md +4 -0
- package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +114 -0
- package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +25 -0
- package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +43 -0
- package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +33 -0
- package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +55 -0
- package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +12 -0
- package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +13 -0
- package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +19 -0
- package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +103 -0
- package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +12 -0
- package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +33 -0
- package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +78 -0
- package/docs/src/contracts/interfaces/README.md +17 -0
- package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +12 -0
- package/docs/src/contracts/interfaces/hooks/README.md +4 -0
- package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +36 -0
- package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +36 -0
- package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +31 -0
- package/docs/src/contracts/interfaces/isms/README.md +6 -0
- package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +64 -0
- package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +21 -0
- package/docs/src/contracts/interfaces/middleware/README.md +5 -0
- package/docs/src/contracts/isms/README.md +7 -0
- package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +60 -0
- package/docs/src/contracts/isms/aggregation/README.md +6 -0
- package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +30 -0
- package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +15 -0
- package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +78 -0
- package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +69 -0
- package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +102 -0
- package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +355 -0
- package/docs/src/contracts/isms/multisig/README.md +12 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +36 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +11 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +15 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +10 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +15 -0
- package/docs/src/contracts/isms/native/AbstractNativeISM.sol/abstract.AbstractNativeISM.md +44 -0
- package/docs/src/contracts/isms/native/OptimismISM.sol/contract.OptimismISM.md +66 -0
- package/docs/src/contracts/isms/native/README.md +5 -0
- package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +55 -0
- package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +112 -0
- package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +47 -0
- package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +44 -0
- package/docs/src/contracts/isms/routing/README.md +7 -0
- package/docs/src/contracts/libs/Call.sol/library.CallLib.md +124 -0
- package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +61 -0
- package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +63 -0
- package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +55 -0
- package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +354 -0
- package/docs/src/contracts/libs/Message.sol/library.Message.md +304 -0
- package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +36 -0
- package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +34 -0
- package/docs/src/contracts/libs/README.md +16 -0
- package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +123 -0
- package/docs/src/contracts/libs/TestMerkle.sol/contract.MerkleTree.md +66 -0
- package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +19 -0
- package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +31 -0
- package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +97 -0
- package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +296 -0
- package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +177 -0
- package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +109 -0
- package/docs/src/contracts/libs/isms/README.md +7 -0
- package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +134 -0
- package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +203 -0
- package/docs/src/contracts/libs/middleware/README.md +5 -0
- package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +545 -0
- package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +119 -0
- package/docs/src/contracts/middleware/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +81 -0
- package/docs/src/contracts/middleware/liquidity-layer/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +197 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +189 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +5 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +23 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +54 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +92 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +5 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +131 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +4 -0
- package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +58 -0
- package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +44 -0
- package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +69 -0
- package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +137 -0
- package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +82 -0
- package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +22 -0
- package/docs/src/contracts/mock/README.md +9 -0
- package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +15 -0
- package/docs/src/contracts/test/README.md +20 -0
- package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +27 -0
- package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +29 -0
- package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +30 -0
- package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +15 -0
- package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +23 -0
- package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +29 -0
- package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +50 -0
- package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +68 -0
- package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +51 -0
- package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +45 -0
- package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +128 -0
- package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +78 -0
- package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +63 -0
- package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +49 -0
- package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +80 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +12 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +15 -0
- package/docs/src/contracts/test/bad-recipient/README.md +8 -0
- package/docs/src/contracts/upgrade/README.md +4 -0
- package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +14 -0
- package/package.json +6 -4
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# IValidatorAnnounce
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/IValidatorAnnounce.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### localDomain
|
|
7
|
+
|
|
8
|
+
Returns the local domain for validator announcements
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
```solidity
|
|
12
|
+
function localDomain() external view returns (uint32);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### mailbox
|
|
16
|
+
|
|
17
|
+
Returns the mailbox contract for validator announcements
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
function mailbox() external view returns (address);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### getAnnouncedValidators
|
|
25
|
+
|
|
26
|
+
Returns a list of validators that have made announcements
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
```solidity
|
|
30
|
+
function getAnnouncedValidators() external view returns (address[] memory);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### getAnnouncedStorageLocations
|
|
34
|
+
|
|
35
|
+
Returns a list of all announced storage locations for `validators`
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
```solidity
|
|
39
|
+
function getAnnouncedStorageLocations(address[] calldata _validators) external view returns (string[][] memory);
|
|
40
|
+
```
|
|
41
|
+
**Parameters**
|
|
42
|
+
|
|
43
|
+
|Name|Type|Description|
|
|
44
|
+
|----|----|-----------|
|
|
45
|
+
|`_validators`|`address[]`|The list of validators to get storage locations for|
|
|
46
|
+
|
|
47
|
+
**Returns**
|
|
48
|
+
|
|
49
|
+
|Name|Type|Description|
|
|
50
|
+
|----|----|-----------|
|
|
51
|
+
|`<none>`|`string[][]`|A list of announced storage locations|
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### announce
|
|
55
|
+
|
|
56
|
+
Announces a validator signature storage location
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
```solidity
|
|
60
|
+
function announce(address _validator, string calldata _storageLocation, bytes calldata _signature)
|
|
61
|
+
external
|
|
62
|
+
returns (bool);
|
|
63
|
+
```
|
|
64
|
+
**Parameters**
|
|
65
|
+
|
|
66
|
+
|Name|Type|Description|
|
|
67
|
+
|----|----|-----------|
|
|
68
|
+
|`_validator`|`address`||
|
|
69
|
+
|`_storageLocation`|`string`|Information encoding the location of signed checkpoints|
|
|
70
|
+
|`_signature`|`bytes`|The signed validator announcement|
|
|
71
|
+
|
|
72
|
+
**Returns**
|
|
73
|
+
|
|
74
|
+
|Name|Type|Description|
|
|
75
|
+
|----|----|-----------|
|
|
76
|
+
|`<none>`|`bool`|True upon success|
|
|
77
|
+
|
|
78
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [hooks](/contracts/interfaces/hooks)
|
|
5
|
+
- [isms](/contracts/interfaces/isms)
|
|
6
|
+
- [middleware](/contracts/interfaces/middleware)
|
|
7
|
+
- [IGasOracle](IGasOracle.sol/interface.IGasOracle.md)
|
|
8
|
+
- [IHyperlaneConnectionClient](IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md)
|
|
9
|
+
- [IInterchainGasPaymaster](IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md)
|
|
10
|
+
- [IInterchainSecurityModule](IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md)
|
|
11
|
+
- [ISpecifiesInterchainSecurityModule](IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md)
|
|
12
|
+
- [ILiquidityLayerMessageRecipient](ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md)
|
|
13
|
+
- [ILiquidityLayerRouter](ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md)
|
|
14
|
+
- [IMailbox](IMailbox.sol/interface.IMailbox.md)
|
|
15
|
+
- [IMessageRecipient](IMessageRecipient.sol/interface.IMessageRecipient.md)
|
|
16
|
+
- [IRouter](IRouter.sol/interface.IRouter.md)
|
|
17
|
+
- [IValidatorAnnounce](IValidatorAnnounce.sol/interface.IValidatorAnnounce.md)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# IMessageHook
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/hooks/IMessageHook.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### postDispatch
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function postDispatch(uint32 _destination, bytes32 _messageId) external payable returns (uint256);
|
|
11
|
+
```
|
|
12
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# IAggregationIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/isms/IAggregationIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IInterchainSecurityModule](/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### modulesAndThreshold
|
|
10
|
+
|
|
11
|
+
Returns the set of modules responsible for verifying _message
|
|
12
|
+
and the number of modules that must verify
|
|
13
|
+
|
|
14
|
+
*Can change based on the content of _message*
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
```solidity
|
|
18
|
+
function modulesAndThreshold(bytes calldata _message)
|
|
19
|
+
external
|
|
20
|
+
view
|
|
21
|
+
returns (address[] memory modules, uint8 threshold);
|
|
22
|
+
```
|
|
23
|
+
**Parameters**
|
|
24
|
+
|
|
25
|
+
|Name|Type|Description|
|
|
26
|
+
|----|----|-----------|
|
|
27
|
+
|`_message`|`bytes`|Hyperlane formatted interchain message|
|
|
28
|
+
|
|
29
|
+
**Returns**
|
|
30
|
+
|
|
31
|
+
|Name|Type|Description|
|
|
32
|
+
|----|----|-----------|
|
|
33
|
+
|`modules`|`address[]`|The array of ISM addresses|
|
|
34
|
+
|`threshold`|`uint8`|The number of modules needed to verify|
|
|
35
|
+
|
|
36
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# IMultisigIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/isms/IMultisigIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IInterchainSecurityModule](/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### validatorsAndThreshold
|
|
10
|
+
|
|
11
|
+
Returns the set of validators responsible for verifying _message
|
|
12
|
+
and the number of signatures required
|
|
13
|
+
|
|
14
|
+
*Can change based on the content of _message*
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
```solidity
|
|
18
|
+
function validatorsAndThreshold(bytes calldata _message)
|
|
19
|
+
external
|
|
20
|
+
view
|
|
21
|
+
returns (address[] memory validators, uint8 threshold);
|
|
22
|
+
```
|
|
23
|
+
**Parameters**
|
|
24
|
+
|
|
25
|
+
|Name|Type|Description|
|
|
26
|
+
|----|----|-----------|
|
|
27
|
+
|`_message`|`bytes`|Hyperlane formatted interchain message|
|
|
28
|
+
|
|
29
|
+
**Returns**
|
|
30
|
+
|
|
31
|
+
|Name|Type|Description|
|
|
32
|
+
|----|----|-----------|
|
|
33
|
+
|`validators`|`address[]`|The array of validator addresses|
|
|
34
|
+
|`threshold`|`uint8`|The number of validator signatures needed|
|
|
35
|
+
|
|
36
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# IRoutingIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/isms/IRoutingIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IInterchainSecurityModule](/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### route
|
|
10
|
+
|
|
11
|
+
Returns the ISM responsible for verifying _message
|
|
12
|
+
|
|
13
|
+
*Can change based on the content of _message*
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function route(bytes calldata _message) external view returns (IInterchainSecurityModule);
|
|
18
|
+
```
|
|
19
|
+
**Parameters**
|
|
20
|
+
|
|
21
|
+
|Name|Type|Description|
|
|
22
|
+
|----|----|-----------|
|
|
23
|
+
|`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
|
|
24
|
+
|
|
25
|
+
**Returns**
|
|
26
|
+
|
|
27
|
+
|Name|Type|Description|
|
|
28
|
+
|----|----|-----------|
|
|
29
|
+
|`<none>`|`IInterchainSecurityModule`|module The ISM to use to verify _message|
|
|
30
|
+
|
|
31
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# IInterchainAccountRouter
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/middleware/IInterchainAccountRouter.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### callRemote
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function callRemote(uint32 _destination, address _to, uint256 _value, bytes calldata _data)
|
|
11
|
+
external
|
|
12
|
+
returns (bytes32);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### callRemote
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```solidity
|
|
19
|
+
function callRemote(uint32 _destination, CallLib.Call[] calldata calls) external returns (bytes32);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### callRemoteWithOverrides
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
```solidity
|
|
26
|
+
function callRemoteWithOverrides(uint32 _destination, bytes32 _router, bytes32 _ism, CallLib.Call[] calldata calls)
|
|
27
|
+
external
|
|
28
|
+
returns (bytes32);
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### getLocalInterchainAccount
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
```solidity
|
|
35
|
+
function getLocalInterchainAccount(uint32 _origin, bytes32 _router, bytes32 _owner, address _ism)
|
|
36
|
+
external
|
|
37
|
+
view
|
|
38
|
+
returns (OwnableMulticall);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### getLocalInterchainAccount
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
```solidity
|
|
45
|
+
function getLocalInterchainAccount(uint32 _origin, address _router, address _owner, address _ism)
|
|
46
|
+
external
|
|
47
|
+
view
|
|
48
|
+
returns (OwnableMulticall);
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### getRemoteInterchainAccount
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
```solidity
|
|
55
|
+
function getRemoteInterchainAccount(address _router, address _owner, address _ism) external view returns (address);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### getRemoteInterchainAccount
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
```solidity
|
|
62
|
+
function getRemoteInterchainAccount(uint32 _destination, address _owner) external view returns (address);
|
|
63
|
+
```
|
|
64
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# IInterchainQueryRouter
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/interfaces/middleware/IInterchainQueryRouter.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### query
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function query(uint32 _destination, address _to, bytes memory _data, bytes memory _callback)
|
|
11
|
+
external
|
|
12
|
+
returns (bytes32);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### query
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```solidity
|
|
19
|
+
function query(uint32 _destination, CallLib.StaticCallWithCallback[] calldata calls) external returns (bytes32);
|
|
20
|
+
```
|
|
21
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# AbstractAggregationIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/isms/aggregation/AbstractAggregationIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IAggregationIsm](/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md)
|
|
6
|
+
|
|
7
|
+
Manages per-domain m-of-n ISM sets that are used to verify
|
|
8
|
+
interchain messages.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## State Variables
|
|
12
|
+
### moduleType
|
|
13
|
+
|
|
14
|
+
```solidity
|
|
15
|
+
uint8 public constant moduleType = uint8(IInterchainSecurityModule.Types.AGGREGATION);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Functions
|
|
20
|
+
### modulesAndThreshold
|
|
21
|
+
|
|
22
|
+
Returns the set of ISMs responsible for verifying _message
|
|
23
|
+
and the number of ISMs that must verify
|
|
24
|
+
|
|
25
|
+
*Can change based on the content of _message*
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
function modulesAndThreshold(bytes calldata _message) public view virtual returns (address[] memory, uint8);
|
|
30
|
+
```
|
|
31
|
+
**Parameters**
|
|
32
|
+
|
|
33
|
+
|Name|Type|Description|
|
|
34
|
+
|----|----|-----------|
|
|
35
|
+
|`_message`|`bytes`|Hyperlane formatted interchain message|
|
|
36
|
+
|
|
37
|
+
**Returns**
|
|
38
|
+
|
|
39
|
+
|Name|Type|Description|
|
|
40
|
+
|----|----|-----------|
|
|
41
|
+
|`<none>`|`address[]`|modules The array of ISM addresses|
|
|
42
|
+
|`<none>`|`uint8`|threshold The number of ISMs needed to verify|
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### verify
|
|
46
|
+
|
|
47
|
+
Requires that m-of-n ISMs verify the provided interchain message.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
```solidity
|
|
51
|
+
function verify(bytes calldata _metadata, bytes calldata _message) public returns (bool);
|
|
52
|
+
```
|
|
53
|
+
**Parameters**
|
|
54
|
+
|
|
55
|
+
|Name|Type|Description|
|
|
56
|
+
|----|----|-----------|
|
|
57
|
+
|`_metadata`|`bytes`|ABI encoded module metadata (see AggregationIsmMetadata.sol)|
|
|
58
|
+
|`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
|
|
59
|
+
|
|
60
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [AbstractAggregationIsm](AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md)
|
|
5
|
+
- [StaticAggregationIsm](StaticAggregationIsm.sol/contract.StaticAggregationIsm.md)
|
|
6
|
+
- [StaticAggregationIsmFactory](StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# StaticAggregationIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/isms/aggregation/StaticAggregationIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[AbstractAggregationIsm](/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md)
|
|
6
|
+
|
|
7
|
+
Manages per-domain m-of-n ISM sets that are used to verify
|
|
8
|
+
interchain messages.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Functions
|
|
12
|
+
### modulesAndThreshold
|
|
13
|
+
|
|
14
|
+
Returns the set of ISMs responsible for verifying _message
|
|
15
|
+
and the number of ISMs that must verify
|
|
16
|
+
|
|
17
|
+
*Can change based on the content of _message*
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
function modulesAndThreshold(bytes calldata) public view virtual override returns (address[] memory, uint8);
|
|
22
|
+
```
|
|
23
|
+
**Returns**
|
|
24
|
+
|
|
25
|
+
|Name|Type|Description|
|
|
26
|
+
|----|----|-----------|
|
|
27
|
+
|`<none>`|`address[]`|modules The array of ISM addresses|
|
|
28
|
+
|`<none>`|`uint8`|threshold The number of ISMs needed to verify|
|
|
29
|
+
|
|
30
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# StaticAggregationIsmFactory
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/isms/aggregation/StaticAggregationIsmFactory.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[StaticMOfNAddressSetFactory](/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Functions
|
|
9
|
+
### _deployImplementation
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
function _deployImplementation() internal virtual override returns (address);
|
|
14
|
+
```
|
|
15
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# AbstractMerkleRootMultisigIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[AbstractMultisigIsm](/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md)
|
|
6
|
+
|
|
7
|
+
This ISM allows using a newer signed checkpoint (say #33) to prove existence of an older message (#22) in the validators' MerkleTree.
|
|
8
|
+
This guarantees censorship resistance as validators cannot hide a message
|
|
9
|
+
by refusing to sign its checkpoint but later signing a checkpoint for a newer message.
|
|
10
|
+
If validators decide to censor a message, they are left with only one option — to not produce checkpoints at all.
|
|
11
|
+
Otherwise, the very next signed checkpoint (#33) can be used by any relayer to prove the previous message inclusion using this ISM.
|
|
12
|
+
This is censorship resistance is missing in the sibling implementation `AbstractMessageIdMultisigIsm`,
|
|
13
|
+
since it can only verify messages having the corresponding checkpoints.
|
|
14
|
+
|
|
15
|
+
*Provides the default implementation of verifying signatures over a checkpoint and the message inclusion in that checkpoint.
|
|
16
|
+
This abstract contract can be overridden for customizing the `validatorsAndThreshold()` (static or dynamic).*
|
|
17
|
+
|
|
18
|
+
*May be adapted in future to support batch message verification against a single root.*
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## State Variables
|
|
22
|
+
### moduleType
|
|
23
|
+
|
|
24
|
+
```solidity
|
|
25
|
+
uint8 public constant moduleType = uint8(IInterchainSecurityModule.Types.MERKLE_ROOT_MULTISIG);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Functions
|
|
30
|
+
### digest
|
|
31
|
+
|
|
32
|
+
Returns the digest to be used for signature verification.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
```solidity
|
|
36
|
+
function digest(bytes calldata _metadata, bytes calldata _message) internal pure override returns (bytes32);
|
|
37
|
+
```
|
|
38
|
+
**Parameters**
|
|
39
|
+
|
|
40
|
+
|Name|Type|Description|
|
|
41
|
+
|----|----|-----------|
|
|
42
|
+
|`_metadata`|`bytes`|ABI encoded module metadata|
|
|
43
|
+
|`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
|
|
44
|
+
|
|
45
|
+
**Returns**
|
|
46
|
+
|
|
47
|
+
|Name|Type|Description|
|
|
48
|
+
|----|----|-----------|
|
|
49
|
+
|`<none>`|`bytes32`|digest The digest to be signed by validators|
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### signatureAt
|
|
53
|
+
|
|
54
|
+
Returns the signature at a given index from the metadata.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
```solidity
|
|
58
|
+
function signatureAt(bytes calldata _metadata, uint256 _index)
|
|
59
|
+
internal
|
|
60
|
+
pure
|
|
61
|
+
virtual
|
|
62
|
+
override
|
|
63
|
+
returns (bytes memory signature);
|
|
64
|
+
```
|
|
65
|
+
**Parameters**
|
|
66
|
+
|
|
67
|
+
|Name|Type|Description|
|
|
68
|
+
|----|----|-----------|
|
|
69
|
+
|`_metadata`|`bytes`|ABI encoded module metadata|
|
|
70
|
+
|`_index`|`uint256`|The index of the signature to return|
|
|
71
|
+
|
|
72
|
+
**Returns**
|
|
73
|
+
|
|
74
|
+
|Name|Type|Description|
|
|
75
|
+
|----|----|-----------|
|
|
76
|
+
|`signature`|`bytes`|Packed encoding of signature (65 bytes)|
|
|
77
|
+
|
|
78
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# AbstractMessageIdMultisigIsm
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[AbstractMultisigIsm](/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md)
|
|
6
|
+
|
|
7
|
+
This ISM minimizes gas/performance overhead of the checkpoints verification by compromising on the censorship resistance.
|
|
8
|
+
For censorship resistance consider using `AbstractMerkleRootMultisigIsm`.
|
|
9
|
+
If the validators (`validatorsAndThreshold`) skip messages by not sign checkpoints for them,
|
|
10
|
+
the relayers will not be able to aggregate a quorum of signatures sufficient to deliver these messages via this ISM.
|
|
11
|
+
Integrations are free to choose the trade-off between the censorship resistance and the gas/processing overhead.
|
|
12
|
+
|
|
13
|
+
*Provides the default implementation of verifying signatures over a checkpoint related to a specific message ID.
|
|
14
|
+
This abstract contract can be customized to change the `validatorsAndThreshold()` (static or dynamic).*
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## State Variables
|
|
18
|
+
### moduleType
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
uint8 public constant moduleType = uint8(IInterchainSecurityModule.Types.MESSAGE_ID_MULTISIG);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## Functions
|
|
26
|
+
### digest
|
|
27
|
+
|
|
28
|
+
Returns the digest to be used for signature verification.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
function digest(bytes calldata _metadata, bytes calldata _message) internal pure override returns (bytes32);
|
|
33
|
+
```
|
|
34
|
+
**Parameters**
|
|
35
|
+
|
|
36
|
+
|Name|Type|Description|
|
|
37
|
+
|----|----|-----------|
|
|
38
|
+
|`_metadata`|`bytes`|ABI encoded module metadata|
|
|
39
|
+
|`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
|
|
40
|
+
|
|
41
|
+
**Returns**
|
|
42
|
+
|
|
43
|
+
|Name|Type|Description|
|
|
44
|
+
|----|----|-----------|
|
|
45
|
+
|`<none>`|`bytes32`|digest The digest to be signed by validators|
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### signatureAt
|
|
49
|
+
|
|
50
|
+
Returns the signature at a given index from the metadata.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
```solidity
|
|
54
|
+
function signatureAt(bytes calldata _metadata, uint256 _index) internal pure virtual override returns (bytes memory);
|
|
55
|
+
```
|
|
56
|
+
**Parameters**
|
|
57
|
+
|
|
58
|
+
|Name|Type|Description|
|
|
59
|
+
|----|----|-----------|
|
|
60
|
+
|`_metadata`|`bytes`|ABI encoded module metadata|
|
|
61
|
+
|`_index`|`uint256`|The index of the signature to return|
|
|
62
|
+
|
|
63
|
+
**Returns**
|
|
64
|
+
|
|
65
|
+
|Name|Type|Description|
|
|
66
|
+
|----|----|-----------|
|
|
67
|
+
|`<none>`|`bytes`|signature Packed encoding of signature (65 bytes)|
|
|
68
|
+
|
|
69
|
+
|