@hyperlane-xyz/core 0.5.2 → 0.5.4-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) 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/liquidity-layer/LiquidityLayerRouter.sol +134 -0
  13. package/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol +246 -0
  14. package/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol +18 -0
  15. package/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.sol +12 -0
  16. package/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.sol +59 -0
  17. package/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol +38 -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/mock/MockToken.sol +14 -0
  24. package/contracts/test/TestHyperlaneConnectionClient.sol +14 -0
  25. package/contracts/test/TestIsm.sol +20 -0
  26. package/contracts/test/TestLiquidityLayerMessageRecipient.sol +24 -0
  27. package/contracts/test/TestMailbox.sol +34 -4
  28. package/contracts/test/TestMerkle.sol +9 -4
  29. package/contracts/test/TestMessage.sol +24 -12
  30. package/contracts/test/TestMultisigIsm.sol +23 -0
  31. package/contracts/test/TestQuerySender.sol +72 -0
  32. package/contracts/test/TestSendReceiver.sol +6 -15
  33. package/contracts/test/TestTokenRecipient.sol +44 -0
  34. package/dist/@openzeppelin/contracts/index.d.ts +2 -0
  35. package/dist/@openzeppelin/contracts/index.d.ts.map +1 -1
  36. package/dist/@openzeppelin/contracts/token/ERC20/IERC20.d.ts +139 -0
  37. package/dist/@openzeppelin/contracts/token/ERC20/IERC20.d.ts.map +1 -0
  38. package/dist/{contracts/Outbox.js → @openzeppelin/contracts/token/ERC20/IERC20.js} +1 -1
  39. package/dist/@openzeppelin/contracts/token/ERC20/IERC20.js.map +1 -0
  40. package/dist/@openzeppelin/contracts/token/ERC20/index.d.ts +2 -0
  41. package/dist/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -0
  42. package/dist/@openzeppelin/contracts/token/ERC20/index.js +3 -0
  43. package/dist/@openzeppelin/contracts/token/ERC20/index.js.map +1 -0
  44. package/dist/@openzeppelin/contracts/token/index.d.ts +3 -0
  45. package/dist/@openzeppelin/contracts/token/index.d.ts.map +1 -0
  46. package/dist/{interfaces/IOutbox.js → @openzeppelin/contracts/token/index.js} +1 -1
  47. package/dist/@openzeppelin/contracts/token/index.js.map +1 -0
  48. package/dist/@openzeppelin/contracts-upgradeable/index.d.ts +2 -0
  49. package/dist/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -1
  50. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.d.ts +204 -0
  51. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.d.ts.map +1 -0
  52. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.js +4 -0
  53. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.js.map +1 -0
  54. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.d.ts +139 -0
  55. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.d.ts.map +1 -0
  56. package/dist/{contracts/MerkleTreeManager.js → @openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.js} +1 -1
  57. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.js.map +1 -0
  58. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.d.ts +163 -0
  59. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.d.ts.map +1 -0
  60. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.js +4 -0
  61. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.js.map +1 -0
  62. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts +2 -0
  63. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts.map +1 -0
  64. package/dist/{contracts/validator-manager → @openzeppelin/contracts-upgradeable/token/ERC20/extensions}/index.js +0 -0
  65. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.js.map +1 -0
  66. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +5 -0
  67. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts.map +1 -0
  68. package/dist/{contracts/Inbox.js → @openzeppelin/contracts-upgradeable/token/ERC20/index.js} +1 -1
  69. package/dist/@openzeppelin/contracts-upgradeable/token/ERC20/index.js.map +1 -0
  70. package/dist/@openzeppelin/contracts-upgradeable/token/index.d.ts +3 -0
  71. package/dist/@openzeppelin/contracts-upgradeable/token/index.d.ts.map +1 -0
  72. package/dist/{interfaces/IInbox.js → @openzeppelin/contracts-upgradeable/token/index.js} +1 -1
  73. package/dist/@openzeppelin/contracts-upgradeable/token/index.js.map +1 -0
  74. package/dist/contracts/{AbacusConnectionClient.d.ts → HyperlaneConnectionClient.d.ts} +69 -36
  75. package/dist/contracts/HyperlaneConnectionClient.d.ts.map +1 -0
  76. package/dist/contracts/HyperlaneConnectionClient.js +4 -0
  77. package/dist/contracts/HyperlaneConnectionClient.js.map +1 -0
  78. package/dist/contracts/InterchainGasPaymaster.d.ts +11 -13
  79. package/dist/contracts/InterchainGasPaymaster.d.ts.map +1 -1
  80. package/dist/contracts/Mailbox.d.ts +151 -28
  81. package/dist/contracts/Mailbox.d.ts.map +1 -1
  82. package/dist/contracts/OwnableSpecifiesISM.d.ts +134 -0
  83. package/dist/contracts/OwnableSpecifiesISM.d.ts.map +1 -0
  84. package/dist/contracts/OwnableSpecifiesISM.js +4 -0
  85. package/dist/contracts/OwnableSpecifiesISM.js.map +1 -0
  86. package/dist/contracts/Router.d.ts +65 -32
  87. package/dist/contracts/Router.d.ts.map +1 -1
  88. package/dist/contracts/index.d.ts +3 -7
  89. package/dist/contracts/index.d.ts.map +1 -1
  90. package/dist/contracts/isms/MultisigIsm.d.ts +235 -0
  91. package/dist/contracts/isms/MultisigIsm.d.ts.map +1 -0
  92. package/dist/contracts/{mock/MockOutbox.js → isms/MultisigIsm.js} +1 -1
  93. package/dist/contracts/isms/MultisigIsm.js.map +1 -0
  94. package/dist/contracts/isms/index.d.ts +2 -0
  95. package/dist/contracts/isms/index.d.ts.map +1 -0
  96. package/dist/contracts/isms/index.js +3 -0
  97. package/dist/contracts/isms/index.js.map +1 -0
  98. package/dist/contracts/middleware/InterchainAccountRouter.d.ts +71 -38
  99. package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
  100. package/dist/contracts/middleware/InterchainQueryRouter.d.ts +72 -39
  101. package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
  102. package/dist/contracts/middleware/index.d.ts +2 -0
  103. package/dist/contracts/middleware/index.d.ts.map +1 -1
  104. package/dist/contracts/middleware/index.js +1 -0
  105. package/dist/contracts/middleware/index.js.map +1 -1
  106. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +324 -0
  107. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -0
  108. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.js +4 -0
  109. package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.js.map +1 -0
  110. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +449 -0
  111. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -0
  112. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.js +4 -0
  113. package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.js.map +1 -0
  114. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts +2 -0
  115. package/dist/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -0
  116. package/dist/contracts/middleware/liquidity-layer/adapters/index.js +3 -0
  117. package/dist/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -0
  118. package/dist/contracts/middleware/liquidity-layer/index.d.ts +6 -0
  119. package/dist/contracts/middleware/liquidity-layer/index.d.ts.map +1 -0
  120. package/dist/contracts/middleware/liquidity-layer/index.js +4 -0
  121. package/dist/contracts/middleware/liquidity-layer/index.js.map +1 -0
  122. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts +67 -0
  123. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.d.ts.map +1 -0
  124. package/dist/contracts/{AbacusConnectionClient.js → middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.js} +1 -1
  125. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.js.map +1 -0
  126. package/dist/contracts/{test/TestValidatorManager.d.ts → middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.d.ts} +14 -21
  127. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.d.ts.map +1 -0
  128. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.js +4 -0
  129. package/dist/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient.js.map +1 -0
  130. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts +78 -0
  131. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.d.ts.map +1 -0
  132. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js +4 -0
  133. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge.js.map +1 -0
  134. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.d.ts +59 -0
  135. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.d.ts.map +1 -0
  136. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.js +4 -0
  137. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.js.map +1 -0
  138. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts +3 -0
  139. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -0
  140. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.js +3 -0
  141. package/dist/contracts/middleware/liquidity-layer/interfaces/circle/index.js.map +1 -0
  142. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts +5 -0
  143. package/dist/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -0
  144. package/dist/contracts/middleware/liquidity-layer/interfaces/index.js +4 -0
  145. package/dist/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -0
  146. package/dist/contracts/mock/MockCircleBridge.d.ts +86 -0
  147. package/dist/contracts/mock/MockCircleBridge.d.ts.map +1 -0
  148. package/dist/contracts/mock/MockCircleBridge.js +4 -0
  149. package/dist/contracts/mock/MockCircleBridge.js.map +1 -0
  150. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts +77 -0
  151. package/dist/contracts/mock/MockCircleMessageTransmitter.d.ts.map +1 -0
  152. package/dist/contracts/mock/MockCircleMessageTransmitter.js +4 -0
  153. package/dist/contracts/mock/MockCircleMessageTransmitter.js.map +1 -0
  154. package/dist/contracts/mock/{MockInbox.d.ts → MockHyperlaneEnvironment.d.ts} +33 -17
  155. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -0
  156. package/dist/contracts/{AbacusConnectionManager.js → mock/MockHyperlaneEnvironment.js} +1 -1
  157. package/dist/contracts/mock/MockHyperlaneEnvironment.js.map +1 -0
  158. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts +124 -0
  159. package/dist/contracts/mock/MockInterchainAccountRouter.d.ts.map +1 -0
  160. package/dist/contracts/mock/MockInterchainAccountRouter.js +4 -0
  161. package/dist/contracts/mock/MockInterchainAccountRouter.js.map +1 -0
  162. package/dist/contracts/mock/MockMailbox.d.ts +185 -0
  163. package/dist/contracts/mock/MockMailbox.d.ts.map +1 -0
  164. package/dist/contracts/mock/MockMailbox.js +4 -0
  165. package/dist/contracts/mock/MockMailbox.js.map +1 -0
  166. package/dist/contracts/mock/MockToken.d.ts +236 -0
  167. package/dist/contracts/mock/MockToken.d.ts.map +1 -0
  168. package/dist/contracts/mock/{MockInbox.js → MockToken.js} +1 -1
  169. package/dist/contracts/mock/MockToken.js.map +1 -0
  170. package/dist/contracts/mock/index.d.ts +6 -2
  171. package/dist/contracts/mock/index.d.ts.map +1 -1
  172. package/dist/contracts/test/{TestAbacusConnectionClient.d.ts → TestHyperlaneConnectionClient.d.ts} +69 -52
  173. package/dist/contracts/test/TestHyperlaneConnectionClient.d.ts.map +1 -0
  174. package/dist/contracts/test/TestHyperlaneConnectionClient.js +4 -0
  175. package/dist/contracts/test/TestHyperlaneConnectionClient.js.map +1 -0
  176. package/dist/contracts/test/TestIsm.d.ts +67 -0
  177. package/dist/contracts/test/TestIsm.d.ts.map +1 -0
  178. package/dist/contracts/test/TestIsm.js +4 -0
  179. package/dist/contracts/test/TestIsm.js.map +1 -0
  180. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.d.ts +72 -0
  181. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.d.ts.map +1 -0
  182. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.js +4 -0
  183. package/dist/contracts/test/TestLiquidityLayerMessageRecipient.js.map +1 -0
  184. package/dist/contracts/test/TestMailbox.d.ts +164 -33
  185. package/dist/contracts/test/TestMailbox.d.ts.map +1 -1
  186. package/dist/contracts/test/TestMessage.d.ts +30 -10
  187. package/dist/contracts/test/TestMessage.d.ts.map +1 -1
  188. package/dist/contracts/test/TestMultisigIsm.d.ts +251 -0
  189. package/dist/contracts/test/TestMultisigIsm.d.ts.map +1 -0
  190. package/dist/contracts/test/TestMultisigIsm.js +4 -0
  191. package/dist/contracts/test/TestMultisigIsm.js.map +1 -0
  192. package/dist/contracts/test/TestQuerySender.d.ts +215 -0
  193. package/dist/contracts/test/TestQuerySender.d.ts.map +1 -0
  194. package/dist/contracts/test/TestQuerySender.js +4 -0
  195. package/dist/contracts/test/TestQuerySender.js.map +1 -0
  196. package/dist/contracts/test/TestRouter.d.ts +65 -32
  197. package/dist/contracts/test/TestRouter.d.ts.map +1 -1
  198. package/dist/contracts/test/TestTokenRecipient.d.ts +151 -0
  199. package/dist/contracts/test/TestTokenRecipient.d.ts.map +1 -0
  200. package/dist/contracts/test/TestTokenRecipient.js +4 -0
  201. package/dist/contracts/test/TestTokenRecipient.js.map +1 -0
  202. package/dist/contracts/test/index.d.ts +6 -5
  203. package/dist/contracts/test/index.d.ts.map +1 -1
  204. package/dist/factories/@openzeppelin/contracts/index.d.ts +1 -0
  205. package/dist/factories/@openzeppelin/contracts/index.d.ts.map +1 -1
  206. package/dist/factories/@openzeppelin/contracts/index.js +2 -1
  207. package/dist/factories/@openzeppelin/contracts/index.js.map +1 -1
  208. package/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts +36 -0
  209. package/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts.map +1 -0
  210. package/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.js +201 -0
  211. package/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.js.map +1 -0
  212. package/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts +2 -0
  213. package/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts.map +1 -0
  214. package/dist/factories/@openzeppelin/contracts/token/ERC20/index.js +9 -0
  215. package/dist/factories/@openzeppelin/contracts/token/ERC20/index.js.map +1 -0
  216. package/dist/factories/@openzeppelin/contracts/token/index.d.ts +2 -0
  217. package/dist/factories/@openzeppelin/contracts/token/index.d.ts.map +1 -0
  218. package/dist/factories/@openzeppelin/contracts/token/index.js +31 -0
  219. package/dist/factories/@openzeppelin/contracts/token/index.js.map +1 -0
  220. package/dist/factories/@openzeppelin/contracts-upgradeable/index.d.ts +1 -0
  221. package/dist/factories/@openzeppelin/contracts-upgradeable/index.d.ts.map +1 -1
  222. package/dist/factories/@openzeppelin/contracts-upgradeable/index.js +2 -1
  223. package/dist/factories/@openzeppelin/contracts-upgradeable/index.js.map +1 -1
  224. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts +48 -0
  225. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts.map +1 -0
  226. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.js +324 -0
  227. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.js.map +1 -0
  228. package/dist/factories/{contracts/validator-manager/MultisigValidatorManager__factory.d.ts → @openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.d.ts} +5 -5
  229. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.d.ts.map +1 -0
  230. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.js +201 -0
  231. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.js.map +1 -0
  232. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.d.ts +36 -0
  233. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.d.ts.map +1 -0
  234. package/dist/factories/{contracts/validator-manager/MultisigValidatorManager__factory.js → @openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.js} +76 -122
  235. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable__factory.js.map +1 -0
  236. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts +2 -0
  237. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.d.ts.map +1 -0
  238. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.js +9 -0
  239. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.js.map +1 -0
  240. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +4 -0
  241. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts.map +1 -0
  242. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.js +35 -0
  243. package/dist/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.js.map +1 -0
  244. package/dist/factories/@openzeppelin/contracts-upgradeable/token/index.d.ts +2 -0
  245. package/dist/factories/@openzeppelin/contracts-upgradeable/token/index.d.ts.map +1 -0
  246. package/dist/factories/@openzeppelin/contracts-upgradeable/token/index.js +31 -0
  247. package/dist/factories/@openzeppelin/contracts-upgradeable/token/index.js.map +1 -0
  248. package/dist/factories/contracts/{AbacusConnectionClient__factory.d.ts → HyperlaneConnectionClient__factory.d.ts} +5 -5
  249. package/dist/factories/contracts/HyperlaneConnectionClient__factory.d.ts.map +1 -0
  250. package/dist/factories/contracts/{AbacusConnectionClient__factory.js → HyperlaneConnectionClient__factory.js} +61 -22
  251. package/dist/factories/contracts/HyperlaneConnectionClient__factory.js.map +1 -0
  252. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts +1 -1
  253. package/dist/factories/contracts/InterchainGasPaymaster__factory.d.ts.map +1 -1
  254. package/dist/factories/contracts/InterchainGasPaymaster__factory.js +7 -18
  255. package/dist/factories/contracts/InterchainGasPaymaster__factory.js.map +1 -1
  256. package/dist/factories/contracts/Mailbox__factory.d.ts +29 -13
  257. package/dist/factories/contracts/Mailbox__factory.d.ts.map +1 -1
  258. package/dist/factories/contracts/Mailbox__factory.js +239 -11
  259. package/dist/factories/contracts/Mailbox__factory.js.map +1 -1
  260. package/dist/factories/contracts/OwnableMulticall__factory.d.ts +1 -1
  261. package/dist/factories/contracts/OwnableMulticall__factory.js +1 -1
  262. package/dist/factories/contracts/OwnableSpecifiesISM__factory.d.ts +55 -0
  263. package/dist/factories/contracts/OwnableSpecifiesISM__factory.d.ts.map +1 -0
  264. package/dist/factories/contracts/OwnableSpecifiesISM__factory.js +145 -0
  265. package/dist/factories/contracts/OwnableSpecifiesISM__factory.js.map +1 -0
  266. package/dist/factories/contracts/Router__factory.d.ts.map +1 -1
  267. package/dist/factories/contracts/Router__factory.js +65 -26
  268. package/dist/factories/contracts/Router__factory.js.map +1 -1
  269. package/dist/factories/contracts/index.d.ts +2 -6
  270. package/dist/factories/contracts/index.d.ts.map +1 -1
  271. package/dist/factories/contracts/index.js +4 -12
  272. package/dist/factories/contracts/index.js.map +1 -1
  273. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts +55 -0
  274. package/dist/factories/contracts/isms/MultisigIsm__factory.d.ts.map +1 -0
  275. package/dist/factories/contracts/isms/MultisigIsm__factory.js +363 -0
  276. package/dist/factories/contracts/isms/MultisigIsm__factory.js.map +1 -0
  277. package/dist/factories/contracts/isms/index.d.ts +2 -0
  278. package/dist/factories/contracts/isms/index.d.ts.map +1 -0
  279. package/dist/factories/contracts/isms/index.js +9 -0
  280. package/dist/factories/contracts/isms/index.js.map +1 -0
  281. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -12
  282. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  283. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +78 -33
  284. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  285. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -12
  286. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  287. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +81 -30
  288. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  289. package/dist/factories/contracts/middleware/index.d.ts +1 -0
  290. package/dist/factories/contracts/middleware/index.d.ts.map +1 -1
  291. package/dist/factories/contracts/middleware/index.js +25 -1
  292. package/dist/factories/contracts/middleware/index.js.map +1 -1
  293. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +48 -0
  294. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -0
  295. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +419 -0
  296. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -0
  297. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +48 -0
  298. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -0
  299. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +623 -0
  300. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -0
  301. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts +2 -0
  302. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.d.ts.map +1 -0
  303. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js +9 -0
  304. package/dist/factories/contracts/middleware/liquidity-layer/adapters/index.js.map +1 -0
  305. package/dist/factories/contracts/middleware/liquidity-layer/index.d.ts +4 -0
  306. package/dist/factories/contracts/middleware/liquidity-layer/index.d.ts.map +1 -0
  307. package/dist/factories/contracts/middleware/liquidity-layer/index.js +34 -0
  308. package/dist/factories/contracts/middleware/liquidity-layer/index.js.map +1 -0
  309. package/dist/factories/{interfaces/IAbacusConnectionManager__factory.d.ts → contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts} +5 -5
  310. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.d.ts.map +1 -0
  311. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.js +91 -0
  312. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter__factory.js.map +1 -0
  313. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts +19 -0
  314. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
  315. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.js +51 -0
  316. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerMessageRecipient__factory.js.map +1 -0
  317. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts +36 -0
  318. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.d.ts.map +1 -0
  319. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js +104 -0
  320. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleBridge__factory.js.map +1 -0
  321. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.d.ts +23 -0
  322. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.d.ts.map +1 -0
  323. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.js +61 -0
  324. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter__factory.js.map +1 -0
  325. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts +3 -0
  326. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.d.ts.map +1 -0
  327. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.js +11 -0
  328. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/circle/index.js.map +1 -0
  329. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts +4 -0
  330. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.d.ts.map +1 -0
  331. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js +35 -0
  332. package/dist/factories/contracts/middleware/liquidity-layer/interfaces/index.js.map +1 -0
  333. package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts +59 -0
  334. package/dist/factories/contracts/mock/MockCircleBridge__factory.d.ts.map +1 -0
  335. package/dist/factories/contracts/mock/MockCircleBridge__factory.js +151 -0
  336. package/dist/factories/contracts/mock/MockCircleBridge__factory.js.map +1 -0
  337. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts +45 -0
  338. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.d.ts.map +1 -0
  339. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js +142 -0
  340. package/dist/factories/contracts/mock/MockCircleMessageTransmitter__factory.js.map +1 -0
  341. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +45 -0
  342. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -0
  343. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +109 -0
  344. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -0
  345. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts +69 -0
  346. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.d.ts.map +1 -0
  347. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js +181 -0
  348. package/dist/factories/contracts/mock/MockInterchainAccountRouter__factory.js.map +1 -0
  349. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +45 -0
  350. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -0
  351. package/dist/factories/contracts/mock/MockMailbox__factory.js +252 -0
  352. package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -0
  353. package/dist/factories/contracts/mock/MockToken__factory.d.ts +48 -0
  354. package/dist/factories/contracts/mock/{MockInbox__factory.d.ts.map → MockToken__factory.d.ts.map} +1 -1
  355. package/dist/factories/contracts/mock/MockToken__factory.js +355 -0
  356. package/dist/factories/contracts/mock/MockToken__factory.js.map +1 -0
  357. package/dist/factories/contracts/mock/index.d.ts +6 -2
  358. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  359. package/dist/factories/contracts/mock/index.js +13 -5
  360. package/dist/factories/contracts/mock/index.js.map +1 -1
  361. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +55 -0
  362. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts.map +1 -0
  363. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +249 -0
  364. package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js.map +1 -0
  365. package/dist/factories/contracts/test/TestIsm__factory.d.ts +35 -0
  366. package/dist/factories/contracts/test/TestIsm__factory.d.ts.map +1 -0
  367. package/dist/factories/contracts/test/TestIsm__factory.js +91 -0
  368. package/dist/factories/contracts/test/TestIsm__factory.js.map +1 -0
  369. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts +44 -0
  370. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.d.ts.map +1 -0
  371. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js +111 -0
  372. package/dist/factories/contracts/test/TestLiquidityLayerMessageRecipient__factory.js.map +1 -0
  373. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -8
  374. package/dist/factories/contracts/test/TestMailbox__factory.d.ts.map +1 -1
  375. package/dist/factories/contracts/test/TestMailbox__factory.js +235 -13
  376. package/dist/factories/contracts/test/TestMailbox__factory.js.map +1 -1
  377. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  378. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  379. package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
  380. package/dist/factories/contracts/test/TestMessage__factory.d.ts.map +1 -1
  381. package/dist/factories/contracts/test/TestMessage__factory.js +40 -7
  382. package/dist/factories/contracts/test/TestMessage__factory.js.map +1 -1
  383. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +48 -0
  384. package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts.map +1 -0
  385. package/dist/factories/contracts/test/TestMultisigIsm__factory.js +406 -0
  386. package/dist/factories/contracts/test/TestMultisigIsm__factory.js.map +1 -0
  387. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +55 -0
  388. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts.map +1 -0
  389. package/dist/factories/contracts/test/TestQuerySender__factory.js +253 -0
  390. package/dist/factories/contracts/test/TestQuerySender__factory.js.map +1 -0
  391. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  392. package/dist/factories/contracts/test/TestQuery__factory.d.ts.map +1 -1
  393. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  394. package/dist/factories/contracts/test/TestQuery__factory.js.map +1 -1
  395. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  396. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  397. package/dist/factories/contracts/test/TestRouter__factory.js +70 -31
  398. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  399. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  400. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts.map +1 -1
  401. package/dist/factories/contracts/test/TestSendReceiver__factory.js +2 -2
  402. package/dist/factories/contracts/test/TestSendReceiver__factory.js.map +1 -1
  403. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts +55 -0
  404. package/dist/factories/contracts/test/TestTokenRecipient__factory.d.ts.map +1 -0
  405. package/dist/factories/contracts/test/TestTokenRecipient__factory.js +232 -0
  406. package/dist/factories/contracts/test/TestTokenRecipient__factory.js.map +1 -0
  407. package/dist/factories/contracts/test/index.d.ts +6 -5
  408. package/dist/factories/contracts/test/index.d.ts.map +1 -1
  409. package/dist/factories/contracts/test/index.js +13 -11
  410. package/dist/factories/contracts/test/index.js.map +1 -1
  411. package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts +33 -0
  412. package/dist/factories/interfaces/IInterchainAccountRouter__factory.d.ts.map +1 -0
  413. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js +78 -0
  414. package/dist/factories/interfaces/IInterchainAccountRouter__factory.js.map +1 -0
  415. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.d.ts.map +1 -1
  416. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js +3 -8
  417. package/dist/factories/interfaces/IInterchainGasPaymaster__factory.js.map +1 -1
  418. package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts +33 -0
  419. package/dist/factories/interfaces/IInterchainQueryRouter__factory.d.ts.map +1 -0
  420. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js +100 -0
  421. package/dist/factories/interfaces/IInterchainQueryRouter__factory.js.map +1 -0
  422. package/dist/factories/interfaces/{IInbox__factory.d.ts → IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts} +10 -16
  423. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.d.ts.map +1 -0
  424. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js +42 -0
  425. package/dist/factories/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule__factory.js.map +1 -0
  426. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts +19 -0
  427. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.d.ts.map +1 -0
  428. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js +31 -0
  429. package/dist/factories/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule__factory.js.map +1 -0
  430. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
  431. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
  432. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.js +11 -0
  433. package/dist/factories/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
  434. package/dist/factories/interfaces/IMailbox__factory.d.ts +5 -1
  435. package/dist/factories/interfaces/IMailbox__factory.d.ts.map +1 -1
  436. package/dist/factories/interfaces/IMailbox__factory.js +81 -3
  437. package/dist/factories/interfaces/IMailbox__factory.js.map +1 -1
  438. package/dist/factories/interfaces/{IOutbox__factory.d.ts → IMultisigIsm__factory.d.ts} +5 -5
  439. package/dist/factories/interfaces/IMultisigIsm__factory.d.ts.map +1 -0
  440. package/dist/factories/interfaces/{IInbox__factory.js → IMultisigIsm__factory.js} +55 -41
  441. package/dist/factories/interfaces/IMultisigIsm__factory.js.map +1 -0
  442. package/dist/factories/interfaces/index.d.ts +4 -4
  443. package/dist/factories/interfaces/index.d.ts.map +1 -1
  444. package/dist/factories/interfaces/index.js +31 -9
  445. package/dist/factories/interfaces/index.js.map +1 -1
  446. package/dist/index.d.ts +58 -38
  447. package/dist/index.d.ts.map +1 -1
  448. package/dist/index.js +60 -40
  449. package/dist/index.js.map +1 -1
  450. package/dist/interfaces/IInterchainAccountRouter.d.ts +67 -0
  451. package/dist/interfaces/IInterchainAccountRouter.d.ts.map +1 -0
  452. package/dist/interfaces/IInterchainAccountRouter.js +4 -0
  453. package/dist/interfaces/IInterchainAccountRouter.js.map +1 -0
  454. package/dist/interfaces/IInterchainGasPaymaster.d.ts +7 -7
  455. package/dist/interfaces/IInterchainGasPaymaster.d.ts.map +1 -1
  456. package/dist/interfaces/IInterchainQueryRouter.d.ts +75 -0
  457. package/dist/interfaces/IInterchainQueryRouter.d.ts.map +1 -0
  458. package/dist/interfaces/IInterchainQueryRouter.js +4 -0
  459. package/dist/interfaces/IInterchainQueryRouter.js.map +1 -0
  460. package/dist/{contracts/mock/MockOutbox.d.ts → interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts} +14 -14
  461. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.d.ts.map +1 -0
  462. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js +4 -0
  463. package/dist/interfaces/IInterchainSecurityModule.sol/IInterchainSecurityModule.js.map +1 -0
  464. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts +43 -0
  465. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.d.ts.map +1 -0
  466. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js +4 -0
  467. package/dist/interfaces/IInterchainSecurityModule.sol/ISpecifiesInterchainSecurityModule.js.map +1 -0
  468. package/dist/interfaces/IInterchainSecurityModule.sol/index.d.ts +3 -0
  469. package/dist/interfaces/IInterchainSecurityModule.sol/index.d.ts.map +1 -0
  470. package/dist/interfaces/IInterchainSecurityModule.sol/index.js +3 -0
  471. package/dist/interfaces/IInterchainSecurityModule.sol/index.js.map +1 -0
  472. package/dist/interfaces/IMailbox.d.ts +58 -10
  473. package/dist/interfaces/IMailbox.d.ts.map +1 -1
  474. package/dist/interfaces/IMultisigIsm.d.ts +75 -0
  475. package/dist/interfaces/IMultisigIsm.d.ts.map +1 -0
  476. package/dist/interfaces/IMultisigIsm.js +4 -0
  477. package/dist/interfaces/IMultisigIsm.js.map +1 -0
  478. package/dist/interfaces/index.d.ts +5 -4
  479. package/dist/interfaces/index.d.ts.map +1 -1
  480. package/dist/interfaces/index.js +1 -0
  481. package/dist/interfaces/index.js.map +1 -1
  482. package/interfaces/IInterchainAccountRouter.sol +15 -0
  483. package/interfaces/IInterchainGasPaymaster.sol +3 -5
  484. package/interfaces/IInterchainQueryRouter.sol +18 -0
  485. package/interfaces/IInterchainSecurityModule.sol +16 -0
  486. package/interfaces/IMailbox.sol +15 -2
  487. package/interfaces/IMultisigIsm.sol +18 -0
  488. package/package.json +4 -3
  489. package/contracts/AbacusConnectionManager.sol +0 -145
  490. package/contracts/Inbox.sol +0 -148
  491. package/contracts/MerkleTreeManager.sol +0 -32
  492. package/contracts/Outbox.sol +0 -191
  493. package/contracts/mock/MockInbox.sol +0 -52
  494. package/contracts/mock/MockOutbox.sol +0 -30
  495. package/contracts/test/TestAbacusConnectionClient.sol +0 -23
  496. package/contracts/test/TestInbox.sol +0 -54
  497. package/contracts/test/TestMultisigValidatorManager.sol +0 -26
  498. package/contracts/test/TestOutbox.sol +0 -46
  499. package/contracts/test/TestValidatorManager.sol +0 -21
  500. package/contracts/validator-manager/InboxValidatorManager.sol +0 -58
  501. package/contracts/validator-manager/MultisigValidatorManager.sol +0 -271
  502. package/contracts/validator-manager/OutboxValidatorManager.sol +0 -244
  503. package/dist/contracts/AbacusConnectionClient.d.ts.map +0 -1
  504. package/dist/contracts/AbacusConnectionClient.js.map +0 -1
  505. package/dist/contracts/AbacusConnectionManager.d.ts +0 -213
  506. package/dist/contracts/AbacusConnectionManager.d.ts.map +0 -1
  507. package/dist/contracts/AbacusConnectionManager.js.map +0 -1
  508. package/dist/contracts/Inbox.d.ts +0 -207
  509. package/dist/contracts/Inbox.d.ts.map +0 -1
  510. package/dist/contracts/Inbox.js.map +0 -1
  511. package/dist/contracts/MerkleTreeManager.d.ts +0 -53
  512. package/dist/contracts/MerkleTreeManager.d.ts.map +0 -1
  513. package/dist/contracts/MerkleTreeManager.js.map +0 -1
  514. package/dist/contracts/Outbox.d.ts +0 -331
  515. package/dist/contracts/Outbox.d.ts.map +0 -1
  516. package/dist/contracts/Outbox.js.map +0 -1
  517. package/dist/contracts/mock/MockInbox.d.ts.map +0 -1
  518. package/dist/contracts/mock/MockInbox.js.map +0 -1
  519. package/dist/contracts/mock/MockOutbox.d.ts.map +0 -1
  520. package/dist/contracts/mock/MockOutbox.js.map +0 -1
  521. package/dist/contracts/test/TestAbacusConnectionClient.d.ts.map +0 -1
  522. package/dist/contracts/test/TestAbacusConnectionClient.js +0 -4
  523. package/dist/contracts/test/TestAbacusConnectionClient.js.map +0 -1
  524. package/dist/contracts/test/TestInbox.d.ts +0 -263
  525. package/dist/contracts/test/TestInbox.d.ts.map +0 -1
  526. package/dist/contracts/test/TestInbox.js +0 -4
  527. package/dist/contracts/test/TestInbox.js.map +0 -1
  528. package/dist/contracts/test/TestMultisigValidatorManager.d.ts +0 -247
  529. package/dist/contracts/test/TestMultisigValidatorManager.d.ts.map +0 -1
  530. package/dist/contracts/test/TestMultisigValidatorManager.js +0 -4
  531. package/dist/contracts/test/TestMultisigValidatorManager.js.map +0 -1
  532. package/dist/contracts/test/TestOutbox.d.ts +0 -371
  533. package/dist/contracts/test/TestOutbox.d.ts.map +0 -1
  534. package/dist/contracts/test/TestOutbox.js +0 -4
  535. package/dist/contracts/test/TestOutbox.js.map +0 -1
  536. package/dist/contracts/test/TestValidatorManager.d.ts.map +0 -1
  537. package/dist/contracts/test/TestValidatorManager.js +0 -4
  538. package/dist/contracts/test/TestValidatorManager.js.map +0 -1
  539. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts +0 -263
  540. package/dist/contracts/validator-manager/InboxValidatorManager.d.ts.map +0 -1
  541. package/dist/contracts/validator-manager/InboxValidatorManager.js +0 -4
  542. package/dist/contracts/validator-manager/InboxValidatorManager.js.map +0 -1
  543. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts +0 -239
  544. package/dist/contracts/validator-manager/MultisigValidatorManager.d.ts.map +0 -1
  545. package/dist/contracts/validator-manager/MultisigValidatorManager.js +0 -4
  546. package/dist/contracts/validator-manager/MultisigValidatorManager.js.map +0 -1
  547. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts +0 -335
  548. package/dist/contracts/validator-manager/OutboxValidatorManager.d.ts.map +0 -1
  549. package/dist/contracts/validator-manager/OutboxValidatorManager.js +0 -4
  550. package/dist/contracts/validator-manager/OutboxValidatorManager.js.map +0 -1
  551. package/dist/contracts/validator-manager/index.d.ts +0 -4
  552. package/dist/contracts/validator-manager/index.d.ts.map +0 -1
  553. package/dist/contracts/validator-manager/index.js.map +0 -1
  554. package/dist/factories/contracts/AbacusConnectionClient__factory.d.ts.map +0 -1
  555. package/dist/factories/contracts/AbacusConnectionClient__factory.js.map +0 -1
  556. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts +0 -55
  557. package/dist/factories/contracts/AbacusConnectionManager__factory.d.ts.map +0 -1
  558. package/dist/factories/contracts/AbacusConnectionManager__factory.js +0 -276
  559. package/dist/factories/contracts/AbacusConnectionManager__factory.js.map +0 -1
  560. package/dist/factories/contracts/Inbox__factory.d.ts +0 -59
  561. package/dist/factories/contracts/Inbox__factory.d.ts.map +0 -1
  562. package/dist/factories/contracts/Inbox__factory.js +0 -278
  563. package/dist/factories/contracts/Inbox__factory.js.map +0 -1
  564. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts +0 -31
  565. package/dist/factories/contracts/MerkleTreeManager__factory.d.ts.map +0 -1
  566. package/dist/factories/contracts/MerkleTreeManager__factory.js +0 -67
  567. package/dist/factories/contracts/MerkleTreeManager__factory.js.map +0 -1
  568. package/dist/factories/contracts/Outbox__factory.d.ts +0 -59
  569. package/dist/factories/contracts/Outbox__factory.d.ts.map +0 -1
  570. package/dist/factories/contracts/Outbox__factory.js +0 -415
  571. package/dist/factories/contracts/Outbox__factory.js.map +0 -1
  572. package/dist/factories/contracts/mock/MockInbox__factory.d.ts +0 -31
  573. package/dist/factories/contracts/mock/MockInbox__factory.js +0 -76
  574. package/dist/factories/contracts/mock/MockInbox__factory.js.map +0 -1
  575. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts +0 -45
  576. package/dist/factories/contracts/mock/MockOutbox__factory.d.ts.map +0 -1
  577. package/dist/factories/contracts/mock/MockOutbox__factory.js +0 -86
  578. package/dist/factories/contracts/mock/MockOutbox__factory.js.map +0 -1
  579. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts +0 -48
  580. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.d.ts.map +0 -1
  581. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js +0 -242
  582. package/dist/factories/contracts/test/TestAbacusConnectionClient__factory.js.map +0 -1
  583. package/dist/factories/contracts/test/TestInbox__factory.d.ts +0 -59
  584. package/dist/factories/contracts/test/TestInbox__factory.d.ts.map +0 -1
  585. package/dist/factories/contracts/test/TestInbox__factory.js +0 -371
  586. package/dist/factories/contracts/test/TestInbox__factory.js.map +0 -1
  587. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts +0 -59
  588. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.d.ts.map +0 -1
  589. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js +0 -349
  590. package/dist/factories/contracts/test/TestMultisigValidatorManager__factory.js.map +0 -1
  591. package/dist/factories/contracts/test/TestOutbox__factory.d.ts +0 -59
  592. package/dist/factories/contracts/test/TestOutbox__factory.d.ts.map +0 -1
  593. package/dist/factories/contracts/test/TestOutbox__factory.js +0 -483
  594. package/dist/factories/contracts/test/TestOutbox__factory.js.map +0 -1
  595. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts +0 -31
  596. package/dist/factories/contracts/test/TestValidatorManager__factory.d.ts.map +0 -1
  597. package/dist/factories/contracts/test/TestValidatorManager__factory.js +0 -79
  598. package/dist/factories/contracts/test/TestValidatorManager__factory.js.map +0 -1
  599. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts +0 -59
  600. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.d.ts.map +0 -1
  601. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js +0 -373
  602. package/dist/factories/contracts/validator-manager/InboxValidatorManager__factory.js.map +0 -1
  603. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.d.ts.map +0 -1
  604. package/dist/factories/contracts/validator-manager/MultisigValidatorManager__factory.js.map +0 -1
  605. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts +0 -59
  606. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.d.ts.map +0 -1
  607. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js +0 -560
  608. package/dist/factories/contracts/validator-manager/OutboxValidatorManager__factory.js.map +0 -1
  609. package/dist/factories/contracts/validator-manager/index.d.ts +0 -4
  610. package/dist/factories/contracts/validator-manager/index.d.ts.map +0 -1
  611. package/dist/factories/contracts/validator-manager/index.js +0 -13
  612. package/dist/factories/contracts/validator-manager/index.js.map +0 -1
  613. package/dist/factories/interfaces/IAbacusConnectionManager__factory.d.ts.map +0 -1
  614. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js +0 -63
  615. package/dist/factories/interfaces/IAbacusConnectionManager__factory.js.map +0 -1
  616. package/dist/factories/interfaces/IInbox__factory.d.ts.map +0 -1
  617. package/dist/factories/interfaces/IInbox__factory.js.map +0 -1
  618. package/dist/factories/interfaces/IMultisigValidatorManager__factory.d.ts +0 -19
  619. package/dist/factories/interfaces/IMultisigValidatorManager__factory.d.ts.map +0 -1
  620. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js +0 -57
  621. package/dist/factories/interfaces/IMultisigValidatorManager__factory.js.map +0 -1
  622. package/dist/factories/interfaces/IOutbox__factory.d.ts.map +0 -1
  623. package/dist/factories/interfaces/IOutbox__factory.js +0 -155
  624. package/dist/factories/interfaces/IOutbox__factory.js.map +0 -1
  625. package/dist/interfaces/IAbacusConnectionManager.d.ts +0 -59
  626. package/dist/interfaces/IAbacusConnectionManager.d.ts.map +0 -1
  627. package/dist/interfaces/IAbacusConnectionManager.js +0 -4
  628. package/dist/interfaces/IAbacusConnectionManager.js.map +0 -1
  629. package/dist/interfaces/IInbox.d.ts +0 -83
  630. package/dist/interfaces/IInbox.d.ts.map +0 -1
  631. package/dist/interfaces/IInbox.js.map +0 -1
  632. package/dist/interfaces/IMultisigValidatorManager.d.ts +0 -59
  633. package/dist/interfaces/IMultisigValidatorManager.d.ts.map +0 -1
  634. package/dist/interfaces/IMultisigValidatorManager.js +0 -4
  635. package/dist/interfaces/IMultisigValidatorManager.js.map +0 -1
  636. package/dist/interfaces/IOutbox.d.ts +0 -148
  637. package/dist/interfaces/IOutbox.d.ts.map +0 -1
  638. package/dist/interfaces/IOutbox.js.map +0 -1
  639. package/interfaces/IAbacusConnectionManager.sol +0 -12
  640. package/interfaces/IInbox.sol +0 -16
  641. package/interfaces/IMultisigValidatorManager.sol +0 -11
  642. package/interfaces/IOutbox.sol +0 -27
