@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
package/README.md CHANGED
@@ -4,10 +4,12 @@ On-chain implementations of Hyperlane in Solidity.
4
4
 
5
5
  ## Setup
6
6
 
7
- - `npm install --dev`
8
- - `brew install jq`   OR   `sudo apt-get install jq`
7
+ - `yarn install`
9
8
 
10
9
  ## Build
11
10
 
12
- - `npm run compile`
13
- - `npm run test`
11
+ - `yarn build`
12
+
13
+ ## Test
14
+
15
+ - `yarn test`
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ /**
5
+ * @title ERC-5164: Cross-Chain Execution Standard
6
+ * @dev See https://eips.ethereum.org/EIPS/eip-5164
7
+ */
8
+ interface IMessageDispatcher {
9
+ /**
10
+ * @notice Emitted when a message has successfully been dispatched to the executor chain.
11
+ * @param messageId ID uniquely identifying the message
12
+ * @param from Address that dispatched the message
13
+ * @param toChainId ID of the chain receiving the message
14
+ * @param to Address that will receive the message
15
+ * @param data Data that was dispatched
16
+ */
17
+ event MessageDispatched(
18
+ bytes32 indexed messageId,
19
+ address indexed from,
20
+ uint256 indexed toChainId,
21
+ address to,
22
+ bytes data
23
+ );
24
+
25
+ function dispatchMessage(
26
+ uint256 toChainId,
27
+ address to,
28
+ bytes calldata data
29
+ ) external returns (bytes32);
30
+ }
@@ -0,0 +1,95 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ /*@@@@@@@ @@@@@@@@@
5
+ @@@@@@@@@ @@@@@@@@@
6
+ @@@@@@@@@ @@@@@@@@@
7
+ @@@@@@@@@ @@@@@@@@@
8
+ @@@@@@@@@@@@@@@@@@@@@@@@@
9
+ @@@@@ HYPERLANE @@@@@@@
10
+ @@@@@@@@@@@@@@@@@@@@@@@@@
11
+ @@@@@@@@@ @@@@@@@@@
12
+ @@@@@@@@@ @@@@@@@@@
13
+ @@@@@@@@@ @@@@@@@@@
14
+ @@@@@@@@@ @@@@@@@@*/
15
+
16
+ // ============ Internal Imports ============
17
+ import {TypeCasts} from "../libs/TypeCasts.sol";
18
+ import {IMessageHook} from "../interfaces/hooks/IMessageHook.sol";
19
+ import {IMessageDispatcher} from "./ERC5164/interfaces/IMessageDispatcher.sol";
20
+ import {ERC5164ISM} from "../isms/native/ERC5164ISM.sol";
21
+
22
+ // ============ External Imports ============
23
+
24
+ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
25
+
26
+ /**
27
+ * @title 5164MessageHook
28
+ * @notice Message hook to inform the 5164 ISM of messages published through
29
+ * any of the 5164 adapters.
30
+ */
31
+ contract ERC5164MessageHook is IMessageHook {
32
+ using TypeCasts for address;
33
+ // ============ Constants ============
34
+
35
+ // Domain of chain on which the ERC5164ISM is deployed
36
+ uint32 public immutable destinationDomain;
37
+ // Dispatcher used to send messages
38
+ IMessageDispatcher public immutable dispatcher;
39
+ // address for ERC5164ISM to verify messages
40
+ address public immutable ism;
41
+
42
+ // ============ Constructor ============
43
+
44
+ constructor(
45
+ uint32 _destinationDomain,
46
+ address _dispatcher,
47
+ address _ism
48
+ ) {
49
+ require(
50
+ _destinationDomain != 0,
51
+ "ERC5164Hook: invalid destination domain"
52
+ );
53
+ require(_ism != address(0), "ERC5164Hook: invalid ISM");
54
+ destinationDomain = _destinationDomain;
55
+
56
+ require(
57
+ Address.isContract(_dispatcher),
58
+ "ERC5164Hook: invalid dispatcher"
59
+ );
60
+ dispatcher = IMessageDispatcher(_dispatcher);
61
+ ism = _ism;
62
+ }
63
+
64
+ // ============ External Functions ============
65
+
66
+ /**
67
+ * @notice Hook to inform the ERC5164ISM of messages published through.
68
+ * @dev anyone can call this function, that's why we need to send msg.sender
69
+ * @param _destinationDomain The destination domain of the message.
70
+ * @param _messageId The message ID.
71
+ * @return gasOverhead The gas overhead for the function call on destination.
72
+ */
73
+ function postDispatch(uint32 _destinationDomain, bytes32 _messageId)
74
+ public
75
+ payable
76
+ override
77
+ returns (uint256)
78
+ {
79
+ require(msg.value == 0, "ERC5164Hook: no value allowed");
80
+ require(
81
+ _destinationDomain == destinationDomain,
82
+ "ERC5164Hook: invalid destination domain"
83
+ );
84
+
85
+ bytes memory _payload = abi.encodeCall(
86
+ ERC5164ISM.verifyMessageId,
87
+ (msg.sender.addressToBytes32(), _messageId)
88
+ );
89
+
90
+ dispatcher.dispatchMessage(_destinationDomain, ism, _payload);
91
+
92
+ // EIP-5164 doesn't specify a gas overhead
93
+ return 0;
94
+ }
95
+ }
@@ -16,6 +16,7 @@ pragma solidity >=0.8.0;
16
16
  // ============ Internal Imports ============
