@hyperlane-xyz/core 5.6.1 → 5.7.0

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 (422) hide show
  1. package/contracts/Mailbox.sol +2 -1
  2. package/contracts/PackageVersioned.sol +1 -1
  3. package/contracts/client/MailboxClient.sol +20 -1
  4. package/contracts/hooks/ArbL2ToL1Hook.sol +23 -12
  5. package/contracts/hooks/OPL2ToL1Hook.sol +23 -12
  6. package/contracts/hooks/OPStackHook.sol +9 -6
  7. package/contracts/hooks/PolygonPosHook.sol +10 -3
  8. package/contracts/hooks/ProtocolFee.sol +5 -0
  9. package/contracts/hooks/aggregation/ERC5164Hook.sol +13 -3
  10. package/contracts/hooks/layer-zero/LayerZeroV2Hook.sol +11 -3
  11. package/contracts/hooks/libs/AbstractMessageIdAuthHook.sol +22 -8
  12. package/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.sol +14 -7
  13. package/contracts/isms/hook/ArbL2ToL1Ism.sol +10 -3
  14. package/contracts/isms/hook/ERC5164Ism.sol +1 -1
  15. package/contracts/isms/hook/OPStackIsm.sol +1 -1
  16. package/contracts/isms/hook/PolygonPosIsm.sol +1 -1
  17. package/contracts/isms/hook/layer-zero/LayerZeroV2Ism.sol +16 -5
  18. package/contracts/libs/OPL2ToL1Metadata.sol +5 -5
  19. package/contracts/middleware/InterchainAccountRouter.sol +27 -7
  20. package/contracts/mock/MockMailbox.sol +2 -2
  21. package/contracts/test/TestPostDispatchHook.sol +5 -4
  22. package/dist/buildArtifact.js +1 -1
  23. package/dist/buildArtifact.json +1 -1
  24. package/dist/contracts/client/GasRouter.d.ts +20 -0
  25. package/dist/contracts/client/GasRouter.d.ts.map +1 -1
  26. package/dist/contracts/client/MailboxClient.d.ts +20 -0
  27. package/dist/contracts/client/MailboxClient.d.ts.map +1 -1
  28. package/dist/contracts/client/Router.d.ts +20 -0
  29. package/dist/contracts/client/Router.d.ts.map +1 -1
  30. package/dist/contracts/hooks/ArbL2ToL1Hook.d.ts +36 -16
  31. package/dist/contracts/hooks/ArbL2ToL1Hook.d.ts.map +1 -1
  32. package/dist/contracts/hooks/MerkleTreeHook.d.ts +20 -0
  33. package/dist/contracts/hooks/MerkleTreeHook.d.ts.map +1 -1
  34. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts +51 -16
  35. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts.map +1 -1
  36. package/dist/contracts/hooks/OPStackHook.d.ts +20 -0
  37. package/dist/contracts/hooks/OPStackHook.d.ts.map +1 -1
  38. package/dist/contracts/hooks/PolygonPosHook.d.ts +20 -0
  39. package/dist/contracts/hooks/PolygonPosHook.d.ts.map +1 -1
  40. package/dist/contracts/hooks/ProtocolFee.d.ts +24 -0
  41. package/dist/contracts/hooks/ProtocolFee.d.ts.map +1 -1
  42. package/dist/contracts/hooks/aggregation/ERC5164Hook.d.ts +20 -0
  43. package/dist/contracts/hooks/aggregation/ERC5164Hook.d.ts.map +1 -1
  44. package/dist/contracts/hooks/layer-zero/LayerZeroV1Hook.d.ts +20 -0
  45. package/dist/contracts/hooks/layer-zero/LayerZeroV1Hook.d.ts.map +1 -1
  46. package/dist/contracts/hooks/layer-zero/LayerZeroV2Hook.d.ts +20 -0
  47. package/dist/contracts/hooks/layer-zero/LayerZeroV2Hook.d.ts.map +1 -1
  48. package/dist/contracts/hooks/libs/AbstractMessageIdAuthHook.d.ts +20 -0
  49. package/dist/contracts/hooks/libs/AbstractMessageIdAuthHook.d.ts.map +1 -1
  50. package/dist/contracts/hooks/routing/DestinationRecipientRoutingHook.d.ts +20 -0
  51. package/dist/contracts/hooks/routing/DestinationRecipientRoutingHook.d.ts.map +1 -1
  52. package/dist/contracts/hooks/routing/DomainRoutingHook.d.ts +20 -0
  53. package/dist/contracts/hooks/routing/DomainRoutingHook.d.ts.map +1 -1
  54. package/dist/contracts/hooks/routing/FallbackDomainRoutingHook.d.ts +20 -0
  55. package/dist/contracts/hooks/routing/FallbackDomainRoutingHook.d.ts.map +1 -1
  56. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +20 -0
  57. package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
  58. package/dist/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.d.ts +40 -38
  59. package/dist/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.d.ts.map +1 -1
  60. package/dist/contracts/isms/hook/ArbL2ToL1Ism.d.ts +40 -38
  61. package/dist/contracts/isms/hook/ArbL2ToL1Ism.d.ts.map +1 -1
  62. package/dist/contracts/isms/hook/ERC5164Ism.d.ts +40 -38
  63. package/dist/contracts/isms/hook/ERC5164Ism.d.ts.map +1 -1
  64. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts +40 -38
  65. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts.map +1 -1
  66. package/dist/contracts/isms/hook/OPStackIsm.d.ts +40 -38
  67. package/dist/contracts/isms/hook/OPStackIsm.d.ts.map +1 -1
  68. package/dist/contracts/isms/hook/PolygonPosIsm.d.ts +39 -37
  69. package/dist/contracts/isms/hook/PolygonPosIsm.d.ts.map +1 -1
  70. package/dist/contracts/isms/hook/layer-zero/LayerZeroV2Ism.d.ts +39 -37
  71. package/dist/contracts/isms/hook/layer-zero/LayerZeroV2Ism.d.ts.map +1 -1
  72. package/dist/contracts/isms/multisig/ValidatorAnnounce.d.ts +20 -0
  73. package/dist/contracts/isms/multisig/ValidatorAnnounce.d.ts.map +1 -1
  74. package/dist/contracts/isms/routing/DefaultFallbackRoutingIsm.d.ts +20 -0
  75. package/dist/contracts/isms/routing/DefaultFallbackRoutingIsm.d.ts.map +1 -1
  76. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts +20 -0
  77. package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts.map +1 -1
  78. package/dist/contracts/middleware/InterchainAccountRouter.d.ts +20 -0
  79. package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
  80. package/dist/contracts/middleware/InterchainQueryRouter.d.ts +20 -0
  81. package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
  82. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +20 -0
  83. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
  84. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +20 -0
  85. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
  86. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +20 -0
  87. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +1 -1
  88. package/dist/contracts/mock/MockMailbox.d.ts +8 -8
  89. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
  90. package/dist/contracts/test/TestGasRouter.d.ts +20 -0
  91. package/dist/contracts/test/TestGasRouter.d.ts.map +1 -1
  92. package/dist/contracts/test/TestMerkleTreeHook.d.ts +20 -0
  93. package/dist/contracts/test/TestMerkleTreeHook.d.ts.map +1 -1
  94. package/dist/contracts/test/TestRouter.d.ts +20 -0
  95. package/dist/contracts/test/TestRouter.d.ts.map +1 -1
  96. package/dist/contracts/token/HypERC20.d.ts +20 -0
  97. package/dist/contracts/token/HypERC20.d.ts.map +1 -1
  98. package/dist/contracts/token/HypERC20Collateral.d.ts +20 -0
  99. package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
  100. package/dist/contracts/token/HypERC721.d.ts +20 -0
  101. package/dist/contracts/token/HypERC721.d.ts.map +1 -1
  102. package/dist/contracts/token/HypERC721Collateral.d.ts +20 -0
  103. package/dist/contracts/token/HypERC721Collateral.d.ts.map +1 -1
  104. package/dist/contracts/token/HypNative.d.ts +20 -0
  105. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  106. package/dist/contracts/token/extensions/FastHypERC20.d.ts +20 -0
  107. package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
  108. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +20 -0
  109. package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
  110. package/dist/contracts/token/extensions/HypERC4626.d.ts +20 -0
  111. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
  112. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +20 -0
  113. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
  114. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +20 -0
  115. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
  116. package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts +20 -0
  117. package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts.map +1 -1
  118. package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts +20 -0
  119. package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts.map +1 -1
  120. package/dist/contracts/token/extensions/HypFiatToken.d.ts +20 -0
  121. package/dist/contracts/token/extensions/HypFiatToken.d.ts.map +1 -1
  122. package/dist/contracts/token/extensions/HypNativeScaled.d.ts +20 -0
  123. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
  124. package/dist/contracts/token/extensions/HypXERC20.d.ts +20 -0
  125. package/dist/contracts/token/extensions/HypXERC20.d.ts.map +1 -1
  126. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts +20 -0
  127. package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts.map +1 -1
  128. package/dist/contracts/token/libs/FastTokenRouter.d.ts +20 -0
  129. package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
  130. package/dist/contracts/token/libs/TokenRouter.d.ts +20 -0
  131. package/dist/contracts/token/libs/TokenRouter.d.ts.map +1 -1
  132. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  133. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  134. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  135. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  136. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  137. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  138. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  139. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  140. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  141. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  142. package/dist/factories/contracts/client/GasRouter__factory.d.ts +20 -0
  143. package/dist/factories/contracts/client/GasRouter__factory.d.ts.map +1 -1
  144. package/dist/factories/contracts/client/GasRouter__factory.js +26 -0
  145. package/dist/factories/contracts/client/GasRouter__factory.js.map +1 -1
  146. package/dist/factories/contracts/client/MailboxClient__factory.d.ts +20 -0
  147. package/dist/factories/contracts/client/MailboxClient__factory.d.ts.map +1 -1
  148. package/dist/factories/contracts/client/MailboxClient__factory.js +26 -0
  149. package/dist/factories/contracts/client/MailboxClient__factory.js.map +1 -1
  150. package/dist/factories/contracts/client/Router__factory.d.ts +20 -0
  151. package/dist/factories/contracts/client/Router__factory.d.ts.map +1 -1
  152. package/dist/factories/contracts/client/Router__factory.js +26 -0
  153. package/dist/factories/contracts/client/Router__factory.js.map +1 -1
  154. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +34 -14
  155. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts.map +1 -1
  156. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +42 -16
  157. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js.map +1 -1
  158. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +21 -1
  159. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts.map +1 -1
  160. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +27 -1
  161. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js.map +1 -1
  162. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +37 -7
  163. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts.map +1 -1
  164. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +48 -9
  165. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js.map +1 -1
  166. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +21 -1
  167. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts.map +1 -1
  168. package/dist/factories/contracts/hooks/OPStackHook__factory.js +27 -1
  169. package/dist/factories/contracts/hooks/OPStackHook__factory.js.map +1 -1
  170. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  171. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  172. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +21 -1
  173. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts.map +1 -1
  174. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +27 -1
  175. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js.map +1 -1
  176. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +21 -1
  177. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts.map +1 -1
  178. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +27 -1
  179. package/dist/factories/contracts/hooks/ProtocolFee__factory.js.map +1 -1
  180. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +21 -1
  181. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts.map +1 -1
  182. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +27 -1
  183. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js.map +1 -1
  184. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  185. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  186. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  187. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  188. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  189. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  190. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  191. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  192. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +21 -1
  193. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts.map +1 -1
  194. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +27 -1
  195. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js.map +1 -1
  196. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +21 -1
  197. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts.map +1 -1
  198. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +27 -1
  199. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js.map +1 -1
  200. package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.d.ts +20 -0
  201. package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.d.ts.map +1 -1
  202. package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.js +26 -0
  203. package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.js.map +1 -1
  204. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +21 -1
  205. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts.map +1 -1
  206. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +27 -1
  207. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js.map +1 -1
  208. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +21 -1
  209. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts.map +1 -1
  210. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +27 -1
  211. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js.map +1 -1
  212. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +21 -1
  213. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts.map +1 -1
  214. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +27 -1
  215. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js.map +1 -1
  216. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +21 -1
  217. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
  218. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +27 -1
  219. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
  220. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  221. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  222. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  223. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  224. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  225. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  226. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  227. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  228. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  229. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  230. package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.d.ts +19 -10
  231. package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.d.ts.map +1 -1
  232. package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.js +24 -13
  233. package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.js.map +1 -1
  234. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +20 -11
  235. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
  236. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +25 -14
  237. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
  238. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +20 -11
  239. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts.map +1 -1
  240. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +25 -14
  241. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js.map +1 -1
  242. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +20 -11
  243. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -1
  244. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +25 -14
  245. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -1
  246. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +20 -11
  247. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts.map +1 -1
  248. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +25 -14
  249. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js.map +1 -1
  250. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +20 -11
  251. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts.map +1 -1
  252. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +25 -14
  253. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js.map +1 -1
  254. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +20 -11
  255. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts.map +1 -1
  256. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +25 -14
  257. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js.map +1 -1
  258. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  259. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  260. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  261. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  262. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  263. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  264. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  265. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  266. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +21 -1
  267. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts.map +1 -1
  268. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +27 -1
  269. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js.map +1 -1
  270. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  271. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  272. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  273. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  274. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  275. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  276. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  277. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  278. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +21 -1
  279. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts.map +1 -1
  280. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +27 -1
  281. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js.map +1 -1
  282. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  283. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  284. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  285. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  286. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  287. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  288. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +21 -1
  289. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts.map +1 -1
  290. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +27 -1
  291. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js.map +1 -1
  292. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +21 -1
  293. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  294. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +27 -1
  295. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  296. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +21 -1
  297. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  298. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +27 -1
  299. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  300. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +21 -1
  301. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
  302. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +27 -1
  303. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
  304. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +21 -1
  305. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
  306. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +27 -1
  307. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
  308. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +21 -1
  309. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
  310. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +27 -1
  311. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
  312. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  313. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  314. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  315. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  316. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +2 -2
  317. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
  318. package/dist/factories/contracts/mock/MockMailbox__factory.js +2 -2
  319. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
  320. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +21 -1
  321. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
  322. package/dist/factories/contracts/test/TestGasRouter__factory.js +27 -1
  323. package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
  324. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  325. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  326. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  327. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  328. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +21 -1
  329. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts.map +1 -1
  330. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +27 -1
  331. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js.map +1 -1
  332. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  333. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  334. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  335. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  336. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  337. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  338. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  339. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  340. package/dist/factories/contracts/test/TestRouter__factory.d.ts +21 -1
  341. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  342. package/dist/factories/contracts/test/TestRouter__factory.js +27 -1
  343. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  344. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  345. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  346. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  347. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  348. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +21 -1
  349. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  350. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +27 -1
  351. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  352. package/dist/factories/contracts/token/HypERC20__factory.d.ts +21 -1
  353. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  354. package/dist/factories/contracts/token/HypERC20__factory.js +27 -1
  355. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  356. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +21 -1
  357. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  358. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +27 -1
  359. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  360. package/dist/factories/contracts/token/HypERC721__factory.d.ts +21 -1
  361. package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
  362. package/dist/factories/contracts/token/HypERC721__factory.js +27 -1
  363. package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
  364. package/dist/factories/contracts/token/HypNative__factory.d.ts +21 -1
  365. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  366. package/dist/factories/contracts/token/HypNative__factory.js +27 -1
  367. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  368. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +21 -1
  369. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  370. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +27 -1
  371. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  372. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +21 -1
  373. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  374. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +27 -1
  375. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  376. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +21 -1
  377. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
  378. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +27 -1
  379. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
  380. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +21 -1
  381. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
  382. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +27 -1
  383. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
  384. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +21 -1
  385. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
  386. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +27 -1
  387. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
  388. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +21 -1
  389. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  390. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +27 -1
  391. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  392. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +21 -1
  393. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
  394. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +27 -1
  395. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
  396. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +21 -1
  397. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
  398. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +27 -1
  399. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
  400. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +21 -1
  401. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  402. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +27 -1
  403. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  404. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +21 -1
  405. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
  406. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +27 -1
  407. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
  408. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +21 -1
  409. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
  410. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +27 -1
  411. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
  412. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
  413. package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
  414. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +20 -0
  415. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
  416. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +26 -0
  417. package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
  418. package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts +20 -0
  419. package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts.map +1 -1
  420. package/dist/factories/contracts/token/libs/TokenRouter__factory.js +26 -0
  421. package/dist/factories/contracts/token/libs/TokenRouter__factory.js.map +1 -1
  422. package/package.json +2 -2