@@ -1,271 +0,0 @@
1
- // SPDX-License-Identifier: MIT OR Apache-2.0
2
- pragma solidity >=0.8.0;
3
-
4
- import {Versioned} from "../upgrade/Versioned.sol";
5
-
6
- // ============ External Imports ============
7
- import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
8
- import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
9
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
10
-
11
- // ============ Internal Imports ============
12
- import {IMultisigValidatorManager} from "../../interfaces/IMultisigValidatorManager.sol";
13
-
14
- /**
15
- * @title MultisigValidatorManager
16
- * @notice Manages an ownable set of validators that ECDSA sign checkpoints to
17
- * reach a quorum.
18
- */
19
- abstract contract MultisigValidatorManager is
20
- IMultisigValidatorManager,
21
- Ownable,
22
- Versioned
23
- {
24
- // ============ Libraries ============
25
-
26
- using EnumerableSet for EnumerableSet.AddressSet;
27
-
28
- // ============ Immutables ============
29
-
30
- // The domain of the validator set's outbox chain.
31
- uint32 public immutable domain;
32
-
33
- // The domain hash of the validator set's outbox chain.
34
- bytes32 public immutable domainHash;
35
-
36
- // ============ Mutable Storage ============
37
-
38
- // The minimum threshold of validator signatures to constitute a quorum.
39
- uint256 public threshold;
40
-
41
- // The set of validators.
42
- EnumerableSet.AddressSet private validatorSet;
43
-
44
- // ============ Events ============
45
-
46
- /**
47
- * @notice Emitted when a validator is enrolled in the validator set.
48
- * @param validator The address of the validator.
49
- * @param validatorCount The new number of enrolled validators in the validator set.
50
- */
51
- event ValidatorEnrolled(address indexed validator, uint256 validatorCount);
52
-
53
- /**
54
- * @notice Emitted when a validator is unenrolled from the validator set.
55
- * @param validator The address of the validator.
56
- * @param validatorCount The new number of enrolled validators in the validator set.
57
- */
58
- event ValidatorUnenrolled(
59
- address indexed validator,
60
- uint256 validatorCount
61
- );
62
-
63
- /**
64
- * @notice Emitted when the quorum threshold is set.
65
- * @param threshold The new quorum threshold.
66
- */
67
- event ThresholdSet(uint256 threshold);
68
-
69
- // ============ Constructor ============
70
-
71
- /**
72
- * @dev Reverts if `_validators` has any duplicates.
73
- * @param _domain The domain of the outbox the validator set is for.
74
- * @param _validators The set of validator addresses.
75
- * @param _threshold The quorum threshold. Must be greater than or equal
76
- * to the length of `_validators`.
77
- */
78
- constructor(
79
- uint32 _domain,
80
- address[] memory _validators,
81
- uint256 _threshold
82
- ) Ownable() {
83
- // Set immutables.
84
- domain = _domain;
85
- domainHash = _domainHash(_domain);
86
-
87
- // Enroll validators. Reverts if there are any duplicates.
88
- uint256 _numValidators = _validators.length;
89
- for (uint256 i = 0; i < _numValidators; i++) {
90
- _enrollValidator(_validators[i]);
91
- }
92
-
93
- _setThreshold(_threshold);
94
- }
95
-
96
- // ============ External Functions ============
97
-
98
- /**
99
- * @notice Enrolls a validator into the validator set.
100
- * @dev Reverts if `_validator` is already in the validator set.
101
- * @param _validator The validator to add to the validator set.
102
- */
103
- function enrollValidator(address _validator) external onlyOwner {
104
- _enrollValidator(_validator);
105
- }
106
-
107
- /**
108
- * @notice Unenrolls a validator from the validator set.
109
- * @dev Reverts if `_validator` is not in the validator set.
110
- * @param _validator The validator to remove from the validator set.
111
- */
112
- function unenrollValidator(address _validator) external onlyOwner {
113
- _unenrollValidator(_validator);
114
- }
115
-
116
- /**
117
- * @notice Sets the quorum threshold.
118
- * @param _threshold The new quorum threshold.
119
- */
120
- function setThreshold(uint256 _threshold) external onlyOwner {
121
- _setThreshold(_threshold);
122
- }
123
-
124
- /**
125
- * @notice Gets the addresses of the current validator set.
126
- * @dev There are no ordering guarantees due to the semantics of EnumerableSet.AddressSet.
127
- * @return The addresses of the validator set.
128
- */
129
- function validators() external view returns (address[] memory) {
130
- uint256 _numValidators = validatorSet.length();
131
- address[] memory _validators = new address[](_numValidators);
132
- for (uint256 i = 0; i < _numValidators; i++) {
133
- _validators[i] = validatorSet.at(i);
134
- }
135
- return _validators;
136
- }
137
-
138
- // ============ Public Functions ============
139
-
140
- /**
141
- * @notice Returns whether provided signatures over a checkpoint constitute
142
- * a quorum of validator signatures.
143
- * @dev Reverts if `_signatures` is not sorted in ascending order by the signer
144
- * address, which is required for duplicate detection.
145
- * @dev Does not revert if a signature's signer is not in the validator set.
146
- * @param _root The merkle root of the checkpoint.
147
- * @param _index The index of the checkpoint.
148
- * @param _signatures Signatures over the checkpoint to be checked for a validator
149
- * quorum. Must be sorted in ascending order by signer address.
150
- * @return TRUE iff `_signatures` constitute a quorum of validator signatures over
151
- * the checkpoint.
152
- */
153
- function isQuorum(
154
- bytes32 _root,
155
- uint256 _index,
156
- bytes[] calldata _signatures
157
- ) public view returns (bool) {
158
- uint256 _numSignatures = _signatures.length;
159
- // If there are fewer signatures provided than the required quorum threshold,
160
- // this is not a quorum.
161
- if (_numSignatures < threshold) {
162
- return false;
163
- }
164
- // To identify duplicates, the signers recovered from _signatures
165
- // must be sorted in ascending order. previousSigner is used to
166
- // enforce ordering.
167
- address _previousSigner = address(0);
168
- uint256 _validatorSignatureCount = 0;
169
- for (uint256 i = 0; i < _numSignatures; i++) {
170
- address _signer = _recoverCheckpointSigner(
171
- _root,
172
- _index,
173
- _signatures[i]
174
- );
175
- // Revert if the signer violates the required sort order.
176
- require(_previousSigner < _signer, "!sorted signers");
177
- // If the signer is a validator, increment _validatorSignatureCount.
178
- if (isValidator(_signer)) {
179
- _validatorSignatureCount++;
180
- }
181
- _previousSigner = _signer;
182
- }
183
- return _validatorSignatureCount >= threshold;
184
- }
185
-
186
- /**
187
- * @notice Returns if `_validator` is enrolled in the validator set.
188
- * @param _validator The address of the validator.
189
- * @return TRUE iff `_validator` is enrolled in the validator set.
190
- */
191
- function isValidator(address _validator) public view returns (bool) {
192
- return validatorSet.contains(_validator);
193
- }
194
-
195
- /**
196
- * @notice Returns the number of validators enrolled in the validator set.
197
- * @return The number of validators enrolled in the validator set.
198
- */
199
- function validatorCount() public view returns (uint256) {
200
- return validatorSet.length();
201
- }
202
-
203
- // ============ Internal Functions ============
204
-
205
- /**
206
- * @notice Recovers the signer from a signature of a checkpoint.
207
- * @param _root The checkpoint's merkle root.
208
- * @param _index The checkpoint's index.
209
- * @param _signature Signature on the the checkpoint.
210
- * @return The signer of the checkpoint signature.
211
- **/
212
- function _recoverCheckpointSigner(
213
- bytes32 _root,
214
- uint256 _index,
215
- bytes calldata _signature
216
- ) internal view returns (address) {
217
- bytes32 _digest = keccak256(
218
- abi.encodePacked(domainHash, _root, _index)
219
- );
220
- return ECDSA.recover(ECDSA.toEthSignedMessageHash(_digest), _signature);
221
- }
222
-
223
- /**
224
- * @notice Enrolls a validator into the validator set.
225
- * @dev Reverts if `_validator` is already in the validator set.
226
- * @param _validator The validator to add to the validator set.
227
- */
228
- function _enrollValidator(address _validator) internal {
229
- require(_validator != address(0), "zero address");
230
- require(validatorSet.add(_validator), "already enrolled");
231
- emit ValidatorEnrolled(_validator, validatorCount());
232
- }
233
-
234
- /**
235
- * @notice Unenrolls a validator from the validator set.
236
- * @dev Reverts if the resulting validator set length is less than
237
- * the quorum threshold.
238
- * @dev Reverts if `_validator` is not in the validator set.
239
- * @param _validator The validator to remove from the validator set.
240
- */
241
- function _unenrollValidator(address _validator) internal {
242
- require(validatorSet.remove(_validator), "!enrolled");
243
- uint256 _numValidators = validatorCount();
244
- require(_numValidators >= threshold, "violates quorum threshold");
245
- emit ValidatorUnenrolled(_validator, _numValidators);
246
- }
247
-
248
- /**
249
- * @notice Sets the quorum threshold.
250
- * @param _threshold The new quorum threshold.
251
- */
252
- function _setThreshold(uint256 _threshold) internal {
253
- require(_threshold > 0 && _threshold <= validatorCount(), "!range");
254
- threshold = _threshold;
255
- emit ThresholdSet(_threshold);
256
- }
257
-
258
- /**
259
- * @notice Hash of `_domain` concatenated with "ABACUS" and deployment version.
260
- * @dev Domain hash is salted with deployment version to prevent validator signature replay.
261
- * @param _domain The domain to hash.
262
- */
263
- function _domainHash(uint32 _domain) internal pure returns (bytes32) {
264
- if (VERSION > 0) {
265
- return keccak256(abi.encodePacked(_domain, "ABACUS", VERSION));
266
- } else {
267
- // for backwards compatibility with initial deployment (VERSION == 0)
268
- return keccak256(abi.encodePacked(_domain, "ABACUS"));
269
- }
270
- }
271
- }
@@ -1,244 +0,0 @@
1
- // SPDX-License-Identifier: MIT OR Apache-2.0
2
- pragma solidity >=0.8.0;
3
-
4
- // ============ Internal Imports ============
5
- import {IOutbox} from "../../interfaces/IOutbox.sol";
6
- import {MerkleLib} from "../libs/Merkle.sol";
7
- import {MultisigValidatorManager} from "./MultisigValidatorManager.sol";
8
-
9
- /**
10
- * @title OutboxValidatorManager
11
- * @notice Verifies if an premature or fraudulent checkpoint has been signed by a quorum of
12
- * validators and reports it to an Outbox.
13
- */
14
- contract OutboxValidatorManager is MultisigValidatorManager {
15
- // ============ Events ============
16
-
17
- /**
18
- * @notice Emitted when a checkpoint is proven premature.
19
- * @dev Observers of this event should filter by the outbox address.
20
- * @param outbox The outbox.
21
- * @param signedRoot Root of the premature checkpoint.
22
- * @param signedIndex Index of the premature checkpoint.
23
- * @param signatures A quorum of signatures on the premature checkpoint.
24
- * May include non-validator signatures.
25
- * @param count The number of messages in the Outbox.
26
- */
27
- event PrematureCheckpoint(
28
- address indexed outbox,
29
- bytes32 signedRoot,
30
- uint256 signedIndex,
31
- bytes[] signatures,
32
- uint256 count
33
- );
34
-
35
- /**
36
- * @notice Emitted when a checkpoint is proven fraudulent.
37
- * @dev Observers of this event should filter by the outbox address.
38
- * @param outbox The outbox.
39
- * @param signedRoot Root of the fraudulent checkpoint.
40
- * @param signedIndex Index of the fraudulent checkpoint.
41
- * @param signatures A quorum of signatures on the fraudulent checkpoint.
42
- * May include non-validator signatures.
43
- * @param fraudulentLeaf The leaf in the fraudulent tree.
44
- * @param fraudulentProof Proof of inclusion of fraudulentLeaf.
45
- * @param actualLeaf The leaf in the Outbox's tree.
46
- * @param actualProof Proof of inclusion of actualLeaf.
47
- * @param leafIndex The index of the leaves that are being proved.
48
- */
49
- event FraudulentCheckpoint(
50
- address indexed outbox,
51
- bytes32 signedRoot,
52
- uint256 signedIndex,
53
- bytes[] signatures,
54
- bytes32 fraudulentLeaf,
55
- bytes32[32] fraudulentProof,
56
- bytes32 actualLeaf,
57
- bytes32[32] actualProof,
58
- uint256 leafIndex
59
- );
60
-
61
- // ============ Constructor ============
62
-
63
- /**
64
- * @dev Reverts if `_validators` has any duplicates.
65
- * @param _localDomain The local domain.
66
- * @param _validators The set of validator addresses.
67
- * @param _threshold The quorum threshold. Must be greater than or equal
68
- * to the length of `_validators`.
69
- */
70
- // solhint-disable-next-line no-empty-blocks
71
- constructor(
72
- uint32 _localDomain,
73
- address[] memory _validators,
74
- uint256 _threshold
75
- ) MultisigValidatorManager(_localDomain, _validators, _threshold) {}
76
-
77
- // ============ External Functions ============
78
-
79
- /**
80
- * @notice Determines if a quorum of validators have signed a premature checkpoint,
81
- * failing the Outbox if so.
82
- * A checkpoint is premature if it commits to more messages than are present in the
83
- * Outbox's merkle tree.
84
- * @dev Premature checkpoints signed by individual validators are not handled to prevent
85
- * a single byzantine validator from failing the Outbox.
86
- * @param _outbox The outbox.
87
- * @param _signedRoot The root of the signed checkpoint.
88
- * @param _signedIndex The index of the signed checkpoint.
89
- * @param _signatures Signatures over the checkpoint to be checked for a validator
90
- * quorum. Must be sorted in ascending order by signer address.
91
- * @return True iff prematurity was proved.
92
- */
93
- function prematureCheckpoint(
94
- IOutbox _outbox,
95
- bytes32 _signedRoot,
96
- uint256 _signedIndex,
97
- bytes[] calldata _signatures
98
- ) external returns (bool) {
99
- require(isQuorum(_signedRoot, _signedIndex, _signatures), "!quorum");
100
- // Checkpoints are premature if the checkpoint commits to more messages
101
- // than the Outbox has in its merkle tree.
102
- uint256 count = _outbox.count();
103
- require(_signedIndex >= count, "!premature");
104
- _outbox.fail();
105
- emit PrematureCheckpoint(
106
- address(_outbox),
107
- _signedRoot,
108
- _signedIndex,
109
- _signatures,
110
- count
111
- );
112
- return true;
113
- }
114
-
115
- /**
116
- * @notice Determines if a quorum of validators have signed a fraudulent checkpoint,
117
- * failing the Outbox if so.
118
- * A checkpoint is fraudulent if the leaf it commits to at index I differs
119
- * from the leaf the Outbox committed to at index I, where I is less than or equal
120
- * to the index of the checkpoint.
121
- * This difference can be proved by comparing two merkle proofs for leaf
122
- * index J >= I. One against the fraudulent checkpoint, and one against a
123
- * checkpoint cached on the Outbox.
124
- * @dev Fraudulent checkpoints signed by individual validators are not handled to prevent
125
- * a single byzantine validator from failing the Outbox.
126
- * @param _outbox The outbox.
127
- * @param _signedRoot The root of the signed checkpoint.
128
- * @param _signedIndex The index of the signed checkpoint.
129
- * @param _signatures Signatures over the checkpoint to be checked for a validator
130
- * quorum. Must be sorted in ascending order by signer address.
131
- * @param _fraudulentLeaf The leaf in the fraudulent tree.
132
- * @param _fraudulentProof Proof of inclusion of `_fraudulentLeaf`.
133
- * @param _actualLeaf The leaf in the Outbox's tree.
134
- * @param _actualProof Proof of inclusion of `_actualLeaf`.
135
- * @param _leafIndex The index of the leaves that are being proved.
136
- * @return True iff fraud was proved.
137
- */
138
- function fraudulentCheckpoint(
139
- IOutbox _outbox,
140
- bytes32 _signedRoot,
141
- uint256 _signedIndex,
142
- bytes[] calldata _signatures,
143
- bytes32 _fraudulentLeaf,
144
- bytes32[32] calldata _fraudulentProof,
145
- bytes32 _actualLeaf,
146
- bytes32[32] calldata _actualProof,
147
- uint256 _leafIndex
148
- ) external returns (bool) {
149
- // Check the signed checkpoint commits to _fraudulentLeaf at _leafIndex.
150
- require(isQuorum(_signedRoot, _signedIndex, _signatures), "!quorum");
151
- bytes32 _fraudulentRoot = MerkleLib.branchRoot(
152
- _fraudulentLeaf,
153
- _fraudulentProof,
154
- _leafIndex
155
- );
156
- require(_fraudulentRoot == _signedRoot, "!root");
157
- require(_signedIndex >= _leafIndex, "!index");
158
-
159
- // Check the cached checkpoint commits to _actualLeaf at _leafIndex.
160
- bytes32 _cachedRoot = MerkleLib.branchRoot(
161
- _actualLeaf,
162
- _actualProof,
163
- _leafIndex
164
- );
165
- uint256 _cachedIndex = _outbox.cachedCheckpoints(_cachedRoot);
166
- require(_cachedIndex > 0 && _cachedIndex >= _leafIndex, "!cache");
167
-
168
- // Check that the two roots commit to at least one differing leaf
169
- // with index <= _leafIndex.
170
- require(
171
- impliesDifferingLeaf(
172
- _fraudulentLeaf,
173
- _fraudulentProof,
174
- _actualLeaf,
175
- _actualProof,
176
- _leafIndex
177
- ),
178
- "!fraud"
179
- );
180
-
181
- // Fail the Outbox.
182
- _outbox.fail();
183
- emit FraudulentCheckpoint(
184
- address(_outbox),
185
- _signedRoot,
186
- _signedIndex,
187
- _signatures,
188
- _fraudulentLeaf,
189
- _fraudulentProof,
190
- _actualLeaf,
191
- _actualProof,
192
- _leafIndex
193
- );
194
- return true;
195
- }
196
-
197
- /**
198
- * @notice Returns true if the implied merkle roots commit to at least one
199
- * differing leaf with index <= `_leafIndex`.
200
- * Given a merkle proof for leaf index J, we can determine whether an
201
- * element in the proof is an internal node whose terminal children are leaves
202
- * with index <= J.
203
- * Given two merkle proofs for leaf index J, if such elements do not match,
204
- * these two proofs necessarily commit to at least one differing leaf with
205
- * index I <= J.
206
- * @param _leafA The leaf in tree A.
207
- * @param _proofA Proof of inclusion of `_leafA` in tree A.
208
- * @param _leafB The leaf in tree B.
209
- * @param _proofB Proof of inclusion of `_leafB` in tree B.
210
- * @param _leafIndex The index of `_leafA` and `_leafB`.
211
- * @return differ True if the implied trees differ, false if not.
212
- */
213
- function impliesDifferingLeaf(
214
- bytes32 _leafA,
215
- bytes32[32] calldata _proofA,
216
- bytes32 _leafB,
217
- bytes32[32] calldata _proofB,
218
- uint256 _leafIndex
219
- ) public pure returns (bool) {
220
- // The implied merkle roots commit to at least one differing leaf
221
- // with index <= _leafIndex, if either:
222
-
223
- // 1. If the provided leaves differ.
224
- if (_leafA != _leafB) {
225
- return true;
226
- }
227
-
228
- // 2. If the branches contain internal nodes whose subtrees are full
229
- // (as implied by _leafIndex) that differ from one another.
230
- for (uint8 i = 0; i < 32; i++) {
231
- uint256 _ithBit = (_leafIndex >> i) & 0x01;
232
- // If the i'th is 1, the i'th element in the proof is an internal
233
- // node whose subtree is full.
234
- // If these nodes differ, at least one leaf that they commit to
235
- // must differ as well.
236
- if (_ithBit == 1) {
237
- if (_proofA[i] != _proofB[i]) {
238
- return true;
239
- }
240
- }
241
- }
242
- return false;
243
- }
244
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbacusConnectionClient.d.ts","sourceRoot":"","sources":["../../types/contracts/AbacusConnectionClient.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbacusConnectionClient.js","sourceRoot":"","sources":["../../types/contracts/AbacusConnectionClient.ts"],"names":[],"mappings":";AAAA,+CAA+C"}