@hyperlane-xyz/core 0.5.5 → 1.0.0-beta1

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 (723) hide show
  1. package/contracts/{AbacusConnectionClient.sol → HyperlaneConnectionClient.sol} +71 -58
  2. package/contracts/InterchainGasPaymaster.sol +20 -13
  3. package/contracts/Mailbox.sol +244 -44
  4. package/contracts/PausableReentrancyGuard.sol +69 -0
  5. package/contracts/Router.sol +49 -52
  6. package/contracts/isms/MultisigIsm.sol +373 -0
  7. package/contracts/libs/Message.sol +107 -66
  8. package/contracts/libs/MultisigIsmMetadata.sol +185 -0
  9. package/contracts/middleware/InterchainAccountRouter.sol +13 -12
  10. package/contracts/middleware/InterchainQueryRouter.sol +17 -16
  11. package/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol +21 -14
  12. package/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol +0 -4
  13. package/contracts/mock/MockHyperlaneEnvironment.sol +24 -48
  14. package/contracts/mock/MockInterchainAccountRouter.sol +4 -4
  15. package/contracts/mock/MockMailbox.sol +79 -0
  16. package/contracts/test/TestHyperlaneConnectionClient.sol +14 -0
  17. package/contracts/test/TestIsm.sol +20 -0
  18. package/contracts/test/TestLiquidityLayerMessageRecipient.sol +1 -1
  19. package/contracts/test/TestMailbox.sol +34 -4
  20. package/contracts/test/TestMerkle.sol +9 -4
  21. package/contracts/test/TestMessage.sol +24 -12
  22. package/contracts/test/TestMultisigIsm.sol +23 -0
  23. package/contracts/test/TestRouter.sol +14 -6
  24. package/contracts/test/TestSendReceiver.sol +22 -16
  25. package/contracts/test/TestTokenRecipient.sol +1 -1
  26. package/contracts/upgrade/ProxyAdmin.sol +6 -0
  27. package/contracts/upgrade/TransparentUpgradeableProxy.sol +6 -0
  28. package/dist/@openzeppelin/contracts/index.d.ts +4 -0
  29. package/dist/@openzeppelin/contracts/index.d.ts.map +1 -1
  30. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts +43 -0
  31. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.d.ts.map +1 -0
  32. package/dist/{contracts/MerkleTreeManager.js → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js} +1 -1
  33. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.js.map +1 -0
  34. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  35. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  36. package/dist/@openzeppelin/{contracts-upgradeable/security → contracts/interfaces/draft-IERC1822.sol}/index.js +0 -0
  37. package/dist/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  38. package/dist/@openzeppelin/contracts/interfaces/index.d.ts +3 -0
  39. package/dist/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  40. package/dist/{contracts/middleware/token-bridge → @openzeppelin/contracts/interfaces}/index.js +0 -0
  41. package/dist/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  42. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +64 -0
  43. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts.map +1 -0
  44. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.js +4 -0
  45. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.js.map +1 -0
  46. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.d.ts +64 -0
  47. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.d.ts.map +1 -0
  48. package/dist/{contracts/middleware/liquidity-layer/adapters/PortalAdapter.js → @openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.js} +1 -1
  49. package/dist/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.js.map +1 -0
  50. package/dist/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +3 -0
  51. package/dist/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  52. package/dist/{contracts/middleware/liquidity-layer/interfaces/portal → @openzeppelin/contracts/proxy/ERC1967}/index.js +0 -0
  53. package/dist/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  54. package/dist/{contracts/upgrade/UpgradeBeaconProxy.d.ts → @openzeppelin/contracts/proxy/Proxy.d.ts} +5 -5
  55. package/dist/@openzeppelin/contracts/proxy/Proxy.d.ts.map +1 -0
  56. package/dist/{contracts/Inbox.js → @openzeppelin/contracts/proxy/Proxy.js} +1 -1
  57. package/dist/@openzeppelin/contracts/proxy/Proxy.js.map +1 -0
  58. package/dist/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +43 -0
  59. package/dist/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts.map +1 -0
  60. package/dist/{contracts/Outbox.js → @openzeppelin/contracts/proxy/beacon/IBeacon.js} +1 -1
  61. package/dist/@openzeppelin/contracts/proxy/beacon/IBeacon.js.map +1 -0
  62. package/dist/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  63. package/dist/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  64. package/dist/{contracts/middleware/token-bridge/adapters → @openzeppelin/contracts/proxy/beacon}/index.js +0 -0
  65. package/dist/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  66. package/dist/@openzeppelin/contracts/proxy/index.d.ts +8 -0
  67. package/dist/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  68. package/dist/{contracts/middleware/token-bridge/interfaces → @openzeppelin/contracts/proxy}/index.js +0 -0
  69. package/dist/@openzeppelin/contracts/proxy/index.js.map +1 -0
  70. package/dist/{contracts/upgrade/UpgradeBeaconController.d.ts → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts} +60 -25
  71. package/dist/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts.map +1 -0
  72. package/dist/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.js +4 -0
  73. package/dist/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.js.map +1 -0
  74. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.d.ts +150 -0
  75. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.d.ts.map +1 -0
  76. package/dist/@openzeppelin/{contracts-upgradeable/security/ReentrancyGuardUpgradeable.js → contracts/proxy/transparent/TransparentUpgradeableProxy.js} +1 -1
  77. package/dist/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.js.map +1 -0
  78. package/dist/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  79. package/dist/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
  80. package/dist/{contracts/middleware/token-bridge/interfaces/circle → @openzeppelin/contracts/proxy/transparent}/index.js +0 -0
  81. package/dist/@openzeppelin/contracts/proxy/transparent/index.js.map +1 -0
  82. package/dist/@openzeppelin/contracts-upgradeable/index.d.ts +0 -2
  83. package/dist/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -1
  84. package/dist/contracts/InterchainGasPaymaster.d.ts +15 -15
  85. package/dist/contracts/InterchainGasPaymaster.d.ts.map +1 -1
  86. package/dist/contracts/Mailbox.d.ts +237 -27
  87. package/dist/contracts/Mailbox.d.ts.map +1 -1
  88. package/dist/{@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.d.ts → contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable.d.ts} +5 -5
  89. package/dist/contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable.d.ts.map +1 -0
  90. package/dist/contracts/{AbacusConnectionClient.js → PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable.js} +1 -1
  91. package/dist/contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable.js.map +1 -0
  92. package/dist/contracts/PausableReentrancyGuard.sol/index.d.ts +2 -0
  93. package/dist/contracts/PausableReentrancyGuard.sol/index.d.ts.map +1 -0
  94. package/dist/contracts/{validator-manager → PausableReentrancyGuard.sol}/index.js +0 -0
  95. package/dist/contracts/PausableReentrancyGuard.sol/index.js.map +1 -0
  96. package/dist/contracts/Router.d.ts +81 -32
  97. package/dist/contracts/Router.d.ts.map +1 -1
  98. package/dist/contracts/index.d.ts +2 -7
  99. package/dist/contracts/index.d.ts.map +1 -1
  100. package/dist/contracts/isms/MultisigIsm.d.ts +63 -24
  101. package/dist/contracts/isms/MultisigIsm.d.ts.map +1 -1
  102. package/dist/contracts/middleware/InterchainAccountRouter.d.ts +88 -39
  103. package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
  104. package/dist/contracts/middleware/InterchainQueryRouter.d.ts +89 -40
  105. package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
  106. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +87 -38
  107. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
  108. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +81 -32
  109. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
  110. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts +0 -1
  111. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -1
  112. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts +0 -3
  113. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -1
  114. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts +25 -33
  115. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -1
  116. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts +2 -2
  117. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts.map +1 -1
  118. package/dist/contracts/mock/index.d.ts +0 -3
  119. package/dist/contracts/mock/index.d.ts.map +1 -1
  120. package/dist/contracts/test/TestMailbox.d.ts +250 -32
  121. package/dist/contracts/test/TestMailbox.d.ts.map +1 -1
  122. package/dist/contracts/test/TestMessage.d.ts +30 -10
  123. package/dist/contracts/test/TestMessage.d.ts.map +1 -1
  124. package/dist/contracts/test/TestMultisigIsm.d.ts +63 -24
  125. package/dist/contracts/test/TestMultisigIsm.d.ts.map +1 -1
  126. package/dist/contracts/test/TestRouter.d.ts +93 -44
  127. package/dist/contracts/test/TestRouter.d.ts.map +1 -1
  128. package/dist/contracts/test/TestSendReceiver.d.ts +14 -6
  129. package/dist/contracts/test/TestSendReceiver.d.ts.map +1 -1
  130. package/dist/contracts/test/index.d.ts +0 -8
  131. package/dist/contracts/test/index.d.ts.map +1 -1
  132. package/dist/contracts/upgrade/index.d.ts +0 -3
  133. package/dist/contracts/upgrade/index.d.ts.map +1 -1
  134. package/dist/factories/@openzeppelin/contracts/index.d.ts +2 -0
  135. package/dist/factories/@openzeppelin/contracts/index.d.ts.map +1 -1
  136. package/dist/factories/@openzeppelin/contracts/index.js +3 -1
  137. package/dist/factories/@openzeppelin/contracts/index.js.map +1 -1
  138. package/dist/factories/{interfaces/IMultisigValidatorManager__factory.d.ts → @openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts} +5 -5
  139. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.d.ts.map +1 -0
  140. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js +31 -0
  141. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.js.map +1 -0
  142. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts +2 -0
  143. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.d.ts.map +1 -0
  144. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js +9 -0
  145. package/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.js.map +1 -0
  146. package/dist/factories/@openzeppelin/contracts/interfaces/index.d.ts +2 -0
  147. package/dist/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -0
  148. package/dist/factories/{contracts/middleware/token-bridge → @openzeppelin/contracts/interfaces}/index.js +2 -5
  149. package/dist/factories/@openzeppelin/contracts/interfaces/index.js.map +1 -0
  150. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +48 -0
  151. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts.map +1 -0
  152. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js +110 -0
  153. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js.map +1 -0
  154. package/dist/factories/@openzeppelin/{contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.d.ts → contracts/proxy/ERC1967/ERC1967Upgrade__factory.d.ts} +5 -5
  155. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.d.ts.map +1 -0
  156. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.js +63 -0
  157. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.js.map +1 -0
  158. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +3 -0
  159. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts.map +1 -0
  160. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/index.js +11 -0
  161. package/dist/factories/@openzeppelin/contracts/proxy/ERC1967/index.js.map +1 -0
  162. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +12 -0
  163. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts.map +1 -0
  164. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.js +26 -0
  165. package/dist/factories/@openzeppelin/contracts/proxy/Proxy__factory.js.map +1 -0
  166. package/dist/factories/{contracts/test/MysteryMath__factory.d.ts → @openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts} +6 -10
  167. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts.map +1 -0
  168. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js +31 -0
  169. package/dist/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.js.map +1 -0
  170. package/dist/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +2 -0
  171. package/dist/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts.map +1 -0
  172. package/dist/factories/@openzeppelin/contracts/proxy/beacon/index.js +9 -0
  173. package/dist/factories/@openzeppelin/contracts/proxy/beacon/index.js.map +1 -0
  174. package/dist/factories/@openzeppelin/contracts/proxy/index.d.ts +5 -0
  175. package/dist/factories/@openzeppelin/contracts/proxy/index.d.ts.map +1 -0
  176. package/dist/factories/{contracts/middleware/token-bridge/interfaces → @openzeppelin/contracts/proxy}/index.js +6 -6
  177. package/dist/factories/@openzeppelin/contracts/proxy/index.js.map +1 -0
  178. package/dist/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +48 -0
  179. package/dist/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts.map +1 -0
  180. package/dist/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +190 -0
  181. package/dist/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js.map +1 -0
  182. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.d.ts +73 -0
  183. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.d.ts.map +1 -0
  184. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js +185 -0
  185. package/dist/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js.map +1 -0
  186. package/dist/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  187. package/dist/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts.map +1 -0
  188. package/dist/factories/@openzeppelin/contracts/proxy/transparent/index.js +11 -0
  189. package/dist/factories/@openzeppelin/contracts/proxy/transparent/index.js.map +1 -0
  190. package/dist/factories/@openzeppelin/contracts-upgradeable/index.d.ts +0 -1
  191. package/dist/factories/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -1
  192. package/dist/factories/@openzeppelin/contracts-upgradeable/index.js +1 -2
  193. package/dist/factories/@openzeppelin/contracts-upgradeable/index.js.map +1 -1
  194. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts +1 -1
  195. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts.map +1 -1
  196. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.js +1 -1
  197. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.js.map +1 -1
  198. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts +1 -1
  199. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +1 -1
  200. package/dist/factories/contracts/InterchainGasPaymaster__factory.js +19 -14
  201. package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +1 -1
  202. package/dist/factories/contracts/Mailbox__factory.d.ts +29 -13
  203. package/dist/factories/contracts/Mailbox__factory.d.ts.map +1 -1
  204. package/dist/factories/contracts/Mailbox__factory.js +327 -10
  205. package/dist/factories/contracts/Mailbox__factory.js.map +1 -1
  206. package/dist/factories/contracts/OwnableMulticall__factory.d.ts +1 -1
  207. package/dist/factories/contracts/OwnableMulticall__factory.d.ts.map +1 -1
  208. package/dist/factories/contracts/OwnableMulticall__factory.js +1 -1
  209. package/dist/factories/contracts/OwnableMulticall__factory.js.map +1 -1
  210. package/dist/factories/contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable__factory.d.ts +19 -0
  211. package/dist/factories/contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable__factory.d.ts.map +1 -0
  212. package/dist/factories/{@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.js → contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable__factory.js} +5 -5
  213. package/dist/factories/contracts/PausableReentrancyGuard.sol/PausableReentrancyGuardUpgradeable__factory.js.map +1 -0
  214. package/dist/factories/contracts/PausableReentrancyGuard.sol/index.d.ts +2 -0
  215. package/dist/factories/contracts/PausableReentrancyGuard.sol/index.d.ts.map +1 -0
  216. package/dist/factories/contracts/PausableReentrancyGuard.sol/index.js +9 -0
  217. package/dist/factories/contracts/PausableReentrancyGuard.sol/index.js.map +1 -0
  218. package/dist/factories/contracts/Router__factory.d.ts.map +1 -1
  219. package/dist/factories/contracts/Router__factory.js +83 -26
  220. package/dist/factories/contracts/Router__factory.js.map +1 -1
  221. package/dist/factories/contracts/index.d.ts +1 -6
  222. package/dist/factories/contracts/index.d.ts.map +1 -1
  223. package/dist/factories/contracts/index.js +2 -12
  224. package/dist/factories/contracts/index.js.map +1 -1
  225. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts +1 -1
  226. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts.map +1 -1
  227. package/dist/factories/contracts/isms/MultisigIsm__factory.js +62 -25
  228. package/dist/factories/contracts/isms/MultisigIsm__factory.js.map +1 -1
  229. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  230. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  231. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +95 -38
  232. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  233. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  234. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  235. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +96 -39
  236. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  237. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  238. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
  239. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +97 -34
  240. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
  241. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  242. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
  243. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +88 -31
  244. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
  245. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts +0 -1
  246. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -1
  247. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js +1 -3
  248. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -1
  249. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts +0 -2
  250. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -1
  251. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js +1 -4
  252. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -1
  253. package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts +1 -1
  254. package/dist/factories/contracts/mock/MockCircleBridge__factory.js +1 -1
  255. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts +1 -1
  256. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js +1 -1
  257. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  258. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  259. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +7 -26
  260. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  261. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts +1 -1
  262. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts.map +1 -1
  263. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js +5 -5
  264. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js.map +1 -1
  265. package/dist/factories/contracts/mock/MockToken__factory.d.ts +1 -1
  266. package/dist/factories/contracts/mock/MockToken__factory.d.ts.map +1 -1
  267. package/dist/factories/contracts/mock/MockToken__factory.js +1 -1
  268. package/dist/factories/contracts/mock/MockToken__factory.js.map +1 -1
  269. package/dist/factories/contracts/mock/index.d.ts +0 -3
  270. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  271. package/dist/factories/contracts/mock/index.js +1 -7
  272. package/dist/factories/contracts/mock/index.js.map +1 -1
  273. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
  274. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts.map +1 -1
  275. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
  276. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js.map +1 -1
  277. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts +1 -1
  278. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js +1 -1
  279. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -8
  280. package/dist/factories/contracts/test/TestMailbox__factory.d.ts.map +1 -1
  281. package/dist/factories/contracts/test/TestMailbox__factory.js +322 -11
  282. package/dist/factories/contracts/test/TestMailbox__factory.js.map +1 -1
  283. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  284. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  285. package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
  286. package/dist/factories/contracts/test/TestMessage__factory.d.ts.map +1 -1
  287. package/dist/factories/contracts/test/TestMessage__factory.js +40 -7
  288. package/dist/factories/contracts/test/TestMessage__factory.js.map +1 -1
  289. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
  290. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +1 -1
  291. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +62 -25
  292. package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +1 -1
  293. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  294. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts.map +1 -1
  295. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  296. package/dist/factories/contracts/test/TestQuerySender__factory.js.map +1 -1
  297. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  298. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  299. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  300. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  301. package/dist/factories/contracts/test/TestRouter__factory.js +101 -34
  302. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  303. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +12 -1
  304. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts.map +1 -1
  305. package/dist/factories/contracts/test/TestSendReceiver__factory.js +16 -3
  306. package/dist/factories/contracts/test/TestSendReceiver__factory.js.map +1 -1
  307. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +1 -1
  308. package/dist/factories/contracts/test/TestTokenRecipient__factory.js +1 -1
  309. package/dist/factories/contracts/test/index.d.ts +0 -8
  310. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  311. package/dist/factories/contracts/test/index.js +1 -17
  312. package/dist/factories/contracts/test/index.js.map +1 -1
  313. package/dist/factories/contracts/upgrade/index.d.ts +0 -3
  314. package/dist/factories/contracts/upgrade/index.d.ts.map +1 -1
  315. package/dist/factories/contracts/upgrade/index.js +1 -7
  316. package/dist/factories/contracts/upgrade/index.js.map +1 -1
  317. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +4 -4
  318. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -1
  319. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js +13 -8
  320. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +1 -1
  321. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +6 -6
  322. package/dist/factories/{contracts/middleware/liquidity-layer/interfaces → interfaces}/ILiquidityLayerMessageRecipient__factory.d.ts +1 -1
  323. package/dist/factories/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
  324. package/dist/factories/{contracts/middleware/liquidity-layer/interfaces → interfaces}/ILiquidityLayerMessageRecipient__factory.js +0 -0
  325. package/dist/factories/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -0
  326. package/dist/factories/interfaces/{IOutbox__factory.d.ts → ILiquidityLayerRouter__factory.d.ts} +5 -5
  327. package/dist/factories/interfaces/ILiquidityLayerRouter__factory.d.ts.map +1 -0
  328. package/dist/factories/{contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.js → interfaces/ILiquidityLayerRouter__factory.js} +22 -11
  329. package/dist/factories/interfaces/ILiquidityLayerRouter__factory.js.map +1 -0
  330. package/dist/factories/interfaces/IMailbox__factory.d.ts +5 -1
  331. package/dist/factories/interfaces/IMailbox__factory.d.ts.map +1 -1
  332. package/dist/factories/interfaces/IMailbox__factory.js +81 -3
  333. package/dist/factories/interfaces/IMailbox__factory.js.map +1 -1
  334. package/dist/factories/interfaces/IMultisigIsm__factory.js +2 -2
  335. package/dist/factories/interfaces/IMultisigIsm__factory.js.map +1 -1
  336. package/dist/factories/interfaces/index.d.ts +2 -4
  337. package/dist/factories/interfaces/index.d.ts.map +1 -1
  338. package/dist/factories/interfaces/index.js +5 -9
  339. package/dist/factories/interfaces/index.js.map +1 -1
  340. package/dist/index.d.ts +20 -60
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +22 -62
  343. package/dist/index.js.map +1 -1
  344. package/dist/interfaces/IInterchainAccountRouter.d.ts +2 -2
  345. package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -1
  346. package/dist/interfaces/IInterchainGasPaymaster.d.ts +9 -9
  347. package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +1 -1
  348. package/dist/interfaces/IInterchainQueryRouter.d.ts +3 -3
  349. package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -1
  350. package/dist/{contracts/middleware/liquidity-layer/interfaces → interfaces}/ILiquidityLayerMessageRecipient.d.ts +1 -1
  351. package/dist/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -0
  352. package/dist/{contracts/middleware/liquidity-layer/interfaces → interfaces}/ILiquidityLayerMessageRecipient.js +0 -0
  353. package/dist/interfaces/ILiquidityLayerMessageRecipient.js.map +1 -0
  354. package/dist/interfaces/ILiquidityLayerRouter.d.ts +51 -0
  355. package/dist/interfaces/ILiquidityLayerRouter.d.ts.map +1 -0
  356. package/dist/interfaces/ILiquidityLayerRouter.js +4 -0
  357. package/dist/interfaces/ILiquidityLayerRouter.js.map +1 -0
  358. package/dist/interfaces/IMailbox.d.ts +58 -10
  359. package/dist/interfaces/IMailbox.d.ts.map +1 -1
  360. package/dist/interfaces/IMultisigIsm.d.ts +3 -3
  361. package/dist/interfaces/IMultisigIsm.d.ts.map +1 -1
  362. package/dist/interfaces/index.d.ts +2 -4
  363. package/dist/interfaces/index.d.ts.map +1 -1
  364. package/interfaces/IInterchainAccountRouter.sol +2 -2
  365. package/interfaces/IInterchainGasPaymaster.sol +5 -4
  366. package/interfaces/IInterchainQueryRouter.sol +3 -3
  367. package/interfaces/IInterchainSecurityModule.sol +16 -0
  368. package/{contracts/middleware/liquidity-layer/interfaces → interfaces}/ILiquidityLayerMessageRecipient.sol +0 -0
  369. package/interfaces/ILiquidityLayerRouter.sol +15 -0
  370. package/interfaces/IMailbox.sol +15 -2
  371. package/interfaces/IMultisigIsm.sol +18 -0
  372. package/package.json +5 -5
  373. package/contracts/AbacusConnectionManager.sol +0 -145
  374. package/contracts/Inbox.sol +0 -148
  375. package/contracts/MerkleTreeManager.sol +0 -32
  376. package/contracts/Outbox.sol +0 -191
  377. package/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol +0 -215
  378. package/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol +0 -87
  379. package/contracts/mock/MockInbox.sol +0 -52
  380. package/contracts/mock/MockOutbox.sol +0 -30
  381. package/contracts/mock/MockPortalBridge.sol +0 -89
  382. package/contracts/test/MysteryMath.sol +0 -21
  383. package/contracts/test/MysteryMathV1.sol +0 -22
  384. package/contracts/test/MysteryMathV2.sol +0 -22
  385. package/contracts/test/TestAbacusConnectionClient.sol +0 -23
  386. package/contracts/test/TestInbox.sol +0 -54
  387. package/contracts/test/TestMultisigValidatorManager.sol +0 -26
  388. package/contracts/test/TestOutbox.sol +0 -46
  389. package/contracts/test/TestValidatorManager.sol +0 -21
  390. package/contracts/upgrade/UpgradeBeacon.sol +0 -98
  391. package/contracts/upgrade/UpgradeBeaconController.sol +0 -48
  392. package/contracts/upgrade/UpgradeBeaconProxy.sol +0 -176
  393. package/contracts/validator-manager/InboxValidatorManager.sol +0 -58
  394. package/contracts/validator-manager/MultisigValidatorManager.sol +0 -271
  395. package/contracts/validator-manager/OutboxValidatorManager.sol +0 -244
  396. package/dist/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.d.ts.map +0 -1
  397. package/dist/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.js.map +0 -1
  398. package/dist/@openzeppelin/contracts-upgradeable/security/index.d.ts +0 -2
  399. package/dist/@openzeppelin/contracts-upgradeable/security/index.d.ts.map +0 -1
  400. package/dist/@openzeppelin/contracts-upgradeable/security/index.js.map +0 -1
  401. package/dist/contracts/AbacusConnectionClient.d.ts +0 -169
  402. package/dist/contracts/AbacusConnectionClient.d.ts.map +0 -1
  403. package/dist/contracts/AbacusConnectionClient.js.map +0 -1
  404. package/dist/contracts/AbacusConnectionManager.d.ts +0 -213
  405. package/dist/contracts/AbacusConnectionManager.d.ts.map +0 -1
  406. package/dist/contracts/AbacusConnectionManager.js +0 -4
  407. package/dist/contracts/AbacusConnectionManager.js.map +0 -1
  408. package/dist/contracts/Inbox.d.ts +0 -207
  409. package/dist/contracts/Inbox.d.ts.map +0 -1
  410. package/dist/contracts/Inbox.js.map +0 -1
  411. package/dist/contracts/MerkleTreeManager.d.ts +0 -53
  412. package/dist/contracts/MerkleTreeManager.d.ts.map +0 -1
  413. package/dist/contracts/MerkleTreeManager.js.map +0 -1
  414. package/dist/contracts/Outbox.d.ts +0 -331
  415. package/dist/contracts/Outbox.d.ts.map +0 -1
  416. package/dist/contracts/Outbox.js.map +0 -1
  417. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +0 -378
  418. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +0 -1
  419. package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.js.map +0 -1
  420. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +0 -1
  421. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.js.map +0 -1
  422. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.d.ts +0 -148
  423. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.d.ts.map +0 -1
  424. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.js +0 -4
  425. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.js.map +0 -1
  426. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts +0 -2
  427. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts.map +0 -1
  428. package/dist/contracts/middleware/liquidity-layer/interfaces/portal/index.js.map +0 -1
  429. package/dist/contracts/middleware/token-bridge/TokenBridgeRouter.d.ts +0 -291
  430. package/dist/contracts/middleware/token-bridge/TokenBridgeRouter.d.ts.map +0 -1
  431. package/dist/contracts/middleware/token-bridge/TokenBridgeRouter.js +0 -4
  432. package/dist/contracts/middleware/token-bridge/TokenBridgeRouter.js.map +0 -1
  433. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.d.ts +0 -416
  434. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.d.ts.map +0 -1
  435. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.js +0 -4
  436. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.js.map +0 -1
  437. package/dist/contracts/middleware/token-bridge/adapters/index.d.ts +0 -2
  438. package/dist/contracts/middleware/token-bridge/adapters/index.d.ts.map +0 -1
  439. package/dist/contracts/middleware/token-bridge/adapters/index.js.map +0 -1
  440. package/dist/contracts/middleware/token-bridge/index.d.ts +0 -6
  441. package/dist/contracts/middleware/token-bridge/index.d.ts.map +0 -1
  442. package/dist/contracts/middleware/token-bridge/index.js.map +0 -1
  443. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.d.ts +0 -67
  444. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.d.ts.map +0 -1
  445. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.js +0 -4
  446. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.js.map +0 -1
  447. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.d.ts +0 -51
  448. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.d.ts.map +0 -1
  449. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.js +0 -4
  450. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.js.map +0 -1
  451. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.d.ts +0 -78
  452. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.d.ts.map +0 -1
  453. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.js +0 -4
  454. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.js.map +0 -1
  455. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.d.ts +0 -59
  456. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.d.ts.map +0 -1
  457. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.js +0 -4
  458. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.js.map +0 -1
  459. package/dist/contracts/middleware/token-bridge/interfaces/circle/index.d.ts +0 -3
  460. package/dist/contracts/middleware/token-bridge/interfaces/circle/index.d.ts.map +0 -1
  461. package/dist/contracts/middleware/token-bridge/interfaces/circle/index.js.map +0 -1
  462. package/dist/contracts/middleware/token-bridge/interfaces/index.d.ts +0 -5
  463. package/dist/contracts/middleware/token-bridge/interfaces/index.d.ts.map +0 -1
  464. package/dist/contracts/middleware/token-bridge/interfaces/index.js.map +0 -1
  465. package/dist/contracts/mock/MockInbox.d.ts +0 -67
  466. package/dist/contracts/mock/MockInbox.d.ts.map +0 -1
  467. package/dist/contracts/mock/MockInbox.js +0 -4
  468. package/dist/contracts/mock/MockInbox.js.map +0 -1
  469. package/dist/contracts/mock/MockOutbox.d.ts +0 -51
  470. package/dist/contracts/mock/MockOutbox.d.ts.map +0 -1
  471. package/dist/contracts/mock/MockOutbox.js +0 -4
  472. package/dist/contracts/mock/MockOutbox.js.map +0 -1
  473. package/dist/contracts/mock/MockPortalBridge.d.ts +0 -164
  474. package/dist/contracts/mock/MockPortalBridge.d.ts.map +0 -1
  475. package/dist/contracts/mock/MockPortalBridge.js +0 -4
  476. package/dist/contracts/mock/MockPortalBridge.js.map +0 -1
  477. package/dist/contracts/test/MysteryMath.d.ts +0 -77
  478. package/dist/contracts/test/MysteryMath.d.ts.map +0 -1
  479. package/dist/contracts/test/MysteryMath.js +0 -4
  480. package/dist/contracts/test/MysteryMath.js.map +0 -1
  481. package/dist/contracts/test/MysteryMathV1.d.ts +0 -85
  482. package/dist/contracts/test/MysteryMathV1.d.ts.map +0 -1
  483. package/dist/contracts/test/MysteryMathV1.js +0 -4
  484. package/dist/contracts/test/MysteryMathV1.js.map +0 -1
  485. package/dist/contracts/test/MysteryMathV2.d.ts +0 -85
  486. package/dist/contracts/test/MysteryMathV2.d.ts.map +0 -1
  487. package/dist/contracts/test/MysteryMathV2.js +0 -4
  488. package/dist/contracts/test/MysteryMathV2.js.map +0 -1
  489. package/dist/contracts/test/TestAbacusConnectionClient.d.ts +0 -209
  490. package/dist/contracts/test/TestAbacusConnectionClient.d.ts.map +0 -1
  491. package/dist/contracts/test/TestAbacusConnectionClient.js +0 -4
  492. package/dist/contracts/test/TestAbacusConnectionClient.js.map +0 -1
  493. package/dist/contracts/test/TestInbox.d.ts +0 -263
  494. package/dist/contracts/test/TestInbox.d.ts.map +0 -1
  495. package/dist/contracts/test/TestInbox.js +0 -4
  496. package/dist/contracts/test/TestInbox.js.map +0 -1
  497. package/dist/contracts/test/TestMultisigValidatorManager.d.ts +0 -247
  498. package/dist/contracts/test/TestMultisigValidatorManager.d.ts.map +0 -1
  499. package/dist/contracts/test/TestMultisigValidatorManager.js +0 -4
  500. package/dist/contracts/test/TestMultisigValidatorManager.js.map +0 -1
  501. package/dist/contracts/test/TestOutbox.d.ts +0 -371
  502. package/dist/contracts/test/TestOutbox.d.ts.map +0 -1
  503. package/dist/contracts/test/TestOutbox.js +0 -4
  504. package/dist/contracts/test/TestOutbox.js.map +0 -1
  505. package/dist/contracts/test/TestTokenBridgeMessageRecipient.d.ts +0 -72
  506. package/dist/contracts/test/TestTokenBridgeMessageRecipient.d.ts.map +0 -1
  507. package/dist/contracts/test/TestTokenBridgeMessageRecipient.js +0 -4
  508. package/dist/contracts/test/TestTokenBridgeMessageRecipient.js.map +0 -1
  509. package/dist/contracts/test/TestValidatorManager.d.ts +0 -58
  510. package/dist/contracts/test/TestValidatorManager.d.ts.map +0 -1
  511. package/dist/contracts/test/TestValidatorManager.js +0 -4
  512. package/dist/contracts/test/TestValidatorManager.js.map +0 -1
  513. package/dist/contracts/upgrade/UpgradeBeacon.d.ts +0 -40
  514. package/dist/contracts/upgrade/UpgradeBeacon.d.ts.map +0 -1
  515. package/dist/contracts/upgrade/UpgradeBeacon.js +0 -4
  516. package/dist/contracts/upgrade/UpgradeBeacon.js.map +0 -1
  517. package/dist/contracts/upgrade/UpgradeBeaconController.d.ts.map +0 -1
  518. package/dist/contracts/upgrade/UpgradeBeaconController.js +0 -4
  519. package/dist/contracts/upgrade/UpgradeBeaconController.js.map +0 -1
  520. package/dist/contracts/upgrade/UpgradeBeaconProxy.d.ts.map +0 -1
  521. package/dist/contracts/upgrade/UpgradeBeaconProxy.js +0 -4
  522. package/dist/contracts/upgrade/UpgradeBeaconProxy.js.map +0 -1
  523. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts +0 -263
  524. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts.map +0 -1
  525. package/dist/contracts/validator-manager/InboxValidatorManager.js +0 -4
  526. package/dist/contracts/validator-manager/InboxValidatorManager.js.map +0 -1
  527. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts +0 -239
  528. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts.map +0 -1
  529. package/dist/contracts/validator-manager/MultisigValidatorManager.js +0 -4
  530. package/dist/contracts/validator-manager/MultisigValidatorManager.js.map +0 -1
  531. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts +0 -335
  532. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts.map +0 -1
  533. package/dist/contracts/validator-manager/OutboxValidatorManager.js +0 -4
  534. package/dist/contracts/validator-manager/OutboxValidatorManager.js.map +0 -1
  535. package/dist/contracts/validator-manager/index.d.ts +0 -4
  536. package/dist/contracts/validator-manager/index.d.ts.map +0 -1
  537. package/dist/contracts/validator-manager/index.js.map +0 -1
  538. package/dist/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.d.ts.map +0 -1
  539. package/dist/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.js.map +0 -1
  540. package/dist/factories/@openzeppelin/contracts-upgradeable/security/index.d.ts +0 -2
  541. package/dist/factories/@openzeppelin/contracts-upgradeable/security/index.d.ts.map +0 -1
  542. package/dist/factories/@openzeppelin/contracts-upgradeable/security/index.js +0 -9
  543. package/dist/factories/@openzeppelin/contracts-upgradeable/security/index.js.map +0 -1
  544. package/dist/factories/contracts/AbacusConnectionClient__factory.d.ts +0 -43
  545. package/dist/factories/contracts/AbacusConnectionClient__factory.d.ts.map +0 -1
  546. package/dist/factories/contracts/AbacusConnectionClient__factory.js +0 -161
  547. package/dist/factories/contracts/AbacusConnectionClient__factory.js.map +0 -1
  548. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts +0 -55
  549. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts.map +0 -1
  550. package/dist/factories/contracts/AbacusConnectionManager__factory.js +0 -276
  551. package/dist/factories/contracts/AbacusConnectionManager__factory.js.map +0 -1
  552. package/dist/factories/contracts/Inbox__factory.d.ts +0 -59
  553. package/dist/factories/contracts/Inbox__factory.d.ts.map +0 -1
  554. package/dist/factories/contracts/Inbox__factory.js +0 -278
  555. package/dist/factories/contracts/Inbox__factory.js.map +0 -1
  556. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts +0 -31
  557. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts.map +0 -1
  558. package/dist/factories/contracts/MerkleTreeManager__factory.js +0 -67
  559. package/dist/factories/contracts/MerkleTreeManager__factory.js.map +0 -1
  560. package/dist/factories/contracts/Outbox__factory.d.ts +0 -59
  561. package/dist/factories/contracts/Outbox__factory.d.ts.map +0 -1
  562. package/dist/factories/contracts/Outbox__factory.js +0 -415
  563. package/dist/factories/contracts/Outbox__factory.js.map +0 -1
  564. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +0 -48
  565. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +0 -1
  566. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +0 -540
  567. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +0 -1
  568. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +0 -1
  569. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +0 -1
  570. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.d.ts +0 -56
  571. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.d.ts.map +0 -1
  572. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.js +0 -204
  573. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge__factory.js.map +0 -1
  574. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts +0 -2
  575. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.d.ts.map +0 -1
  576. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.js +0 -9
  577. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/portal/index.js.map +0 -1
  578. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.d.ts +0 -48
  579. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.d.ts.map +0 -1
  580. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.js +0 -380
  581. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.js.map +0 -1
  582. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.d.ts +0 -48
  583. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.d.ts.map +0 -1
  584. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.js +0 -584
  585. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.js.map +0 -1
  586. package/dist/factories/contracts/middleware/token-bridge/adapters/index.d.ts +0 -2
  587. package/dist/factories/contracts/middleware/token-bridge/adapters/index.d.ts.map +0 -1
  588. package/dist/factories/contracts/middleware/token-bridge/adapters/index.js +0 -9
  589. package/dist/factories/contracts/middleware/token-bridge/adapters/index.js.map +0 -1
  590. package/dist/factories/contracts/middleware/token-bridge/index.d.ts +0 -4
  591. package/dist/factories/contracts/middleware/token-bridge/index.d.ts.map +0 -1
  592. package/dist/factories/contracts/middleware/token-bridge/index.js.map +0 -1
  593. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.d.ts +0 -23
  594. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.d.ts.map +0 -1
  595. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.js +0 -91
  596. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.js.map +0 -1
  597. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.d.ts +0 -19
  598. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.d.ts.map +0 -1
  599. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.js.map +0 -1
  600. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.d.ts +0 -36
  601. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.d.ts.map +0 -1
  602. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.js +0 -104
  603. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.js.map +0 -1
  604. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.d.ts +0 -23
  605. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.d.ts.map +0 -1
  606. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.js +0 -61
  607. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.js.map +0 -1
  608. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.d.ts +0 -3
  609. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.d.ts.map +0 -1
  610. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.js +0 -11
  611. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.js.map +0 -1
  612. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.d.ts +0 -4
  613. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.d.ts.map +0 -1
  614. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.js.map +0 -1
  615. package/dist/factories/contracts/mock/MockInbox__factory.d.ts +0 -31
  616. package/dist/factories/contracts/mock/MockInbox__factory.d.ts.map +0 -1
  617. package/dist/factories/contracts/mock/MockInbox__factory.js +0 -76
  618. package/dist/factories/contracts/mock/MockInbox__factory.js.map +0 -1
  619. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts +0 -45
  620. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts.map +0 -1
  621. package/dist/factories/contracts/mock/MockOutbox__factory.js +0 -86
  622. package/dist/factories/contracts/mock/MockOutbox__factory.js.map +0 -1
  623. package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts +0 -79
  624. package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts.map +0 -1
  625. package/dist/factories/contracts/mock/MockPortalBridge__factory.js +0 -296
  626. package/dist/factories/contracts/mock/MockPortalBridge__factory.js.map +0 -1
  627. package/dist/factories/contracts/test/MysteryMathV1__factory.d.ts +0 -41
  628. package/dist/factories/contracts/test/MysteryMathV1__factory.d.ts.map +0 -1
  629. package/dist/factories/contracts/test/MysteryMathV1__factory.js +0 -122
  630. package/dist/factories/contracts/test/MysteryMathV1__factory.js.map +0 -1
  631. package/dist/factories/contracts/test/MysteryMathV2__factory.d.ts +0 -41
  632. package/dist/factories/contracts/test/MysteryMathV2__factory.d.ts.map +0 -1
  633. package/dist/factories/contracts/test/MysteryMathV2__factory.js +0 -122
  634. package/dist/factories/contracts/test/MysteryMathV2__factory.js.map +0 -1
  635. package/dist/factories/contracts/test/MysteryMath__factory.d.ts.map +0 -1
  636. package/dist/factories/contracts/test/MysteryMath__factory.js +0 -81
  637. package/dist/factories/contracts/test/MysteryMath__factory.js.map +0 -1
  638. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts +0 -48
  639. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts.map +0 -1
  640. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js +0 -242
  641. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js.map +0 -1
  642. package/dist/factories/contracts/test/TestInbox__factory.d.ts +0 -59
  643. package/dist/factories/contracts/test/TestInbox__factory.d.ts.map +0 -1
  644. package/dist/factories/contracts/test/TestInbox__factory.js +0 -371
  645. package/dist/factories/contracts/test/TestInbox__factory.js.map +0 -1
  646. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts +0 -59
  647. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts.map +0 -1
  648. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js +0 -349
  649. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js.map +0 -1
  650. package/dist/factories/contracts/test/TestOutbox__factory.d.ts +0 -59
  651. package/dist/factories/contracts/test/TestOutbox__factory.d.ts.map +0 -1
  652. package/dist/factories/contracts/test/TestOutbox__factory.js +0 -483
  653. package/dist/factories/contracts/test/TestOutbox__factory.js.map +0 -1
  654. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.d.ts +0 -44
  655. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.d.ts.map +0 -1
  656. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.js +0 -111
  657. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.js.map +0 -1
  658. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts +0 -31
  659. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts.map +0 -1
  660. package/dist/factories/contracts/test/TestValidatorManager__factory.js +0 -79
  661. package/dist/factories/contracts/test/TestValidatorManager__factory.js.map +0 -1
  662. package/dist/factories/contracts/upgrade/UpgradeBeaconController__factory.d.ts +0 -55
  663. package/dist/factories/contracts/upgrade/UpgradeBeaconController__factory.d.ts.map +0 -1
  664. package/dist/factories/contracts/upgrade/UpgradeBeaconController__factory.js +0 -130
  665. package/dist/factories/contracts/upgrade/UpgradeBeaconController__factory.js.map +0 -1
  666. package/dist/factories/contracts/upgrade/UpgradeBeaconProxy__factory.d.ts +0 -33
  667. package/dist/factories/contracts/upgrade/UpgradeBeaconProxy__factory.d.ts.map +0 -1
  668. package/dist/factories/contracts/upgrade/UpgradeBeaconProxy__factory.js +0 -65
  669. package/dist/factories/contracts/upgrade/UpgradeBeaconProxy__factory.js.map +0 -1
  670. package/dist/factories/contracts/upgrade/UpgradeBeacon__factory.d.ts +0 -48
  671. package/dist/factories/contracts/upgrade/UpgradeBeacon__factory.d.ts.map +0 -1
  672. package/dist/factories/contracts/upgrade/UpgradeBeacon__factory.js +0 -74
  673. package/dist/factories/contracts/upgrade/UpgradeBeacon__factory.js.map +0 -1
  674. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts +0 -59
  675. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts.map +0 -1
  676. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js +0 -373
  677. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js.map +0 -1
  678. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.d.ts +0 -36
  679. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.d.ts.map +0 -1
  680. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.js +0 -286
  681. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.js.map +0 -1
  682. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts +0 -59
  683. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts.map +0 -1
  684. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js +0 -560
  685. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js.map +0 -1
  686. package/dist/factories/contracts/validator-manager/index.d.ts +0 -4
  687. package/dist/factories/contracts/validator-manager/index.d.ts.map +0 -1
  688. package/dist/factories/contracts/validator-manager/index.js +0 -13
  689. package/dist/factories/contracts/validator-manager/index.js.map +0 -1
  690. package/dist/factories/interfaces/IAbacusConnectionManager__factory.d.ts +0 -23
  691. package/dist/factories/interfaces/IAbacusConnectionManager__factory.d.ts.map +0 -1
  692. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js +0 -63
  693. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js.map +0 -1
  694. package/dist/factories/interfaces/IInbox__factory.d.ts +0 -29
  695. package/dist/factories/interfaces/IInbox__factory.d.ts.map +0 -1
  696. package/dist/factories/interfaces/IInbox__factory.js +0 -90
  697. package/dist/factories/interfaces/IInbox__factory.js.map +0 -1
  698. package/dist/factories/interfaces/IMultisigValidatorManager__factory.d.ts.map +0 -1
  699. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js +0 -57
  700. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js.map +0 -1
  701. package/dist/factories/interfaces/IOutbox__factory.d.ts.map +0 -1
  702. package/dist/factories/interfaces/IOutbox__factory.js +0 -155
  703. package/dist/factories/interfaces/IOutbox__factory.js.map +0 -1
  704. package/dist/interfaces/IAbacusConnectionManager.d.ts +0 -59
  705. package/dist/interfaces/IAbacusConnectionManager.d.ts.map +0 -1
  706. package/dist/interfaces/IAbacusConnectionManager.js +0 -4
  707. package/dist/interfaces/IAbacusConnectionManager.js.map +0 -1
  708. package/dist/interfaces/IInbox.d.ts +0 -83
  709. package/dist/interfaces/IInbox.d.ts.map +0 -1
  710. package/dist/interfaces/IInbox.js +0 -4
  711. package/dist/interfaces/IInbox.js.map +0 -1
  712. package/dist/interfaces/IMultisigValidatorManager.d.ts +0 -59
  713. package/dist/interfaces/IMultisigValidatorManager.d.ts.map +0 -1
  714. package/dist/interfaces/IMultisigValidatorManager.js +0 -4
  715. package/dist/interfaces/IMultisigValidatorManager.js.map +0 -1
  716. package/dist/interfaces/IOutbox.d.ts +0 -148
  717. package/dist/interfaces/IOutbox.d.ts.map +0 -1
  718. package/dist/interfaces/IOutbox.js +0 -4
  719. package/dist/interfaces/IOutbox.js.map +0 -1
  720. package/interfaces/IAbacusConnectionManager.sol +0 -12
  721. package/interfaces/IInbox.sol +0 -16
  722. package/interfaces/IMultisigValidatorManager.sol +0 -11
  723. package/interfaces/IOutbox.sol +0 -27