@@ -57,7 +57,7 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
57
57
  /**
58
58
  * @notice Entry point for receiving msg/packet from the LayerZero endpoint.
59
59
  * @param _lzMessage The payload of the received message.
60
- * @dev Authorization verification is done within verifyMessageId() -> _isAuthorized()
60
+ * @dev Authorization verification is done within preVerifyMessage() -> _isAuthorized()
61
61
  */
62
62
  function lzReceive(
63
63
  Origin calldata,
@@ -66,25 +66,36 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
66
66
  address,
67
67
  bytes calldata
68
68
  ) external payable {
69
- verifyMessageId(_messageId(_lzMessage));
69
+ preVerifyMessage(_messageId(_lzMessage), _msgValue(_lzMessage));
70
70
  }
71
71
 
72
72
  // ============ Internal function ============
73
73
 
74
74
  /**
75
75
  * @notice Slices the messageId from the message delivered from LayerZeroV2Hook
76
- * @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.verifyMessageId, id)
76
+ * @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.preVerifyMessage, id)
77
77
  * @dev _message will be 36 bytes (4 bytes for function selector, and 32 bytes for messageId)
78
78
  */
79
79
  function _messageId(
80
80
  bytes calldata _message
81
81
  ) internal pure returns (bytes32) {
82
- return bytes32(_message[FUNC_SELECTOR_OFFSET:]);
82
+ return bytes32(_message[FUNC_SELECTOR_OFFSET:ORIGIN_SENDER_OFFSET]);
83
+ }
84
+
85
+ /**
86
+ * @notice Slices the msgValue from the message delivered from LayerZeroV2Hook
87
+ * @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.preVerifyMessage, (id,msgValue))
88
+ * @dev _message will be 68 bytes (4 bytes for function selector, and 32 bytes for messageId, another 32 for msgValue)
89
+ */
90
+ function _msgValue(
91
+ bytes calldata _message
92
+ ) internal pure returns (uint256) {
93
+ return uint256(bytes32(_message[ORIGIN_SENDER_OFFSET:]));
83
94
  }
