@hyperlane-xyz/core 1.4.0 → 1.4.2
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/interfaces/IInterchainSecurityModule.sol +2 -2
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +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/hooks/ERC5164/ERC5164MessageHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +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/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +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.js +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.js +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- 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/test/LightTestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__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/TestMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__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.js +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.js +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 +139 -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/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md +64 -0
- package/docs/src/contracts/hooks/ERC5164/README.md +5 -0
- package/docs/src/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol/interface.IMessageDispatcher.md +25 -0
- package/docs/src/contracts/hooks/ERC5164/interfaces/README.md +4 -0
- package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
- package/docs/src/contracts/hooks/README.md +5 -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/hook/AbstractHookISM.sol/abstract.AbstractHookISM.md +44 -0
- package/docs/src/contracts/isms/hook/CrossChainEnabled.sol/abstract.CrossChainEnabled.md +74 -0
- package/docs/src/contracts/isms/hook/ERC5164ISM.sol/contract.ERC5164ISM.md +57 -0
- package/docs/src/contracts/isms/hook/README.md +7 -0
- package/docs/src/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol/abstract.CrossChainEnabledOptimism.md +53 -0
- package/docs/src/contracts/isms/hook/optimism/LibOptimism.sol/library.LibOptimism.md +39 -0
- package/docs/src/contracts/isms/hook/optimism/OptimismISM.sol/contract.OptimismISM.md +66 -0
- package/docs/src/contracts/isms/hook/optimism/README.md +6 -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/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/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 +542 -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/MockERC5164.sol/contract.MockMessageDispatcher.md +15 -0
- package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageExecutor.md +11 -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 +11 -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 +3 -3
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# LegacyMultisigIsmMetadata
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/isms/LegacyMultisigIsmMetadata.sol)
|
|
3
|
+
|
|
4
|
+
Format of metadata:
|
|
5
|
+
[ 0: 32] Merkle root
|
|
6
|
+
[ 32: 36] Root index
|
|
7
|
+
[ 36: 68] Origin mailbox address
|
|
8
|
+
[ 68:1092] Merkle proof
|
|
9
|
+
[1092:1093] Threshold
|
|
10
|
+
[1093:????] Validator signatures, 65 bytes each, length == Threshold
|
|
11
|
+
[????:????] Addresses of the entire validator set, left padded to bytes32
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## State Variables
|
|
15
|
+
### MERKLE_ROOT_OFFSET
|
|
16
|
+
|
|
17
|
+
```solidity
|
|
18
|
+
uint256 private constant MERKLE_ROOT_OFFSET = 0;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### MERKLE_INDEX_OFFSET
|
|
23
|
+
|
|
24
|
+
```solidity
|
|
25
|
+
uint256 private constant MERKLE_INDEX_OFFSET = 32;
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### ORIGIN_MAILBOX_OFFSET
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
uint256 private constant ORIGIN_MAILBOX_OFFSET = 36;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### MERKLE_PROOF_OFFSET
|
|
37
|
+
|
|
38
|
+
```solidity
|
|
39
|
+
uint256 private constant MERKLE_PROOF_OFFSET = 68;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### THRESHOLD_OFFSET
|
|
44
|
+
|
|
45
|
+
```solidity
|
|
46
|
+
uint256 private constant THRESHOLD_OFFSET = 1092;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### SIGNATURES_OFFSET
|
|
51
|
+
|
|
52
|
+
```solidity
|
|
53
|
+
uint256 private constant SIGNATURES_OFFSET = 1093;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### SIGNATURE_LENGTH
|
|
58
|
+
|
|
59
|
+
```solidity
|
|
60
|
+
uint256 private constant SIGNATURE_LENGTH = 65;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Functions
|
|
65
|
+
### root
|
|
66
|
+
|
|
67
|
+
Returns the merkle root of the signed checkpoint.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
```solidity
|
|
71
|
+
function root(bytes calldata _metadata) internal pure returns (bytes32);
|
|
72
|
+
```
|
|
73
|
+
**Parameters**
|
|
74
|
+
|
|
75
|
+
|Name|Type|Description|
|
|
76
|
+
|----|----|-----------|
|
|
77
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
78
|
+
|
|
79
|
+
**Returns**
|
|
80
|
+
|
|
81
|
+
|Name|Type|Description|
|
|
82
|
+
|----|----|-----------|
|
|
83
|
+
|`<none>`|`bytes32`|Merkle root of the signed checkpoint|
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
### index
|
|
87
|
+
|
|
88
|
+
Returns the index of the signed checkpoint.
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
```solidity
|
|
92
|
+
function index(bytes calldata _metadata) internal pure returns (uint32);
|
|
93
|
+
```
|
|
94
|
+
**Parameters**
|
|
95
|
+
|
|
96
|
+
|Name|Type|Description|
|
|
97
|
+
|----|----|-----------|
|
|
98
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
99
|
+
|
|
100
|
+
**Returns**
|
|
101
|
+
|
|
102
|
+
|Name|Type|Description|
|
|
103
|
+
|----|----|-----------|
|
|
104
|
+
|`<none>`|`uint32`|Index of the signed checkpoint|
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
### originMailbox
|
|
108
|
+
|
|
109
|
+
Returns the origin mailbox of the signed checkpoint as bytes32.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
```solidity
|
|
113
|
+
function originMailbox(bytes calldata _metadata) internal pure returns (bytes32);
|
|
114
|
+
```
|
|
115
|
+
**Parameters**
|
|
116
|
+
|
|
117
|
+
|Name|Type|Description|
|
|
118
|
+
|----|----|-----------|
|
|
119
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
120
|
+
|
|
121
|
+
**Returns**
|
|
122
|
+
|
|
123
|
+
|Name|Type|Description|
|
|
124
|
+
|----|----|-----------|
|
|
125
|
+
|`<none>`|`bytes32`|Origin mailbox of the signed checkpoint as bytes32|
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
### proof
|
|
129
|
+
|
|
130
|
+
Returns the merkle proof branch of the message.
|
|
131
|
+
|
|
132
|
+
*This appears to be more gas efficient than returning a calldata
|
|
133
|
+
slice and using that.*
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
```solidity
|
|
137
|
+
function proof(bytes calldata _metadata) internal pure returns (bytes32[32] memory);
|
|
138
|
+
```
|
|
139
|
+
**Parameters**
|
|
140
|
+
|
|
141
|
+
|Name|Type|Description|
|
|
142
|
+
|----|----|-----------|
|
|
143
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
144
|
+
|
|
145
|
+
**Returns**
|
|
146
|
+
|
|
147
|
+
|Name|Type|Description|
|
|
148
|
+
|----|----|-----------|
|
|
149
|
+
|`<none>`|`bytes32[32]`|Merkle proof branch of the message.|
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
### threshold
|
|
153
|
+
|
|
154
|
+
Returns the number of required signatures. Verified against
|
|
155
|
+
the commitment stored in the module.
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
```solidity
|
|
159
|
+
function threshold(bytes calldata _metadata) internal pure returns (uint8);
|
|
160
|
+
```
|
|
161
|
+
**Parameters**
|
|
162
|
+
|
|
163
|
+
|Name|Type|Description|
|
|
164
|
+
|----|----|-----------|
|
|
165
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
166
|
+
|
|
167
|
+
**Returns**
|
|
168
|
+
|
|
169
|
+
|Name|Type|Description|
|
|
170
|
+
|----|----|-----------|
|
|
171
|
+
|`<none>`|`uint8`|The number of required signatures.|
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### signatureAt
|
|
175
|
+
|
|
176
|
+
Returns the validator ECDSA signature at `_index`.
|
|
177
|
+
|
|
178
|
+
*Assumes signatures are sorted by validator*
|
|
179
|
+
|
|
180
|
+
*Assumes `_metadata` encodes `threshold` signatures.*
|
|
181
|
+
|
|
182
|
+
*Assumes `_index` is less than `threshold`*
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
```solidity
|
|
186
|
+
function signatureAt(bytes calldata _metadata, uint256 _index) internal pure returns (bytes calldata);
|
|
187
|
+
```
|
|
188
|
+
**Parameters**
|
|
189
|
+
|
|
190
|
+
|Name|Type|Description|
|
|
191
|
+
|----|----|-----------|
|
|
192
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
193
|
+
|`_index`|`uint256`|The index of the signature to return.|
|
|
194
|
+
|
|
195
|
+
**Returns**
|
|
196
|
+
|
|
197
|
+
|Name|Type|Description|
|
|
198
|
+
|----|----|-----------|
|
|
199
|
+
|`<none>`|`bytes`|The validator ECDSA signature at `_index`.|
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
### validatorAt
|
|
203
|
+
|
|
204
|
+
Returns the validator address at `_index`.
|
|
205
|
+
|
|
206
|
+
*Assumes `_index` is less than the number of validators*
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
```solidity
|
|
210
|
+
function validatorAt(bytes calldata _metadata, uint256 _index) internal pure returns (address);
|
|
211
|
+
```
|
|
212
|
+
**Parameters**
|
|
213
|
+
|
|
214
|
+
|Name|Type|Description|
|
|
215
|
+
|----|----|-----------|
|
|
216
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
217
|
+
|`_index`|`uint256`|The index of the validator to return.|
|
|
218
|
+
|
|
219
|
+
**Returns**
|
|
220
|
+
|
|
221
|
+
|Name|Type|Description|
|
|
222
|
+
|----|----|-----------|
|
|
223
|
+
|`<none>`|`address`|The validator address at `_index`.|
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
### validators
|
|
227
|
+
|
|
228
|
+
Returns the validator set encoded as bytes. Verified against the
|
|
229
|
+
commitment stored in the module.
|
|
230
|
+
|
|
231
|
+
*Validator addresses are encoded as tightly packed array of bytes32,
|
|
232
|
+
sorted to match the enumerable set stored by the module.*
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
```solidity
|
|
236
|
+
function validators(bytes calldata _metadata) internal pure returns (bytes calldata);
|
|
237
|
+
```
|
|
238
|
+
**Parameters**
|
|
239
|
+
|
|
240
|
+
|Name|Type|Description|
|
|
241
|
+
|----|----|-----------|
|
|
242
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
243
|
+
|
|
244
|
+
**Returns**
|
|
245
|
+
|
|
246
|
+
|Name|Type|Description|
|
|
247
|
+
|----|----|-----------|
|
|
248
|
+
|`<none>`|`bytes`|The validator set encoded as bytes.|
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
### validatorCount
|
|
252
|
+
|
|
253
|
+
Returns the size of the validator set encoded in the metadata
|
|
254
|
+
|
|
255
|
+
*Validator addresses are encoded as tightly packed array of bytes32,
|
|
256
|
+
sorted to match the enumerable set stored by the module.*
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
```solidity
|
|
260
|
+
function validatorCount(bytes calldata _metadata) internal pure returns (uint256);
|
|
261
|
+
```
|
|
262
|
+
**Parameters**
|
|
263
|
+
|
|
264
|
+
|Name|Type|Description|
|
|
265
|
+
|----|----|-----------|
|
|
266
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
267
|
+
|
|
268
|
+
**Returns**
|
|
269
|
+
|
|
270
|
+
|Name|Type|Description|
|
|
271
|
+
|----|----|-----------|
|
|
272
|
+
|`<none>`|`uint256`|The size of the validator set encoded in the metadata|
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
### _validatorsOffset
|
|
276
|
+
|
|
277
|
+
Returns the offset in bytes of the list of validators within
|
|
278
|
+
`_metadata`.
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
```solidity
|
|
282
|
+
function _validatorsOffset(bytes calldata _metadata) private pure returns (uint256);
|
|
283
|
+
```
|
|
284
|
+
**Parameters**
|
|
285
|
+
|
|
286
|
+
|Name|Type|Description|
|
|
287
|
+
|----|----|-----------|
|
|
288
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
289
|
+
|
|
290
|
+
**Returns**
|
|
291
|
+
|
|
292
|
+
|Name|Type|Description|
|
|
293
|
+
|----|----|-----------|
|
|
294
|
+
|`<none>`|`uint256`|The index at which the list of validators starts|
|
|
295
|
+
|
|
296
|
+
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# MerkleRootMultisigIsmMetadata
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol)
|
|
3
|
+
|
|
4
|
+
Format of metadata:
|
|
5
|
+
[ 0: 32] Origin mailbox address
|
|
6
|
+
[ 32: 36] Signed checkpoint index
|
|
7
|
+
[ 36: 68] Signed checkpoint message ID
|
|
8
|
+
[ 68:1092] Merkle proof
|
|
9
|
+
[1092:????] Validator signatures (length := threshold * 65)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## State Variables
|
|
13
|
+
### ORIGIN_MAILBOX_OFFSET
|
|
14
|
+
|
|
15
|
+
```solidity
|
|
16
|
+
uint8 private constant ORIGIN_MAILBOX_OFFSET = 0;
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### CHECKPOINT_INDEX_OFFSET
|
|
21
|
+
|
|
22
|
+
```solidity
|
|
23
|
+
uint8 private constant CHECKPOINT_INDEX_OFFSET = 32;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### CHECKPOINT_MESSAGE_ID_OFFSET
|
|
28
|
+
|
|
29
|
+
```solidity
|
|
30
|
+
uint8 private constant CHECKPOINT_MESSAGE_ID_OFFSET = 36;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### MERKLE_PROOF_OFFSET
|
|
35
|
+
|
|
36
|
+
```solidity
|
|
37
|
+
uint8 private constant MERKLE_PROOF_OFFSET = 68;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### MERKLE_PROOF_LENGTH
|
|
42
|
+
|
|
43
|
+
```solidity
|
|
44
|
+
uint16 private constant MERKLE_PROOF_LENGTH = 32 * 32;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### SIGNATURES_OFFSET
|
|
49
|
+
|
|
50
|
+
```solidity
|
|
51
|
+
uint16 private constant SIGNATURES_OFFSET = 1092;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### SIGNATURE_LENGTH
|
|
56
|
+
|
|
57
|
+
```solidity
|
|
58
|
+
uint8 private constant SIGNATURE_LENGTH = 65;
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Functions
|
|
63
|
+
### originMailbox
|
|
64
|
+
|
|
65
|
+
Returns the origin mailbox of the signed checkpoint as bytes32.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
```solidity
|
|
69
|
+
function originMailbox(bytes calldata _metadata) internal pure returns (bytes32);
|
|
70
|
+
```
|
|
71
|
+
**Parameters**
|
|
72
|
+
|
|
73
|
+
|Name|Type|Description|
|
|
74
|
+
|----|----|-----------|
|
|
75
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
76
|
+
|
|
77
|
+
**Returns**
|
|
78
|
+
|
|
79
|
+
|Name|Type|Description|
|
|
80
|
+
|----|----|-----------|
|
|
81
|
+
|`<none>`|`bytes32`|Origin mailbox of the signed checkpoint as bytes32|
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### index
|
|
85
|
+
|
|
86
|
+
Returns the index of the signed checkpoint.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
```solidity
|
|
90
|
+
function index(bytes calldata _metadata) internal pure returns (uint32);
|
|
91
|
+
```
|
|
92
|
+
**Parameters**
|
|
93
|
+
|
|
94
|
+
|Name|Type|Description|
|
|
95
|
+
|----|----|-----------|
|
|
96
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
97
|
+
|
|
98
|
+
**Returns**
|
|
99
|
+
|
|
100
|
+
|Name|Type|Description|
|
|
101
|
+
|----|----|-----------|
|
|
102
|
+
|`<none>`|`uint32`|Index of the signed checkpoint|
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
### messageId
|
|
106
|
+
|
|
107
|
+
Returns the message ID of the signed checkpoint.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
```solidity
|
|
111
|
+
function messageId(bytes calldata _metadata) internal pure returns (bytes32);
|
|
112
|
+
```
|
|
113
|
+
**Parameters**
|
|
114
|
+
|
|
115
|
+
|Name|Type|Description|
|
|
116
|
+
|----|----|-----------|
|
|
117
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
118
|
+
|
|
119
|
+
**Returns**
|
|
120
|
+
|
|
121
|
+
|Name|Type|Description|
|
|
122
|
+
|----|----|-----------|
|
|
123
|
+
|`<none>`|`bytes32`|Message ID of the signed checkpoint|
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
### proof
|
|
127
|
+
|
|
128
|
+
Returns the merkle proof branch of the message.
|
|
129
|
+
|
|
130
|
+
*This appears to be more gas efficient than returning a calldata
|
|
131
|
+
slice and using that.*
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
```solidity
|
|
135
|
+
function proof(bytes calldata _metadata) internal pure returns (bytes32[32] memory);
|
|
136
|
+
```
|
|
137
|
+
**Parameters**
|
|
138
|
+
|
|
139
|
+
|Name|Type|Description|
|
|
140
|
+
|----|----|-----------|
|
|
141
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
142
|
+
|
|
143
|
+
**Returns**
|
|
144
|
+
|
|
145
|
+
|Name|Type|Description|
|
|
146
|
+
|----|----|-----------|
|
|
147
|
+
|`<none>`|`bytes32[32]`|Merkle proof branch of the message.|
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
### signatureAt
|
|
151
|
+
|
|
152
|
+
Returns the validator ECDSA signature at `_index`.
|
|
153
|
+
|
|
154
|
+
*Assumes signatures are sorted by validator*
|
|
155
|
+
|
|
156
|
+
*Assumes `_metadata` encodes `threshold` signatures.*
|
|
157
|
+
|
|
158
|
+
*Assumes `_index` is less than `threshold`*
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
```solidity
|
|
162
|
+
function signatureAt(bytes calldata _metadata, uint256 _index) internal pure returns (bytes calldata);
|
|
163
|
+
```
|
|
164
|
+
**Parameters**
|
|
165
|
+
|
|
166
|
+
|Name|Type|Description|
|
|
167
|
+
|----|----|-----------|
|
|
168
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
169
|
+
|`_index`|`uint256`|The index of the signature to return.|
|
|
170
|
+
|
|
171
|
+
**Returns**
|
|
172
|
+
|
|
173
|
+
|Name|Type|Description|
|
|
174
|
+
|----|----|-----------|
|
|
175
|
+
|`<none>`|`bytes`|The validator ECDSA signature at `_index`.|
|
|
176
|
+
|
|
177
|
+
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# MessageIdMultisigIsmMetadata
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol)
|
|
3
|
+
|
|
4
|
+
Format of metadata:
|
|
5
|
+
[ 0: 32] Origin mailbox address
|
|
6
|
+
[ 32: 64] Signed checkpoint root
|
|
7
|
+
[ 64:????] Validator signatures (length := threshold * 65)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## State Variables
|
|
11
|
+
### ORIGIN_MAILBOX_OFFSET
|
|
12
|
+
|
|
13
|
+
```solidity
|
|
14
|
+
uint8 private constant ORIGIN_MAILBOX_OFFSET = 0;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### MERKLE_ROOT_OFFSET
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
uint8 private constant MERKLE_ROOT_OFFSET = 32;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### SIGNATURES_OFFSET
|
|
26
|
+
|
|
27
|
+
```solidity
|
|
28
|
+
uint8 private constant SIGNATURES_OFFSET = 64;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### SIGNATURE_LENGTH
|
|
33
|
+
|
|
34
|
+
```solidity
|
|
35
|
+
uint8 private constant SIGNATURE_LENGTH = 65;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Functions
|
|
40
|
+
### originMailbox
|
|
41
|
+
|
|
42
|
+
Returns the origin mailbox of the signed checkpoint as bytes32.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
```solidity
|
|
46
|
+
function originMailbox(bytes calldata _metadata) internal pure returns (bytes32);
|
|
47
|
+
```
|
|
48
|
+
**Parameters**
|
|
49
|
+
|
|
50
|
+
|Name|Type|Description|
|
|
51
|
+
|----|----|-----------|
|
|
52
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
53
|
+
|
|
54
|
+
**Returns**
|
|
55
|
+
|
|
56
|
+
|Name|Type|Description|
|
|
57
|
+
|----|----|-----------|
|
|
58
|
+
|`<none>`|`bytes32`|Origin mailbox of the signed checkpoint as bytes32|
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### root
|
|
62
|
+
|
|
63
|
+
Returns the merkle root of the signed checkpoint.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
```solidity
|
|
67
|
+
function root(bytes calldata _metadata) internal pure returns (bytes32);
|
|
68
|
+
```
|
|
69
|
+
**Parameters**
|
|
70
|
+
|
|
71
|
+
|Name|Type|Description|
|
|
72
|
+
|----|----|-----------|
|
|
73
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
74
|
+
|
|
75
|
+
**Returns**
|
|
76
|
+
|
|
77
|
+
|Name|Type|Description|
|
|
78
|
+
|----|----|-----------|
|
|
79
|
+
|`<none>`|`bytes32`|Merkle root of the signed checkpoint|
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
### signatureAt
|
|
83
|
+
|
|
84
|
+
Returns the validator ECDSA signature at `_index`.
|
|
85
|
+
|
|
86
|
+
*Assumes signatures are sorted by validator*
|
|
87
|
+
|
|
88
|
+
*Assumes `_metadata` encodes `threshold` signatures.*
|
|
89
|
+
|
|
90
|
+
*Assumes `_index` is less than `threshold`*
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
```solidity
|
|
94
|
+
function signatureAt(bytes calldata _metadata, uint256 _index) internal pure returns (bytes calldata);
|
|
95
|
+
```
|
|
96
|
+
**Parameters**
|
|
97
|
+
|
|
98
|
+
|Name|Type|Description|
|
|
99
|
+
|----|----|-----------|
|
|
100
|
+
|`_metadata`|`bytes`|ABI encoded Multisig ISM metadata.|
|
|
101
|
+
|`_index`|`uint256`|The index of the signature to return.|
|
|
102
|
+
|
|
103
|
+
**Returns**
|
|
104
|
+
|
|
105
|
+
|Name|Type|Description|
|
|
106
|
+
|----|----|-----------|
|
|
107
|
+
|`<none>`|`bytes`|The validator ECDSA signature at `_index`.|
|
|
108
|
+
|
|
109
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [AggregationIsmMetadata](AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md)
|
|
5
|
+
- [LegacyMultisigIsmMetadata](LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md)
|
|
6
|
+
- [MerkleRootMultisigIsmMetadata](MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md)
|
|
7
|
+
- [MessageIdMultisigIsmMetadata](MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md)
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# InterchainAccountMessage
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/middleware/InterchainAccountMessage.sol)
|
|
3
|
+
|
|
4
|
+
Format of message:
|
|
5
|
+
[ 0: 32] ICA owner
|
|
6
|
+
[ 32: 64] ICA ISM
|
|
7
|
+
[ 64:????] Calls, abi encoded
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Functions
|
|
11
|
+
### encode
|
|
12
|
+
|
|
13
|
+
Returns formatted (packed) InterchainAccountMessage
|
|
14
|
+
|
|
15
|
+
*This function should only be used in memory message construction.*
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```solidity
|
|
19
|
+
function encode(address _owner, bytes32 _ism, address _to, uint256 _value, bytes memory _data)
|
|
20
|
+
internal
|
|
21
|
+
pure
|
|
22
|
+
returns (bytes memory);
|
|
23
|
+
```
|
|
24
|
+
**Parameters**
|
|
25
|
+
|
|
26
|
+
|Name|Type|Description|
|
|
27
|
+
|----|----|-----------|
|
|
28
|
+
|`_owner`|`address`|The owner of the interchain account|
|
|
29
|
+
|`_ism`|`bytes32`|The address of the remote ISM|
|
|
30
|
+
|`_to`|`address`|The address of the contract to call|
|
|
31
|
+
|`_value`|`uint256`|The value to include in the call|
|
|
32
|
+
|`_data`|`bytes`|The calldata|
|
|
33
|
+
|
|
34
|
+
**Returns**
|
|
35
|
+
|
|
36
|
+
|Name|Type|Description|
|
|
37
|
+
|----|----|-----------|
|
|
38
|
+
|`<none>`|`bytes`|Formatted message body|
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### encode
|
|
42
|
+
|
|
43
|
+
Returns formatted (packed) InterchainAccountMessage
|
|
44
|
+
|
|
45
|
+
*This function should only be used in memory message construction.*
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
```solidity
|
|
49
|
+
function encode(bytes32 _owner, bytes32 _ism, CallLib.Call[] calldata _calls) internal pure returns (bytes memory);
|
|
50
|
+
```
|
|
51
|
+
**Parameters**
|
|
52
|
+
|
|
53
|
+
|Name|Type|Description|
|
|
54
|
+
|----|----|-----------|
|
|
55
|
+
|`_owner`|`bytes32`|The owner of the interchain account|
|
|
56
|
+
|`_ism`|`bytes32`|The address of the remote ISM|
|
|
57
|
+
|`_calls`|`CallLib.Call[]`|The sequence of calls to make|
|
|
58
|
+
|
|
59
|
+
**Returns**
|
|
60
|
+
|
|
61
|
+
|Name|Type|Description|
|
|
62
|
+
|----|----|-----------|
|
|
63
|
+
|`<none>`|`bytes`|Formatted message body|
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### encode
|
|
67
|
+
|
|
68
|
+
Returns formatted (packed) InterchainAccountMessage
|
|
69
|
+
|
|
70
|
+
*This function should only be used in memory message construction.*
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
```solidity
|
|
74
|
+
function encode(address _owner, bytes32 _ism, CallLib.Call[] calldata _calls) internal pure returns (bytes memory);
|
|
75
|
+
```
|
|
76
|
+
**Parameters**
|
|
77
|
+
|
|
78
|
+
|Name|Type|Description|
|
|
79
|
+
|----|----|-----------|
|
|
80
|
+
|`_owner`|`address`|The owner of the interchain account|
|
|
81
|
+
|`_ism`|`bytes32`|The address of the remote ISM|
|
|
82
|
+
|`_calls`|`CallLib.Call[]`|The sequence of calls to make|
|
|
83
|
+
|
|
84
|
+
**Returns**
|
|
85
|
+
|
|
86
|
+
|Name|Type|Description|
|
|
87
|
+
|----|----|-----------|
|
|
88
|
+
|`<none>`|`bytes`|Formatted message body|
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### decode
|
|
92
|
+
|
|
93
|
+
Parses and returns the calls from the provided message
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
```solidity
|
|
97
|
+
function decode(bytes calldata _message) internal pure returns (bytes32, bytes32, CallLib.Call[] memory);
|
|
98
|
+
```
|
|
99
|
+
**Parameters**
|
|
100
|
+
|
|
101
|
+
|Name|Type|Description|
|
|
102
|
+
|----|----|-----------|
|
|
103
|
+
|`_message`|`bytes`|The interchain account message|
|
|
104
|
+
|
|
105
|
+
**Returns**
|
|
106
|
+
|
|
107
|
+
|Name|Type|Description|
|
|
108
|
+
|----|----|-----------|
|
|
109
|
+
|`<none>`|`bytes32`|The array of calls|
|
|
110
|
+
|`<none>`|`bytes32`||
|
|
111
|
+
|`<none>`|`CallLib.Call[]`||
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
### ism
|
|
115
|
+
|
|
116
|
+
Parses and returns the ISM address from the provided message
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
```solidity
|
|
120
|
+
function ism(bytes calldata _message) internal pure returns (address);
|
|
121
|
+
```
|
|
122
|
+
**Parameters**
|
|
123
|
+
|
|
124
|
+
|Name|Type|Description|
|
|
125
|
+
|----|----|-----------|
|
|
126
|
+
|`_message`|`bytes`|The interchain account message|
|
|
127
|
+
|
|
128
|
+
**Returns**
|
|
129
|
+
|
|
130
|
+
|Name|Type|Description|
|
|
131
|
+
|----|----|-----------|
|
|
132
|
+
|`<none>`|`address`|The ISM encoded in the message|
|
|
133
|
+
|
|
134
|
+
|