@hyperlane-xyz/core 0.5.3 → 0.5.4-1

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 (614) hide show
  1. package/contracts/Call.sol +7 -0
  2. package/contracts/{AbacusConnectionClient.sol → HyperlaneConnectionClient.sol} +69 -56
  3. package/contracts/InterchainGasPaymaster.sol +9 -11
  4. package/contracts/Mailbox.sol +179 -44
  5. package/contracts/OwnableMulticall.sol +1 -5
  6. package/contracts/Router.sol +21 -45
  7. package/contracts/isms/MultisigIsm.sol +340 -0
  8. package/contracts/libs/Message.sol +107 -66
  9. package/contracts/libs/MultisigIsmMetadata.sol +187 -0
  10. package/contracts/middleware/InterchainAccountRouter.sol +9 -6
  11. package/contracts/middleware/InterchainQueryRouter.sol +15 -9
  12. package/contracts/middleware/{token-bridge/TokenBridgeRouter.sol → liquidity-layer/LiquidityLayerRouter.sol} +16 -17
  13. package/contracts/middleware/{token-bridge → liquidity-layer}/adapters/CircleBridgeAdapter.sol +14 -16
  14. package/contracts/middleware/{token-bridge/interfaces/ITokenBridgeAdapter.sol → liquidity-layer/interfaces/ILiquidityLayerAdapter.sol} +1 -1
  15. package/contracts/middleware/{token-bridge/interfaces/ITokenBridgeMessageRecipient.sol → liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.sol} +1 -1
  16. package/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleBridge.sol +0 -0
  17. package/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleMessageTransmitter.sol +0 -0
  18. package/contracts/mock/MockCircleBridge.sol +38 -0
  19. package/contracts/mock/MockCircleMessageTransmitter.sol +43 -0
  20. package/contracts/mock/MockHyperlaneEnvironment.sol +60 -0
  21. package/contracts/mock/MockInterchainAccountRouter.sol +98 -0
  22. package/contracts/mock/MockMailbox.sol +79 -0
  23. package/contracts/test/TestHyperlaneConnectionClient.sol +14 -0
  24. package/contracts/test/TestIsm.sol +20 -0
  25. package/contracts/test/{TestTokenBridgeMessageRecipient.sol → TestLiquidityLayerMessageRecipient.sol} +2 -2
  26. package/contracts/test/TestMailbox.sol +34 -4
  27. package/contracts/test/TestMerkle.sol +9 -4
  28. package/contracts/test/TestMessage.sol +24 -12
  29. package/contracts/test/TestMultisigIsm.sol +23 -0
  30. package/contracts/test/TestQuerySender.sol +72 -0
  31. package/contracts/test/TestSendReceiver.sol +6 -15
  32. package/contracts/test/TestTokenRecipient.sol +2 -2
  33. package/dist/contracts/{AbacusConnectionClient.d.ts → HyperlaneConnectionClient.d.ts} +69 -36
  34. package/dist/contracts/HyperlaneConnectionClient.d.ts.map +1 -0
  35. package/dist/contracts/HyperlaneConnectionClient.js +4 -0
  36. package/dist/contracts/HyperlaneConnectionClient.js.map +1 -0
  37. package/dist/contracts/InterchainGasPaymaster.d.ts +11 -13
  38. package/dist/contracts/InterchainGasPaymaster.d.ts.map +1 -1
  39. package/dist/contracts/Mailbox.d.ts +151 -28
  40. package/dist/contracts/Mailbox.d.ts.map +1 -1
  41. package/dist/contracts/OwnableSpecifiesISM.d.ts +134 -0
  42. package/dist/contracts/OwnableSpecifiesISM.d.ts.map +1 -0
  43. package/dist/contracts/{middleware/token-bridge/TokenBridgeRouter.js → OwnableSpecifiesISM.js} +1 -1
  44. package/dist/contracts/OwnableSpecifiesISM.js.map +1 -0
  45. package/dist/contracts/Router.d.ts +65 -32
  46. package/dist/contracts/Router.d.ts.map +1 -1
  47. package/dist/contracts/index.d.ts +3 -7
  48. package/dist/contracts/index.d.ts.map +1 -1
  49. package/dist/contracts/isms/MultisigIsm.d.ts +235 -0
  50. package/dist/contracts/isms/MultisigIsm.d.ts.map +1 -0
  51. package/dist/contracts/{Inbox.js → isms/MultisigIsm.js} +1 -1
  52. package/dist/contracts/isms/MultisigIsm.js.map +1 -0
  53. package/dist/contracts/isms/index.d.ts +2 -0
  54. package/dist/contracts/isms/index.d.ts.map +1 -0
  55. package/dist/contracts/{middleware/token-bridge/adapters → isms}/index.js +0 -0
  56. package/dist/contracts/isms/index.js.map +1 -0
  57. package/dist/contracts/middleware/InterchainAccountRouter.d.ts +71 -38
  58. package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
  59. package/dist/contracts/middleware/InterchainQueryRouter.d.ts +72 -39
  60. package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
  61. package/dist/contracts/middleware/index.d.ts +2 -2
  62. package/dist/contracts/middleware/index.d.ts.map +1 -1
  63. package/dist/contracts/middleware/{token-bridge/TokenBridgeRouter.d.ts → liquidity-layer/LiquidityLayerRouter.d.ts} +103 -70
  64. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -0
  65. package/dist/contracts/{MerkleTreeManager.js → middleware/liquidity-layer/LiquidityLayerRouter.js} +1 -1
  66. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.js.map +1 -0
  67. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/adapters/CircleBridgeAdapter.d.ts +78 -45
  68. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -0
  69. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/adapters/CircleBridgeAdapter.js +0 -0
  70. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.js.map +1 -0
  71. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/adapters/index.d.ts +0 -0
  72. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -0
  73. package/dist/contracts/middleware/{token-bridge/interfaces/circle → liquidity-layer/adapters}/index.js +0 -0
  74. package/dist/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -0
  75. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/index.d.ts +1 -1
  76. package/dist/contracts/middleware/liquidity-layer/index.d.ts.map +1 -0
  77. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/index.js +0 -0
  78. package/dist/contracts/middleware/liquidity-layer/index.js.map +1 -0
  79. package/dist/contracts/middleware/{token-bridge/interfaces/ITokenBridgeAdapter.d.ts → liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts} +4 -4
  80. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts.map +1 -0
  81. package/dist/contracts/{AbacusConnectionClient.js → middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.js} +1 -1
  82. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.js.map +1 -0
  83. package/dist/contracts/middleware/{token-bridge/interfaces/ITokenBridgeMessageRecipient.d.ts → liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.d.ts} +4 -4
  84. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -0
  85. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.js +4 -0
  86. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.js.map +1 -0
  87. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleBridge.d.ts +0 -0
  88. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts.map +1 -0
  89. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleBridge.js +0 -0
  90. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js.map +1 -0
  91. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleMessageTransmitter.d.ts +0 -0
  92. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.d.ts.map +1 -0
  93. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleMessageTransmitter.js +0 -0
  94. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.js.map +1 -0
  95. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/index.d.ts +0 -0
  96. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -0
  97. package/dist/contracts/{validator-manager → middleware/liquidity-layer/interfaces/circle}/index.js +0 -0
  98. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.js.map +1 -0
  99. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts +5 -0
  100. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -0
  101. package/dist/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/index.js +0 -0
  102. package/dist/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -0
  103. package/dist/contracts/mock/MockCircleBridge.d.ts +86 -0
  104. package/dist/contracts/mock/MockCircleBridge.d.ts.map +1 -0
  105. package/dist/contracts/mock/MockCircleBridge.js +4 -0
  106. package/dist/contracts/mock/MockCircleBridge.js.map +1 -0
  107. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts +77 -0
  108. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts.map +1 -0
  109. package/dist/contracts/mock/MockCircleMessageTransmitter.js +4 -0
  110. package/dist/contracts/mock/MockCircleMessageTransmitter.js.map +1 -0
  111. package/dist/contracts/mock/{MockInbox.d.ts → MockHyperlaneEnvironment.d.ts} +33 -17
  112. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -0
  113. package/dist/contracts/{AbacusConnectionManager.js → mock/MockHyperlaneEnvironment.js} +1 -1
  114. package/dist/contracts/mock/MockHyperlaneEnvironment.js.map +1 -0
  115. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts +124 -0
  116. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts.map +1 -0
  117. package/dist/contracts/mock/MockInterchainAccountRouter.js +4 -0
  118. package/dist/contracts/mock/MockInterchainAccountRouter.js.map +1 -0
  119. package/dist/contracts/mock/MockMailbox.d.ts +185 -0
  120. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -0
  121. package/dist/contracts/mock/MockMailbox.js +4 -0
  122. package/dist/contracts/mock/MockMailbox.js.map +1 -0
  123. package/dist/contracts/mock/index.d.ts +5 -3
  124. package/dist/contracts/mock/index.d.ts.map +1 -1
  125. package/dist/contracts/test/{TestAbacusConnectionClient.d.ts → TestHyperlaneConnectionClient.d.ts} +69 -52
  126. package/dist/contracts/test/TestHyperlaneConnectionClient.d.ts.map +1 -0
  127. package/dist/contracts/test/TestHyperlaneConnectionClient.js +4 -0
  128. package/dist/contracts/test/TestHyperlaneConnectionClient.js.map +1 -0
  129. package/dist/contracts/test/TestIsm.d.ts +67 -0
  130. package/dist/contracts/test/TestIsm.d.ts.map +1 -0
  131. package/dist/contracts/{Outbox.js → test/TestIsm.js} +1 -1
  132. package/dist/contracts/test/TestIsm.js.map +1 -0
  133. package/dist/contracts/test/{TestTokenBridgeMessageRecipient.d.ts → TestLiquidityLayerMessageRecipient.d.ts} +4 -4
  134. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.d.ts.map +1 -0
  135. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.js +4 -0
  136. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.js.map +1 -0
  137. package/dist/contracts/test/TestMailbox.d.ts +164 -33
  138. package/dist/contracts/test/TestMailbox.d.ts.map +1 -1
  139. package/dist/contracts/test/TestMessage.d.ts +30 -10
  140. package/dist/contracts/test/TestMessage.d.ts.map +1 -1
  141. package/dist/contracts/test/TestMultisigIsm.d.ts +251 -0
  142. package/dist/contracts/test/TestMultisigIsm.d.ts.map +1 -0
  143. package/dist/contracts/test/TestMultisigIsm.js +4 -0
  144. package/dist/contracts/test/TestMultisigIsm.js.map +1 -0
  145. package/dist/contracts/test/TestQuerySender.d.ts +215 -0
  146. package/dist/contracts/test/TestQuerySender.d.ts.map +1 -0
  147. package/dist/contracts/test/TestQuerySender.js +4 -0
  148. package/dist/contracts/test/TestQuerySender.js.map +1 -0
  149. package/dist/contracts/test/TestRouter.d.ts +65 -32
  150. package/dist/contracts/test/TestRouter.d.ts.map +1 -1
  151. package/dist/contracts/test/index.d.ts +5 -6
  152. package/dist/contracts/test/index.d.ts.map +1 -1
  153. package/dist/factories/contracts/{AbacusConnectionClient__factory.d.ts → HyperlaneConnectionClient__factory.d.ts} +5 -5
  154. package/dist/factories/contracts/HyperlaneConnectionClient__factory.d.ts.map +1 -0
  155. package/dist/factories/contracts/{AbacusConnectionClient__factory.js → HyperlaneConnectionClient__factory.js} +61 -22
  156. package/dist/factories/contracts/HyperlaneConnectionClient__factory.js.map +1 -0
  157. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts +1 -1
  158. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +1 -1
  159. package/dist/factories/contracts/InterchainGasPaymaster__factory.js +7 -18
  160. package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +1 -1
  161. package/dist/factories/contracts/Mailbox__factory.d.ts +29 -13
  162. package/dist/factories/contracts/Mailbox__factory.d.ts.map +1 -1
  163. package/dist/factories/contracts/Mailbox__factory.js +239 -11
  164. package/dist/factories/contracts/Mailbox__factory.js.map +1 -1
  165. package/dist/factories/contracts/OwnableMulticall__factory.d.ts +1 -1
  166. package/dist/factories/contracts/OwnableMulticall__factory.js +1 -1
  167. package/dist/factories/contracts/OwnableSpecifiesISM__factory.d.ts +55 -0
  168. package/dist/factories/contracts/OwnableSpecifiesISM__factory.d.ts.map +1 -0
  169. package/dist/factories/contracts/OwnableSpecifiesISM__factory.js +145 -0
  170. package/dist/factories/contracts/OwnableSpecifiesISM__factory.js.map +1 -0
  171. package/dist/factories/contracts/Router__factory.d.ts.map +1 -1
  172. package/dist/factories/contracts/Router__factory.js +65 -26
  173. package/dist/factories/contracts/Router__factory.js.map +1 -1
  174. package/dist/factories/contracts/index.d.ts +2 -6
  175. package/dist/factories/contracts/index.d.ts.map +1 -1
  176. package/dist/factories/contracts/index.js +4 -12
  177. package/dist/factories/contracts/index.js.map +1 -1
  178. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts +55 -0
  179. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts.map +1 -0
  180. package/dist/factories/contracts/isms/MultisigIsm__factory.js +363 -0
  181. package/dist/factories/contracts/isms/MultisigIsm__factory.js.map +1 -0
  182. package/dist/factories/contracts/isms/index.d.ts +2 -0
  183. package/dist/factories/contracts/isms/index.d.ts.map +1 -0
  184. package/dist/factories/contracts/isms/index.js +9 -0
  185. package/dist/factories/contracts/isms/index.js.map +1 -0
  186. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -12
  187. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  188. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +78 -33
  189. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  190. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -12
  191. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  192. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +81 -30
  193. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  194. package/dist/factories/contracts/middleware/index.d.ts +1 -1
  195. package/dist/factories/contracts/middleware/index.d.ts.map +1 -1
  196. package/dist/factories/contracts/middleware/index.js +2 -2
  197. package/dist/factories/contracts/middleware/index.js.map +1 -1
  198. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +48 -0
  199. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -0
  200. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +419 -0
  201. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -0
  202. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +48 -0
  203. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -0
  204. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +623 -0
  205. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -0
  206. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/adapters/index.d.ts +0 -0
  207. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -0
  208. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/adapters/index.js +0 -0
  209. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -0
  210. package/dist/factories/contracts/middleware/liquidity-layer/index.d.ts +4 -0
  211. package/dist/factories/contracts/middleware/liquidity-layer/index.d.ts.map +1 -0
  212. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/index.js +3 -3
  213. package/dist/factories/contracts/middleware/liquidity-layer/index.js.map +1 -0
  214. package/dist/factories/{interfaces/IAbacusConnectionManager__factory.d.ts → contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts} +5 -5
  215. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts.map +1 -0
  216. package/dist/factories/contracts/middleware/{token-bridge/interfaces/ITokenBridgeAdapter__factory.js → liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.js} +5 -5
  217. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.js.map +1 -0
  218. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts +19 -0
  219. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
  220. package/dist/factories/contracts/middleware/{token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.js → liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.js} +5 -5
  221. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -0
  222. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleBridge__factory.d.ts +1 -1
  223. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts.map +1 -0
  224. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleBridge__factory.js +0 -0
  225. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js.map +1 -0
  226. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleMessageTransmitter__factory.d.ts +1 -1
  227. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.d.ts.map +1 -0
  228. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/ICircleMessageTransmitter__factory.js +0 -0
  229. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.js.map +1 -0
  230. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/index.d.ts +0 -0
  231. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -0
  232. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/circle/index.js +0 -0
  233. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.js.map +1 -0
  234. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts +4 -0
  235. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -0
  236. package/dist/factories/contracts/middleware/{token-bridge → liquidity-layer}/interfaces/index.js +5 -5
  237. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -0
  238. package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts +59 -0
  239. package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts.map +1 -0
  240. package/dist/factories/contracts/mock/MockCircleBridge__factory.js +151 -0
  241. package/dist/factories/contracts/mock/MockCircleBridge__factory.js.map +1 -0
  242. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts +45 -0
  243. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts.map +1 -0
  244. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js +142 -0
  245. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js.map +1 -0
  246. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +45 -0
  247. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -0
  248. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +109 -0
  249. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -0
  250. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts +69 -0
  251. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts.map +1 -0
  252. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js +181 -0
  253. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js.map +1 -0
  254. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +45 -0
  255. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -0
  256. package/dist/factories/contracts/mock/MockMailbox__factory.js +252 -0
  257. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -0
  258. package/dist/factories/contracts/mock/index.d.ts +5 -3
  259. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  260. package/dist/factories/contracts/mock/index.js +11 -7
  261. package/dist/factories/contracts/mock/index.js.map +1 -1
  262. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +55 -0
  263. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts.map +1 -0
  264. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +249 -0
  265. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js.map +1 -0
  266. package/dist/factories/contracts/test/TestIsm__factory.d.ts +35 -0
  267. package/dist/factories/contracts/test/TestIsm__factory.d.ts.map +1 -0
  268. package/dist/factories/contracts/test/TestIsm__factory.js +91 -0
  269. package/dist/factories/contracts/test/TestIsm__factory.js.map +1 -0
  270. package/dist/factories/contracts/test/{TestTokenBridgeMessageRecipient__factory.d.ts → TestLiquidityLayerMessageRecipient__factory.d.ts} +11 -11
  271. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
  272. package/dist/factories/contracts/test/{TestTokenBridgeMessageRecipient__factory.js → TestLiquidityLayerMessageRecipient__factory.js} +7 -7
  273. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js.map +1 -0
  274. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -8
  275. package/dist/factories/contracts/test/TestMailbox__factory.d.ts.map +1 -1
  276. package/dist/factories/contracts/test/TestMailbox__factory.js +235 -13
  277. package/dist/factories/contracts/test/TestMailbox__factory.js.map +1 -1
  278. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  279. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  280. package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
  281. package/dist/factories/contracts/test/TestMessage__factory.d.ts.map +1 -1
  282. package/dist/factories/contracts/test/TestMessage__factory.js +40 -7
  283. package/dist/factories/contracts/test/TestMessage__factory.js.map +1 -1
  284. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +48 -0
  285. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +1 -0
  286. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +406 -0
  287. package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +1 -0
  288. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +55 -0
  289. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts.map +1 -0
  290. package/dist/factories/contracts/test/TestQuerySender__factory.js +253 -0
  291. package/dist/factories/contracts/test/TestQuerySender__factory.js.map +1 -0
  292. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  293. package/dist/factories/contracts/test/TestQuery__factory.d.ts.map +1 -1
  294. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  295. package/dist/factories/contracts/test/TestQuery__factory.js.map +1 -1
  296. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  297. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  298. package/dist/factories/contracts/test/TestRouter__factory.js +70 -31
  299. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  300. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  301. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts.map +1 -1
  302. package/dist/factories/contracts/test/TestSendReceiver__factory.js +2 -2
  303. package/dist/factories/contracts/test/TestSendReceiver__factory.js.map +1 -1
  304. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +1 -1
  305. package/dist/factories/contracts/test/TestTokenRecipient__factory.js +1 -1
  306. package/dist/factories/contracts/test/index.d.ts +5 -6
  307. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  308. package/dist/factories/contracts/test/index.js +11 -13
  309. package/dist/factories/contracts/test/index.js.map +1 -1
  310. package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts +33 -0
  311. package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts.map +1 -0
  312. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +78 -0
  313. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +1 -0
  314. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -1
  315. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js +3 -8
  316. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +1 -1
  317. package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts +33 -0
  318. package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts.map +1 -0
  319. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +100 -0
  320. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +1 -0
  321. package/dist/factories/{contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.d.ts → interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts} +5 -5
  322. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts.map +1 -0
  323. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js +42 -0
  324. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js.map +1 -0
  325. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts +19 -0
  326. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts.map +1 -0
  327. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js +31 -0
  328. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js.map +1 -0
  329. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
  330. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
  331. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.js +11 -0
  332. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
  333. package/dist/factories/interfaces/IMailbox__factory.d.ts +5 -1
  334. package/dist/factories/interfaces/IMailbox__factory.d.ts.map +1 -1
  335. package/dist/factories/interfaces/IMailbox__factory.js +81 -3
  336. package/dist/factories/interfaces/IMailbox__factory.js.map +1 -1
  337. package/dist/factories/interfaces/{IOutbox__factory.d.ts → IMultisigIsm__factory.d.ts} +5 -5
  338. package/dist/factories/interfaces/IMultisigIsm__factory.d.ts.map +1 -0
  339. package/dist/factories/interfaces/{IInbox__factory.js → IMultisigIsm__factory.js} +55 -41
  340. package/dist/factories/interfaces/IMultisigIsm__factory.js.map +1 -0
  341. package/dist/factories/interfaces/index.d.ts +4 -4
  342. package/dist/factories/interfaces/index.d.ts.map +1 -1
  343. package/dist/factories/interfaces/index.js +31 -9
  344. package/dist/factories/interfaces/index.js.map +1 -1
  345. package/dist/index.d.ts +46 -54
  346. package/dist/index.d.ts.map +1 -1
  347. package/dist/index.js +45 -53
  348. package/dist/index.js.map +1 -1
  349. package/dist/interfaces/IInterchainAccountRouter.d.ts +67 -0
  350. package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -0
  351. package/dist/interfaces/IInterchainAccountRouter.js +4 -0
  352. package/dist/interfaces/IInterchainAccountRouter.js.map +1 -0
  353. package/dist/interfaces/IInterchainGasPaymaster.d.ts +7 -7
  354. package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +1 -1
  355. package/dist/interfaces/IInterchainQueryRouter.d.ts +75 -0
  356. package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -0
  357. package/dist/interfaces/IInterchainQueryRouter.js +4 -0
  358. package/dist/interfaces/IInterchainQueryRouter.js.map +1 -0
  359. package/dist/{contracts/mock/MockOutbox.d.ts → interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts} +14 -14
  360. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts.map +1 -0
  361. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js +4 -0
  362. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js.map +1 -0
  363. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts +43 -0
  364. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts.map +1 -0
  365. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js +4 -0
  366. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js.map +1 -0
  367. package/dist/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
  368. package/dist/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
  369. package/dist/interfaces/IInterchainSecurityModule.sol/index.js +3 -0
  370. package/dist/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
  371. package/dist/interfaces/IMailbox.d.ts +58 -10
  372. package/dist/interfaces/IMailbox.d.ts.map +1 -1
  373. package/dist/interfaces/IMultisigIsm.d.ts +75 -0
  374. package/dist/interfaces/IMultisigIsm.d.ts.map +1 -0
  375. package/dist/interfaces/IMultisigIsm.js +4 -0
  376. package/dist/interfaces/IMultisigIsm.js.map +1 -0
  377. package/dist/interfaces/index.d.ts +5 -4
  378. package/dist/interfaces/index.d.ts.map +1 -1
  379. package/dist/interfaces/index.js +1 -0
  380. package/dist/interfaces/index.js.map +1 -1
  381. package/interfaces/IInterchainAccountRouter.sol +15 -0
  382. package/interfaces/IInterchainGasPaymaster.sol +3 -5
  383. package/interfaces/IInterchainQueryRouter.sol +18 -0
  384. package/interfaces/IInterchainSecurityModule.sol +16 -0
  385. package/interfaces/IMailbox.sol +15 -2
  386. package/interfaces/IMultisigIsm.sol +18 -0
  387. package/package.json +4 -3
  388. package/contracts/AbacusConnectionManager.sol +0 -145
  389. package/contracts/Inbox.sol +0 -148
  390. package/contracts/MerkleTreeManager.sol +0 -32
  391. package/contracts/Outbox.sol +0 -191
  392. package/contracts/mock/MockInbox.sol +0 -52
  393. package/contracts/mock/MockOutbox.sol +0 -30
  394. package/contracts/mock/MockTokenBridgeAdapter.sol +0 -46
  395. package/contracts/test/TestAbacusConnectionClient.sol +0 -23
  396. package/contracts/test/TestInbox.sol +0 -54
  397. package/contracts/test/TestMultisigValidatorManager.sol +0 -26
  398. package/contracts/test/TestOutbox.sol +0 -46
  399. package/contracts/test/TestValidatorManager.sol +0 -21
  400. package/contracts/validator-manager/InboxValidatorManager.sol +0 -58
  401. package/contracts/validator-manager/MultisigValidatorManager.sol +0 -271
  402. package/contracts/validator-manager/OutboxValidatorManager.sol +0 -244
  403. package/dist/contracts/AbacusConnectionClient.d.ts.map +0 -1
  404. package/dist/contracts/AbacusConnectionClient.js.map +0 -1
  405. package/dist/contracts/AbacusConnectionManager.d.ts +0 -213
  406. package/dist/contracts/AbacusConnectionManager.d.ts.map +0 -1
  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/token-bridge/TokenBridgeRouter.d.ts.map +0 -1
  418. package/dist/contracts/middleware/token-bridge/TokenBridgeRouter.js.map +0 -1
  419. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.d.ts.map +0 -1
  420. package/dist/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter.js.map +0 -1
  421. package/dist/contracts/middleware/token-bridge/adapters/index.d.ts.map +0 -1
  422. package/dist/contracts/middleware/token-bridge/adapters/index.js.map +0 -1
  423. package/dist/contracts/middleware/token-bridge/index.d.ts.map +0 -1
  424. package/dist/contracts/middleware/token-bridge/index.js.map +0 -1
  425. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.d.ts.map +0 -1
  426. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.js +0 -4
  427. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter.js.map +0 -1
  428. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.d.ts.map +0 -1
  429. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.js +0 -4
  430. package/dist/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient.js.map +0 -1
  431. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.d.ts.map +0 -1
  432. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge.js.map +0 -1
  433. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.d.ts.map +0 -1
  434. package/dist/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter.js.map +0 -1
  435. package/dist/contracts/middleware/token-bridge/interfaces/circle/index.d.ts.map +0 -1
  436. package/dist/contracts/middleware/token-bridge/interfaces/circle/index.js.map +0 -1
  437. package/dist/contracts/middleware/token-bridge/interfaces/index.d.ts +0 -5
  438. package/dist/contracts/middleware/token-bridge/interfaces/index.d.ts.map +0 -1
  439. package/dist/contracts/middleware/token-bridge/interfaces/index.js.map +0 -1
  440. package/dist/contracts/mock/MockInbox.d.ts.map +0 -1
  441. package/dist/contracts/mock/MockInbox.js +0 -4
  442. package/dist/contracts/mock/MockInbox.js.map +0 -1
  443. package/dist/contracts/mock/MockOutbox.d.ts.map +0 -1
  444. package/dist/contracts/mock/MockOutbox.js +0 -4
  445. package/dist/contracts/mock/MockOutbox.js.map +0 -1
  446. package/dist/contracts/mock/MockTokenBridgeAdapter.d.ts +0 -99
  447. package/dist/contracts/mock/MockTokenBridgeAdapter.d.ts.map +0 -1
  448. package/dist/contracts/mock/MockTokenBridgeAdapter.js +0 -4
  449. package/dist/contracts/mock/MockTokenBridgeAdapter.js.map +0 -1
  450. package/dist/contracts/test/TestAbacusConnectionClient.d.ts.map +0 -1
  451. package/dist/contracts/test/TestAbacusConnectionClient.js +0 -4
  452. package/dist/contracts/test/TestAbacusConnectionClient.js.map +0 -1
  453. package/dist/contracts/test/TestInbox.d.ts +0 -263
  454. package/dist/contracts/test/TestInbox.d.ts.map +0 -1
  455. package/dist/contracts/test/TestInbox.js +0 -4
  456. package/dist/contracts/test/TestInbox.js.map +0 -1
  457. package/dist/contracts/test/TestMultisigValidatorManager.d.ts +0 -247
  458. package/dist/contracts/test/TestMultisigValidatorManager.d.ts.map +0 -1
  459. package/dist/contracts/test/TestMultisigValidatorManager.js +0 -4
  460. package/dist/contracts/test/TestMultisigValidatorManager.js.map +0 -1
  461. package/dist/contracts/test/TestOutbox.d.ts +0 -371
  462. package/dist/contracts/test/TestOutbox.d.ts.map +0 -1
  463. package/dist/contracts/test/TestOutbox.js +0 -4
  464. package/dist/contracts/test/TestOutbox.js.map +0 -1
  465. package/dist/contracts/test/TestTokenBridgeMessageRecipient.d.ts.map +0 -1
  466. package/dist/contracts/test/TestTokenBridgeMessageRecipient.js +0 -4
  467. package/dist/contracts/test/TestTokenBridgeMessageRecipient.js.map +0 -1
  468. package/dist/contracts/test/TestValidatorManager.d.ts +0 -58
  469. package/dist/contracts/test/TestValidatorManager.d.ts.map +0 -1
  470. package/dist/contracts/test/TestValidatorManager.js +0 -4
  471. package/dist/contracts/test/TestValidatorManager.js.map +0 -1
  472. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts +0 -263
  473. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts.map +0 -1
  474. package/dist/contracts/validator-manager/InboxValidatorManager.js +0 -4
  475. package/dist/contracts/validator-manager/InboxValidatorManager.js.map +0 -1
  476. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts +0 -239
  477. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts.map +0 -1
  478. package/dist/contracts/validator-manager/MultisigValidatorManager.js +0 -4
  479. package/dist/contracts/validator-manager/MultisigValidatorManager.js.map +0 -1
  480. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts +0 -335
  481. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts.map +0 -1
  482. package/dist/contracts/validator-manager/OutboxValidatorManager.js +0 -4
  483. package/dist/contracts/validator-manager/OutboxValidatorManager.js.map +0 -1
  484. package/dist/contracts/validator-manager/index.d.ts +0 -4
  485. package/dist/contracts/validator-manager/index.d.ts.map +0 -1
  486. package/dist/contracts/validator-manager/index.js.map +0 -1
  487. package/dist/factories/contracts/AbacusConnectionClient__factory.d.ts.map +0 -1
  488. package/dist/factories/contracts/AbacusConnectionClient__factory.js.map +0 -1
  489. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts +0 -55
  490. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts.map +0 -1
  491. package/dist/factories/contracts/AbacusConnectionManager__factory.js +0 -276
  492. package/dist/factories/contracts/AbacusConnectionManager__factory.js.map +0 -1
  493. package/dist/factories/contracts/Inbox__factory.d.ts +0 -59
  494. package/dist/factories/contracts/Inbox__factory.d.ts.map +0 -1
  495. package/dist/factories/contracts/Inbox__factory.js +0 -278
  496. package/dist/factories/contracts/Inbox__factory.js.map +0 -1
  497. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts +0 -31
  498. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts.map +0 -1
  499. package/dist/factories/contracts/MerkleTreeManager__factory.js +0 -67
  500. package/dist/factories/contracts/MerkleTreeManager__factory.js.map +0 -1
  501. package/dist/factories/contracts/Outbox__factory.d.ts +0 -59
  502. package/dist/factories/contracts/Outbox__factory.d.ts.map +0 -1
  503. package/dist/factories/contracts/Outbox__factory.js +0 -415
  504. package/dist/factories/contracts/Outbox__factory.js.map +0 -1
  505. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.d.ts +0 -48
  506. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.d.ts.map +0 -1
  507. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.js +0 -380
  508. package/dist/factories/contracts/middleware/token-bridge/TokenBridgeRouter__factory.js.map +0 -1
  509. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.d.ts +0 -48
  510. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.d.ts.map +0 -1
  511. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.js +0 -584
  512. package/dist/factories/contracts/middleware/token-bridge/adapters/CircleBridgeAdapter__factory.js.map +0 -1
  513. package/dist/factories/contracts/middleware/token-bridge/adapters/index.d.ts.map +0 -1
  514. package/dist/factories/contracts/middleware/token-bridge/adapters/index.js.map +0 -1
  515. package/dist/factories/contracts/middleware/token-bridge/index.d.ts +0 -4
  516. package/dist/factories/contracts/middleware/token-bridge/index.d.ts.map +0 -1
  517. package/dist/factories/contracts/middleware/token-bridge/index.js.map +0 -1
  518. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.d.ts.map +0 -1
  519. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeAdapter__factory.js.map +0 -1
  520. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.d.ts +0 -19
  521. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.d.ts.map +0 -1
  522. package/dist/factories/contracts/middleware/token-bridge/interfaces/ITokenBridgeMessageRecipient__factory.js.map +0 -1
  523. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.d.ts.map +0 -1
  524. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleBridge__factory.js.map +0 -1
  525. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.d.ts.map +0 -1
  526. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/ICircleMessageTransmitter__factory.js.map +0 -1
  527. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.d.ts.map +0 -1
  528. package/dist/factories/contracts/middleware/token-bridge/interfaces/circle/index.js.map +0 -1
  529. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.d.ts +0 -4
  530. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.d.ts.map +0 -1
  531. package/dist/factories/contracts/middleware/token-bridge/interfaces/index.js.map +0 -1
  532. package/dist/factories/contracts/mock/MockInbox__factory.d.ts +0 -31
  533. package/dist/factories/contracts/mock/MockInbox__factory.d.ts.map +0 -1
  534. package/dist/factories/contracts/mock/MockInbox__factory.js +0 -76
  535. package/dist/factories/contracts/mock/MockInbox__factory.js.map +0 -1
  536. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts +0 -45
  537. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts.map +0 -1
  538. package/dist/factories/contracts/mock/MockOutbox__factory.js +0 -86
  539. package/dist/factories/contracts/mock/MockOutbox__factory.js.map +0 -1
  540. package/dist/factories/contracts/mock/MockTokenBridgeAdapter__factory.d.ts +0 -45
  541. package/dist/factories/contracts/mock/MockTokenBridgeAdapter__factory.d.ts.map +0 -1
  542. package/dist/factories/contracts/mock/MockTokenBridgeAdapter__factory.js +0 -170
  543. package/dist/factories/contracts/mock/MockTokenBridgeAdapter__factory.js.map +0 -1
  544. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts +0 -48
  545. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts.map +0 -1
  546. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js +0 -242
  547. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js.map +0 -1
  548. package/dist/factories/contracts/test/TestInbox__factory.d.ts +0 -59
  549. package/dist/factories/contracts/test/TestInbox__factory.d.ts.map +0 -1
  550. package/dist/factories/contracts/test/TestInbox__factory.js +0 -371
  551. package/dist/factories/contracts/test/TestInbox__factory.js.map +0 -1
  552. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts +0 -59
  553. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts.map +0 -1
  554. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js +0 -349
  555. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js.map +0 -1
  556. package/dist/factories/contracts/test/TestOutbox__factory.d.ts +0 -59
  557. package/dist/factories/contracts/test/TestOutbox__factory.d.ts.map +0 -1
  558. package/dist/factories/contracts/test/TestOutbox__factory.js +0 -483
  559. package/dist/factories/contracts/test/TestOutbox__factory.js.map +0 -1
  560. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.d.ts.map +0 -1
  561. package/dist/factories/contracts/test/TestTokenBridgeMessageRecipient__factory.js.map +0 -1
  562. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts +0 -31
  563. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts.map +0 -1
  564. package/dist/factories/contracts/test/TestValidatorManager__factory.js +0 -79
  565. package/dist/factories/contracts/test/TestValidatorManager__factory.js.map +0 -1
  566. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts +0 -59
  567. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts.map +0 -1
  568. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js +0 -373
  569. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js.map +0 -1
  570. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.d.ts +0 -36
  571. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.d.ts.map +0 -1
  572. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.js +0 -286
  573. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.js.map +0 -1
  574. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts +0 -59
  575. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts.map +0 -1
  576. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js +0 -560
  577. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js.map +0 -1
  578. package/dist/factories/contracts/validator-manager/index.d.ts +0 -4
  579. package/dist/factories/contracts/validator-manager/index.d.ts.map +0 -1
  580. package/dist/factories/contracts/validator-manager/index.js +0 -13
  581. package/dist/factories/contracts/validator-manager/index.js.map +0 -1
  582. package/dist/factories/interfaces/IAbacusConnectionManager__factory.d.ts.map +0 -1
  583. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js +0 -63
  584. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js.map +0 -1
  585. package/dist/factories/interfaces/IInbox__factory.d.ts +0 -29
  586. package/dist/factories/interfaces/IInbox__factory.d.ts.map +0 -1
  587. package/dist/factories/interfaces/IInbox__factory.js.map +0 -1
  588. package/dist/factories/interfaces/IMultisigValidatorManager__factory.d.ts +0 -19
  589. package/dist/factories/interfaces/IMultisigValidatorManager__factory.d.ts.map +0 -1
  590. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js +0 -57
  591. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js.map +0 -1
  592. package/dist/factories/interfaces/IOutbox__factory.d.ts.map +0 -1
  593. package/dist/factories/interfaces/IOutbox__factory.js +0 -155
  594. package/dist/factories/interfaces/IOutbox__factory.js.map +0 -1
  595. package/dist/interfaces/IAbacusConnectionManager.d.ts +0 -59
  596. package/dist/interfaces/IAbacusConnectionManager.d.ts.map +0 -1
  597. package/dist/interfaces/IAbacusConnectionManager.js +0 -4
  598. package/dist/interfaces/IAbacusConnectionManager.js.map +0 -1
  599. package/dist/interfaces/IInbox.d.ts +0 -83
  600. package/dist/interfaces/IInbox.d.ts.map +0 -1
  601. package/dist/interfaces/IInbox.js +0 -4
  602. package/dist/interfaces/IInbox.js.map +0 -1
  603. package/dist/interfaces/IMultisigValidatorManager.d.ts +0 -59
  604. package/dist/interfaces/IMultisigValidatorManager.d.ts.map +0 -1
  605. package/dist/interfaces/IMultisigValidatorManager.js +0 -4
  606. package/dist/interfaces/IMultisigValidatorManager.js.map +0 -1
  607. package/dist/interfaces/IOutbox.d.ts +0 -148
  608. package/dist/interfaces/IOutbox.d.ts.map +0 -1
  609. package/dist/interfaces/IOutbox.js +0 -4
  610. package/dist/interfaces/IOutbox.js.map +0 -1
  611. package/interfaces/IAbacusConnectionManager.sol +0 -12
  612. package/interfaces/IInbox.sol +0 -16
  613. package/interfaces/IMultisigValidatorManager.sol +0 -11
  614. package/interfaces/IOutbox.sol +0 -27
