@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,255 @@
1
+ # Router
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/Router.sol)
3
+
4
+ **Inherits:**
5
+ [HyperlaneConnectionClient](/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md), [IMessageRecipient](/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md)
6
+
7
+
8
+ ## State Variables
9
+ ### NO_ROUTER_ENROLLED_REVERT_MESSAGE
10
+
11
+ ```solidity
12
+ string private constant NO_ROUTER_ENROLLED_REVERT_MESSAGE =
13
+ "No router enrolled for domain. Did you specify the right domain ID?";
14
+ ```
15
+
16
+
17
+ ### _routers
18
+
19
+ ```solidity
20
+ EnumerableMapExtended.UintToBytes32Map internal _routers;
21
+ ```
22
+
23
+
24
+ ### __GAP
25
+
26
+ ```solidity
27
+ uint256[49] private __GAP;
28
+ ```
29
+
30
+
31
+ ## Functions
32
+ ### onlyRemoteRouter
33
+
34
+ Only accept messages from a remote Router contract
35
+
36
+
37
+ ```solidity
38
+ modifier onlyRemoteRouter(uint32 _origin, bytes32 _router);
39
+ ```
40
+ **Parameters**
41
+
42
+ |Name|Type|Description|
43
+ |----|----|-----------|
44
+ |`_origin`|`uint32`|The domain the message is coming from|
45
+ |`_router`|`bytes32`|The address the message is coming from|
46
+
47
+
48
+ ### __Router_initialize
49
+
50
+
51
+ ```solidity
52
+ function __Router_initialize(address _mailbox) internal onlyInitializing;
53
+ ```
54
+
55
+ ### __Router_initialize
56
+
57
+
58
+ ```solidity
59
+ function __Router_initialize(address _mailbox, address _interchainGasPaymaster) internal onlyInitializing;
60
+ ```
61
+
62
+ ### __Router_initialize
63
+
64
+
65
+ ```solidity
66
+ function __Router_initialize(address _mailbox, address _interchainGasPaymaster, address _interchainSecurityModule)
67
+ internal
68
+ onlyInitializing;
69
+ ```
70
+
71
+ ### domains
72
+
73
+
74
+ ```solidity
75
+ function domains() external view returns (uint32[] memory);
76
+ ```
77
+
78
+ ### routers
79
+
80
+
81
+ ```solidity
82
+ function routers(uint32 _domain) public view returns (bytes32);
83
+ ```
84
+
85
+ ### enrollRemoteRouter
86
+
87
+ Register the address of a Router contract for the same Application on a remote chain
88
+
89
+
90
+ ```solidity
91
+ function enrollRemoteRouter(uint32 _domain, bytes32 _router) external virtual onlyOwner;
92
+ ```
93
+ **Parameters**
94
+
95
+ |Name|Type|Description|
96
+ |----|----|-----------|
97
+ |`_domain`|`uint32`|The domain of the remote Application Router|
98
+ |`_router`|`bytes32`|The address of the remote Application Router|
99
+
100
+
101
+ ### enrollRemoteRouters
102
+
103
+ Batch version of `enrollRemoteRouter`
104
+
105
+
106
+ ```solidity
107
+ function enrollRemoteRouters(uint32[] calldata _domains, bytes32[] calldata _addresses) external virtual onlyOwner;
108
+ ```
109
+ **Parameters**
110
+
111
+ |Name|Type|Description|
112
+ |----|----|-----------|
113
+ |`_domains`|`uint32[]`|The domaisn of the remote Application Routers|
114
+ |`_addresses`|`bytes32[]`|The addresses of the remote Application Routers|
115
+
116
+
117
+ ### handle
118
+
119
+ Handles an incoming message
120
+
121
+
122
+ ```solidity
123
+ function handle(uint32 _origin, bytes32 _sender, bytes calldata _message)
124
+ external
125
+ virtual
126
+ override
127
+ onlyMailbox
128
+ onlyRemoteRouter(_origin, _sender);
129
+ ```
130
+ **Parameters**
131
+
132
+ |Name|Type|Description|
133
+ |----|----|-----------|
134
+ |`_origin`|`uint32`|The origin domain|
135
+ |`_sender`|`bytes32`|The sender address|
136
+ |`_message`|`bytes`|The message|
137
+
138
+
139
+ ### _handle
140
+
141
+
142
+ ```solidity
143
+ function _handle(uint32 _origin, bytes32 _sender, bytes calldata _message) internal virtual;
144
+ ```
145
+
146
+ ### _enrollRemoteRouter
147
+
148
+ Set the router for a given domain
149
+
150
+
151
+ ```solidity
152
+ function _enrollRemoteRouter(uint32 _domain, bytes32 _address) internal;
153
+ ```
154
+ **Parameters**
155
+
156
+ |Name|Type|Description|
157
+ |----|----|-----------|
158
+ |`_domain`|`uint32`|The domain|
159
+ |`_address`|`bytes32`|The new router|
160
+
161
+
162
+ ### _isRemoteRouter
163
+
164
+ Return true if the given domain / router is the address of a remote Application Router
165
+
166
+
167
+ ```solidity
168
+ function _isRemoteRouter(uint32 _domain, bytes32 _address) internal view returns (bool);
169
+ ```
170
+ **Parameters**
171
+
172
+ |Name|Type|Description|
173
+ |----|----|-----------|
174
+ |`_domain`|`uint32`|The domain of the potential remote Application Router|
175
+ |`_address`|`bytes32`|The address of the potential remote Application Router|
176
+
177
+
178
+ ### _mustHaveRemoteRouter
179
+
180
+ Assert that the given domain has a Application Router registered and return its address
181
+
182
+
183
+ ```solidity
184
+ function _mustHaveRemoteRouter(uint32 _domain) internal view returns (bytes32 _router);
185
+ ```
186
+ **Parameters**
187
+
188
+ |Name|Type|Description|
189
+ |----|----|-----------|
190
+ |`_domain`|`uint32`|The domain of the chain for which to get the Application Router|
191
+
192
+ **Returns**
193
+
194
+ |Name|Type|Description|
195
+ |----|----|-----------|
196
+ |`_router`|`bytes32`|The address of the remote Application Router on _domain|
197
+
198
+
199
+ ### _dispatchWithGas
200
+
201
+ Dispatches a message to an enrolled router via the local router's Mailbox
202
+ and pays for it to be relayed to the destination.
203
+
204
+ *Reverts if there is no enrolled router for _destinationDomain.*
205
+
206
+
207
+ ```solidity
208
+ function _dispatchWithGas(
209
+ uint32 _destinationDomain,
210
+ bytes memory _messageBody,
211
+ uint256 _gasAmount,
212
+ uint256 _gasPayment,
213
+ address _gasPaymentRefundAddress
214
+ ) internal returns (bytes32 _messageId);
215
+ ```
216
+ **Parameters**
217
+
218
+ |Name|Type|Description|
219
+ |----|----|-----------|
220
+ |`_destinationDomain`|`uint32`|The domain of the chain to which to send the message.|
221
+ |`_messageBody`|`bytes`|Raw bytes content of message.|
222
+ |`_gasAmount`|`uint256`|The amount of destination gas for the message that is requested via the InterchainGasPaymaster.|
223
+ |`_gasPayment`|`uint256`|The amount of native tokens to pay for the message to be relayed.|
224
+ |`_gasPaymentRefundAddress`|`address`|The address to refund any gas overpayment to.|
225
+
226
+
227
+ ### _dispatch
228
+
229
+ Dispatches a message to an enrolled router via the provided Mailbox.
230
+
231
+ *Does not pay interchain gas.*
232
+
233
+ *Reverts if there is no enrolled router for _destinationDomain.*
234
+
235
+
236
+ ```solidity
237
+ function _dispatch(uint32 _destinationDomain, bytes memory _messageBody) internal virtual returns (bytes32);
238
+ ```
239
+ **Parameters**
240
+
241
+ |Name|Type|Description|
242
+ |----|----|-----------|
243
+ |`_destinationDomain`|`uint32`|The domain of the chain to which to send the message.|
244
+ |`_messageBody`|`bytes`|Raw bytes content of message.|
245
+
246
+
247
+ ## Events
248
+ ### RemoteRouterEnrolled
249
+ Emitted when a router is set.
250
+
251
+
252
+ ```solidity
253
+ event RemoteRouterEnrolled(uint32 indexed domain, bytes32 router);
254
+ ```
255
+
@@ -0,0 +1,117 @@
1
+ # ValidatorAnnounce
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/ValidatorAnnounce.sol)
3
+
4
+ **Inherits:**
5
+ [IValidatorAnnounce](/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md)
6
+
7
+ Stores the location(s) of validator signed checkpoints
8
+
9
+
10
+ ## State Variables
11
+ ### mailbox
12
+
13
+ ```solidity
14
+ address public immutable mailbox;
15
+ ```
16
+
17
+
18
+ ### localDomain
19
+
20
+ ```solidity
21
+ uint32 public immutable localDomain;
22
+ ```
23
+
24
+
25
+ ### validators
26
+
27
+ ```solidity
28
+ EnumerableSet.AddressSet private validators;
29
+ ```
30
+
31
+
32
+ ### storageLocations
33
+
34
+ ```solidity
35
+ mapping(address => string[]) private storageLocations;
36
+ ```
37
+
38
+
39
+ ### replayProtection
40
+
41
+ ```solidity
42
+ mapping(bytes32 => bool) private replayProtection;
43
+ ```
44
+
45
+
46
+ ## Functions
47
+ ### constructor
48
+
49
+
50
+ ```solidity
51
+ constructor(address _mailbox);
52
+ ```
53
+
54
+ ### announce
55
+
56
+ Announces a validator signature storage location
57
+
58
+
59
+ ```solidity
60
+ function announce(address _validator, string calldata _storageLocation, bytes calldata _signature)
61
+ external
62
+ returns (bool);
63
+ ```
64
+ **Parameters**
65
+
66
+ |Name|Type|Description|
67
+ |----|----|-----------|
68
+ |`_validator`|`address`||
69
+ |`_storageLocation`|`string`|Information encoding the location of signed checkpoints|
70
+ |`_signature`|`bytes`|The signed validator announcement|
71
+
72
+ **Returns**
73
+
74
+ |Name|Type|Description|
75
+ |----|----|-----------|
76
+ |`<none>`|`bool`|True upon success|
77
+
78
+
79
+ ### getAnnouncedStorageLocations
80
+
81
+ Returns a list of all announced storage locations
82
+
83
+
84
+ ```solidity
85
+ function getAnnouncedStorageLocations(address[] calldata _validators) external view returns (string[][] memory);
86
+ ```
87
+ **Parameters**
88
+
89
+ |Name|Type|Description|
90
+ |----|----|-----------|
91
+ |`_validators`|`address[]`|The list of validators to get registrations for|
92
+
93
+ **Returns**
94
+
95
+ |Name|Type|Description|
96
+ |----|----|-----------|
97
+ |`<none>`|`string[][]`|A list of registered storage metadata|
98
+
99
+
100
+ ### getAnnouncedValidators
101
+
102
+ Returns a list of validators that have made announcements
103
+
104
+
105
+ ```solidity
106
+ function getAnnouncedValidators() external view returns (address[] memory);
107
+ ```
108
+
109
+ ## Events
110
+ ### ValidatorAnnouncement
111
+ Emitted when a new validator announcement is made
112
+
113
+
114
+ ```solidity
115
+ event ValidatorAnnouncement(address indexed validator, string storageLocation);
116
+ ```
117
+
@@ -0,0 +1,64 @@
1
+ # ERC5164MessageHook
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/ERC5164/ERC5164MessageHook.sol)
3
+
4
+ **Inherits:**
5
+ [IMessageHook](/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md)
6
+
7
+ Message hook to inform the 5164 ISM of messages published through
8
+ any of the 5164 adapters.
9
+
10
+
11
+ ## State Variables
12
+ ### destinationDomain
13
+
14
+ ```solidity
15
+ uint32 public immutable destinationDomain;
16
+ ```
17
+
18
+
19
+ ### dispatcher
20
+
21
+ ```solidity
22
+ IMessageDispatcher public immutable dispatcher;
23
+ ```
24
+
25
+
26
+ ### ism
27
+
28
+ ```solidity
29
+ address public immutable ism;
30
+ ```
31
+
32
+
33
+ ## Functions
34
+ ### constructor
35
+
36
+
37
+ ```solidity
38
+ constructor(uint32 _destinationDomain, address _dispatcher, address _ism);
39
+ ```
40
+
41
+ ### postDispatch
42
+
43
+ Hook to inform the ERC5164ISM of messages published through.
44
+
45
+ *anyone can call this function, that's why we need to send msg.sender*
46
+
47
+
48
+ ```solidity
49
+ function postDispatch(uint32 _destinationDomain, bytes32 _messageId) public payable override returns (uint256);
50
+ ```
51
+ **Parameters**
52
+
53
+ |Name|Type|Description|
54
+ |----|----|-----------|
55
+ |`_destinationDomain`|`uint32`|The destination domain of the message.|
56
+ |`_messageId`|`bytes32`|The message ID.|
57
+
58
+ **Returns**
59
+
60
+ |Name|Type|Description|
61
+ |----|----|-----------|
62
+ |`<none>`|`uint256`|gasOverhead The gas overhead for the function call on destination.|
63
+
64
+
@@ -0,0 +1,5 @@
1
+
2
+
3
+ # Contents
4
+ - [interfaces](/contracts/hooks/ERC5164/interfaces)
5
+ - [ERC5164MessageHook](ERC5164MessageHook.sol/contract.ERC5164MessageHook.md)
@@ -0,0 +1,25 @@
1
+ # IMessageDispatcher
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol)
3
+
4
+ *See https://eips.ethereum.org/EIPS/eip-5164*
5
+
6
+
7
+ ## Functions
8
+ ### dispatchMessage
9
+
10
+
11
+ ```solidity
12
+ function dispatchMessage(uint256 toChainId, address to, bytes calldata data) external returns (bytes32);
13
+ ```
14
+
15
+ ## Events
16
+ ### MessageDispatched
17
+ Emitted when a message has successfully been dispatched to the executor chain.
18
+
19
+
20
+ ```solidity
21
+ event MessageDispatched(
22
+ bytes32 indexed messageId, address indexed from, uint256 indexed toChainId, address to, bytes data
23
+ );
24
+ ```
25
+
@@ -0,0 +1,4 @@
1
+
2
+
3
+ # Contents
4
+ - [IMessageDispatcher](IMessageDispatcher.sol/interface.IMessageDispatcher.md)
@@ -0,0 +1,71 @@
1
+ # OptimismMessageHook
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/OptimismMessageHook.sol)
3
+
4
+ **Inherits:**
5
+ [IMessageHook](/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md)
6
+
7
+ Message hook to inform the Optimism ISM of messages published through
8
+ the native Optimism bridge.
9
+
10
+
11
+ ## State Variables
12
+ ### destinationDomain
13
+
14
+ ```solidity
15
+ uint32 public immutable destinationDomain;
16
+ ```
17
+
18
+
19
+ ### l1Messenger
20
+
21
+ ```solidity
22
+ ICrossDomainMessenger public immutable l1Messenger;
23
+ ```
24
+
25
+
26
+ ### ism
27
+
28
+ ```solidity
29
+ address public immutable ism;
30
+ ```
31
+
32
+
33
+ ### GAS_LIMIT
34
+
35
+ ```solidity
36
+ uint32 internal constant GAS_LIMIT = 1_920_000;
37
+ ```
38
+
39
+
40
+ ## Functions
41
+ ### constructor
42
+
43
+
44
+ ```solidity
45
+ constructor(uint32 _destinationDomain, address _messenger, address _ism);
46
+ ```
47
+
48
+ ### postDispatch
49
+
50
+ Hook to inform the optimism ISM of messages published through.
51
+
52
+ *anyone can call this function, that's why we need to send msg.sender*
53
+
54
+
55
+ ```solidity
56
+ function postDispatch(uint32 _destination, bytes32 _messageId) public payable override returns (uint256);
57
+ ```
58
+ **Parameters**
59
+
60
+ |Name|Type|Description|
61
+ |----|----|-----------|
62
+ |`_destination`|`uint32`|The destination domain of the message.|
63
+ |`_messageId`|`bytes32`|The message ID.|
64
+
65
+ **Returns**
66
+
67
+ |Name|Type|Description|
68
+ |----|----|-----------|
69
+ |`<none>`|`uint256`|gasOverhead The gas overhead for the function call on L2.|
70
+
71
+
@@ -0,0 +1,5 @@
1
+
2
+
3
+ # Contents
4
+ - [ERC5164](/contracts/hooks/ERC5164)
5
+ - [OptimismMessageHook](OptimismMessageHook.sol/contract.OptimismMessageHook.md)