84
95
 
85
96
  /**
86
97
  * @notice Validates criteria to verify a message
87
- * @dev this is called by AbstractMessageIdAuthorizedIsm.verifyMessageId
98
+ * @dev this is called by AbstractMessageIdAuthorizedIsm.preVerifyMessage
88
99
  * @dev parses msg.value to get parameters from lzReceive()
89
100
  */
90
101
  function _isAuthorized() internal view override returns (bool) {
@@ -7,7 +7,7 @@ pragma solidity >=0.8.0;
7
7
  */
8
8
  library OPL2ToL1Metadata {
9
9
  // bottom offset to the start of message id in the metadata
10
- uint256 private constant MESSAGE_ID_OFFSET = 88;
10
+ uint256 private constant MESSAGE_ID_OFFSET = 120;
11
11
  // from IOptimismPortal.WithdrawalTransaction
12
12
  // Σ {
13
13
  // nonce = 32 bytes
@@ -20,7 +20,7 @@ library OPL2ToL1Metadata {
20
20
  // LENGTH = 32 bytes
21
21
  // } = 252 bytes
22
22
  uint256 private constant FIXED_METADATA_LENGTH = 252;
23
- // metadata here is double encoded call relayMessage(..., verifyMessageId)
23
+ // metadata here is double encoded call relayMessage(..., preVerifyMessage)
24
24
  // Σ {
25
25
  // _selector = 4 bytes
26
26
  // _nonce = 32 bytes
@@ -31,9 +31,9 @@ library OPL2ToL1Metadata {
31
31
  // _data
32
32
  // OFFSET = 32 bytes
33
33
  // LENGTH = 32 bytes
34
- // PADDING + verifyMessageId = 64 bytes
35
- // } = 292 bytes
36
- uint256 private constant MESSENGER_CALLDATA_LENGTH = 292;
34
+ // PADDING + preVerifyMessage = 96 bytes
35
+ // } = 324 bytes
36
+ uint256 private constant MESSENGER_CALLDATA_LENGTH = 324;
37
37
 
38
38
  /**
39
39
  * @notice Returns the message ID.
@@ -22,6 +22,7 @@ import {TypeCasts} from "../libs/TypeCasts.sol";
22
22
  import {StandardHookMetadata} from "../hooks/libs/StandardHookMetadata.sol";
23
23
  import {EnumerableMapExtended} from "../libs/EnumerableMapExtended.sol";
24
24
  import {Router} from "../client/Router.sol";
25
+ import {IPostDispatchHook} from "../interfaces/hooks/IPostDispatchHook.sol";
25
26
 
26
27
  // ============ External Imports ============
27
28
  import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
@@ -160,6 +161,12 @@ contract InterchainAccountRouter is Router {
160
161
  }
161
162
  }
162
163
 
164
+ function setHook(
165
+ address _hook
166
+ ) public override onlyContractOrNull(_hook) onlyOwner {
167
+ hook = IPostDispatchHook(_hook);
168
+ }
169
+
163
170
  // ============ External Functions ============
164
171
  /**
165
172
  * @notice Dispatches a single remote call to be made by an owner's
@@ -600,7 +607,14 @@ contract InterchainAccountRouter is Router {
600
607
  ) private returns (bytes32) {
601
608
  require(_router != bytes32(0), "no router specified for destination");
602
609
  emit RemoteCallDispatched(_destination, msg.sender, _router, _ism);
603
- return mailbox.dispatch{value: msg.value}(_destination, _router, _body);
610
+ return
611
+ mailbox.dispatch{value: msg.value}(
612
+ _destination,
613
+ _router,
614
+ _body,
615
+ new bytes(0),
616
+ hook
617
+ );
604
618
  }
605
619
 
606
620
  /**
@@ -625,7 +639,8 @@ contract InterchainAccountRouter is Router {
625
639
  _destination,
626
640
  _router,
627
641
  _body,
628
- _hookMetadata
642
+ _hookMetadata,
643
+ hook
629
644
  );
630
645
  }
631
646
 
@@ -665,7 +680,13 @@ contract InterchainAccountRouter is Router {
665
680
  function quoteGasPayment(
666
681
  uint32 _destination
667
682
  ) external view returns (uint256 _gasPayment) {
668
- return _quoteDispatch(_destination, "");
683
+ return
684
+ _Router_quoteDispatch(
685
+ _destination,
686
+ new bytes(0),
687
+ new bytes(0),
688
+ address(hook)
689
+ );
669
690
  }
670
691
 
671
692
  /**
@@ -679,13 +700,12 @@ contract InterchainAccountRouter is Router {
679
700
  bytes calldata _messageBody,
680
701
  uint256 gasLimit
681
702
  ) external view returns (uint256 _gasPayment) {
682
- bytes32 _router = _mustHaveRemoteRouter(_destination);
683
703
  return
684
- mailbox.quoteDispatch(
704
+ _Router_quoteDispatch(
685
705
  _destination,
686
- _router,
687
706
  _messageBody,
688
- StandardHookMetadata.overrideGasLimit(gasLimit)
707
+ StandardHookMetadata.overrideGasLimit(gasLimit),
708
+ address(hook)
689
709
  );
690
710
  }
691
711
  }
@@ -78,8 +78,8 @@ contract MockMailbox is Mailbox {
78
78
  inboundProcessedNonce++;
79
79
  }
80
80
 
81
- function processInboundMessage(uint32 _nonce) public {
81
+ function processInboundMessage(uint32 _nonce) public payable {
82
82
  bytes memory _message = inboundMessages[_nonce];
83
- Mailbox(address(this)).process("", _message);
83
+ Mailbox(address(this)).process{value: msg.value}("", _message);
84
84
  }
85
85
  }
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: MIT OR Apache-2.0
2
2
  pragma solidity >=0.8.0;
3
+
3
4
  import {Message} from "../libs/Message.sol";
4
5
 
5
6
  import {IPostDispatchHook} from "../interfaces/hooks/IPostDispatchHook.sol";
@@ -35,15 +36,15 @@ contract TestPostDispatchHook is AbstractPostDispatchHook {
35
36
 
36
37
  // ============ Internal functions ============
37
38
  function _postDispatch(
38
- bytes calldata /*metadata*/,
39
- bytes calldata message
39
+ bytes calldata,
40
+ /*metadata*/ bytes calldata message
40
41
  ) internal override {
41
42
  messageDispatched[message.id()] = true;
42
43
  }
43
44
 
44
45
  function _quoteDispatch(
45
- bytes calldata /*metadata*/,
46
- bytes calldata /*message*/
46
+ bytes calldata,
47
+ /*metadata*/ bytes calldata /*message*/
47
48
  ) internal view override returns (uint256) {
48
49
  return fee;
49
50
  }