@@ -0,0 +1,187 @@
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: 64] Root index
8
+ * [ 64: 96] Origin mailbox address
9
+ * [ 96:1120] Merkle proof
10
+ * [1120:1152] Threshold
11
+ * [1152:????] 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 = 64;
18
+ uint256 private constant MERKLE_PROOF_OFFSET = 96;
19
+ uint256 private constant THRESHOLD_OFFSET = 1120;
20
+ uint256 private constant SIGNATURES_OFFSET = 1152;
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 (uint256) {
38
+ return
39
+ uint256(
40
+ bytes32(_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)
83
+ internal
84
+ pure
85
+ returns (uint256)
86
+ {
87
+ return uint256(bytes32(_metadata[THRESHOLD_OFFSET:SIGNATURES_OFFSET]));
88
+ }
89
+
90
+ /**
91
+ * @notice Returns the validator ECDSA signature at `_index`.
92
+ * @dev Assumes signatures are sorted by validator
93
+ * @dev Assumes `_metadata` encodes `threshold` signatures.
94
+ * @dev Assumes `_index` is less than `threshold`
95
+ * @param _metadata ABI encoded Multisig ISM metadata.
96
+ * @param _index The index of the signature to return.
97
+ * @return The validator ECDSA signature at `_index`.
98
+ */
99
+ function signatureAt(bytes calldata _metadata, uint256 _index)
100
+ internal
101
+ pure
102
+ returns (bytes calldata)
103
+ {
104
+ uint256 _start = SIGNATURES_OFFSET + (_index * SIGNATURE_LENGTH);
105
+ uint256 _end = _start + SIGNATURE_LENGTH;
106
+ return _metadata[_start:_end];
107
+ }
108
+
109
+ /**
110
+ * @notice Returns the validator address at `_index`.
111
+ * @dev Assumes `_index` is less than the number of validators
112
+ * @param _metadata ABI encoded Multisig ISM metadata.
113
+ * @param _index The index of the validator to return.
114
+ * @return The validator address at `_index`.
115
+ */
116
+ function validatorAt(bytes calldata _metadata, uint256 _index)
117
+ internal
118
+ pure
119
+ returns (address)
120
+ {
121
+ // Validator addresses are left padded to bytes32 in order to match
122
+ // abi.encodePacked(address[]).
123
+ uint256 _start = _validatorsOffset(_metadata) + (_index * 32) + 12;
124
+ uint256 _end = _start + 20;
125
+ return address(bytes20(_metadata[_start:_end]));
126
+ }
127
+
128
+ /**
129
+ * @notice Returns the validator set encoded as bytes. Verified against the
130
+ * commitment stored in the module.
131
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
132
+ * sorted to match the enumerable set stored by the module.
133
+ * @param _metadata ABI encoded Multisig ISM metadata.
134
+ * @return The validator set encoded as bytes.
135
+ */
136
+ function validators(bytes calldata _metadata)
137
+ internal
138
+ pure
139
+ returns (bytes calldata)
140
+ {
141
+ return _metadata[_validatorsOffset(_metadata):];
142
+ }
143
+
144
+ /**
145
+ * @notice Returns the size of the validator set encoded in the metadata
146
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
147
+ * sorted to match the enumerable set stored by the module.
148
+ * @param _metadata ABI encoded Multisig ISM metadata.
149
+ * @return The size of the validator set encoded in the metadata
150
+ */
151
+ function commitment(bytes calldata _metadata)
152
+ internal
153
+ pure
154
+ returns (uint256)
155
+ {
156
+ return (_metadata.length - _validatorsOffset(_metadata)) / 32;
157
+ }
158
+
159
+ /**
160
+ * @notice Returns the size of the validator set encoded in the metadata
161
+ * @dev Validator addresses are encoded as tightly packed array of bytes32,
162
+ * sorted to match the enumerable set stored by the module.
163
+ * @param _metadata ABI encoded Multisig ISM metadata.
164
+ * @return The size of the validator set encoded in the metadata
165
+ */
166
+ function validatorCount(bytes calldata _metadata)
167
+ internal
168
+ pure
169
+ returns (uint256)
170
+ {
171
+ return (_metadata.length - _validatorsOffset(_metadata)) / 32;
172
+ }
173
+
174
+ /**
175
+ * @notice Returns the offset in bytes of the list of validators within
176
+ * `_metadata`.
177
+ * @param _metadata ABI encoded Multisig ISM metadata.
178
+ * @return The index at which the list of validators starts
179
+ */
180
+ function _validatorsOffset(bytes calldata _metadata)
181
+ private
182
+ pure
183
+ returns (uint256)
184
+ {
185
+ return SIGNATURES_OFFSET + (threshold(_metadata) * SIGNATURE_LENGTH);
186
+ }
187
+ }
@@ -1,10 +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";
7
+ import {IInterchainAccountRouter} from "../../interfaces/IInterchainAccountRouter.sol";
5
8
 
6
9
  // ============ External Imports ============
7
- import {Router} from "../Router.sol";
8
10
  import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
9
11
  import {Address} from "@openzeppelin/contracts/utils/Address.sol";
10
12
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
@@ -13,7 +15,7 @@ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Ini
13
15
  * @title The Hello World App
14
16
  * @dev You can use this simple app as a starting point for your own application.
15
17
  */
16
- contract InterchainAccountRouter is Router {
18
+ contract InterchainAccountRouter is Router, IInterchainAccountRouter {
17
19
  bytes constant bytecode = type(OwnableMulticall).creationCode;
18
20
  bytes32 constant bytecodeHash = bytes32(keccak256(bytecode));
19
21
 
@@ -25,21 +27,22 @@ contract InterchainAccountRouter is Router {
25
27
 
26
28
  function initialize(
27
29
  address _owner,
28
- address _abacusConnectionManager,
30
+ address _mailbox,
29
31
  address _interchainGasPaymaster
30
32
  ) public initializer {
31
33
  // Transfer ownership of the contract to deployer
32
34
  _transferOwnership(_owner);
33
- // Set the addresses for the ACM and IGP
35
+ // Set the addresses for the Mailbox and IGP
34
36
  // Alternatively, this could be done later in an initialize method
35
- _setAbacusConnectionManager(_abacusConnectionManager);
37
+ _setMailbox(_mailbox);
36
38
  _setInterchainGasPaymaster(_interchainGasPaymaster);
37
39
  }
38
40
 
39
41
  function dispatch(uint32 _destinationDomain, Call[] calldata calls)
40
42
  external
43
+ returns (bytes32)
41
44
  {
42
- _dispatch(_destinationDomain, abi.encode(msg.sender, calls));
45
+ return _dispatch(_destinationDomain, abi.encode(msg.sender, calls));
43
46
  }
44
47
 
45
48
  function getInterchainAccount(uint32 _origin, address _sender)
@@ -1,15 +1,21 @@
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";
7
+ import {IInterchainQueryRouter} from "../../interfaces/IInterchainQueryRouter.sol";
5
8
 
6
9
  // ============ External Imports ============
7
- import {Router} from "../Router.sol";
8
10
  import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
9
11
  import {Address} from "@openzeppelin/contracts/utils/Address.sol";
10
12
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
11
13
 
12
- contract InterchainQueryRouter is Router, OwnableMulticall {
14
+ contract InterchainQueryRouter is
15
+ Router,
16
+ OwnableMulticall,
17
+ IInterchainQueryRouter
18
+ {
13
19
  enum Action {
14
20
  DISPATCH,
15
21
  RESOLVE
@@ -27,14 +33,14 @@ contract InterchainQueryRouter is Router, OwnableMulticall {
27
33
 
28
34
  function initialize(
29
35
  address _owner,
30
- address _abacusConnectionManager,
36
+ address _mailbox,
31
37
  address _interchainGasPaymaster
32
38
  ) public initializer {
33
39
  // Transfer ownership of the contract to deployer
34
40
  _transferOwnership(_owner);
35
- // Set the addresses for the ACM and IGP
41
+ // Set the addresses for the Mailbox and IGP
36
42
  // Alternatively, this could be done later in an initialize method
37
- _setAbacusConnectionManager(_abacusConnectionManager);
43
+ _setMailbox(_mailbox);
38
44
  _setInterchainGasPaymaster(_interchainGasPaymaster);
39
45
  }
40
46
 
@@ -47,13 +53,13 @@ contract InterchainQueryRouter is Router, OwnableMulticall {
47
53
  uint32 _destinationDomain,
48
54
  Call calldata call,
49
55
  bytes calldata callback
50
- ) external {
56
+ ) external returns (bytes32 messageId) {
51
57
  // TODO: fix this ugly arrayification
52
58
  Call[] memory calls = new Call[](1);
53
59
  calls[0] = call;
54
60
  bytes[] memory callbacks = new bytes[](1);
55
61
  callbacks[0] = callback;
56
- query(_destinationDomain, calls, callbacks);
62
+ messageId = query(_destinationDomain, calls, callbacks);
57
63
  }
58
64
 
59
65
  /**
@@ -65,12 +71,12 @@ contract InterchainQueryRouter is Router, OwnableMulticall {
65
71
  uint32 _destinationDomain,
66
72
  Call[] memory calls,
67
73
  bytes[] memory callbacks
68
- ) public {
74
+ ) public returns (bytes32 messageId) {
69
75
  require(
70
76
  calls.length == callbacks.length,
71
77
  "InterchainQueryRouter: calls and callbacks must be same length"
72
78
  );
73
- _dispatch(
79
+ messageId = _dispatch(
74
80
  _destinationDomain,
75
81
  abi.encode(Action.DISPATCH, msg.sender, calls, callbacks)
76
82
  );
@@ -6,29 +6,28 @@ import {Router} from "../../Router.sol";
6
6
  import {IMessageRecipient} from "../../../interfaces/IMessageRecipient.sol";
7
7
  import {ICircleBridge} from "./interfaces/circle/ICircleBridge.sol";
8
8
  import {ICircleMessageTransmitter} from "./interfaces/circle/ICircleMessageTransmitter.sol";
9
- import {ITokenBridgeAdapter} from "./interfaces/ITokenBridgeAdapter.sol";
10
- import {ITokenBridgeMessageRecipient} from "./interfaces/ITokenBridgeMessageRecipient.sol";
9
+ import {ILiquidityLayerAdapter} from "./interfaces/ILiquidityLayerAdapter.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 TokenBridgeRouter is Router {
16
+ contract LiquidityLayerRouter is Router {
17
17
  // Token bridge => adapter address
18
- mapping(string => address) public tokenBridgeAdapters;
18
+ mapping(string => address) public liquidityLayerAdapters;
19
19
 
20
- event TokenBridgeAdapterSet(string indexed bridge, address adapter);
20
+ event LiquidityLayerAdapterSet(string indexed bridge, address adapter);
21
21
 
22
22
  function initialize(
23
23
  address _owner,
24
- address _abacusConnectionManager,
24
+ address _mailbox,
25
25
  address _interchainGasPaymaster
26
26
  ) public initializer {
27
27
  // Transfer ownership of the contract to deployer
28
28
  _transferOwnership(_owner);
29
- // Set the addresses for the ACM and IGP
30
29
  // Alternatively, this could be done later in an initialize method
31
- _setAbacusConnectionManager(_abacusConnectionManager);
30
+ _setMailbox(_mailbox);
32
31
  _setInterchainGasPaymaster(_interchainGasPaymaster);
33
32
  }
34
33
 
@@ -40,7 +39,7 @@ contract TokenBridgeRouter is Router {
40
39
  uint256 _amount,
41
40
  string calldata _bridge
42
41
  ) external payable {
43
- ITokenBridgeAdapter _adapter = _getAdapter(_bridge);
42
+ ILiquidityLayerAdapter _adapter = _getAdapter(_bridge);
44
43
 
45
44
  // Transfer the tokens to the adapter
46
45
  // TODO: use safeTransferFrom
@@ -70,11 +69,11 @@ contract TokenBridgeRouter is Router {
70
69
  _messageBody // The "user" message
71
70
  );
72
71
 
73
- // Dispatch the _messageWithMetadata to the destination's TokenBridgeRouter.
72
+ // Dispatch the _messageWithMetadata to the destination's LiquidityLayerRouter.
74
73
  _dispatchWithGas(_destinationDomain, _messageWithMetadata, msg.value);
75
74
  }
76
75
 
77
- // Handles a message from an enrolled remote TokenBridgeRouter
76
+ // Handles a message from an enrolled remote LiquidityLayerRouter
78
77
  function _handle(
79
78
  uint32 _origin,
80
79
  bytes32, // _sender, unused
@@ -93,7 +92,7 @@ contract TokenBridgeRouter is Router {
93
92
  (bytes32, bytes32, uint256, string, bytes, bytes)
94
93
  );
95
94
 
96
- ITokenBridgeMessageRecipient _userRecipient = ITokenBridgeMessageRecipient(
95
+ ILiquidityLayerMessageRecipient _userRecipient = ILiquidityLayerMessageRecipient(
97
96
  TypeCasts.bytes32ToAddress(_userRecipientAddress)
98
97
  );
99
98
 
@@ -115,20 +114,20 @@ contract TokenBridgeRouter is Router {
115
114
  );
116
115
  }
117
116
 
118
- function setTokenBridgeAdapter(string calldata _bridge, address _adapter)
117
+ function setLiquidityLayerAdapter(string calldata _bridge, address _adapter)
119
118
  external
120
119
  onlyOwner
121
120
  {
122
- tokenBridgeAdapters[_bridge] = _adapter;
123
- emit TokenBridgeAdapterSet(_bridge, _adapter);
121
+ liquidityLayerAdapters[_bridge] = _adapter;
122
+ emit LiquidityLayerAdapterSet(_bridge, _adapter);
124
123
  }
125
124
 
126
125
  function _getAdapter(string memory _bridge)
127
126
  internal
128
127
  view
129
- returns (ITokenBridgeAdapter _adapter)
128
+ returns (ILiquidityLayerAdapter _adapter)
130
129
  {
131
- _adapter = ITokenBridgeAdapter(tokenBridgeAdapters[_bridge]);
130
+ _adapter = ILiquidityLayerAdapter(liquidityLayerAdapters[_bridge]);
132
131
  // Require the adapter to have been set
133
132
  require(address(_adapter) != address(0), "No adapter found for bridge");
134
133
  }
@@ -5,19 +5,19 @@ import {Router} from "../../../Router.sol";
5
5
 
6
6
  import {ICircleBridge} from "../interfaces/circle/ICircleBridge.sol";
7
7
  import {ICircleMessageTransmitter} from "../interfaces/circle/ICircleMessageTransmitter.sol";
8
- import {ITokenBridgeAdapter} from "../interfaces/ITokenBridgeAdapter.sol";
8
+ import {ILiquidityLayerAdapter} from "../interfaces/ILiquidityLayerAdapter.sol";
9
9
 
10
10
  import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
11
11
 
12
- contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
12
+ contract CircleBridgeAdapter is ILiquidityLayerAdapter, Router {
13
13
  /// @notice The CircleBridge contract.
14
14
  ICircleBridge public circleBridge;
15
15
 
16
16
  /// @notice The Circle MessageTransmitter contract.
17
17
  ICircleMessageTransmitter public circleMessageTransmitter;
18
18
 
19
- /// @notice The TokenBridgeRouter contract.
20
- address public tokenBridgeRouter;
19
+ /// @notice The LiquidityLayerRouter contract.
20
+ address public liquidityLayerRouter;
21
21
 
22
22
  /// @notice Hyperlane domain => Circle domain.
23
23
  /// ATM, known Circle domains are Ethereum = 0 and Avalanche = 1.
@@ -54,8 +54,8 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
54
54
  */
55
55
  event TokenRemoved(address indexed token, string indexed symbol);
56
56
 
57
- modifier onlyTokenBridgeRouter() {
58
- require(msg.sender == tokenBridgeRouter, "!tokenBridgeRouter");
57
+ modifier onlyLiquidityLayerRouter() {
58
+ require(msg.sender == liquidityLayerRouter, "!liquidityLayerRouter");
59
59
  _;
60
60
  }
61
61
 
@@ -63,26 +63,25 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
63
63
  * @param _owner The new owner.
64
64
  * @param _circleBridge The CircleBridge contract.
65
65
  * @param _circleMessageTransmitter The Circle MessageTransmitter contract.
66
- * @param _tokenBridgeRouter The TokenBridgeRouter contract.
66
+ * @param _liquidityLayerRouter The LiquidityLayerRouter contract.
67
67
  */
68
68
  function initialize(
69
69
  address _owner,
70
70
  address _circleBridge,
71
71
  address _circleMessageTransmitter,
72
- address _tokenBridgeRouter
72
+ address _liquidityLayerRouter
73
73
  ) public initializer {
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));
77
+ // Set the addresses for the IGP to address(0) - it's not used.
79
78
  _setInterchainGasPaymaster(address(0));
80
79
 
81
80
  circleBridge = ICircleBridge(_circleBridge);
82
81
  circleMessageTransmitter = ICircleMessageTransmitter(
83
82
  _circleMessageTransmitter
84
83
  );
85
- tokenBridgeRouter = _tokenBridgeRouter;
84
+ liquidityLayerRouter = _liquidityLayerRouter;
86
85
  }
87
86
 
88
87
  function sendTokens(
@@ -90,7 +89,7 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
90
89
  bytes32, // _recipientAddress, unused
91
90
  address _token,
92
91
  uint256 _amount
93
- ) external onlyTokenBridgeRouter returns (bytes memory) {
92
+ ) external onlyLiquidityLayerRouter returns (bytes memory) {
94
93
  string memory _tokenSymbol = tokenAddressToSymbol[_token];
95
94
  require(
96
95
  bytes(_tokenSymbol).length > 0,
@@ -106,7 +105,7 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
106
105
  "CircleBridgeAdapter: No router for domain"
107
106
  );
108
107
 
109
- // Approve the token to Circle. We assume that the TokenBridgeRouter
108
+ // Approve the token to Circle. We assume that the LiquidityLayerRouter
110
109
  // has already transferred the token to this contract.
111
110
  require(
112
111
  IERC20(_token).approve(address(circleBridge), _amount),
@@ -121,8 +120,7 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
121
120
  );
122
121
 
123
122
  emit BridgedToken(_nonce);
124
-
125
- return abi.encodePacked(_nonce, _tokenSymbol);
123
+ return abi.encode(_nonce, _tokenSymbol);
126
124
  }
127
125
 
128
126
  // Returns the token and amount sent
@@ -131,7 +129,7 @@ contract CircleBridgeAdapter is ITokenBridgeAdapter, Router {
131
129
  address _recipient,
132
130
  uint256 _amount,
133
131
  bytes calldata _adapterData // The adapter data from the message
134
- ) external onlyTokenBridgeRouter returns (address, uint256) {
132
+ ) external onlyLiquidityLayerRouter returns (address, uint256) {
135
133
  // The origin Circle domain
136
134
  uint32 _originCircleDomain = hyperlaneDomainToCircleDomain[
137
135
  _originDomain
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.13;
3
3
 
4
- interface ITokenBridgeAdapter {
4
+ interface ILiquidityLayerAdapter {
5
5
  function sendTokens(
6
6
  uint32 _destinationDomain,
7
7
  bytes32 _recipientAddress,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.13;
3
3
 
4
- interface ITokenBridgeMessageRecipient {
4
+ interface ILiquidityLayerMessageRecipient {
5
5
  function handleWithTokens(
6
6
  uint32 _origin,
7
7
  bytes32 _sender,
@@ -0,0 +1,38 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.13;
3
+
4
+ import {ICircleBridge} from "../middleware/liquidity-layer/interfaces/circle/ICircleBridge.sol";
5
+ import {MockToken} from "./MockToken.sol";
6
+
7
+ contract MockCircleBridge is ICircleBridge {
8
+ uint64 public nextNonce = 0;
9
+ MockToken token;
10
+
11
+ constructor(MockToken _token) {
12
+ token = _token;
13
+ }
14
+
15
+ function depositForBurn(
16
+ uint256 _amount,
17
+ uint32,
18
+ bytes32,
19
+ address _burnToken
20
+ ) external returns (uint64 _nonce) {
21
+ nextNonce = nextNonce + 1;
22
+ _nonce = nextNonce;
23
+ require(address(token) == _burnToken);
24
+ token.transferFrom(msg.sender, address(this), _amount);
25
+ token.burn(_amount);
26
+ }
27
+
28
+ function depositForBurnWithCaller(
29
+ uint256,
30
+ uint32,
31
+ bytes32,
32
+ address,
33
+ bytes32
34
+ ) external returns (uint64 _nonce) {
35
+ nextNonce = nextNonce + 1;
36
+ _nonce = nextNonce;
37
+ }
38
+ }
@@ -0,0 +1,43 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.13;
3
+
4
+ import {ICircleMessageTransmitter} from "../middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol";
5
+ import {MockToken} from "./MockToken.sol";
6
+
7
+ contract MockCircleMessageTransmitter is ICircleMessageTransmitter {
8
+ mapping(bytes32 => bool) processedNonces;
9
+ MockToken token;
10
+
11
+ constructor(MockToken _token) {
12
+ token = _token;
13
+ }
14
+
15
+ function receiveMessage(bytes memory, bytes calldata)
16
+ external
17
+ pure
18
+ returns (bool success)
19
+ {
20
+ success = true;
21
+ }
22
+
23
+ function hashSourceAndNonce(uint32 _source, uint256 _nonce)
24
+ public
25
+ pure
26
+ returns (bytes32)
27
+ {
28
+ return keccak256(abi.encodePacked(_source, _nonce));
29
+ }
30
+
31
+ function process(
32
+ bytes32 _nonceId,
33
+ address _recipient,
34
+ uint256 _amount
35
+ ) public {
36
+ processedNonces[_nonceId] = true;
37
+ token.mint(_recipient, _amount);
38
+ }
39
+
40
+ function usedNonces(bytes32 _nonceId) external view returns (bool) {
41
+ return processedNonces[_nonceId];
42
+ }
43
+ }
@@ -0,0 +1,60 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.13;
3
+
4
+ import "./MockMailbox.sol";
5
+ import "../middleware/InterchainQueryRouter.sol";
6
+
7
+ import {TypeCasts} from "../libs/TypeCasts.sol";
8
+
9
+ contract MockHyperlaneEnvironment {
10
+ uint32 originDomain;
11
+ uint32 destinationDomain;
12
+
13
+ mapping(uint32 => MockMailbox) public mailboxes;
14
+ mapping(uint32 => InterchainQueryRouter) public queryRouters;
15
+
16
+ constructor(uint32 _originDomain, uint32 _destinationDomain) {
17
+ originDomain = _originDomain;
18
+ destinationDomain = _destinationDomain;
19
+
20
+ MockMailbox originMailbox = new MockMailbox(_originDomain);
21
+ MockMailbox destinationMailbox = new MockMailbox(_destinationDomain);
22
+
23
+ mailboxes[_originDomain] = originMailbox;
24
+ mailboxes[_destinationDomain] = destinationMailbox;
25
+
26
+ InterchainQueryRouter originQueryRouter = new InterchainQueryRouter();
27
+ InterchainQueryRouter destinationQueryRouter = new InterchainQueryRouter();
28
+
29
+ originQueryRouter.initialize(
30
+ address(this),
31
+ address(originMailbox),
32
+ address(0)
33
+ );
34
+ destinationQueryRouter.initialize(
35
+ address(this),
36
+ address(destinationMailbox),
37
+ address(0)
38
+ );
39
+
40
+ originQueryRouter.enrollRemoteRouter(
41
+ _destinationDomain,
42
+ TypeCasts.addressToBytes32(address(destinationQueryRouter))
43
+ );
44
+ destinationQueryRouter.enrollRemoteRouter(
45
+ _originDomain,
46
+ TypeCasts.addressToBytes32(address(originQueryRouter))
47
+ );
48
+
49
+ queryRouters[_originDomain] = originQueryRouter;
50
+ queryRouters[_destinationDomain] = destinationQueryRouter;
51
+ }
52
+
53
+ function processNextPendingMessage() public {
54
+ mailboxes[destinationDomain].processNextInboundMessage();
55
+ }
56
+
57
+ function processNextPendingMessageFromDestination() public {
58
+ mailboxes[originDomain].processNextInboundMessage();
59
+ }
60
+ }