17
17
  import {IMessageHook} from "../interfaces/hooks/IMessageHook.sol";
18
18
  import {OptimismISM} from "../isms/native/OptimismISM.sol";
19
+ import {TypeCasts} from "../libs/TypeCasts.sol";
19
20
 
20
21
  // ============ External Imports ============
21
22
  import {ICrossDomainMessenger} from "@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol";
@@ -27,6 +28,7 @@ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
27
28
  * the native Optimism bridge.
28
29
  */
29
30
  contract OptimismMessageHook is IMessageHook {
31
+ using TypeCasts for address;
30
32
  // ============ Constants ============
31
33
 
32
34
  // Domain of chain on which the optimism ISM is deployed
@@ -85,7 +87,7 @@ contract OptimismMessageHook is IMessageHook {
85
87
 
86
88
  bytes memory _payload = abi.encodeCall(
87
89
  OptimismISM.verifyMessageId,
88
- (msg.sender, _messageId)
90
+ (msg.sender.addressToBytes32(), _messageId)
89
91
  );
90
92
 
91
93
  l1Messenger.sendMessage(ism, _payload, GAS_LIMIT);
@@ -10,10 +10,16 @@ import {MerkleLib} from "../../libs/Merkle.sol";
10
10
  import {CheckpointLib} from "../../libs/CheckpointLib.sol";
11
11
 
12
12
  /**
13
- * @title MerkleRootMultisigIsm
14
- * @notice Provides abstract logic for verifying signatures on a merkle root
15
- * and a merkle proof of message inclusion in that root.
16
- * @dev Implement and use if you want strong censorship resistance guarantees.
13
+ * @title `AbstractMerkleRootMultisigIsm` — multi-sig ISM with the validators-censorship resistance guarantee.
14
+ * @notice This ISM allows using a newer signed checkpoint (say #33) to prove existence of an older message (#22) in the validators' MerkleTree.
15
+ * This guarantees censorship resistance as validators cannot hide a message
16
+ * by refusing to sign its checkpoint but later signing a checkpoint for a newer message.
17
+ * If validators decide to censor a message, they are left with only one option — to not produce checkpoints at all.
18
+ * Otherwise, the very next signed checkpoint (#33) can be used by any relayer to prove the previous message inclusion using this ISM.
19
+ * This is censorship resistance is missing in the sibling implementation `AbstractMessageIdMultisigIsm`,
20
+ * since it can only verify messages having the corresponding checkpoints.
21
+ * @dev Provides the default implementation of verifying signatures over a checkpoint and the message inclusion in that checkpoint.
22
+ * This abstract contract can be overridden for customizing the `validatorsAndThreshold()` (static or dynamic).
17
23
  * @dev May be adapted in future to support batch message verification against a single root.
18
24
  */
19
25
  abstract contract AbstractMerkleRootMultisigIsm is AbstractMultisigIsm {
@@ -9,9 +9,14 @@ import {Message} from "../../libs/Message.sol";
9
9
  import {CheckpointLib} from "../../libs/CheckpointLib.sol";
10
10
 
11
11
  /**
12
- * @title AbstractMessageIdMultisigIsm
13
- * @notice Provides abstract logic for verifying signatures on a message ID.
14
- * @dev Implement and use if you want fastest and cheapest security.
12
+ * @title `AbstractMessageIdMultisigIsm` — multi-sig ISM for the censorship-friendly validators.
13
+ * @notice This ISM minimizes gas/performance overhead of the checkpoints verification by compromising on the censorship resistance.
14
+ * For censorship resistance consider using `AbstractMerkleRootMultisigIsm`.
15
+ * If the validators (`validatorsAndThreshold`) skip messages by not sign checkpoints for them,
16
+ * the relayers will not be able to aggregate a quorum of signatures sufficient to deliver these messages via this ISM.
17
+ * Integrations are free to choose the trade-off between the censorship resistance and the gas/processing overhead.
18
+ * @dev Provides the default implementation of verifying signatures over a checkpoint related to a specific message ID.
19
+ * This abstract contract can be customized to change the `validatorsAndThreshold()` (static or dynamic).
15
20
  */
16
21
  abstract contract AbstractMessageIdMultisigIsm is AbstractMultisigIsm {
17
22
  // ============ Constants ============
@@ -1,6 +1,18 @@
1
1
  // SPDX-License-Identifier: MIT OR Apache-2.0
2
2
  pragma solidity >=0.8.0;
3
3
 
4
+ /*@@@@@@@ @@@@@@@@@
5
+ @@@@@@@@@ @@@@@@@@@
6
+ @@@@@@@@@ @@@@@@@@@
7
+ @@@@@@@@@ @@@@@@@@@
8
+ @@@@@@@@@@@@@@@@@@@@@@@@@
9
+ @@@@@ HYPERLANE @@@@@@@
10
+ @@@@@@@@@@@@@@@@@@@@@@@@@
11
+ @@@@@@@@@ @@@@@@@@@
12
+ @@@@@@@@@ @@@@@@@@@
13
+ @@@@@@@@@ @@@@@@@@@
14
+ @@@@@@@@@ @@@@@@@@*/
15
+
4
16
  // ============ Internal Imports ============
5
17
 
6
18
  import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
@@ -11,7 +23,6 @@ import {TypeCasts} from "../../libs/TypeCasts.sol";
11
23
 
12
24
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
13
25
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
14
- import {Address} from "@openzeppelin/contracts/utils/Address.sol";
15
26
 
16
27
  /**
17
28
  * @title ArbtractNativeISM
@@ -25,13 +36,13 @@ abstract contract AbstractNativeISM is
25
36
  {
26
37
  // ============ Public Storage ============
27
38
 
28
- // mapping to check if the specific messageID from a specific sender has been received
39
+ // mapping to check if the specific messageID is from a specific sender
29
40
  // @dev anyone can send an untrusted messageId, so need to check for that while verifying
30
- mapping(bytes32 => mapping(address => bool)) public verifiedMessageIds;
41
+ mapping(bytes32 => bytes32) public verifiedMessageIds;
31
42
 
32
43
  // ============ Events ============
33
44
 
34
- event ReceivedMessage(address indexed sender, bytes32 indexed messageId);
45
+ event ReceivedMessage(bytes32 indexed sender, bytes32 indexed messageId);
35
46
 
36
47
  // ============ External Functions ============
37
48
 
@@ -44,8 +55,8 @@ abstract contract AbstractNativeISM is
44
55
  bytes calldata _message
45
56
  ) external view returns (bool) {
46
57
  bytes32 _messageId = Message.id(_message);
47
- address _messageSender = Message.senderAddress(_message);
58
+ bytes32 _messageSender = Message.sender(_message);
48
59
 
49
- return verifiedMessageIds[_messageId][_messageSender];
60
+ return _messageSender == verifiedMessageIds[_messageId];
50
61
  }
51
62
  }
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ /*@@@@@@@ @@@@@@@@@
5
+ @@@@@@@@@ @@@@@@@@@
6
+ @@@@@@@@@ @@@@@@@@@
7
+ @@@@@@@@@ @@@@@@@@@
8
+ @@@@@@@@@@@@@@@@@@@@@@@@@
9
+ @@@@@ HYPERLANE @@@@@@@
10
+ @@@@@@@@@@@@@@@@@@@@@@@@@
11
+ @@@@@@@@@ @@@@@@@@@
12
+ @@@@@@@@@ @@@@@@@@@
13
+ @@@@@@@@@ @@@@@@@@@
14
+ @@@@@@@@@ @@@@@@@@*/
15
+
16
+ // ============ Internal Imports ============
17
+
18
+ import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
19
+ import {ERC5164MessageHook} from "../../hooks/ERC5164MessageHook.sol";
20
+ import {Message} from "../../libs/Message.sol";
21
+ import {TypeCasts} from "../../libs/TypeCasts.sol";
22
+ import {AbstractNativeISM} from "./AbstractNativeISM.sol";
23
+
24
+ // ============ External Imports ============
25
+
26
+ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
27
+
28
+ /**
29
+ * @title ERC5164ISM
30
+ * @notice Uses the generic eip-5164 standard to verify interchain messages.
31
+ */
32
+ contract ERC5164ISM is AbstractNativeISM {
33
+ // ============ Constants ============
34
+
35
+ uint8 public constant moduleType =
36
+ uint8(IInterchainSecurityModule.Types.NULL);
37
+ // corresponding 5164 executor address
38
+ address public immutable executor;
39
+
40
+ // ============ Modifiers ============
41
+
42
+ /**
43
+ * @notice Check if sender is authorized to message `verifyMessageId`.
44
+ */
45
+ modifier isAuthorized() {
46
+ require(
47
+ msg.sender == executor,
48
+ "ERC5164ISM: sender is not the executor"
49
+ );
50
+ _;
51
+ }
52
+
53
+ // ============ Constructor ============
54
+
55
+ constructor(address _executor) {
56
+ require(Address.isContract(_executor), "ERC5164ISM: invalid executor");
57
+ executor = _executor;
58
+ }
59
+
60
+ // ============ External Functions ============
61
+
62
+ /**
63
+ * @notice Receive a message from the executor.
64
+ * @param _sender Left-padded address of the sender.
65
+ * @param _messageId Hyperlane ID for the message.
66
+ */
67
+ function verifyMessageId(bytes32 _sender, bytes32 _messageId)
68
+ external
69
+ isAuthorized
70
+ {
71
+ verifiedMessageIds[_messageId] = _sender;
72
+
73
+ emit ReceivedMessage(_sender, _messageId);
74
+ }
75
+ }
@@ -1,6 +1,18 @@
1
1
  // SPDX-License-Identifier: MIT OR Apache-2.0
2
2
  pragma solidity >=0.8.0;
3
3
 
4
+ /*@@@@@@@ @@@@@@@@@
5
+ @@@@@@@@@ @@@@@@@@@
6
+ @@@@@@@@@ @@@@@@@@@
7
+ @@@@@@@@@ @@@@@@@@@
8
+ @@@@@@@@@@@@@@@@@@@@@@@@@
9
+ @@@@@ HYPERLANE @@@@@@@
10
+ @@@@@@@@@@@@@@@@@@@@@@@@@
11
+ @@@@@@@@@ @@@@@@@@@
12
+ @@@@@@@@@ @@@@@@@@@
13
+ @@@@@@@@@ @@@@@@@@@
14
+ @@@@@@@@@ @@@@@@@@*/
15
+
4
16
  // ============ Internal Imports ============
5
17
 
6
18
  import {IInterchainSecurityModule} from "../../interfaces/IInterchainSecurityModule.sol";
@@ -22,7 +34,6 @@ import {Address} from "@openzeppelin/contracts/utils/Address.sol";
22
34
  contract OptimismISM is CrossChainEnabledOptimism, AbstractNativeISM {
23
35
  // ============ Constants ============
24
36
 
25
- // solhint-disable-next-line const-name-snakecase
26
37
  uint8 public constant moduleType =
27
38
  uint8(IInterchainSecurityModule.Types.NULL);
28
39
 
@@ -66,14 +77,14 @@ contract OptimismISM is CrossChainEnabledOptimism, AbstractNativeISM {
66
77
  /**
67
78
  * @notice Receive a message from the L2 messenger.
68
79
  * @dev Only callable by the L2 messenger.
69
- * @param _sender Address of the sender.
80
+ * @param _sender Left-padded address of the sender.
70
81
  * @param _messageId Hyperlane ID for the message.
71
82
  */
72
- function verifyMessageId(address _sender, bytes32 _messageId)
83
+ function verifyMessageId(bytes32 _sender, bytes32 _messageId)
73
84
  external
74
85
  isAuthorized
75
86
  {
76
- verifiedMessageIds[_messageId][_sender] = true;
87
+ verifiedMessageIds[_messageId] = _sender;
77
88
 
78
89
  emit ReceivedMessage(_sender, _messageId);
79
90
  }
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: MIT or Apache-2.0
2
+ pragma solidity ^0.8.13;
3
+
4
+ import {IMessageDispatcher} from "../hooks/ERC5164/interfaces/IMessageDispatcher.sol";
5
+
6
+ contract MockMessageDispatcher is IMessageDispatcher {
7
+ function dispatchMessage(
8
+ uint256 toChainId,
9
+ address to,
10
+ bytes calldata data
11
+ ) external returns (bytes32) {
12
+ bytes32 messageId = keccak256(abi.encodePacked(toChainId, to, data));
13
+
14
+ // simulate a successful dispatch
15
+ emit MessageDispatched(messageId, msg.sender, toChainId, to, data);
16
+
17
+ return messageId;
18
+ }
19
+ }
20
+
21
+ contract MockMessageExecutor {
22
+ event MessageIdExecuted(
23
+ uint256 indexed fromChainId,
24
+ bytes32 indexed messageId
25
+ );
26
+ }
@@ -0,0 +1,103 @@
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../common";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
+ export declare type CheckpointStruct = {
6
+ origin: BigNumberish;
7
+ originMailbox: BytesLike;
8
+ root: BytesLike;
9
+ index: BigNumberish;
10
+ messageId: BytesLike;
11
+ };
12
+ export declare type CheckpointStructOutput = [
13
+ number,
14
+ string,
15
+ string,
16
+ number,
17
+ string
18
+ ] & {
19
+ origin: number;
20
+ originMailbox: string;
21
+ root: string;
22
+ index: number;
23
+ messageId: string;
24
+ };
25
+ export interface CheckpointFraudProofsInterface extends utils.Interface {
26
+ functions: {
27
+ "isFraudulentMessageId((uint32,bytes32,bytes32,uint32,bytes32),bytes32[32],bytes32)": FunctionFragment;
28
+ "isFraudulentRoot((uint32,bytes32,bytes32,uint32,bytes32),bytes32[32])": FunctionFragment;
29
+ "isPremature((uint32,bytes32,bytes32,uint32,bytes32))": FunctionFragment;
30
+ "storeLatestCheckpoint(address)": FunctionFragment;
31
+ "storedCheckpoint(address,bytes32)": FunctionFragment;
32
+ };
33
+ getFunction(nameOrSignatureOrTopic: "isFraudulentMessageId" | "isFraudulentRoot" | "isPremature" | "storeLatestCheckpoint" | "storedCheckpoint"): FunctionFragment;
34
+ encodeFunctionData(functionFragment: "isFraudulentMessageId", values: [CheckpointStruct, BytesLike[], BytesLike]): string;
35
+ encodeFunctionData(functionFragment: "isFraudulentRoot", values: [CheckpointStruct, BytesLike[]]): string;
36
+ encodeFunctionData(functionFragment: "isPremature", values: [CheckpointStruct]): string;
37
+ encodeFunctionData(functionFragment: "storeLatestCheckpoint", values: [string]): string;
38
+ encodeFunctionData(functionFragment: "storedCheckpoint", values: [string, BytesLike]): string;
39
+ decodeFunctionResult(functionFragment: "isFraudulentMessageId", data: BytesLike): Result;
40
+ decodeFunctionResult(functionFragment: "isFraudulentRoot", data: BytesLike): Result;
41
+ decodeFunctionResult(functionFragment: "isPremature", data: BytesLike): Result;
42
+ decodeFunctionResult(functionFragment: "storeLatestCheckpoint", data: BytesLike): Result;
43
+ decodeFunctionResult(functionFragment: "storedCheckpoint", data: BytesLike): Result;
44
+ events: {};
45
+ }
46
+ export interface CheckpointFraudProofs extends BaseContract {
47
+ connect(signerOrProvider: Signer | Provider | string): this;
48
+ attach(addressOrName: string): this;
49
+ deployed(): Promise<this>;
50
+ interface: CheckpointFraudProofsInterface;
51
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
52
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
53
+ listeners(eventName?: string): Array<Listener>;
54
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
55
+ removeAllListeners(eventName?: string): this;
56
+ off: OnEvent<this>;
57
+ on: OnEvent<this>;
58
+ once: OnEvent<this>;
59
+ removeListener: OnEvent<this>;
60
+ functions: {
61
+ isFraudulentMessageId(checkpoint: CheckpointStruct, proof: BytesLike[], actualMessageId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>;
62
+ isFraudulentRoot(checkpoint: CheckpointStruct, proof: BytesLike[], overrides?: CallOverrides): Promise<[boolean]>;
63
+ isPremature(checkpoint: CheckpointStruct, overrides?: CallOverrides): Promise<[boolean]>;
64
+ storeLatestCheckpoint(mailbox: string, overrides?: Overrides & {
65
+ from?: string | Promise<string>;
66
+ }): Promise<ContractTransaction>;
67
+ storedCheckpoint(arg0: string, arg1: BytesLike, overrides?: CallOverrides): Promise<[number]>;
68
+ };
69
+ isFraudulentMessageId(checkpoint: CheckpointStruct, proof: BytesLike[], actualMessageId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
70
+ isFraudulentRoot(checkpoint: CheckpointStruct, proof: BytesLike[], overrides?: CallOverrides): Promise<boolean>;
71
+ isPremature(checkpoint: CheckpointStruct, overrides?: CallOverrides): Promise<boolean>;
72
+ storeLatestCheckpoint(mailbox: string, overrides?: Overrides & {
73
+ from?: string | Promise<string>;
74
+ }): Promise<ContractTransaction>;
75
+ storedCheckpoint(arg0: string, arg1: BytesLike, overrides?: CallOverrides): Promise<number>;
76
+ callStatic: {
77
+ isFraudulentMessageId(checkpoint: CheckpointStruct, proof: BytesLike[], actualMessageId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
78
+ isFraudulentRoot(checkpoint: CheckpointStruct, proof: BytesLike[], overrides?: CallOverrides): Promise<boolean>;
79
+ isPremature(checkpoint: CheckpointStruct, overrides?: CallOverrides): Promise<boolean>;
80
+ storeLatestCheckpoint(mailbox: string, overrides?: CallOverrides): Promise<void>;
81
+ storedCheckpoint(arg0: string, arg1: BytesLike, overrides?: CallOverrides): Promise<number>;
82
+ };
83
+ filters: {};
84
+ estimateGas: {
85
+ isFraudulentMessageId(checkpoint: CheckpointStruct, proof: BytesLike[], actualMessageId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
86
+ isFraudulentRoot(checkpoint: CheckpointStruct, proof: BytesLike[], overrides?: CallOverrides): Promise<BigNumber>;
87
+ isPremature(checkpoint: CheckpointStruct, overrides?: CallOverrides): Promise<BigNumber>;
88
+ storeLatestCheckpoint(mailbox: string, overrides?: Overrides & {
89
+ from?: string | Promise<string>;
90
+ }): Promise<BigNumber>;
91
+ storedCheckpoint(arg0: string, arg1: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
92
+ };
93
+ populateTransaction: {
94
+ isFraudulentMessageId(checkpoint: CheckpointStruct, proof: BytesLike[], actualMessageId: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
95
+ isFraudulentRoot(checkpoint: CheckpointStruct, proof: BytesLike[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
96
+ isPremature(checkpoint: CheckpointStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>;
97
+ storeLatestCheckpoint(mailbox: string, overrides?: Overrides & {
98
+ from?: string | Promise<string>;
99
+ }): Promise<PopulatedTransaction>;
100
+ storedCheckpoint(arg0: string, arg1: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
101
+ };
102
+ }
103
+ //# sourceMappingURL=CheckpointFraudProofs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckpointFraudProofs.d.ts","sourceRoot":"","sources":["../../types/contracts/CheckpointFraudProofs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=CheckpointFraudProofs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckpointFraudProofs.js","sourceRoot":"","sources":["../../types/contracts/CheckpointFraudProofs.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
@@ -0,0 +1,3 @@
1
+ import type * as interfaces from "./interfaces";
2
+ export type { interfaces };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../types/contracts/hooks/ERC5164/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,UAAU,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../types/contracts/hooks/ERC5164/index.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
@@ -0,0 +1,72 @@
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../../common";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
+ export interface IMessageDispatcherInterface extends utils.Interface {
6
+ functions: {
7
+ "dispatchMessage(uint256,address,bytes)": FunctionFragment;
8
+ };
9
+ getFunction(nameOrSignatureOrTopic: "dispatchMessage"): FunctionFragment;
10
+ encodeFunctionData(functionFragment: "dispatchMessage", values: [BigNumberish, string, BytesLike]): string;
11
+ decodeFunctionResult(functionFragment: "dispatchMessage", data: BytesLike): Result;
12
+ events: {
13
+ "MessageDispatched(bytes32,address,uint256,address,bytes)": EventFragment;
14
+ };
15
+ getEvent(nameOrSignatureOrTopic: "MessageDispatched"): EventFragment;
16
+ }
17
+ export interface MessageDispatchedEventObject {
18
+ messageId: string;
19
+ from: string;
20
+ toChainId: BigNumber;
21
+ to: string;
22
+ data: string;
23
+ }
24
+ export declare type MessageDispatchedEvent = TypedEvent<[
25
+ string,
26
+ string,
27
+ BigNumber,
28
+ string,
29
+ string
30
+ ], MessageDispatchedEventObject>;
31
+ export declare type MessageDispatchedEventFilter = TypedEventFilter<MessageDispatchedEvent>;
32
+ export interface IMessageDispatcher extends BaseContract {
33
+ connect(signerOrProvider: Signer | Provider | string): this;
34
+ attach(addressOrName: string): this;
35
+ deployed(): Promise<this>;
36
+ interface: IMessageDispatcherInterface;
37
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
38
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
39
+ listeners(eventName?: string): Array<Listener>;
40
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
41
+ removeAllListeners(eventName?: string): this;
42
+ off: OnEvent<this>;
43
+ on: OnEvent<this>;
44
+ once: OnEvent<this>;
45
+ removeListener: OnEvent<this>;
46
+ functions: {
47
+ dispatchMessage(toChainId: BigNumberish, to: string, data: BytesLike, overrides?: Overrides & {
48
+ from?: string | Promise<string>;
49
+ }): Promise<ContractTransaction>;
50
+ };
51
+ dispatchMessage(toChainId: BigNumberish, to: string, data: BytesLike, overrides?: Overrides & {
52
+ from?: string | Promise<string>;
53
+ }): Promise<ContractTransaction>;
54
+ callStatic: {
55
+ dispatchMessage(toChainId: BigNumberish, to: string, data: BytesLike, overrides?: CallOverrides): Promise<string>;
56
+ };
57
+ filters: {
58
+ "MessageDispatched(bytes32,address,uint256,address,bytes)"(messageId?: BytesLike | null, from?: string | null, toChainId?: BigNumberish | null, to?: null, data?: null): MessageDispatchedEventFilter;
59
+ MessageDispatched(messageId?: BytesLike | null, from?: string | null, toChainId?: BigNumberish | null, to?: null, data?: null): MessageDispatchedEventFilter;
60
+ };
61
+ estimateGas: {
62
+ dispatchMessage(toChainId: BigNumberish, to: string, data: BytesLike, overrides?: Overrides & {
63
+ from?: string | Promise<string>;
64
+ }): Promise<BigNumber>;
65
+ };
66
+ populateTransaction: {
67
+ dispatchMessage(toChainId: BigNumberish, to: string, data: BytesLike, overrides?: Overrides & {
68
+ from?: string | Promise<string>;
69
+ }): Promise<PopulatedTransaction>;
70
+ };
71
+ }
72
+ //# sourceMappingURL=IMessageDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageDispatcher.d.ts","sourceRoot":"","sources":["../../../../../types/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=IMessageDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageDispatcher.js","sourceRoot":"","sources":["../../../../../types/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.ts"],"names":[],"mappings":";AAAA,+CAA+C"}