@@ -4,24 +4,35 @@ pragma solidity >=0.8.0;
4
4
  import {TypeCasts} from "./TypeCasts.sol";
5
5
 
6
6
  /**
7
- * @title Message Library
8
- * @author Celo Labs Inc.
9
- * @notice Library for formatted messages used by Outbox and Replica.
7
+ * @title Hyperlane Message Library
8
+ * @notice Library for formatted messages used by Mailbox
10
9
  **/
11
10
  library Message {
12
11
  using TypeCasts for bytes32;
13
12
 
13
+ uint256 private constant VERSION_OFFSET = 0;
14
+ uint256 private constant NONCE_OFFSET = 1;
15
+ uint256 private constant ORIGIN_OFFSET = 5;
16
+ uint256 private constant SENDER_OFFSET = 9;
17
+ uint256 private constant DESTINATION_OFFSET = 41;
18
+ uint256 private constant RECIPIENT_OFFSET = 45;
19
+ uint256 private constant BODY_OFFSET = 77;
20
+
14
21
  /**
15
- * @notice Returns formatted (packed) message with provided fields
22
+ * @notice Returns formatted (packed) Hyperlane message with provided fields
16
23
  * @dev This function should only be used in memory message construction.
17
- * @param _originDomain Domain of home chain
24
+ * @param _version The version of the origin and destination Mailboxes
25
+ * @param _nonce A nonce to uniquely identify the message on its origin chain
26
+ * @param _originDomain Domain of origin chain
18
27
  * @param _sender Address of sender as bytes32
19
28
  * @param _destinationDomain Domain of destination chain
20
29
  * @param _recipient Address of recipient on destination chain as bytes32
21
30
  * @param _messageBody Raw bytes of message body
22
31
  * @return Formatted message
23
- **/
32
+ */
24
33
  function formatMessage(
34
+ uint8 _version,
35
+ uint32 _nonce,
25
36
  uint32 _originDomain,
26
37
  bytes32 _sender,
27
38
  uint32 _destinationDomain,
@@ -30,6 +41,8 @@ library Message {
30
41
  ) internal pure returns (bytes memory) {
31
42
  return
32
43
  abi.encodePacked(
44
+ _version,
45
+ _nonce,
33
46
  _originDomain,
34
47
  _sender,
35
48
  _destinationDomain,
@@ -39,84 +52,112 @@ library Message {
39
52
  }
40
53
 
41
54
  /**
42
- * @notice Returns leaf of formatted message with provided fields.
43
- * @dev hash of abi packed message and leaf index.
44
- * @param _message Raw bytes of message contents.
45
- * @param _leafIndex Index of the message in the tree
46
- * @return Leaf (hash) of formatted message
55
+ * @notice Returns the message ID.
56
+ * @param _message ABI encoded Hyperlane message.
57
+ * @return ID of `_message`
58
+ */
59
+ function id(bytes memory _message) internal pure returns (bytes32) {
60
+ return keccak256(_message);
61
+ }
62
+
63
+ /**
64
+ * @notice Returns the message version.
65
+ * @param _message ABI encoded Hyperlane message.
66
+ * @return Version of `_message`
67
+ */
68
+ function version(bytes calldata _message) internal pure returns (uint8) {
69
+ return uint8(bytes1(_message[VERSION_OFFSET:NONCE_OFFSET]));
70
+ }
71
+
72
+ /**
73
+ * @notice Returns the message nonce.
74
+ * @param _message ABI encoded Hyperlane message.
75
+ * @return Nonce of `_message`
76
+ */
77
+ function nonce(bytes calldata _message) internal pure returns (uint32) {
78
+ return uint32(bytes4(_message[NONCE_OFFSET:ORIGIN_OFFSET]));
79
+ }
80
+
81
+ /**
82
+ * @notice Returns the message origin domain.
83
+ * @param _message ABI encoded Hyperlane message.
84
+ * @return Origin domain of `_message`
85
+ */
86
+ function origin(bytes calldata _message) internal pure returns (uint32) {
87
+ return uint32(bytes4(_message[ORIGIN_OFFSET:SENDER_OFFSET]));
88
+ }
89
+
90
+ /**
91
+ * @notice Returns the message sender as bytes32.
92
+ * @param _message ABI encoded Hyperlane message.
93
+ * @return Sender of `_message` as bytes32
94
+ */
95
+ function sender(bytes calldata _message) internal pure returns (bytes32) {
96
+ return bytes32(_message[SENDER_OFFSET:DESTINATION_OFFSET]);
97
+ }
98
+
99
+ /**
100
+ * @notice Returns the message sender as address.
101
+ * @param _message ABI encoded Hyperlane message.
102
+ * @return Sender of `_message` as address
103
+ */
104
+ function senderAddress(bytes calldata _message)
105
+ internal
106
+ pure
107
+ returns (address)
108
+ {
109
+ return sender(_message).bytes32ToAddress();
110
+ }
111
+
112
+ /**
113
+ * @notice Returns the message destination domain.
114
+ * @param _message ABI encoded Hyperlane message.
115
+ * @return Destination domain of `_message`
116
+ */
117
+ function destination(bytes calldata _message)
118
+ internal
119
+ pure
120
+ returns (uint32)
121
+ {
122
+ return uint32(bytes4(_message[DESTINATION_OFFSET:RECIPIENT_OFFSET]));
123
+ }
124
+
125
+ /**
126
+ * @notice Returns the message recipient as bytes32.
127
+ * @param _message ABI encoded Hyperlane message.
128
+ * @return Recipient of `_message` as bytes32
47
129
  */
48
- function leaf(bytes calldata _message, uint256 _leafIndex)
130
+ function recipient(bytes calldata _message)
49
131
  internal
50
132
  pure
51
133
  returns (bytes32)
52
134
  {
53
- return keccak256(abi.encodePacked(_message, _leafIndex));
135
+ return bytes32(_message[RECIPIENT_OFFSET:BODY_OFFSET]);
54
136
  }
55
137
 
56
138
  /**
57
- * @notice Decode raw message bytes into structured message fields.
58
- * @dev Efficiently slices calldata into structured message fields.
59
- * @param _message Raw bytes of message contents.
60
- * @return origin Domain of home chain
61
- * @return sender Address of sender as bytes32
62
- * @return destination Domain of destination chain
63
- * @return recipient Address of recipient on destination chain as bytes32
64
- * @return body Raw bytes of message body
139
+ * @notice Returns the message recipient as address.
140
+ * @param _message ABI encoded Hyperlane message.
141
+ * @return Recipient of `_message` as address
65
142
  */
66
- function destructure(bytes calldata _message)
143
+ function recipientAddress(bytes calldata _message)
67
144
  internal
68
145
  pure
69
- returns (
70
- uint32 origin,
71
- bytes32 sender,
72
- uint32 destination,
73
- bytes32 recipient,
74
- bytes calldata body
75
- )
146
+ returns (address)
76
147
  {
77
- return (
78
- uint32(bytes4(_message[0:4])),
79
- bytes32(_message[4:36]),
80
- uint32(bytes4(_message[36:40])),
81
- bytes32(_message[40:72]),
82
- bytes(_message[72:])
83
- );
148
+ return recipient(_message).bytes32ToAddress();
84
149
  }
85
150
 
86
151
  /**
87
- * @notice Decode raw message bytes into structured message fields.
88
- * @dev Efficiently slices calldata into structured message fields.
89
- * @param _message Raw bytes of message contents.
90
- * @return origin Domain of home chain
91
- * @return sender Address of sender as address (bytes20)
92
- * @return destination Domain of destination chain
93
- * @return recipient Address of recipient on destination chain as address (bytes20)
94
- * @return body Raw bytes of message body
152
+ * @notice Returns the message body.
153
+ * @param _message ABI encoded Hyperlane message.
154
+ * @return Body of `_message`
95
155
  */
96
- function destructureAddresses(bytes calldata _message)
156
+ function body(bytes calldata _message)
97
157
  internal
98
158
  pure
99
- returns (
100
- uint32,
101
- address,
102
- uint32,
103
- address,
104
- bytes calldata
105
- )
159
+ returns (bytes calldata)
106
160
  {
107
- (
108
- uint32 _origin,
109
- bytes32 _sender,
110
- uint32 destination,
111
- bytes32 _recipient,
112
- bytes calldata body
113
- ) = destructure(_message);
114
- return (
115
- _origin,
116
- _sender.bytes32ToAddress(),
117
- destination,
118
- _recipient.bytes32ToAddress(),
119
- body
120
- );
161
+ return bytes(_message[BODY_OFFSET:]);
121
162
  }
122
163
  }
@@ -0,0 +1,185 @@
1
+ // SPDX-License-Identifier: MIT OR Apache-2.0
2
+ pragma solidity >=0.8.0;
3
+
4
+ /**
5
+ * Format of metadata:
6
+ * [ 0: 32] Merkle root
7
+ * [ 32: 36] Root index
8
+ * [ 36: 68] Origin mailbox address
9
+ * [ 68:1092] Merkle proof
10
+ * [1092:1093] Threshold
11
+ * [1093:????] Validator signatures, 65 bytes each, length == Threshold
12
+ * [????:????] Addresses of the entire validator set, left padded to bytes32
13
+ */
14
+ library MultisigIsmMetadata {
15
+ uint256 private constant MERKLE_ROOT_OFFSET = 0;
16
+ uint256 private constant MERKLE_INDEX_OFFSET = 32;
17
+ uint256 private constant ORIGIN_MAILBOX_OFFSET = 36;
18
+ uint256 private constant MERKLE_PROOF_OFFSET = 68;
19
+ uint256 private constant THRESHOLD_OFFSET = 1092;
20
+ uint256 private constant SIGNATURES_OFFSET = 1093;
21
+ uint256 private constant SIGNATURE_LENGTH = 65;
22
+
23
+ /**
24
+ * @notice Returns the merkle root of the signed checkpoint.
25
+ * @param _metadata ABI encoded Multisig ISM metadata.
26
+ * @return Merkle root of the signed checkpoint
27
+ */
28
+ function root(bytes calldata _metadata) internal pure returns (bytes32) {
29
+ return bytes32(_metadata[MERKLE_ROOT_OFFSET:MERKLE_INDEX_OFFSET]);
30
+ }
31
+
32
+ /**
33
+ * @notice Returns the index of the signed checkpoint.
34
+ * @param _metadata ABI encoded Multisig ISM metadata.
35
+ * @return Index of the signed checkpoint
36
+ */
37
+ function index(bytes calldata _metadata) internal pure returns (uint32) {
38
+ return
39
+ uint32(
40
+ bytes4(_metadata[MERKLE_INDEX_OFFSET:ORIGIN_MAILBOX_OFFSET])
41
+ );
42
+ }
43
+
44
+ /**
45
+ * @notice Returns the origin mailbox of the signed checkpoint as bytes32.
46
+ * @param _metadata ABI encoded Multisig ISM metadata.
47
+ * @return Origin mailbox of the signed checkpoint as bytes32
48
+ */
49
+ function originMailbox(bytes calldata _metadata)
50
+ internal
51
+ pure
52
+ returns (bytes32)
53
+ {
54
+ return bytes32(_metadata[ORIGIN_MAILBOX_OFFSET:MERKLE_PROOF_OFFSET]);
55
+ }
56
+
57
+ /**
58
+ * @notice Returns the merkle proof branch of the message.
59
+ * @dev This appears to be more gas efficient than returning a calldata
60
+ * slice and using that.
61
+ * @param _metadata ABI encoded Multisig ISM metadata.
62
+ * @return Merkle proof branch of the message.
63
+ */
64
+ function proof(bytes calldata _metadata)
65
+ internal
66
+ pure
67
+ returns (bytes32[32] memory)
68
+ {
69
+ return
70
+ abi.decode(
71
+ _metadata[MERKLE_PROOF_OFFSET:THRESHOLD_OFFSET],
72
+ (bytes32[32])
73
+ );
74
+ }
75
+
76
+ /**
77
+ * @notice Returns the number of required signatures. Verified against
78
+ * the commitment stored in the module.
79
+ * @param _metadata ABI encoded Multisig ISM metadata.
80
+ * @return The number of required signatures.
81
+ */
82
+ function threshold(bytes calldata _metadata) internal pure returns (uint8) {
83
+ return uint8(bytes1(_metadata[THRESHOLD_OFFSET:SIGNATURES_OFFSET]));
84
+ }
85
+
86
+ /**
87
+ * @notice Returns the validator ECDSA signature at `_index`.
88
+ * @dev Assumes signatures are sorted by validator
89
+ * @dev Assumes `_metadata` encodes `threshold` signatures.
90
+ * @dev Assumes `_index` is less than `threshold`
91
+ * @param _metadata ABI encoded Multisig ISM metadata.
92
+ * @param _index The index of the signature to return.
93
+ * @return The validator ECDSA signature at `_index`.
94
+ */
95
+ function signatureAt(bytes calldata _metadata, uint256 _index)
96
+ internal
97
+ pure
98
+ returns (bytes calldata)
99
+ {
100
+ uint256 _start = SIGNATURES_OFFSET + (_index * SIGNATURE_LENGTH);
101
+ uint256 _end = _start + SIGNATURE_LENGTH;
102
+ return _metadata[_start:_end];
103
+ }
104
+
105
+ /**
106
+ * @notice Returns the validator address at `_index`.
107
+ * @dev Assumes `_index` is less than the number of validators
108
+ * @param _metadata ABI encoded Multisig ISM metadata.
109
+ * @param _index The index of the validator to return.
110
+ * @return The validator address at `_index`.
111
+ */
112
+ function validatorAt(bytes calldata _metadata, uint256 _index)
113
+ internal
114
+ pure
115
+ returns (address)
116
+ {
117
+ // Validator addresses are left padded to bytes32 in order to match
118
+ // abi.encodePacked(address[]).
119
+ uint256 _start = _validatorsOffset(_metadata) + (_index * 32) + 12;
120
+ uint256 _end = _start + 20;
121
+ return address(bytes20(_metadata[_start:_end]));
122
+ }
123
+
124
+ /**
125
+ * @notice Returns the validator set encoded as bytes. Verified against the
126
+ * commitment stored in the module.
127
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
128
+ * sorted to match the enumerable set stored by the module.
129
+ * @param _metadata ABI encoded Multisig ISM metadata.
130
+ * @return The validator set encoded as bytes.
131
+ */
132
+ function validators(bytes calldata _metadata)
133
+ internal
134
+ pure
135
+ returns (bytes calldata)
136
+ {
137
+ return _metadata[_validatorsOffset(_metadata):];
138
+ }
139
+
140
+ /**
141
+ * @notice Returns the size of the validator set encoded in the metadata
142
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
143
+ * sorted to match the enumerable set stored by the module.
144
+ * @param _metadata ABI encoded Multisig ISM metadata.
145
+ * @return The size of the validator set encoded in the metadata
146
+ */
147
+ function commitment(bytes calldata _metadata)
148
+ internal
149
+ pure
150
+ returns (uint256)
151
+ {
152
+ return (_metadata.length - _validatorsOffset(_metadata)) / 32;
153
+ }
154
+
155
+ /**
156
+ * @notice Returns the size of the validator set encoded in the metadata
157
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
158
+ * sorted to match the enumerable set stored by the module.
159
+ * @param _metadata ABI encoded Multisig ISM metadata.
160
+ * @return The size of the validator set encoded in the metadata
161
+ */
162
+ function validatorCount(bytes calldata _metadata)
163
+ internal
164
+ pure
165
+ returns (uint256)
166
+ {
167
+ return (_metadata.length - _validatorsOffset(_metadata)) / 32;
168
+ }
169
+
170
+ /**
171
+ * @notice Returns the offset in bytes of the list of validators within
172
+ * `_metadata`.
173
+ * @param _metadata ABI encoded Multisig ISM metadata.
174
+ * @return The index at which the list of validators starts
175
+ */
176
+ function _validatorsOffset(bytes calldata _metadata)
177
+ private
178
+ pure
179
+ returns (uint256)
180
+ {
181
+ return
182
+ SIGNATURES_OFFSET +
183
+ (uint256(threshold(_metadata)) * SIGNATURE_LENGTH);
184
+ }
185
+ }
@@ -1,11 +1,12 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.13;
3
3
 
4
+ // ============ Internal Imports ============
4
5
  import {OwnableMulticall, Call} from "../OwnableMulticall.sol";
6
+ import {Router} from "../Router.sol";
5
7
  import {IInterchainAccountRouter} from "../../interfaces/IInterchainAccountRouter.sol";
6
8
 
7
9
  // ============ External Imports ============
8
- import {Router} from "../Router.sol";
9
10
  import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
10
11
  import {Address} from "@openzeppelin/contracts/utils/Address.sol";
11
12
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
@@ -25,21 +26,21 @@ contract InterchainAccountRouter is Router, IInterchainAccountRouter {
25
26
  );
26
27
 
27
28
  function initialize(
28
- address _owner,
29
- address _abacusConnectionManager,
30
- address _interchainGasPaymaster
29
+ address _mailbox,
30
+ address _interchainGasPaymaster,
31
+ address _interchainSecurityModule
31
32
  ) public initializer {
32
- // Transfer ownership of the contract to deployer
33
- _transferOwnership(_owner);
34
- // Set the addresses for the ACM and IGP
35
- // Alternatively, this could be done later in an initialize method
36
- _setAbacusConnectionManager(_abacusConnectionManager);
37
- _setInterchainGasPaymaster(_interchainGasPaymaster);
33
+ // Transfer ownership of the contract to `msg.sender`
34
+ __HyperlaneConnectionClient_initialize(
35
+ _mailbox,
36
+ _interchainGasPaymaster,
37
+ _interchainSecurityModule
38
+ );
38
39
  }
39
40
 
40
41
  function dispatch(uint32 _destinationDomain, Call[] calldata calls)
41
42
  external
42
- returns (uint256)
43
+ returns (bytes32)
43
44
  {
44
45
  return _dispatch(_destinationDomain, abi.encode(msg.sender, calls));
45
46
  }
@@ -48,7 +49,7 @@ contract InterchainAccountRouter is Router, IInterchainAccountRouter {
48
49
  uint32 _destinationDomain,
49
50
  address target,
50
51
  bytes calldata data
51
- ) external returns (uint256) {
52
+ ) external returns (bytes32) {
52
53
  Call[] memory calls = new Call[](1);
53
54
  calls[0] = Call({to: target, data: data});
54
55
  return _dispatch(_destinationDomain, abi.encode(msg.sender, calls));
@@ -1,11 +1,12 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.13;
3
3
 
4
+ // ============ Internal Imports ============
4
5
  import {OwnableMulticall, Call} from "../OwnableMulticall.sol";
6
+ import {Router} from "../Router.sol";
5
7
  import {IInterchainQueryRouter} from "../../interfaces/IInterchainQueryRouter.sol";
6
8
 
7
9
  // ============ External Imports ============
8
- import {Router} from "../Router.sol";
9
10
  import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
10
11
  import {Address} from "@openzeppelin/contracts/utils/Address.sol";
11
12
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
@@ -31,16 +32,16 @@ contract InterchainQueryRouter is
31
32
  );
32
33
 
33
34
  function initialize(
34
- address _owner,
35
- address _abacusConnectionManager,
36
- address _interchainGasPaymaster
35
+ address _mailbox,
36
+ address _interchainGasPaymaster,
37
+ address _interchainSecurityModule
37
38
  ) public initializer {
38
- // Transfer ownership of the contract to deployer
39
- _transferOwnership(_owner);
40
- // Set the addresses for the ACM and IGP
41
- // Alternatively, this could be done later in an initialize method
42
- _setAbacusConnectionManager(_abacusConnectionManager);
43
- _setInterchainGasPaymaster(_interchainGasPaymaster);
39
+ // Transfer ownership of the contract to `msg.sender`
40
+ __HyperlaneConnectionClient_initialize(
41
+ _mailbox,
42
+ _interchainGasPaymaster,
43
+ _interchainSecurityModule
44
+ );
44
45
  }
45
46
 
46
47
  /**
@@ -54,13 +55,13 @@ contract InterchainQueryRouter is
54
55
  address target,
55
56
  bytes calldata queryData,
56
57
  bytes calldata callback
57
- ) external returns (uint256 leafIndex) {
58
+ ) external returns (bytes32 messageId) {
58
59
  // TODO: fix this ugly arrayification
59
60
  Call[] memory calls = new Call[](1);
60
61
  calls[0] = Call({to: target, data: queryData});
61
62
  bytes[] memory callbacks = new bytes[](1);
62
63
  callbacks[0] = callback;
63
- leafIndex = query(_destinationDomain, calls, callbacks);
64
+ messageId = query(_destinationDomain, calls, callbacks);
64
65
  }
65
66
 
66
67
  /**
@@ -72,13 +73,13 @@ contract InterchainQueryRouter is
72
73
  uint32 _destinationDomain,
73
74
  Call calldata call,
74
75
  bytes calldata callback
75
- ) external returns (uint256 leafIndex) {
76
+ ) external returns (bytes32 messageId) {
76
77
  // TODO: fix this ugly arrayification
77
78
  Call[] memory calls = new Call[](1);
78
79
  calls[0] = call;
79
80
  bytes[] memory callbacks = new bytes[](1);
80
81
  callbacks[0] = callback;
81
- leafIndex = query(_destinationDomain, calls, callbacks);
82
+ messageId = query(_destinationDomain, calls, callbacks);
82
83
  }
83
84
 
84
85
  /**
@@ -90,12 +91,12 @@ contract InterchainQueryRouter is
90
91
  uint32 _destinationDomain,
91
92
  Call[] memory calls,
92
93
  bytes[] memory callbacks
93
- ) public returns (uint256 leafIndex) {
94
+ ) public returns (bytes32 messageId) {
94
95
  require(
95
96
  calls.length == callbacks.length,
96
97
  "InterchainQueryRouter: calls and callbacks must be same length"
97
98
  );
98
- leafIndex = _dispatch(
99
+ messageId = _dispatch(
99
100
  _destinationDomain,
100
101
  abi.encode(Action.DISPATCH, msg.sender, calls, callbacks)
101
102
  );
@@ -3,33 +3,33 @@ pragma solidity ^0.8.13;
3
3
 
4
4
  import {Router} from "../../Router.sol";
5
5
 
6
- import {IMessageRecipient} from "../../../interfaces/IMessageRecipient.sol";
6
+ import {ILiquidityLayerRouter} from "../../../interfaces/ILiquidityLayerRouter.sol";
7
7
  import {ICircleBridge} from "./interfaces/circle/ICircleBridge.sol";
8
8
  import {ICircleMessageTransmitter} from "./interfaces/circle/ICircleMessageTransmitter.sol";
9
9
  import {ILiquidityLayerAdapter} from "./interfaces/ILiquidityLayerAdapter.sol";
10
- import {ILiquidityLayerMessageRecipient} from "./interfaces/ILiquidityLayerMessageRecipient.sol";
10
+ import {ILiquidityLayerMessageRecipient} from "../../../interfaces/ILiquidityLayerMessageRecipient.sol";
11
11
 
12
12
  import {TypeCasts} from "../../libs/TypeCasts.sol";
13
13
 
14
14
  import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
15
15
 
16
- contract LiquidityLayerRouter is Router {
16
+ contract LiquidityLayerRouter is Router, ILiquidityLayerRouter {
17
17
  // Token bridge => adapter address
18
18
  mapping(string => address) public liquidityLayerAdapters;
19
19
 
20
20
  event LiquidityLayerAdapterSet(string indexed bridge, address adapter);
21
21
 
22
22
  function initialize(
23
- address _owner,
24
- address _abacusConnectionManager,
25
- address _interchainGasPaymaster
23
+ address _mailbox,
24
+ address _interchainGasPaymaster,
25
+ address _interchainSecurityModule
26
26
  ) public initializer {
27
- // Transfer ownership of the contract to deployer
28
- _transferOwnership(_owner);
29
- // Set the addresses for the ACM and IGP
30
- // Alternatively, this could be done later in an initialize method
31
- _setAbacusConnectionManager(_abacusConnectionManager);
32
- _setInterchainGasPaymaster(_interchainGasPaymaster);
27
+ // Transfer ownership of the contract to `msg.sender`
28
+ __HyperlaneConnectionClient_initialize(
29
+ _mailbox,
30
+ _interchainGasPaymaster,
31
+ _interchainSecurityModule
32
+ );
33
33
  }
34
34
 
35
35
  function dispatchWithTokens(
@@ -39,7 +39,7 @@ contract LiquidityLayerRouter is Router {
39
39
  address _token,
40
40
  uint256 _amount,
41
41
  string calldata _bridge
42
- ) external payable {
42
+ ) external payable returns (bytes32) {
43
43
  ILiquidityLayerAdapter _adapter = _getAdapter(_bridge);
44
44
 
45
45
  // Transfer the tokens to the adapter
@@ -71,7 +71,14 @@ contract LiquidityLayerRouter is Router {
71
71
  );
72
72
 
73
73
  // Dispatch the _messageWithMetadata to the destination's LiquidityLayerRouter.
74
- _dispatchWithGas(_destinationDomain, _messageWithMetadata, msg.value);
74
+ return
75
+ _dispatchWithGas(
76
+ _destinationDomain,
77
+ _messageWithMetadata,
78
+ 0, // TODO eventually accommodate gas amounts
79
+ msg.value,
80
+ msg.sender
81
+ );
75
82
  }
76
83
 
77
84
  // Handles a message from an enrolled remote LiquidityLayerRouter
@@ -74,10 +74,6 @@ contract CircleBridgeAdapter is ILiquidityLayerAdapter, Router {
74
74
  // Transfer ownership of the contract to deployer
75
75
  _transferOwnership(_owner);
76
76
 
77
- // Set the addresses for the ACM and IGP to address(0) - they aren't used.
78
- _setAbacusConnectionManager(address(0));
79
- _setInterchainGasPaymaster(address(0));
80
-
81
77
  circleBridge = ICircleBridge(_circleBridge);
82
78
  circleMessageTransmitter = ICircleMessageTransmitter(
83
79
  _circleMessageTransmitter