@hyperlane-xyz/core 1.3.7 → 1.3.8

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 (280) hide show
  1. package/README.md +6 -4
  2. package/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol +30 -0
  3. package/contracts/hooks/ERC5164MessageHook.sol +95 -0
  4. package/contracts/hooks/OptimismMessageHook.sol +3 -1
  5. package/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol +10 -4
  6. package/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol +8 -3
  7. package/contracts/isms/native/AbstractNativeISM.sol +17 -6
  8. package/contracts/isms/native/ERC5164ISM.sol +75 -0
  9. package/contracts/isms/native/OptimismISM.sol +15 -4
  10. package/contracts/mock/MockERC5164.sol +26 -0
  11. package/dist/contracts/CheckpointFraudProofs.d.ts +103 -0
  12. package/dist/contracts/CheckpointFraudProofs.d.ts.map +1 -0
  13. package/dist/contracts/CheckpointFraudProofs.js +4 -0
  14. package/dist/contracts/CheckpointFraudProofs.js.map +1 -0
  15. package/dist/contracts/hooks/ERC5164/index.d.ts +3 -0
  16. package/dist/contracts/hooks/ERC5164/index.d.ts.map +1 -0
  17. package/dist/contracts/hooks/ERC5164/index.js +4 -0
  18. package/dist/contracts/hooks/ERC5164/index.js.map +1 -0
  19. package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.d.ts +72 -0
  20. package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.d.ts.map +1 -0
  21. package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.js +4 -0
  22. package/dist/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.js.map +1 -0
  23. package/dist/contracts/hooks/ERC5164/interfaces/index.d.ts +2 -0
  24. package/dist/contracts/hooks/ERC5164/interfaces/index.d.ts.map +1 -0
  25. package/dist/contracts/hooks/ERC5164/interfaces/index.js +3 -0
  26. package/dist/contracts/hooks/ERC5164/interfaces/index.js.map +1 -0
  27. package/dist/contracts/hooks/ERC5164MessageHook.d.ts +75 -0
  28. package/dist/contracts/hooks/ERC5164MessageHook.d.ts.map +1 -0
  29. package/dist/contracts/hooks/ERC5164MessageHook.js +4 -0
  30. package/dist/contracts/hooks/ERC5164MessageHook.js.map +1 -0
  31. package/dist/contracts/hooks/index.d.ts +3 -0
  32. package/dist/contracts/hooks/index.d.ts.map +1 -1
  33. package/dist/contracts/hooks/index.js +1 -0
  34. package/dist/contracts/hooks/index.js.map +1 -1
  35. package/dist/contracts/isms/native/AbstractNativeISM.d.ts +10 -10
  36. package/dist/contracts/isms/native/AbstractNativeISM.d.ts.map +1 -1
  37. package/dist/contracts/isms/native/ERC5164ISM.d.ts +107 -0
  38. package/dist/contracts/isms/native/ERC5164ISM.d.ts.map +1 -0
  39. package/dist/contracts/isms/native/ERC5164ISM.js +4 -0
  40. package/dist/contracts/isms/native/ERC5164ISM.js.map +1 -0
  41. package/dist/contracts/isms/native/OptimismISM.d.ts +17 -17
  42. package/dist/contracts/isms/native/OptimismISM.d.ts.map +1 -1
  43. package/dist/contracts/isms/native/index.d.ts +1 -0
  44. package/dist/contracts/isms/native/index.d.ts.map +1 -1
  45. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts +77 -0
  46. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.d.ts.map +1 -0
  47. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.js +4 -0
  48. package/dist/contracts/libs/TestMerkle.sol/MerkleTree.js.map +1 -0
  49. package/dist/contracts/libs/TestMerkle.sol/index.d.ts +2 -0
  50. package/dist/contracts/libs/TestMerkle.sol/index.d.ts.map +1 -0
  51. package/dist/contracts/libs/TestMerkle.sol/index.js +3 -0
  52. package/dist/contracts/libs/TestMerkle.sol/index.js.map +1 -0
  53. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts +72 -0
  54. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.d.ts.map +1 -0
  55. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.js +4 -0
  56. package/dist/contracts/mock/MockERC5164.sol/MockMessageDispatcher.js.map +1 -0
  57. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts +44 -0
  58. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.d.ts.map +1 -0
  59. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.js +4 -0
  60. package/dist/contracts/mock/MockERC5164.sol/MockMessageExecutor.js.map +1 -0
  61. package/dist/contracts/mock/MockERC5164.sol/index.d.ts +3 -0
  62. package/dist/contracts/mock/MockERC5164.sol/index.d.ts.map +1 -0
  63. package/dist/contracts/mock/MockERC5164.sol/index.js +3 -0
  64. package/dist/contracts/mock/MockERC5164.sol/index.js.map +1 -0
  65. package/dist/contracts/mock/index.d.ts +2 -0
  66. package/dist/contracts/mock/index.d.ts.map +1 -1
  67. package/dist/contracts/mock/index.js +1 -0
  68. package/dist/contracts/mock/index.js.map +1 -1
  69. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +45 -0
  70. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +1 -0
  71. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +231 -0
  72. package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +1 -0
  73. package/dist/factories/contracts/hooks/ERC5164/index.d.ts +2 -0
  74. package/dist/factories/contracts/hooks/ERC5164/index.d.ts.map +1 -0
  75. package/dist/factories/contracts/hooks/ERC5164/index.js +31 -0
  76. package/dist/factories/contracts/hooks/ERC5164/index.js.map +1 -0
  77. package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.d.ts +36 -0
  78. package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.d.ts.map +1 -0
  79. package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.js +84 -0
  80. package/dist/factories/contracts/hooks/ERC5164/interfaces/IMessageDispatcher__factory.js.map +1 -0
  81. package/dist/factories/contracts/hooks/ERC5164/interfaces/index.d.ts +2 -0
  82. package/dist/factories/contracts/hooks/ERC5164/interfaces/index.d.ts.map +1 -0
  83. package/dist/factories/contracts/hooks/ERC5164/interfaces/index.js +9 -0
  84. package/dist/factories/contracts/hooks/ERC5164/interfaces/index.js.map +1 -0
  85. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.d.ts +45 -0
  86. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.d.ts.map +1 -0
  87. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.js +125 -0
  88. package/dist/factories/contracts/hooks/ERC5164MessageHook__factory.js.map +1 -0
  89. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
  90. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts.map +1 -1
  91. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
  92. package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js.map +1 -1
  93. package/dist/factories/contracts/hooks/index.d.ts +2 -0
  94. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  95. package/dist/factories/contracts/hooks/index.js +27 -1
  96. package/dist/factories/contracts/hooks/index.js.map +1 -1
  97. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  98. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  99. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  100. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  101. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  102. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  103. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  104. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  105. package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.d.ts.map +1 -1
  106. package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.js +4 -9
  107. package/dist/factories/contracts/isms/native/AbstractNativeISM__factory.js.map +1 -1
  108. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.d.ts +59 -0
  109. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.d.ts.map +1 -0
  110. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.js +171 -0
  111. package/dist/factories/contracts/isms/native/ERC5164ISM__factory.js.map +1 -0
  112. package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts +1 -1
  113. package/dist/factories/contracts/isms/native/OptimismISM__factory.d.ts.map +1 -1
  114. package/dist/factories/contracts/isms/native/OptimismISM__factory.js +7 -12
  115. package/dist/factories/contracts/isms/native/OptimismISM__factory.js.map +1 -1
  116. package/dist/factories/contracts/isms/native/index.d.ts +1 -0
  117. package/dist/factories/contracts/isms/native/index.d.ts.map +1 -1
  118. package/dist/factories/contracts/isms/native/index.js +3 -1
  119. package/dist/factories/contracts/isms/native/index.js.map +1 -1
  120. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts +41 -0
  121. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.d.ts.map +1 -0
  122. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js +151 -0
  123. package/dist/factories/contracts/libs/TestMerkle.sol/MerkleTree__factory.js.map +1 -0
  124. package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts +2 -0
  125. package/dist/factories/contracts/libs/TestMerkle.sol/index.d.ts.map +1 -0
  126. package/dist/factories/contracts/libs/TestMerkle.sol/index.js +9 -0
  127. package/dist/factories/contracts/libs/TestMerkle.sol/index.js.map +1 -0
  128. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts +48 -0
  129. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.d.ts.map +1 -0
  130. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.js +107 -0
  131. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageDispatcher__factory.js.map +1 -0
  132. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts +31 -0
  133. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.d.ts.map +1 -0
  134. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.js +60 -0
  135. package/dist/factories/contracts/mock/MockERC5164.sol/MockMessageExecutor__factory.js.map +1 -0
  136. package/dist/factories/contracts/mock/MockERC5164.sol/index.d.ts +3 -0
  137. package/dist/factories/contracts/mock/MockERC5164.sol/index.d.ts.map +1 -0
  138. package/dist/factories/contracts/mock/MockERC5164.sol/index.js +11 -0
  139. package/dist/factories/contracts/mock/MockERC5164.sol/index.js.map +1 -0
  140. package/dist/factories/contracts/mock/index.d.ts +1 -0
  141. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  142. package/dist/factories/contracts/mock/index.js +25 -1
  143. package/dist/factories/contracts/mock/index.js.map +1 -1
  144. package/dist/index.d.ts +10 -0
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +13 -3
  147. package/dist/index.js.map +1 -1
  148. package/docs/book.css +13 -0
  149. package/docs/book.toml +12 -0
  150. package/docs/solidity.min.js +74 -0
  151. package/docs/src/README.md +15 -0
  152. package/docs/src/SUMMARY.md +128 -0
  153. package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +124 -0
  154. package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +191 -0
  155. package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +251 -0
  156. package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +41 -0
  157. package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +100 -0
  158. package/docs/src/contracts/README.md +19 -0
  159. package/docs/src/contracts/Router.sol/abstract.Router.md +255 -0
  160. package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +117 -0
  161. package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
  162. package/docs/src/contracts/hooks/README.md +4 -0
  163. package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +231 -0
  164. package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +161 -0
  165. package/docs/src/contracts/igps/README.md +6 -0
  166. package/docs/src/contracts/igps/gas-oracles/README.md +4 -0
  167. package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +114 -0
  168. package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +25 -0
  169. package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +43 -0
  170. package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +33 -0
  171. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +55 -0
  172. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +12 -0
  173. package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +13 -0
  174. package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +19 -0
  175. package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +103 -0
  176. package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +12 -0
  177. package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +33 -0
  178. package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +78 -0
  179. package/docs/src/contracts/interfaces/README.md +17 -0
  180. package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +12 -0
  181. package/docs/src/contracts/interfaces/hooks/README.md +4 -0
  182. package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +36 -0
  183. package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +36 -0
  184. package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +31 -0
  185. package/docs/src/contracts/interfaces/isms/README.md +6 -0
  186. package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +64 -0
  187. package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +21 -0
  188. package/docs/src/contracts/interfaces/middleware/README.md +5 -0
  189. package/docs/src/contracts/isms/README.md +7 -0
  190. package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +60 -0
  191. package/docs/src/contracts/isms/aggregation/README.md +6 -0
  192. package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +30 -0
  193. package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +15 -0
  194. package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +78 -0
  195. package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +69 -0
  196. package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +102 -0
  197. package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +355 -0
  198. package/docs/src/contracts/isms/multisig/README.md +12 -0
  199. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +36 -0
  200. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +11 -0
  201. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +15 -0
  202. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +10 -0
  203. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +15 -0
  204. package/docs/src/contracts/isms/native/AbstractNativeISM.sol/abstract.AbstractNativeISM.md +44 -0
  205. package/docs/src/contracts/isms/native/OptimismISM.sol/contract.OptimismISM.md +66 -0
  206. package/docs/src/contracts/isms/native/README.md +5 -0
  207. package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +55 -0
  208. package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +112 -0
  209. package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +47 -0
  210. package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +44 -0
  211. package/docs/src/contracts/isms/routing/README.md +7 -0
  212. package/docs/src/contracts/libs/Call.sol/library.CallLib.md +124 -0
  213. package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +61 -0
  214. package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +63 -0
  215. package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +55 -0
  216. package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +354 -0
  217. package/docs/src/contracts/libs/Message.sol/library.Message.md +304 -0
  218. package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +36 -0
  219. package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +34 -0
  220. package/docs/src/contracts/libs/README.md +16 -0
  221. package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +123 -0
  222. package/docs/src/contracts/libs/TestMerkle.sol/contract.MerkleTree.md +66 -0
  223. package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +19 -0
  224. package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +31 -0
  225. package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +97 -0
  226. package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +296 -0
  227. package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +177 -0
  228. package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +109 -0
  229. package/docs/src/contracts/libs/isms/README.md +7 -0
  230. package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +134 -0
  231. package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +203 -0
  232. package/docs/src/contracts/libs/middleware/README.md +5 -0
  233. package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +545 -0
  234. package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +119 -0
  235. package/docs/src/contracts/middleware/README.md +6 -0
  236. package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +81 -0
  237. package/docs/src/contracts/middleware/liquidity-layer/README.md +6 -0
  238. package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +197 -0
  239. package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +189 -0
  240. package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +5 -0
  241. package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +23 -0
  242. package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +6 -0
  243. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +54 -0
  244. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +92 -0
  245. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +5 -0
  246. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +131 -0
  247. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +4 -0
  248. package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +58 -0
  249. package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +44 -0
  250. package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +69 -0
  251. package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +137 -0
  252. package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +82 -0
  253. package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +22 -0
  254. package/docs/src/contracts/mock/README.md +9 -0
  255. package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +15 -0
  256. package/docs/src/contracts/test/README.md +20 -0
  257. package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +27 -0
  258. package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +29 -0
  259. package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +30 -0
  260. package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +15 -0
  261. package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +23 -0
  262. package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +29 -0
  263. package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +50 -0
  264. package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +68 -0
  265. package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +51 -0
  266. package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +45 -0
  267. package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +128 -0
  268. package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +78 -0
  269. package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +63 -0
  270. package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +49 -0
  271. package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +80 -0
  272. package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +15 -0
  273. package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +12 -0
  274. package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +15 -0
  275. package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +15 -0
  276. package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +15 -0
  277. package/docs/src/contracts/test/bad-recipient/README.md +8 -0
  278. package/docs/src/contracts/upgrade/README.md +4 -0
  279. package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +14 -0
  280. package/package.json +6 -4
@@ -0,0 +1,354 @@
1
+ # MerkleLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/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
+
@@ -0,0 +1,304 @@
1
+ # Message
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/60f321f452052881dce4e22999022e11fc117456/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/60f321f452052881dce4e22999022e11fc117456/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/60f321f452052881dce4e22999022e11fc117456/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
+