@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,44 @@
1
+ # InterchainAccountIsm
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/isms/routing/InterchainAccountIsm.sol)
3
+
4
+ **Inherits:**
5
+ [AbstractRoutingIsm](/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md)
6
+
7
+
8
+ ## State Variables
9
+ ### mailbox
10
+
11
+ ```solidity
12
+ IMailbox private immutable mailbox;
13
+ ```
14
+
15
+
16
+ ## Functions
17
+ ### constructor
18
+
19
+
20
+ ```solidity
21
+ constructor(address _mailbox);
22
+ ```
23
+
24
+ ### route
25
+
26
+ Returns the ISM responsible for verifying _message
27
+
28
+
29
+ ```solidity
30
+ function route(bytes calldata _message) public view virtual override returns (IInterchainSecurityModule);
31
+ ```
32
+ **Parameters**
33
+
34
+ |Name|Type|Description|
35
+ |----|----|-----------|
36
+ |`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
37
+
38
+ **Returns**
39
+
40
+ |Name|Type|Description|
41
+ |----|----|-----------|
42
+ |`<none>`|`IInterchainSecurityModule`|module The ISM to use to verify _message|
43
+
44
+
@@ -0,0 +1,7 @@
1
+
2
+
3
+ # Contents
4
+ - [AbstractRoutingIsm](AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md)
5
+ - [DomainRoutingIsm](DomainRoutingIsm.sol/contract.DomainRoutingIsm.md)
6
+ - [DomainRoutingIsmFactory](DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md)
7
+ - [InterchainAccountIsm](InterchainAccountIsm.sol/contract.InterchainAccountIsm.md)
@@ -0,0 +1,124 @@
1
+ # CallLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Call.sol)
3
+
4
+
5
+ ## Functions
6
+ ### call
7
+
8
+
9
+ ```solidity
10
+ function call(Call memory _call) internal returns (bytes memory returnData);
11
+ ```
12
+
13
+ ### staticcall
14
+
15
+
16
+ ```solidity
17
+ function staticcall(StaticCall memory _call) private view returns (bytes memory);
18
+ ```
19
+
20
+ ### staticcall
21
+
22
+
23
+ ```solidity
24
+ function staticcall(StaticCallWithCallback memory _call) internal view returns (bytes memory callback);
25
+ ```
26
+
27
+ ### multicall
28
+
29
+
30
+ ```solidity
31
+ function multicall(Call[] memory calls) internal;
32
+ ```
33
+
34
+ ### multistaticcall
35
+
36
+
37
+ ```solidity
38
+ function multistaticcall(StaticCallWithCallback[] memory _calls) internal view returns (bytes[] memory);
39
+ ```
40
+
41
+ ### multicallto
42
+
43
+
44
+ ```solidity
45
+ function multicallto(address to, bytes[] memory calls) internal;
46
+ ```
47
+
48
+ ### build
49
+
50
+
51
+ ```solidity
52
+ function build(bytes32 to, bytes memory data) internal pure returns (StaticCall memory);
53
+ ```
54
+
55
+ ### build
56
+
57
+
58
+ ```solidity
59
+ function build(address to, bytes memory data) internal pure returns (StaticCall memory);
60
+ ```
61
+
62
+ ### build
63
+
64
+
65
+ ```solidity
66
+ function build(bytes32 to, uint256 value, bytes memory data) internal pure returns (Call memory);
67
+ ```
68
+
69
+ ### build
70
+
71
+
72
+ ```solidity
73
+ function build(address to, uint256 value, bytes memory data) internal pure returns (Call memory);
74
+ ```
75
+
76
+ ### build
77
+
78
+
79
+ ```solidity
80
+ function build(bytes32 to, bytes memory data, bytes memory callback)
81
+ internal
82
+ pure
83
+ returns (StaticCallWithCallback memory);
84
+ ```
85
+
86
+ ### build
87
+
88
+
89
+ ```solidity
90
+ function build(address to, bytes memory data, bytes memory callback)
91
+ internal
92
+ pure
93
+ returns (StaticCallWithCallback memory);
94
+ ```
95
+
96
+ ## Structs
97
+ ### StaticCall
98
+
99
+ ```solidity
100
+ struct StaticCall {
101
+ bytes32 to;
102
+ bytes data;
103
+ }
104
+ ```
105
+
106
+ ### Call
107
+
108
+ ```solidity
109
+ struct Call {
110
+ bytes32 to;
111
+ uint256 value;
112
+ bytes data;
113
+ }
114
+ ```
115
+
116
+ ### StaticCallWithCallback
117
+
118
+ ```solidity
119
+ struct StaticCallWithCallback {
120
+ StaticCall _call;
121
+ bytes callback;
122
+ }
123
+ ```
124
+
@@ -0,0 +1,61 @@
1
+ # CheckpointLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/CheckpointLib.sol)
3
+
4
+
5
+ ## Functions
6
+ ### digest
7
+
8
+ Returns the digest validators are expected to sign when signing checkpoints.
9
+
10
+ *Message ID must match leaf content of checkpoint root at index.*
11
+
12
+
13
+ ```solidity
14
+ function digest(
15
+ uint32 _origin,
16
+ bytes32 _originMailbox,
17
+ bytes32 _checkpointRoot,
18
+ uint32 _checkpointIndex,
19
+ bytes32 _messageId
20
+ ) internal pure returns (bytes32);
21
+ ```
22
+ **Parameters**
23
+
24
+ |Name|Type|Description|
25
+ |----|----|-----------|
26
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
27
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
28
+ |`_checkpointRoot`|`bytes32`|The root of the checkpoint.|
29
+ |`_checkpointIndex`|`uint32`|The index of the checkpoint.|
30
+ |`_messageId`|`bytes32`|The message ID of the checkpoint.|
31
+
32
+ **Returns**
33
+
34
+ |Name|Type|Description|
35
+ |----|----|-----------|
36
+ |`<none>`|`bytes32`|The digest of the checkpoint.|
37
+
38
+
39
+ ### domainHash
40
+
41
+ Returns the domain hash that validators are expected to use
42
+ when signing checkpoints.
43
+
44
+
45
+ ```solidity
46
+ function domainHash(uint32 _origin, bytes32 _originMailbox) internal pure returns (bytes32);
47
+ ```
48
+ **Parameters**
49
+
50
+ |Name|Type|Description|
51
+ |----|----|-----------|
52
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
53
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
54
+
55
+ **Returns**
56
+
57
+ |Name|Type|Description|
58
+ |----|----|-----------|
59
+ |`<none>`|`bytes32`|The domain hash.|
60
+
61
+
@@ -0,0 +1,63 @@
1
+ # EnumerableMapExtended
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/EnumerableMapExtended.sol)
3
+
4
+
5
+ ## Functions
6
+ ### keys
7
+
8
+
9
+ ```solidity
10
+ function keys(UintToBytes32Map storage map) internal view returns (bytes32[] storage);
11
+ ```
12
+
13
+ ### set
14
+
15
+
16
+ ```solidity
17
+ function set(UintToBytes32Map storage map, uint256 key, bytes32 value) internal;
18
+ ```
19
+
20
+ ### get
21
+
22
+
23
+ ```solidity
24
+ function get(UintToBytes32Map storage map, uint256 key) internal view returns (bytes32);
25
+ ```
26
+
27
+ ### remove
28
+
29
+
30
+ ```solidity
31
+ function remove(UintToBytes32Map storage map, uint256 key) internal returns (bool);
32
+ ```
33
+
34
+ ### contains
35
+
36
+
37
+ ```solidity
38
+ function contains(UintToBytes32Map storage map, uint256 key) internal view returns (bool);
39
+ ```
40
+
41
+ ### length
42
+
43
+
44
+ ```solidity
45
+ function length(UintToBytes32Map storage map) internal view returns (uint256);
46
+ ```
47
+
48
+ ### at
49
+
50
+
51
+ ```solidity
52
+ function at(UintToBytes32Map storage map, uint256 index) internal view returns (uint256, bytes32);
53
+ ```
54
+
55
+ ## Structs
56
+ ### UintToBytes32Map
57
+
58
+ ```solidity
59
+ struct UintToBytes32Map {
60
+ EnumerableMap.Bytes32ToBytes32Map _inner;
61
+ }
62
+ ```
63
+
@@ -0,0 +1,55 @@
1
+ # LegacyCheckpointLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/LegacyCheckpointLib.sol)
3
+
4
+
5
+ ## Functions
6
+ ### digest
7
+
8
+ Returns the digest validators are expected to sign when signing legacy checkpoints.
9
+
10
+
11
+ ```solidity
12
+ function digest(uint32 _origin, bytes32 _originMailbox, bytes32 _checkpointRoot, uint32 _checkpointIndex)
13
+ internal
14
+ pure
15
+ returns (bytes32);
16
+ ```
17
+ **Parameters**
18
+
19
+ |Name|Type|Description|
20
+ |----|----|-----------|
21
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
22
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
23
+ |`_checkpointRoot`|`bytes32`||
24
+ |`_checkpointIndex`|`uint32`||
25
+
26
+ **Returns**
27
+
28
+ |Name|Type|Description|
29
+ |----|----|-----------|
30
+ |`<none>`|`bytes32`|The digest of the legacy checkpoint.|
31
+
32
+
33
+ ### domainHash
34
+
35
+ Returns the domain hash that validators are expected to use
36
+ when signing checkpoints.
37
+
38
+
39
+ ```solidity
40
+ function domainHash(uint32 _origin, bytes32 _originMailbox) internal pure returns (bytes32);
41
+ ```
42
+ **Parameters**
43
+
44
+ |Name|Type|Description|
45
+ |----|----|-----------|
46
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
47
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
48
+
49
+ **Returns**
50
+
51
+ |Name|Type|Description|
52
+ |----|----|-----------|
53
+ |`<none>`|`bytes32`|The domain hash.|
54
+
55
+
@@ -0,0 +1,354 @@
1
+ # MerkleLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Merkle.sol)
3
+
4
+ **Author:**
5
+ Celo Labs Inc.
6
+
7
+ An incremental merkle tree modeled on the eth2 deposit contract.
8
+
9
+
10
+ ## State Variables
11
+ ### TREE_DEPTH
12
+
13
+ ```solidity
14
+ uint256 internal constant TREE_DEPTH = 32;
15
+ ```
16
+
17
+
18
+ ### MAX_LEAVES
19
+
20
+ ```solidity
21
+ uint256 internal constant MAX_LEAVES = 2 ** TREE_DEPTH - 1;
22
+ ```
23
+
24
+
25
+ ### Z_0
26
+
27
+ ```solidity
28
+ bytes32 internal constant Z_0 = hex"0000000000000000000000000000000000000000000000000000000000000000";
29
+ ```
30
+
31
+
32
+ ### Z_1
33
+
34
+ ```solidity
35
+ bytes32 internal constant Z_1 = hex"ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
36
+ ```
37
+
38
+
39
+ ### Z_2
40
+
41
+ ```solidity
42
+ bytes32 internal constant Z_2 = hex"b4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d30";
43
+ ```
44
+
45
+
46
+ ### Z_3
47
+
48
+ ```solidity
49
+ bytes32 internal constant Z_3 = hex"21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba85";
50
+ ```
51
+
52
+
53
+ ### Z_4
54
+
55
+ ```solidity
56
+ bytes32 internal constant Z_4 = hex"e58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a19344";
57
+ ```
58
+
59
+
60
+ ### Z_5
61
+
62
+ ```solidity
63
+ bytes32 internal constant Z_5 = hex"0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d";
64
+ ```
65
+
66
+
67
+ ### Z_6
68
+
69
+ ```solidity
70
+ bytes32 internal constant Z_6 = hex"887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a1968";
71
+ ```
72
+
73
+
74
+ ### Z_7
75
+
76
+ ```solidity
77
+ bytes32 internal constant Z_7 = hex"ffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f83";
78
+ ```
79
+
80
+
81
+ ### Z_8
82
+
83
+ ```solidity
84
+ bytes32 internal constant Z_8 = hex"9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af";
85
+ ```
86
+
87
+
88
+ ### Z_9
89
+
90
+ ```solidity
91
+ bytes32 internal constant Z_9 = hex"cefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e0";
92
+ ```
93
+
94
+
95
+ ### Z_10
96
+
97
+ ```solidity
98
+ bytes32 internal constant Z_10 = hex"f9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a5";
99
+ ```
100
+
101
+
102
+ ### Z_11
103
+
104
+ ```solidity
105
+ bytes32 internal constant Z_11 = hex"f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf892";
106
+ ```
107
+
108
+
109
+ ### Z_12
110
+
111
+ ```solidity
112
+ bytes32 internal constant Z_12 = hex"3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c";
113
+ ```
114
+
115
+
116
+ ### Z_13
117
+
118
+ ```solidity
119
+ bytes32 internal constant Z_13 = hex"c1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb";
120
+ ```
121
+
122
+
123
+ ### Z_14
124
+
125
+ ```solidity
126
+ bytes32 internal constant Z_14 = hex"5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc";
127
+ ```
128
+
129
+
130
+ ### Z_15
131
+
132
+ ```solidity
133
+ bytes32 internal constant Z_15 = hex"da7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d2";
134
+ ```
135
+
136
+
137
+ ### Z_16
138
+
139
+ ```solidity
140
+ bytes32 internal constant Z_16 = hex"2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f";
141
+ ```
142
+
143
+
144
+ ### Z_17
145
+
146
+ ```solidity
147
+ bytes32 internal constant Z_17 = hex"e1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a";
148
+ ```
149
+
150
+
151
+ ### Z_18
152
+
153
+ ```solidity
154
+ bytes32 internal constant Z_18 = hex"5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0";
155
+ ```
156
+
157
+
158
+ ### Z_19
159
+
160
+ ```solidity
161
+ bytes32 internal constant Z_19 = hex"b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0";
162
+ ```
163
+
164
+
165
+ ### Z_20
166
+
167
+ ```solidity
168
+ bytes32 internal constant Z_20 = hex"c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2";
169
+ ```
170
+
171
+
172
+ ### Z_21
173
+
174
+ ```solidity
175
+ bytes32 internal constant Z_21 = hex"f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd9";
176
+ ```
177
+
178
+
179
+ ### Z_22
180
+
181
+ ```solidity
182
+ bytes32 internal constant Z_22 = hex"5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e377";
183
+ ```
184
+
185
+
186
+ ### Z_23
187
+
188
+ ```solidity
189
+ bytes32 internal constant Z_23 = hex"4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652";
190
+ ```
191
+
192
+
193
+ ### Z_24
194
+
195
+ ```solidity
196
+ bytes32 internal constant Z_24 = hex"cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef";
197
+ ```
198
+
199
+
200
+ ### Z_25
201
+
202
+ ```solidity
203
+ bytes32 internal constant Z_25 = hex"0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d";
204
+ ```
205
+
206
+
207
+ ### Z_26
208
+
209
+ ```solidity
210
+ bytes32 internal constant Z_26 = hex"b8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0";
211
+ ```
212
+
213
+
214
+ ### Z_27
215
+
216
+ ```solidity
217
+ bytes32 internal constant Z_27 = hex"838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e";
218
+ ```
219
+
220
+
221
+ ### Z_28
222
+
223
+ ```solidity
224
+ bytes32 internal constant Z_28 = hex"662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e";
225
+ ```
226
+
227
+
228
+ ### Z_29
229
+
230
+ ```solidity
231
+ bytes32 internal constant Z_29 = hex"388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea322";
232
+ ```
233
+
234
+
235
+ ### Z_30
236
+
237
+ ```solidity
238
+ bytes32 internal constant Z_30 = hex"93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d735";
239
+ ```
240
+
241
+
242
+ ### Z_31
243
+
244
+ ```solidity
245
+ bytes32 internal constant Z_31 = hex"8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9";
246
+ ```
247
+
248
+
249
+ ## Functions
250
+ ### insert
251
+
252
+ Inserts `_node` into merkle tree
253
+
254
+ *Reverts if tree is full*
255
+
256
+
257
+ ```solidity
258
+ function insert(Tree storage _tree, bytes32 _node) internal;
259
+ ```
260
+ **Parameters**
261
+
262
+ |Name|Type|Description|
263
+ |----|----|-----------|
264
+ |`_tree`|`Tree`||
265
+ |`_node`|`bytes32`|Element to insert into tree|
266
+
267
+
268
+ ### rootWithCtx
269
+
270
+ Calculates and returns`_tree`'s current root given array of zero
271
+ hashes
272
+
273
+
274
+ ```solidity
275
+ function rootWithCtx(Tree storage _tree, bytes32[TREE_DEPTH] memory _zeroes) internal view returns (bytes32 _current);
276
+ ```
277
+ **Parameters**
278
+
279
+ |Name|Type|Description|
280
+ |----|----|-----------|
281
+ |`_tree`|`Tree`||
282
+ |`_zeroes`|`bytes32[TREE_DEPTH]`|Array of zero hashes|
283
+
284
+ **Returns**
285
+
286
+ |Name|Type|Description|
287
+ |----|----|-----------|
288
+ |`_current`|`bytes32`|Calculated root of `_tree`|
289
+
290
+
291
+ ### root
292
+
293
+ Calculates and returns`_tree`'s current root
294
+
295
+
296
+ ```solidity
297
+ function root(Tree storage _tree) internal view returns (bytes32);
298
+ ```
299
+
300
+ ### zeroHashes
301
+
302
+ Returns array of TREE_DEPTH zero hashes
303
+
304
+
305
+ ```solidity
306
+ function zeroHashes() internal pure returns (bytes32[TREE_DEPTH] memory _zeroes);
307
+ ```
308
+ **Returns**
309
+
310
+ |Name|Type|Description|
311
+ |----|----|-----------|
312
+ |`_zeroes`|`bytes32[TREE_DEPTH]`|Array of TREE_DEPTH zero hashes|
313
+
314
+
315
+ ### branchRoot
316
+
317
+ Calculates and returns the merkle root for the given leaf
318
+ `_item`, a merkle branch, and the index of `_item` in the tree.
319
+
320
+
321
+ ```solidity
322
+ function branchRoot(bytes32 _item, bytes32[TREE_DEPTH] memory _branch, uint256 _index)
323
+ internal
324
+ pure
325
+ returns (bytes32 _current);
326
+ ```
327
+ **Parameters**
328
+
329
+ |Name|Type|Description|
330
+ |----|----|-----------|
331
+ |`_item`|`bytes32`|Merkle leaf|
332
+ |`_branch`|`bytes32[TREE_DEPTH]`|Merkle proof|
333
+ |`_index`|`uint256`|Index of `_item` in tree|
334
+
335
+ **Returns**
336
+
337
+ |Name|Type|Description|
338
+ |----|----|-----------|
339
+ |`_current`|`bytes32`|Calculated merkle root|
340
+
341
+
342
+ ## Structs
343
+ ### Tree
344
+ Struct representing incremental merkle tree. Contains current
345
+ branch and the number of inserted leaves in the tree.
346
+
347
+
348
+ ```solidity
349
+ struct Tree {
350
+ bytes32[TREE_DEPTH] branch;
351
+ uint256 count;
352
+ }
353
+ ```
354
+