@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.
Files changed (210) hide show
  1. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -2
  2. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  3. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  4. package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
  5. package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
  6. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.d.ts +1 -1
  7. package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.js +1 -1
  8. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
  9. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
  10. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  11. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  12. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  13. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  14. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.d.ts +1 -1
  15. package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.js +1 -1
  16. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts +1 -1
  17. package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.js +1 -1
  18. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
  19. package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +1 -1
  20. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  21. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  22. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  23. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  24. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  25. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  26. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  27. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  28. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
  29. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
  30. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  31. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  32. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  33. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  34. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  35. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  36. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  37. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  38. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  39. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  40. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  41. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  42. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  43. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  44. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  45. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  46. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  47. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  48. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  49. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  50. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  51. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  52. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  53. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  54. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
  55. package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +1 -1
  56. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  57. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  58. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
  59. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +1 -1
  60. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  61. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  62. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  63. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  64. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  65. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  66. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  67. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  68. package/docs/book.css +13 -0
  69. package/docs/book.toml +12 -0
  70. package/docs/solidity.min.js +74 -0
  71. package/docs/src/README.md +15 -0
  72. package/docs/src/SUMMARY.md +139 -0
  73. package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +124 -0
  74. package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +191 -0
  75. package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +251 -0
  76. package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +41 -0
  77. package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +100 -0
  78. package/docs/src/contracts/README.md +19 -0
  79. package/docs/src/contracts/Router.sol/abstract.Router.md +255 -0
  80. package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +117 -0
  81. package/docs/src/contracts/hooks/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md +64 -0
  82. package/docs/src/contracts/hooks/ERC5164/README.md +5 -0
  83. package/docs/src/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol/interface.IMessageDispatcher.md +25 -0
  84. package/docs/src/contracts/hooks/ERC5164/interfaces/README.md +4 -0
  85. package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
  86. package/docs/src/contracts/hooks/README.md +5 -0
  87. package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +231 -0
  88. package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +161 -0
  89. package/docs/src/contracts/igps/README.md +6 -0
  90. package/docs/src/contracts/igps/gas-oracles/README.md +4 -0
  91. package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +114 -0
  92. package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +25 -0
  93. package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +43 -0
  94. package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +33 -0
  95. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +55 -0
  96. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +12 -0
  97. package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +13 -0
  98. package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +19 -0
  99. package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +103 -0
  100. package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +12 -0
  101. package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +33 -0
  102. package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +78 -0
  103. package/docs/src/contracts/interfaces/README.md +17 -0
  104. package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +12 -0
  105. package/docs/src/contracts/interfaces/hooks/README.md +4 -0
  106. package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +36 -0
  107. package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +36 -0
  108. package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +31 -0
  109. package/docs/src/contracts/interfaces/isms/README.md +6 -0
  110. package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +64 -0
  111. package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +21 -0
  112. package/docs/src/contracts/interfaces/middleware/README.md +5 -0
  113. package/docs/src/contracts/isms/README.md +7 -0
  114. package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +60 -0
  115. package/docs/src/contracts/isms/aggregation/README.md +6 -0
  116. package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +30 -0
  117. package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +15 -0
  118. package/docs/src/contracts/isms/hook/AbstractHookISM.sol/abstract.AbstractHookISM.md +44 -0
  119. package/docs/src/contracts/isms/hook/CrossChainEnabled.sol/abstract.CrossChainEnabled.md +74 -0
  120. package/docs/src/contracts/isms/hook/ERC5164ISM.sol/contract.ERC5164ISM.md +57 -0
  121. package/docs/src/contracts/isms/hook/README.md +7 -0
  122. package/docs/src/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol/abstract.CrossChainEnabledOptimism.md +53 -0
  123. package/docs/src/contracts/isms/hook/optimism/LibOptimism.sol/library.LibOptimism.md +39 -0
  124. package/docs/src/contracts/isms/hook/optimism/OptimismISM.sol/contract.OptimismISM.md +66 -0
  125. package/docs/src/contracts/isms/hook/optimism/README.md +6 -0
  126. package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +78 -0
  127. package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +69 -0
  128. package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +102 -0
  129. package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +355 -0
  130. package/docs/src/contracts/isms/multisig/README.md +12 -0
  131. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +36 -0
  132. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +11 -0
  133. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +15 -0
  134. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +10 -0
  135. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +15 -0
  136. package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +55 -0
  137. package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +112 -0
  138. package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +47 -0
  139. package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +44 -0
  140. package/docs/src/contracts/isms/routing/README.md +7 -0
  141. package/docs/src/contracts/libs/Call.sol/library.CallLib.md +124 -0
  142. package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +61 -0
  143. package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +63 -0
  144. package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +55 -0
  145. package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +354 -0
  146. package/docs/src/contracts/libs/Message.sol/library.Message.md +304 -0
  147. package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +36 -0
  148. package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +34 -0
  149. package/docs/src/contracts/libs/README.md +16 -0
  150. package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +123 -0
  151. package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +19 -0
  152. package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +31 -0
  153. package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +97 -0
  154. package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +296 -0
  155. package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +177 -0
  156. package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +109 -0
  157. package/docs/src/contracts/libs/isms/README.md +7 -0
  158. package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +134 -0
  159. package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +203 -0
  160. package/docs/src/contracts/libs/middleware/README.md +5 -0
  161. package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +542 -0
  162. package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +119 -0
  163. package/docs/src/contracts/middleware/README.md +6 -0
  164. package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +81 -0
  165. package/docs/src/contracts/middleware/liquidity-layer/README.md +6 -0
  166. package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +197 -0
  167. package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +189 -0
  168. package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +5 -0
  169. package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +23 -0
  170. package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +6 -0
  171. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +54 -0
  172. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +92 -0
  173. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +5 -0
  174. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +131 -0
  175. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +4 -0
  176. package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +58 -0
  177. package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +44 -0
  178. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageDispatcher.md +15 -0
  179. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageExecutor.md +11 -0
  180. package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +69 -0
  181. package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +137 -0
  182. package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +82 -0
  183. package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +22 -0
  184. package/docs/src/contracts/mock/README.md +11 -0
  185. package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +15 -0
  186. package/docs/src/contracts/test/README.md +20 -0
  187. package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +27 -0
  188. package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +29 -0
  189. package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +30 -0
  190. package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +15 -0
  191. package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +23 -0
  192. package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +29 -0
  193. package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +50 -0
  194. package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +68 -0
  195. package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +51 -0
  196. package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +45 -0
  197. package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +128 -0
  198. package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +78 -0
  199. package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +63 -0
  200. package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +49 -0
  201. package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +80 -0
  202. package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +15 -0
  203. package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +12 -0
  204. package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +15 -0
  205. package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +15 -0
  206. package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +15 -0
  207. package/docs/src/contracts/test/bad-recipient/README.md +8 -0
  208. package/docs/src/contracts/upgrade/README.md +4 -0
  209. package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +14 -0
  210. 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
+