@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
@@ -1,32 +0,0 @@
1
- // SPDX-License-Identifier: MIT OR Apache-2.0
2
- pragma solidity >=0.8.0;
3
-
4
- // ============ Internal Imports ============
5
- import {MerkleLib} from "./libs/Merkle.sol";
6
-
7
- /**
8
- * @title MerkleTreeManager
9
- * @author Celo Labs Inc.
10
- * @notice Contains a Merkle tree instance and
11
- * exposes view functions for the tree.
12
- */
13
- contract MerkleTreeManager {
14
- // ============ Libraries ============
15
-
16
- using MerkleLib for MerkleLib.Tree;
17
- MerkleLib.Tree public tree;
18
-
19
- // ============ Upgrade Gap ============
20
-
21
- // gap for upgrade safety
22
- uint256[49] private __GAP;
23
-
24
- // ============ Public Functions ============
25
-
26
- /**
27
- * @notice Calculates and returns tree's current root
28
- */
29
- function root() public view returns (bytes32) {
30
- return tree.root();
31
- }
32
- }
@@ -1,191 +0,0 @@
1
- // SPDX-License-Identifier: MIT OR Apache-2.0
2
- pragma solidity >=0.8.0;
3
-
4
- // ============ Internal Imports ============
5
- import {Versioned} from "./upgrade/Versioned.sol";
6
- import {Mailbox} from "./Mailbox.sol";
7
- import {MerkleLib} from "./libs/Merkle.sol";
8
- import {Message} from "./libs/Message.sol";
9
- import {TypeCasts} from "./libs/TypeCasts.sol";
10
- import {MerkleTreeManager} from "./MerkleTreeManager.sol";
11
- import {IOutbox} from "../interfaces/IOutbox.sol";
12
-
13
- /**
14
- * @title Outbox
15
- * @author Celo Labs Inc.
16
- * @notice Accepts messages to be dispatched to remote chains,
17
- * constructs a Merkle tree of the messages,
18
- * and accepts signatures from a bonded Validator
19
- * which notarize the Merkle tree roots.
20
- * Accepts submissions of fraudulent signatures
21
- * by the Validator and slashes the Validator in this case.
22
- */
23
- contract Outbox is IOutbox, Versioned, MerkleTreeManager, Mailbox {
24
- // ============ Libraries ============
25
-
26
- using MerkleLib for MerkleLib.Tree;
27
- using TypeCasts for address;
28
-
29
- // ============ Constants ============
30
-
31
- // Maximum bytes per message = 2 KiB
32
- // (somewhat arbitrarily set to begin)
33
- uint256 public constant MAX_MESSAGE_BODY_BYTES = 2 * 2**10;
34
-
35
- // ============ Enums ============
36
-
37
- // States:
38
- // 0 - UnInitialized - before initialize function is called
39
- // note: the contract is initialized at deploy time, so it should never be in this state
40
- // 1 - Active - as long as the contract has not become fraudulent
41
- // 2 - Failed - after a valid fraud proof has been submitted;
42
- // contract will no longer accept updates or new messages
43
- enum States {
44
- UnInitialized,
45
- Active,
46
- Failed
47
- }
48
-
49
- // ============ Public Storage Variables ============
50
-
51
- // Cached checkpoints, mapping root => leaf index.
52
- // Cached checkpoints must have index > 0 as the presence of such
53
- // a checkpoint cannot be distinguished from its absence.
54
- mapping(bytes32 => uint256) public cachedCheckpoints;
55
- // The latest cached root
56
- bytes32 public latestCachedRoot;
57
- // Current state of contract
58
- States public state;
59
-
60
- // ============ Upgrade Gap ============
61
-
62
- // gap for upgrade safety
63
- uint256[47] private __GAP;
64
-
65
- // ============ Events ============
66
-
67
- /**
68
- * @notice Emitted when a checkpoint is cached.
69
- * @param root Merkle root
70
- * @param index Leaf index
71
- */
72
- event CheckpointCached(bytes32 indexed root, uint256 indexed index);
73
-
74
- /**
75
- * @notice Emitted when a new message is dispatched via Abacus
76
- * @param leafIndex Index of message's leaf in merkle tree
77
- * @param message Raw bytes of message
78
- */
79
- event Dispatch(uint256 indexed leafIndex, bytes message);
80
-
81
- event Fail();
82
-
83
- // ============ Constructor ============
84
-
85
- constructor(uint32 _localDomain) Mailbox(_localDomain) {} // solhint-disable-line no-empty-blocks
86
-
87
- // ============ Initializer ============
88
-
89
- function initialize(address _validatorManager) external initializer {
90
- __Mailbox_initialize(_validatorManager);
91
- state = States.Active;
92
- }
93
-
94
- // ============ Modifiers ============
95
-
96
- /**
97
- * @notice Ensures that contract state != FAILED when the function is called
98
- */
99
- modifier notFailed() {
100
- require(state != States.Failed, "failed state");
101
- _;
102
- }
103
-
104
- // ============ External Functions ============
105
-
106
- /**
107
- * @notice Dispatch the message it to the destination domain & recipient
108
- * @dev Format the message, insert its hash into Merkle tree,
109
- * and emit `Dispatch` event with message information.
110
- * @param _destinationDomain Domain of destination chain
111
- * @param _recipientAddress Address of recipient on destination chain as bytes32
112
- * @param _messageBody Raw bytes content of message
113
- * @return The leaf index of the dispatched message's hash in the Merkle tree.
114
- */
115
- function dispatch(
116
- uint32 _destinationDomain,
117
- bytes32 _recipientAddress,
118
- bytes calldata _messageBody
119
- ) external override notFailed returns (uint256) {
120
- require(_messageBody.length <= MAX_MESSAGE_BODY_BYTES, "msg too long");
121
- // The leaf has not been inserted yet at this point
122
- uint256 _leafIndex = count();
123
- // format the message into packed bytes
124
- bytes memory _message = Message.formatMessage(
125
- localDomain,
126
- msg.sender.addressToBytes32(),
127
- _destinationDomain,
128
- _recipientAddress,
129
- _messageBody
130
- );
131
- // insert the hashed message into the Merkle tree
132
- bytes32 _messageHash = keccak256(
133
- abi.encodePacked(_message, _leafIndex)
134
- );
135
- tree.insert(_messageHash);
136
- emit Dispatch(_leafIndex, _message);
137
- return _leafIndex;
138
- }
139
-
140
- /**
141
- * @notice Caches the current merkle root and index.
142
- * @dev emits CheckpointCached event
143
- */
144
- function cacheCheckpoint() external override notFailed {
145
- (bytes32 _root, uint256 _index) = latestCheckpoint();
146
- require(_index > 0, "!index");
147
- cachedCheckpoints[_root] = _index;
148
- latestCachedRoot = _root;
149
- emit CheckpointCached(_root, _index);
150
- }
151
-
152
- /**
153
- * @notice Set contract state to FAILED.
154
- * @dev Called by the validator manager when fraud is proven.
155
- */
156
- function fail() external override onlyValidatorManager {
157
- // set contract to FAILED
158
- state = States.Failed;
159
- emit Fail();
160
- }
161
-
162
- /**
163
- * @notice Returns the latest entry in the checkpoint cache.
164
- * @return root Latest cached root
165
- * @return index Latest cached index
166
- */
167
- function latestCachedCheckpoint()
168
- external
169
- view
170
- returns (bytes32 root, uint256 index)
171
- {
172
- root = latestCachedRoot;
173
- index = cachedCheckpoints[root];
174
- }
175
-
176
- /**
177
- * @notice Returns the number of inserted leaves in the tree
178
- */
179
- function count() public view returns (uint256) {
180
- return tree.count;
181
- }
182
-
183
- /**
184
- * @notice Returns a checkpoint representing the current merkle tree.
185
- * @return root The root of the Outbox's merkle tree.
186
- * @return index The index of the last element in the tree.
187
- */
188
- function latestCheckpoint() public view returns (bytes32, uint256) {
189
- return (root(), count() - 1);
190
- }
191
- }
@@ -1,215 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.13;
3
-
4
- import {Router} from "../../../Router.sol";
5
-
6
- import {IPortalTokenBridge} from "../interfaces/portal/IPortalTokenBridge.sol";
7
- import {ILiquidityLayerAdapter} from "../interfaces/ILiquidityLayerAdapter.sol";
8
- import {TypeCasts} from "../../../libs/TypeCasts.sol";
9
-
10
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
11
-
12
- contract PortalAdapter is ILiquidityLayerAdapter, Router {
13
- /// @notice The Portal TokenBridge contract.
14
- IPortalTokenBridge public portalTokenBridge;
15
-
16
- /// @notice The LiquidityLayerRouter contract.
17
- address public liquidityLayerRouter;
18
-
19
- /// @notice Hyperlane domain => Wormhole domain.
20
- mapping(uint32 => uint16) public hyperlaneDomainToWormholeDomain;
21
- /// @notice transferId => token address
22
- mapping(bytes32 => address) public portalTransfersProcessed;
23
-
24
- uint32 localDomain;
25
- // We could technically use Portal's sequence number here but it doesn't
26
- // get passed through, so we would have to parse the VAA twice
27
- // 224 bits should be large enough and allows us to pack into a single slot
28
- // with a Hyperlane domain
29
- uint224 public nonce = 0;
30
-
31
- /**
32
- * @notice Emits the nonce of the Portal message when a token is bridged.
33
- * @param nonce The nonce of the Portal message.
34
- * @param portalSequence The sequence of the Portal message.
35
- * @param destination The hyperlane domain of the destination
36
- */
37
- event BridgedToken(
38
- uint256 nonce,
39
- uint64 portalSequence,
40
- uint32 destination
41
- );
42
-
43
- /**
44
- * @notice Emitted when the Hyperlane domain to Wormhole domain mapping is updated.
45
- * @param hyperlaneDomain The Hyperlane domain.
46
- * @param wormholeDomain The Wormhole domain.
47
- */
48
- event DomainAdded(uint32 indexed hyperlaneDomain, uint32 wormholeDomain);
49
-
50
- modifier onlyLiquidityLayerRouter() {
51
- require(msg.sender == liquidityLayerRouter, "!liquidityLayerRouter");
52
- _;
53
- }
54
-
55
- /**
56
- * @param _localDomain The local hyperlane domain
57
- * @param _owner The new owner.
58
- * @param _portalTokenBridge The Portal TokenBridge contract.
59
- * @param _liquidityLayerRouter The LiquidityLayerRouter contract.
60
- */
61
- function initialize(
62
- uint32 _localDomain,
63
- address _owner,
64
- address _portalTokenBridge,
65
- address _liquidityLayerRouter
66
- ) public initializer {
67
- // Transfer ownership of the contract to deployer
68
- _transferOwnership(_owner);
69
-
70
- localDomain = _localDomain;
71
- portalTokenBridge = IPortalTokenBridge(_portalTokenBridge);
72
- liquidityLayerRouter = _liquidityLayerRouter;
73
- }
74
-
75
- /**
76
- * Sends tokens as requested by the router
77
- * @param _destinationDomain The hyperlane domain of the destination
78
- * @param _token The token address
79
- * @param _amount The amount of tokens to send
80
- */
81
- function sendTokens(
82
- uint32 _destinationDomain,
83
- bytes32, // _recipientAddress, unused
84
- address _token,
85
- uint256 _amount
86
- ) external onlyLiquidityLayerRouter returns (bytes memory) {
87
- nonce = nonce + 1;
88
- uint16 _wormholeDomain = hyperlaneDomainToWormholeDomain[
89
- _destinationDomain
90
- ];
91
-
92
- bytes32 _remoteRouter = _mustHaveRemoteRouter(_destinationDomain);
93
-
94
- // Approve the token to Portal. We assume that the LiquidityLayerRouter
95
- // has already transferred the token to this contract.
96
- require(
97
- IERC20(_token).approve(address(portalTokenBridge), _amount),
98
- "!approval"
99
- );
100
-
101
- uint64 portalSequence = portalTokenBridge.transferTokensWithPayload(
102
- _token,
103
- _amount,
104
- _wormholeDomain,
105
- _remoteRouter,
106
- // Nonce for grouping Portal messages in the same tx, not relevant for us
107
- // https://book.wormhole.com/technical/evm/coreLayer.html#emitting-a-vaa
108
- 0,
109
- // Portal Payload used in completeTransfer
110
- abi.encode(localDomain, nonce)
111
- );
112
-
113
- emit BridgedToken(nonce, portalSequence, _destinationDomain);
114
- return abi.encode(nonce);
115
- }
116
-
117
- /**
118
- * Sends the tokens to the recipient as requested by the router
119
- * @param _originDomain The hyperlane domain of the origin
120
- * @param _recipient The address of the recipient
121
- * @param _amount The amount of tokens to send
122
- * @param _adapterData The adapter data from the origin chain, containing the nonce
123
- */
124
- function receiveTokens(
125
- uint32 _originDomain, // Hyperlane domain
126
- address _recipient,
127
- uint256 _amount,
128
- bytes calldata _adapterData // The adapter data from the message
129
- ) external onlyLiquidityLayerRouter returns (address, uint256) {
130
- // Get the nonce information from the adapterData
131
- uint224 _nonce = abi.decode(_adapterData, (uint224));
132
-
133
- address _tokenAddress = portalTransfersProcessed[
134
- transferId(_originDomain, _nonce)
135
- ];
136
-
137
- require(
138
- _tokenAddress != address(0x0),
139
- "Portal Transfer has not yet been completed"
140
- );
141
-
142
- IERC20 _token = IERC20(_tokenAddress);
143
-
144
- // Transfer the token out to the recipient
145
- // TODO: use safeTransfer
146
- // Portal doesn't charge any fee, so we can safely transfer out the
147
- // exact amount that was bridged over.
148
- require(_token.transfer(_recipient, _amount), "!transfer out");
149
- return (_tokenAddress, _amount);
150
- }
151
-
152
- /**
153
- * Completes the Portal transfer which sends the funds to this adapter.
154
- * The router can call receiveTokens to move those funds to the ultimate recipient.
155
- * @param encodedVm The VAA from the Wormhole Guardians
156
- */
157
- function completeTransfer(bytes memory encodedVm) public {
158
- bytes memory _tokenBridgeTransferWithPayload = portalTokenBridge
159
- .completeTransferWithPayload(encodedVm);
160
- IPortalTokenBridge.TransferWithPayload
161
- memory _transfer = portalTokenBridge.parseTransferWithPayload(
162
- _tokenBridgeTransferWithPayload
163
- );
164
-
165
- (uint32 _originDomain, uint224 _nonce) = abi.decode(
166
- _transfer.payload,
167
- (uint32, uint224)
168
- );
169
-
170
- // Logic taken from here https://github.com/wormhole-foundation/wormhole/blob/dev.v2/ethereum/contracts/bridge/Bridge.sol#L503
171
- address tokenAddress = _transfer.tokenChain ==
172
- hyperlaneDomainToWormholeDomain[localDomain]
173
- ? TypeCasts.bytes32ToAddress(_transfer.tokenAddress)
174
- : portalTokenBridge.wrappedAsset(
175
- _transfer.tokenChain,
176
- _transfer.tokenAddress
177
- );
178
-
179
- portalTransfersProcessed[
180
- transferId(_originDomain, _nonce)
181
- ] = tokenAddress;
182
- }
183
-
184
- // This contract is only a Router to be aware of remote router addresses,
185
- // and doesn't actually send/handle Hyperlane messages directly
186
- function _handle(
187
- uint32, // origin
188
- bytes32, // sender
189
- bytes calldata // message
190
- ) internal pure override {
191
- revert("No messages expected");
192
- }
193
-
194
- function addDomain(uint32 _hyperlaneDomain, uint16 _wormholeDomain)
195
- external
196
- onlyOwner
197
- {
198
- hyperlaneDomainToWormholeDomain[_hyperlaneDomain] = _wormholeDomain;
199
-
200
- emit DomainAdded(_hyperlaneDomain, _wormholeDomain);
201
- }
202
-
203
- /**
204
- * The key that is used to track fulfilled Portal transfers
205
- * @param _hyperlaneDomain The hyperlane of the origin
206
- * @param _nonce The nonce of the adapter on the origin
207
- */
208
- function transferId(uint32 _hyperlaneDomain, uint224 _nonce)
209
- public
210
- pure
211
- returns (bytes32)
212
- {
213
- return bytes32(abi.encodePacked(_hyperlaneDomain, _nonce));
214
- }
215
- }
@@ -1,87 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.13;
3
-
4
- // Portal's interface from their docs
5
- interface IPortalTokenBridge {
6
- struct Transfer {
7
- uint8 payloadID;
8
- uint256 amount;
9
- bytes32 tokenAddress;
10
- uint16 tokenChain;
11
- bytes32 to;
12
- uint16 toChain;
13
- uint256 fee;
14
- }
15
-
16
- struct TransferWithPayload {
17
- uint8 payloadID;
18
- uint256 amount;
19
- bytes32 tokenAddress;
20
- uint16 tokenChain;
21
- bytes32 to;
22
- uint16 toChain;
23
- bytes32 fromAddress;
24
- bytes payload;
25
- }
26
-
27
- struct AssetMeta {
28
- uint8 payloadID;
29
- bytes32 tokenAddress;
30
- uint16 tokenChain;
31
- uint8 decimals;
32
- bytes32 symbol;
33
- bytes32 name;
34
- }
35
-
36
- struct RegisterChain {
37
- bytes32 module;
38
- uint8 action;
39
- uint16 chainId;
40
- uint16 emitterChainID;
41
- bytes32 emitterAddress;
42
- }
43
-
44
- struct UpgradeContract {
45
- bytes32 module;
46
- uint8 action;
47
- uint16 chainId;
48
- bytes32 newContract;
49
- }
50
-
51
- struct RecoverChainId {
52
- bytes32 module;
53
- uint8 action;
54
- uint256 evmChainId;
55
- uint16 newChainId;
56
- }
57
-
58
- event ContractUpgraded(
59
- address indexed oldContract,
60
- address indexed newContract
61
- );
62
-
63
- function transferTokensWithPayload(
64
- address token,
65
- uint256 amount,
66
- uint16 recipientChain,
67
- bytes32 recipient,
68
- uint32 nonce,
69
- bytes memory payload
70
- ) external payable returns (uint64 sequence);
71
-
72
- function completeTransferWithPayload(bytes memory encodedVm)
73
- external
74
- returns (bytes memory);
75
-
76
- function parseTransferWithPayload(bytes memory encoded)
77
- external
78
- pure
79
- returns (TransferWithPayload memory transfer);
80
-
81
- function wrappedAsset(uint16 tokenChainId, bytes32 tokenAddress)
82
- external
83
- view
84
- returns (address);
85
-
86
- function isWrappedAsset(address token) external view returns (bool);
87
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import {TypeCasts} from "../libs/TypeCasts.sol";
5
- import {IMessageRecipient} from "../../interfaces/IMessageRecipient.sol";
6
-
7
- contract MockInbox {
8
- using TypeCasts for bytes32;
9
-
10
- struct PendingMessage {
11
- uint32 originDomain;
12
- bytes32 sender;
13
- bytes32 recipient;
14
- bytes messageBody;
15
- }
16
-
17
- mapping(uint256 => PendingMessage) pendingMessages;
18
- uint256 totalMessages = 0;
19
- uint256 messageProcessed = 0;
20
-
21
- function addPendingMessage(
22
- uint32 _originDomain,
23
- bytes32 _sender,
24
- bytes32 _recipient,
25
- bytes memory _messageBody
26
- ) external {
27
- pendingMessages[totalMessages] = PendingMessage(
28
- _originDomain,
29
- _sender,
30
- _recipient,
31
- _messageBody
32
- );
33
- totalMessages += 1;
34
- }
35
-
36
- function processNextPendingMessage() public {
37
- PendingMessage memory pendingMessage = pendingMessages[
38
- messageProcessed
39
- ];
40
-
41
- address recipient = pendingMessage.recipient.bytes32ToAddress();
42
-
43
- IMessageRecipient(recipient).handle(
44
- // This is completely arbitrary and consumers should not rely
45
- // on domain handling in the mock mailbox contracts.
46
- pendingMessage.originDomain,
47
- pendingMessage.sender,
48
- pendingMessage.messageBody
49
- );
50
- messageProcessed += 1;
51
- }
52
- }
@@ -1,30 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import {MockInbox} from "./MockInbox.sol";
5
- import {TypeCasts} from "../libs/TypeCasts.sol";
6
-
7
- contract MockOutbox {
8
- MockInbox inbox;
9
- uint32 domain;
10
- using TypeCasts for address;
11
-
12
- constructor(uint32 _domain, address _inbox) {
13
- domain = _domain;
14
- inbox = MockInbox(_inbox);
15
- }
16
-
17
- function dispatch(
18
- uint32,
19
- bytes32 _recipientAddress,
20
- bytes calldata _messageBody
21
- ) external returns (uint256) {
22
- inbox.addPendingMessage(
23
- domain,
24
- msg.sender.addressToBytes32(),
25
- _recipientAddress,
26
- _messageBody
27
- );
28
- return 1;
29
- }
30
- }
@@ -1,89 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.13;
3
-
4
- import {IPortalTokenBridge} from "../middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol";
5
- import {MockToken} from "./MockToken.sol";
6
- import {TypeCasts} from "../libs/TypeCasts.sol";
7
-
8
- contract MockPortalBridge is IPortalTokenBridge {
9
- uint256 nextNonce = 0;
10
- MockToken token;
11
-
12
- constructor(MockToken _token) {
13
- token = _token;
14
- }
15
-
16
- function transferTokensWithPayload(
17
- address,
18
- uint256 amount,
19
- uint16,
20
- bytes32,
21
- uint32,
22
- bytes memory
23
- ) external payable returns (uint64 sequence) {
24
- nextNonce = nextNonce + 1;
25
- token.transferFrom(msg.sender, address(this), amount);
26
- token.burn(amount);
27
- return uint64(nextNonce);
28
- }
29
-
30
- function wrappedAsset(uint16, bytes32) external view returns (address) {
31
- return address(token);
32
- }
33
-
34
- function isWrappedAsset(address) external pure returns (bool) {
35
- return true;
36
- }
37
-
38
- function completeTransferWithPayload(bytes memory encodedVm)
39
- external
40
- returns (bytes memory)
41
- {
42
- (uint32 _originDomain, uint224 _nonce, uint256 _amount) = abi.decode(
43
- encodedVm,
44
- (uint32, uint224, uint256)
45
- );
46
-
47
- token.mint(msg.sender, _amount);
48
- // Format it so that parseTransferWithPayload returns the desired payload
49
- return
50
- abi.encode(
51
- TypeCasts.addressToBytes32(address(token)),
52
- adapterData(_originDomain, _nonce, address(token))
53
- );
54
- }
55
-
56
- function parseTransferWithPayload(bytes memory encoded)
57
- external
58
- pure
59
- returns (TransferWithPayload memory transfer)
60
- {
61
- (bytes32 tokenAddress, bytes memory payload) = abi.decode(
62
- encoded,
63
- (bytes32, bytes)
64
- );
65
- transfer.payload = payload;
66
- transfer.tokenAddress = tokenAddress;
67
- }
68
-
69
- function adapterData(
70
- uint32 _originDomain,
71
- uint224 _nonce,
72
- address _token
73
- ) public pure returns (bytes memory) {
74
- return
75
- abi.encode(
76
- _originDomain,
77
- _nonce,
78
- TypeCasts.addressToBytes32(_token)
79
- );
80
- }
81
-
82
- function mockPortalVaa(
83
- uint32 _originDomain,
84
- uint224 _nonce,
85
- uint256 _amount
86
- ) public pure returns (bytes memory) {
87
- return abi.encode(_originDomain, _nonce, _amount);
88
- }
89
- }