@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,304 @@
1
+ # Message
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Message.sol)
3
+
4
+ Library for formatted messages used by Mailbox
5
+
6
+
7
+ ## State Variables
8
+ ### VERSION_OFFSET
9
+
10
+ ```solidity
11
+ uint256 private constant VERSION_OFFSET = 0;
12
+ ```
13
+
14
+
15
+ ### NONCE_OFFSET
16
+
17
+ ```solidity
18
+ uint256 private constant NONCE_OFFSET = 1;
19
+ ```
20
+
21
+
22
+ ### ORIGIN_OFFSET
23
+
24
+ ```solidity
25
+ uint256 private constant ORIGIN_OFFSET = 5;
26
+ ```
27
+
28
+
29
+ ### SENDER_OFFSET
30
+
31
+ ```solidity
32
+ uint256 private constant SENDER_OFFSET = 9;
33
+ ```
34
+
35
+
36
+ ### DESTINATION_OFFSET
37
+
38
+ ```solidity
39
+ uint256 private constant DESTINATION_OFFSET = 41;
40
+ ```
41
+
42
+
43
+ ### RECIPIENT_OFFSET
44
+
45
+ ```solidity
46
+ uint256 private constant RECIPIENT_OFFSET = 45;
47
+ ```
48
+
49
+
50
+ ### BODY_OFFSET
51
+
52
+ ```solidity
53
+ uint256 private constant BODY_OFFSET = 77;
54
+ ```
55
+
56
+
57
+ ## Functions
58
+ ### formatMessage
59
+
60
+ Returns formatted (packed) Hyperlane message with provided fields
61
+
62
+ *This function should only be used in memory message construction.*
63
+
64
+
65
+ ```solidity
66
+ function formatMessage(
67
+ uint8 _version,
68
+ uint32 _nonce,
69
+ uint32 _originDomain,
70
+ bytes32 _sender,
71
+ uint32 _destinationDomain,
72
+ bytes32 _recipient,
73
+ bytes calldata _messageBody
74
+ ) internal pure returns (bytes memory);
75
+ ```
76
+ **Parameters**
77
+
78
+ |Name|Type|Description|
79
+ |----|----|-----------|
80
+ |`_version`|`uint8`|The version of the origin and destination Mailboxes|
81
+ |`_nonce`|`uint32`|A nonce to uniquely identify the message on its origin chain|
82
+ |`_originDomain`|`uint32`|Domain of origin chain|
83
+ |`_sender`|`bytes32`|Address of sender as bytes32|
84
+ |`_destinationDomain`|`uint32`|Domain of destination chain|
85
+ |`_recipient`|`bytes32`|Address of recipient on destination chain as bytes32|
86
+ |`_messageBody`|`bytes`|Raw bytes of message body|
87
+
88
+ **Returns**
89
+
90
+ |Name|Type|Description|
91
+ |----|----|-----------|
92
+ |`<none>`|`bytes`|Formatted message|
93
+
94
+
95
+ ### id
96
+
97
+ Returns the message ID.
98
+
99
+
100
+ ```solidity
101
+ function id(bytes memory _message) internal pure returns (bytes32);
102
+ ```
103
+ **Parameters**
104
+
105
+ |Name|Type|Description|
106
+ |----|----|-----------|
107
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
108
+
109
+ **Returns**
110
+
111
+ |Name|Type|Description|
112
+ |----|----|-----------|
113
+ |`<none>`|`bytes32`|ID of `_message`|
114
+
115
+
116
+ ### version
117
+
118
+ Returns the message version.
119
+
120
+
121
+ ```solidity
122
+ function version(bytes calldata _message) internal pure returns (uint8);
123
+ ```
124
+ **Parameters**
125
+
126
+ |Name|Type|Description|
127
+ |----|----|-----------|
128
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
129
+
130
+ **Returns**
131
+
132
+ |Name|Type|Description|
133
+ |----|----|-----------|
134
+ |`<none>`|`uint8`|Version of `_message`|
135
+
136
+
137
+ ### nonce
138
+
139
+ Returns the message nonce.
140
+
141
+
142
+ ```solidity
143
+ function nonce(bytes calldata _message) internal pure returns (uint32);
144
+ ```
145
+ **Parameters**
146
+
147
+ |Name|Type|Description|
148
+ |----|----|-----------|
149
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
150
+
151
+ **Returns**
152
+
153
+ |Name|Type|Description|
154
+ |----|----|-----------|
155
+ |`<none>`|`uint32`|Nonce of `_message`|
156
+
157
+
158
+ ### origin
159
+
160
+ Returns the message origin domain.
161
+
162
+
163
+ ```solidity
164
+ function origin(bytes calldata _message) internal pure returns (uint32);
165
+ ```
166
+ **Parameters**
167
+
168
+ |Name|Type|Description|
169
+ |----|----|-----------|
170
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
171
+
172
+ **Returns**
173
+
174
+ |Name|Type|Description|
175
+ |----|----|-----------|
176
+ |`<none>`|`uint32`|Origin domain of `_message`|
177
+
178
+
179
+ ### sender
180
+
181
+ Returns the message sender as bytes32.
182
+
183
+
184
+ ```solidity
185
+ function sender(bytes calldata _message) internal pure returns (bytes32);
186
+ ```
187
+ **Parameters**
188
+
189
+ |Name|Type|Description|
190
+ |----|----|-----------|
191
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
192
+
193
+ **Returns**
194
+
195
+ |Name|Type|Description|
196
+ |----|----|-----------|
197
+ |`<none>`|`bytes32`|Sender of `_message` as bytes32|
198
+
199
+
200
+ ### senderAddress
201
+
202
+ Returns the message sender as address.
203
+
204
+
205
+ ```solidity
206
+ function senderAddress(bytes calldata _message) internal pure returns (address);
207
+ ```
208
+ **Parameters**
209
+
210
+ |Name|Type|Description|
211
+ |----|----|-----------|
212
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
213
+
214
+ **Returns**
215
+
216
+ |Name|Type|Description|
217
+ |----|----|-----------|
218
+ |`<none>`|`address`|Sender of `_message` as address|
219
+
220
+
221
+ ### destination
222
+
223
+ Returns the message destination domain.
224
+
225
+
226
+ ```solidity
227
+ function destination(bytes calldata _message) internal pure returns (uint32);
228
+ ```
229
+ **Parameters**
230
+
231
+ |Name|Type|Description|
232
+ |----|----|-----------|
233
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
234
+
235
+ **Returns**
236
+
237
+ |Name|Type|Description|
238
+ |----|----|-----------|
239
+ |`<none>`|`uint32`|Destination domain of `_message`|
240
+
241
+
242
+ ### recipient
243
+
244
+ Returns the message recipient as bytes32.
245
+
246
+
247
+ ```solidity
248
+ function recipient(bytes calldata _message) internal pure returns (bytes32);
249
+ ```
250
+ **Parameters**
251
+
252
+ |Name|Type|Description|
253
+ |----|----|-----------|
254
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
255
+
256
+ **Returns**
257
+
258
+ |Name|Type|Description|
259
+ |----|----|-----------|
260
+ |`<none>`|`bytes32`|Recipient of `_message` as bytes32|
261
+
262
+
263
+ ### recipientAddress
264
+
265
+ Returns the message recipient as address.
266
+
267
+
268
+ ```solidity
269
+ function recipientAddress(bytes calldata _message) internal pure returns (address);
270
+ ```
271
+ **Parameters**
272
+
273
+ |Name|Type|Description|
274
+ |----|----|-----------|
275
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
276
+
277
+ **Returns**
278
+
279
+ |Name|Type|Description|
280
+ |----|----|-----------|
281
+ |`<none>`|`address`|Recipient of `_message` as address|
282
+
283
+
284
+ ### body
285
+
286
+ Returns the message body.
287
+
288
+
289
+ ```solidity
290
+ function body(bytes calldata _message) internal pure returns (bytes calldata);
291
+ ```
292
+ **Parameters**
293
+
294
+ |Name|Type|Description|
295
+ |----|----|-----------|
296
+ |`_message`|`bytes`|ABI encoded Hyperlane message.|
297
+
298
+ **Returns**
299
+
300
+ |Name|Type|Description|
301
+ |----|----|-----------|
302
+ |`<none>`|`bytes`|Body of `_message`|
303
+
304
+
@@ -0,0 +1,36 @@
1
+ # MetaProxy
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/MetaProxy.sol)
3
+
4
+ *Adapted from https://eips.ethereum.org/EIPS/eip-3448*
5
+
6
+
7
+ ## State Variables
8
+ ### PREFIX
9
+
10
+ ```solidity
11
+ bytes32 private constant PREFIX = hex"600b380380600b3d393df3363d3d373d3d3d3d60368038038091363936013d73";
12
+ ```
13
+
14
+
15
+ ### SUFFIX
16
+
17
+ ```solidity
18
+ bytes13 private constant SUFFIX = hex"5af43d3d93803e603457fd5bf3";
19
+ ```
20
+
21
+
22
+ ## Functions
23
+ ### bytecode
24
+
25
+
26
+ ```solidity
27
+ function bytecode(address _implementation, bytes memory _metadata) internal pure returns (bytes memory);
28
+ ```
29
+
30
+ ### metadata
31
+
32
+
33
+ ```solidity
34
+ function metadata() internal pure returns (bytes memory);
35
+ ```
36
+
@@ -0,0 +1,34 @@
1
+ # MinimalProxy
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/MinimalProxy.sol)
3
+
4
+
5
+ ## State Variables
6
+ ### PREFIX
7
+
8
+ ```solidity
9
+ bytes20 private constant PREFIX = hex"3d602d80600a3d3981f3363d3d373d3d3d363d73";
10
+ ```
11
+
12
+
13
+ ### SUFFIX
14
+
15
+ ```solidity
16
+ bytes15 private constant SUFFIX = hex"5af43d82803e903d91602b57fd5bf3";
17
+ ```
18
+
19
+
20
+ ## Functions
21
+ ### create
22
+
23
+
24
+ ```solidity
25
+ function create(address implementation) internal returns (address proxy);
26
+ ```
27
+
28
+ ### bytecode
29
+
30
+
31
+ ```solidity
32
+ function bytecode(address implementation) internal pure returns (bytes memory);
33
+ ```
34
+
@@ -0,0 +1,16 @@
1
+
2
+
3
+ # Contents
4
+ - [isms](/contracts/libs/isms)
5
+ - [middleware](/contracts/libs/middleware)
6
+ - [CallLib](Call.sol/library.CallLib.md)
7
+ - [CheckpointLib](CheckpointLib.sol/library.CheckpointLib.md)
8
+ - [EnumerableMapExtended](EnumerableMapExtended.sol/library.EnumerableMapExtended.md)
9
+ - [LegacyCheckpointLib](LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md)
10
+ - [MerkleLib](Merkle.sol/library.MerkleLib.md)
11
+ - [Message](Message.sol/library.Message.md)
12
+ - [MetaProxy](MetaProxy.sol/library.MetaProxy.md)
13
+ - [MinimalProxy](MinimalProxy.sol/library.MinimalProxy.md)
14
+ - [StaticMOfNAddressSetFactory](StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md)
15
+ - [TypeCasts](TypeCasts.sol/library.TypeCasts.md)
16
+ - [ValidatorAnnouncements](ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md)
@@ -0,0 +1,123 @@
1
+ # StaticMOfNAddressSetFactory
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/StaticMOfNAddressSetFactory.sol)
3
+
4
+
5
+ ## State Variables
6
+ ### _implementation
7
+
8
+ ```solidity
9
+ address private immutable _implementation;
10
+ ```
11
+
12
+
13
+ ## Functions
14
+ ### constructor
15
+
16
+
17
+ ```solidity
18
+ constructor();
19
+ ```
20
+
21
+ ### _deployImplementation
22
+
23
+
24
+ ```solidity
25
+ function _deployImplementation() internal virtual returns (address);
26
+ ```
27
+
28
+ ### deploy
29
+
30
+ Deploys a StaticMOfNAddressSet contract address for the given
31
+ values
32
+
33
+ *Consider sorting addresses to ensure contract reuse*
34
+
35
+
36
+ ```solidity
37
+ function deploy(address[] calldata _values, uint8 _threshold) external returns (address);
38
+ ```
39
+ **Parameters**
40
+
41
+ |Name|Type|Description|
42
+ |----|----|-----------|
43
+ |`_values`|`address[]`|An array of addresses|
44
+ |`_threshold`|`uint8`|The threshold value to use|
45
+
46
+ **Returns**
47
+
48
+ |Name|Type|Description|
49
+ |----|----|-----------|
50
+ |`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
51
+
52
+
53
+ ### getAddress
54
+
55
+ Returns the StaticMOfNAddressSet contract address for the given
56
+ values
57
+
58
+ *Consider sorting addresses to ensure contract reuse*
59
+
60
+
61
+ ```solidity
62
+ function getAddress(address[] calldata _values, uint8 _threshold) external view returns (address);
63
+ ```
64
+ **Parameters**
65
+
66
+ |Name|Type|Description|
67
+ |----|----|-----------|
68
+ |`_values`|`address[]`|An array of addresses|
69
+ |`_threshold`|`uint8`|The threshold value to use|
70
+
71
+ **Returns**
72
+
73
+ |Name|Type|Description|
74
+ |----|----|-----------|
75
+ |`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
76
+
77
+
78
+ ### _getAddress
79
+
80
+ Returns the StaticMOfNAddressSet contract address for the given
81
+ values
82
+
83
+
84
+ ```solidity
85
+ function _getAddress(bytes32 _salt, bytes memory _bytecode) private view returns (address);
86
+ ```
87
+ **Parameters**
88
+
89
+ |Name|Type|Description|
90
+ |----|----|-----------|
91
+ |`_salt`|`bytes32`|The salt used in Create2|
92
+ |`_bytecode`|`bytes`|The metaproxy bytecode used in Create2|
93
+
94
+ **Returns**
95
+
96
+ |Name|Type|Description|
97
+ |----|----|-----------|
98
+ |`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
99
+
100
+
101
+ ### _saltAndBytecode
102
+
103
+ Returns the create2 salt and bytecode for the given values
104
+
105
+
106
+ ```solidity
107
+ function _saltAndBytecode(address[] calldata _values, uint8 _threshold) private view returns (bytes32, bytes memory);
108
+ ```
109
+ **Parameters**
110
+
111
+ |Name|Type|Description|
112
+ |----|----|-----------|
113
+ |`_values`|`address[]`|An array of addresses|
114
+ |`_threshold`|`uint8`|The threshold value to use|
115
+
116
+ **Returns**
117
+
118
+ |Name|Type|Description|
119
+ |----|----|-----------|
120
+ |`<none>`|`bytes32`|_salt The salt used in Create2|
121
+ |`<none>`|`bytes`|_bytecode The metaproxy bytecode used in Create2|
122
+
123
+
@@ -0,0 +1,19 @@
1
+ # TypeCasts
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/TypeCasts.sol)
3
+
4
+
5
+ ## Functions
6
+ ### addressToBytes32
7
+
8
+
9
+ ```solidity
10
+ function addressToBytes32(address _addr) internal pure returns (bytes32);
11
+ ```
12
+
13
+ ### bytes32ToAddress
14
+
15
+
16
+ ```solidity
17
+ function bytes32ToAddress(bytes32 _buf) internal pure returns (address);
18
+ ```
19
+
@@ -0,0 +1,31 @@
1
+ # ValidatorAnnouncements
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/ValidatorAnnouncements.sol)
3
+
4
+
5
+ ## Functions
6
+ ### getAnnouncementDigest
7
+
8
+ Returns the digest validators are expected to sign when signing announcements.
9
+
10
+
11
+ ```solidity
12
+ function getAnnouncementDigest(address _mailbox, uint32 _localDomain, string memory _storageLocation)
13
+ internal
14
+ pure
15
+ returns (bytes32);
16
+ ```
17
+ **Parameters**
18
+
19
+ |Name|Type|Description|
20
+ |----|----|-----------|
21
+ |`_mailbox`|`address`|Address of the mailbox being validated|
22
+ |`_localDomain`|`uint32`|Domain of chain on which the contract is deployed|
23
+ |`_storageLocation`|`string`|Storage location string.|
24
+
25
+ **Returns**
26
+
27
+ |Name|Type|Description|
28
+ |----|----|-----------|
29
+ |`<none>`|`bytes32`|The digest of the announcement.|
30
+
31
+
@@ -0,0 +1,97 @@
1
+ # AggregationIsmMetadata
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/isms/AggregationIsmMetadata.sol)
3
+
4
+ Format of metadata:
5
+ [????:????] Metadata start/end uint32 ranges, packed as uint64
6
+ [????:????] ISM metadata, packed encoding
7
+
8
+
9
+ ## State Variables
10
+ ### RANGE_SIZE
11
+
12
+ ```solidity
13
+ uint256 private constant RANGE_SIZE = 4;
14
+ ```
15
+
16
+
17
+ ## Functions
18
+ ### hasMetadata
19
+
20
+ Returns whether or not metadata was provided for the ISM at
21
+ `_index`
22
+
23
+ *Callers must ensure _index is less than the number of metadatas
24
+ provided*
25
+
26
+
27
+ ```solidity
28
+ function hasMetadata(bytes calldata _metadata, uint8 _index) internal pure returns (bool);
29
+ ```
30
+ **Parameters**
31
+
32
+ |Name|Type|Description|
33
+ |----|----|-----------|
34
+ |`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
35
+ |`_index`|`uint8`|The index of the ISM to check for metadata for|
36
+
37
+ **Returns**
38
+
39
+ |Name|Type|Description|
40
+ |----|----|-----------|
41
+ |`<none>`|`bool`|Whether or not metadata was provided for the ISM at `_index`|
42
+
43
+
44
+ ### metadataAt
45
+
46
+ Returns the metadata provided for the ISM at `_index`
47
+
48
+ *Callers must ensure _index is less than the number of metadatas
49
+ provided*
50
+
51
+ *Callers must ensure `hasMetadata(_metadata, _index)`*
52
+
53
+
54
+ ```solidity
55
+ function metadataAt(bytes calldata _metadata, uint8 _index) internal pure returns (bytes calldata);
56
+ ```
57
+ **Parameters**
58
+
59
+ |Name|Type|Description|
60
+ |----|----|-----------|
61
+ |`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
62
+ |`_index`|`uint8`|The index of the ISM to return metadata for|
63
+
64
+ **Returns**
65
+
66
+ |Name|Type|Description|
67
+ |----|----|-----------|
68
+ |`<none>`|`bytes`|The metadata provided for the ISM at `_index`|
69
+
70
+
71
+ ### _metadataRange
72
+
73
+ Returns the range of the metadata provided for the ISM at
74
+ `_index`, or zeroes if not provided
75
+
76
+ *Callers must ensure _index is less than the number of metadatas
77
+ provided*
78
+
79
+
80
+ ```solidity
81
+ function _metadataRange(bytes calldata _metadata, uint8 _index) private pure returns (uint32, uint32);
82
+ ```
83
+ **Parameters**
84
+
85
+ |Name|Type|Description|
86
+ |----|----|-----------|
87
+ |`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
88
+ |`_index`|`uint8`|The index of the ISM to return metadata range for|
89
+
90
+ **Returns**
91
+
92
+ |Name|Type|Description|
93
+ |----|----|-----------|
94
+ |`<none>`|`uint32`|The range of the metadata provided for the ISM at `_index`, or zeroes if not provided|
95
+ |`<none>`|`uint32`||
96
+
97
+