@hyperlane-xyz/sdk 41.3.1 → 43.0.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 (324) hide show
  1. package/dist/ccip/consts.d.ts.map +1 -1
  2. package/dist/ccip/consts.js +20 -0
  3. package/dist/ccip/consts.js.map +1 -1
  4. package/dist/consts/multisigIsm.d.ts.map +1 -1
  5. package/dist/consts/multisigIsm.js +32 -0
  6. package/dist/consts/multisigIsm.js.map +1 -1
  7. package/dist/contracts/contracts.d.ts.map +1 -1
  8. package/dist/contracts/contracts.js +15 -0
  9. package/dist/contracts/contracts.js.map +1 -1
  10. package/dist/contracts/contracts.test.d.ts +2 -0
  11. package/dist/contracts/contracts.test.d.ts.map +1 -0
  12. package/dist/contracts/contracts.test.js +88 -0
  13. package/dist/contracts/contracts.test.js.map +1 -0
  14. package/dist/core/types.d.ts +48 -4158
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/core/types.js +21 -3
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/core/types.test.js +58 -0
  19. package/dist/core/types.test.js.map +1 -1
  20. package/dist/deploy/HyperlaneDeployer.js +1 -1
  21. package/dist/deploy/proxy.d.ts +8 -40
  22. package/dist/deploy/proxy.d.ts.map +1 -1
  23. package/dist/deploy/proxy.js +4 -4
  24. package/dist/deploy/proxy.js.map +1 -1
  25. package/dist/deploy/types.d.ts +1 -19
  26. package/dist/deploy/types.d.ts.map +1 -1
  27. package/dist/deploy/warp.d.ts +119 -3
  28. package/dist/deploy/warp.d.ts.map +1 -1
  29. package/dist/deploy/warp.js +696 -33
  30. package/dist/deploy/warp.js.map +1 -1
  31. package/dist/deploy/warp.test.d.ts +2 -0
  32. package/dist/deploy/warp.test.d.ts.map +1 -0
  33. package/dist/deploy/warp.test.js +358 -0
  34. package/dist/deploy/warp.test.js.map +1 -0
  35. package/dist/deploy/warpHybridPlan.d.ts +104 -0
  36. package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
  37. package/dist/deploy/warpHybridPlan.js +178 -0
  38. package/dist/deploy/warpHybridPlan.js.map +1 -0
  39. package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
  40. package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
  41. package/dist/deploy/warpHybridPlan.test.js +141 -0
  42. package/dist/deploy/warpHybridPlan.test.js.map +1 -0
  43. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
  44. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +68 -0
  45. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  46. package/dist/fee/EvmTokenFeeDeployer.js +18 -10
  47. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
  48. package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -1
  49. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +18 -8
  50. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -1
  51. package/dist/fee/EvmTokenFeeModule.js +8 -1
  52. package/dist/fee/EvmTokenFeeModule.js.map +1 -1
  53. package/dist/fee/EvmTokenFeeReader.d.ts +2 -2
  54. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  55. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  56. package/dist/fee/feeConfigMapping.d.ts.map +1 -1
  57. package/dist/fee/feeConfigMapping.js +1 -0
  58. package/dist/fee/feeConfigMapping.js.map +1 -1
  59. package/dist/fee/types.d.ts +147 -646
  60. package/dist/fee/types.d.ts.map +1 -1
  61. package/dist/fee/types.js +26 -17
  62. package/dist/fee/types.js.map +1 -1
  63. package/dist/fork/types.d.ts +125 -1924
  64. package/dist/fork/types.d.ts.map +1 -1
  65. package/dist/fork/types.js +3 -3
  66. package/dist/fork/types.js.map +1 -1
  67. package/dist/gas/oracle/types.d.ts +5 -56
  68. package/dist/gas/oracle/types.d.ts.map +1 -1
  69. package/dist/hook/EvmHookModule.d.ts +1 -1
  70. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  71. package/dist/hook/EvmHookModule.hardhat-test.js +12 -1
  72. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  73. package/dist/hook/EvmHookModule.js +19 -3
  74. package/dist/hook/EvmHookModule.js.map +1 -1
  75. package/dist/hook/EvmHookReader.d.ts +10 -0
  76. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  77. package/dist/hook/EvmHookReader.js +92 -11
  78. package/dist/hook/EvmHookReader.js.map +1 -1
  79. package/dist/hook/EvmHookReader.test.js +155 -1
  80. package/dist/hook/EvmHookReader.test.js.map +1 -1
  81. package/dist/hook/HyperlaneHookDeployer.d.ts +12 -0
  82. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  83. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts +2 -0
  84. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts.map +1 -0
  85. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js +322 -0
  86. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js.map +1 -0
  87. package/dist/hook/HyperlaneHookDeployer.js +262 -5
  88. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  89. package/dist/hook/types.d.ts +72 -2223
  90. package/dist/hook/types.d.ts.map +1 -1
  91. package/dist/hook/types.js +66 -10
  92. package/dist/hook/types.js.map +1 -1
  93. package/dist/hook/types.test.js +21 -1
  94. package/dist/hook/types.test.js.map +1 -1
  95. package/dist/hook/updates.d.ts +1 -0
  96. package/dist/hook/updates.d.ts.map +1 -1
  97. package/dist/hook/updates.js +2 -2
  98. package/dist/hook/updates.js.map +1 -1
  99. package/dist/hook/utils.d.ts +28 -1
  100. package/dist/hook/utils.d.ts.map +1 -1
  101. package/dist/hook/utils.js +89 -0
  102. package/dist/hook/utils.js.map +1 -1
  103. package/dist/ica/types.d.ts +35 -1570
  104. package/dist/ica/types.d.ts.map +1 -1
  105. package/dist/ica/types.js +1 -1
  106. package/dist/ica/types.js.map +1 -1
  107. package/dist/index.d.ts +7 -6
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +7 -6
  110. package/dist/index.js.map +1 -1
  111. package/dist/ism/EvmIsmModule.d.ts +29 -3
  112. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  113. package/dist/ism/EvmIsmModule.hardhat-test.js +512 -3
  114. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  115. package/dist/ism/EvmIsmModule.js +239 -21
  116. package/dist/ism/EvmIsmModule.js.map +1 -1
  117. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  118. package/dist/ism/EvmIsmReader.js +77 -1
  119. package/dist/ism/EvmIsmReader.js.map +1 -1
  120. package/dist/ism/EvmIsmReader.test.js +245 -4
  121. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  122. package/dist/ism/HyperlaneIsmFactory.d.ts +17 -5
  123. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  124. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +431 -4
  125. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  126. package/dist/ism/HyperlaneIsmFactory.js +121 -11
  127. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  128. package/dist/ism/delayedFlow.d.ts +31 -0
  129. package/dist/ism/delayedFlow.d.ts.map +1 -0
  130. package/dist/ism/delayedFlow.js +33 -0
  131. package/dist/ism/delayedFlow.js.map +1 -0
  132. package/dist/ism/types.d.ts +86 -237
  133. package/dist/ism/types.d.ts.map +1 -1
  134. package/dist/ism/types.js +270 -20
  135. package/dist/ism/types.js.map +1 -1
  136. package/dist/ism/types.test.js +433 -1
  137. package/dist/ism/types.test.js.map +1 -1
  138. package/dist/ism/utils.d.ts.map +1 -1
  139. package/dist/ism/utils.js +113 -3
  140. package/dist/ism/utils.js.map +1 -1
  141. package/dist/ism/utils.test.js +44 -0
  142. package/dist/ism/utils.test.js.map +1 -1
  143. package/dist/metadata/agentConfig.d.ts +537 -10384
  144. package/dist/metadata/agentConfig.d.ts.map +1 -1
  145. package/dist/metadata/agentConfig.js +14 -16
  146. package/dist/metadata/agentConfig.js.map +1 -1
  147. package/dist/metadata/chainMetadataTypes.d.ts +70 -4678
  148. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  149. package/dist/metadata/chainMetadataTypes.js +5 -5
  150. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  151. package/dist/metadata/customZodTypes.d.ts +5 -5
  152. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  153. package/dist/metadata/customZodTypes.js +4 -5
  154. package/dist/metadata/customZodTypes.js.map +1 -1
  155. package/dist/metadata/deploymentArtifacts.d.ts +1 -13
  156. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  157. package/dist/metadata/matchingList.d.ts +12 -40
  158. package/dist/metadata/matchingList.d.ts.map +1 -1
  159. package/dist/metadata/warpRouteConfig.d.ts +8 -114
  160. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  161. package/dist/metadata/warpRouteConfig.js +3 -3
  162. package/dist/metadata/warpRouteConfig.js.map +1 -1
  163. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  164. package/dist/middleware/account/InterchainAccount.js +12 -8
  165. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  166. package/dist/middleware/account/InterchainAccount.test.js +22 -3
  167. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  168. package/dist/middleware/account/icaCalls.d.ts +13 -145
  169. package/dist/middleware/account/icaCalls.d.ts.map +1 -1
  170. package/dist/middleware/account/types.d.ts +11 -105
  171. package/dist/middleware/account/types.d.ts.map +1 -1
  172. package/dist/predicate/PredicateApiClient.d.ts +1 -11
  173. package/dist/predicate/PredicateApiClient.d.ts.map +1 -1
  174. package/dist/providers/MultiProvider.d.ts.map +1 -1
  175. package/dist/providers/MultiProvider.js +3 -2
  176. package/dist/providers/MultiProvider.js.map +1 -1
  177. package/dist/providers/MultiProviderAdapter.d.ts +3 -3
  178. package/dist/providers/MultiProviderAdapter.d.ts.map +1 -1
  179. package/dist/providers/MultiProviderAdapter.js +2 -1
  180. package/dist/providers/MultiProviderAdapter.js.map +1 -1
  181. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  182. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +4 -0
  183. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  184. package/dist/providers/transactionFeeEstimators.d.ts +16 -9
  185. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  186. package/dist/providers/transactionFeeEstimators.js +66 -17
  187. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  188. package/dist/providers/transactionFeeEstimators.test.js +153 -1
  189. package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
  190. package/dist/providers/transactions/submitter/builder/types.d.ts +13 -280
  191. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -1
  192. package/dist/providers/transactions/submitter/builder/types.js +2 -4
  193. package/dist/providers/transactions/submitter/builder/types.js.map +1 -1
  194. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -0
  195. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  196. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +15 -7
  197. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  198. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts +2 -0
  199. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts.map +1 -0
  200. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js +145 -0
  201. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js.map +1 -0
  202. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -1
  203. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
  204. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +46 -5
  205. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
  206. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
  207. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
  208. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
  209. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
  210. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +30 -102
  211. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  212. package/dist/providers/transactions/submitter/ethersV5/types.js +3 -21
  213. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
  214. package/dist/providers/transactions/submitter/types.d.ts +5 -51
  215. package/dist/providers/transactions/submitter/types.d.ts.map +1 -1
  216. package/dist/providers/transactions/types.d.ts +1 -9
  217. package/dist/providers/transactions/types.d.ts.map +1 -1
  218. package/dist/router/HyperlaneRouterDeployer.d.ts +3 -1
  219. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  220. package/dist/router/HyperlaneRouterDeployer.js +4 -2
  221. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  222. package/dist/router/types.d.ts +33 -1824
  223. package/dist/router/types.d.ts.map +1 -1
  224. package/dist/router/types.js +4 -4
  225. package/dist/router/types.js.map +1 -1
  226. package/dist/rpc/evm/EvmEventLogsReader.d.ts +19 -27
  227. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -1
  228. package/dist/rpc/evm/EvmEventLogsReader.js +23 -0
  229. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -1
  230. package/dist/rpc/evm/EvmEventLogsReader.test.js +53 -1
  231. package/dist/rpc/evm/EvmEventLogsReader.test.js.map +1 -1
  232. package/dist/signers/turnkeyClient.d.ts +1 -15
  233. package/dist/signers/turnkeyClient.d.ts.map +1 -1
  234. package/dist/test/testUtils.d.ts +1 -1
  235. package/dist/test/testUtils.d.ts.map +1 -1
  236. package/dist/test/testUtils.js +17 -0
  237. package/dist/test/testUtils.js.map +1 -1
  238. package/dist/test/testUtils.test.d.ts +2 -0
  239. package/dist/test/testUtils.test.d.ts.map +1 -0
  240. package/dist/test/testUtils.test.js +28 -0
  241. package/dist/test/testUtils.test.js.map +1 -0
  242. package/dist/timelock/types.d.ts +8 -32
  243. package/dist/timelock/types.d.ts.map +1 -1
  244. package/dist/token/EvmWarpModule.d.ts +44 -8
  245. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  246. package/dist/token/EvmWarpModule.hardhat-test.js +574 -4
  247. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  248. package/dist/token/EvmWarpModule.js +237 -25
  249. package/dist/token/EvmWarpModule.js.map +1 -1
  250. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  251. package/dist/token/EvmWarpRouteReader.js +36 -19
  252. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  253. package/dist/token/EvmWarpRouteReader.test.js +219 -2
  254. package/dist/token/EvmWarpRouteReader.test.js.map +1 -1
  255. package/dist/token/EvmXERC20Reader.d.ts +9 -21
  256. package/dist/token/EvmXERC20Reader.d.ts.map +1 -1
  257. package/dist/token/EvmXERC20Reader.js +24 -48
  258. package/dist/token/EvmXERC20Reader.js.map +1 -1
  259. package/dist/token/EvmXERC20Reader.test.js +97 -0
  260. package/dist/token/EvmXERC20Reader.test.js.map +1 -1
  261. package/dist/token/ITokenMetadata.d.ts +12 -130
  262. package/dist/token/ITokenMetadata.d.ts.map +1 -1
  263. package/dist/token/ITokenMetadata.js +2 -2
  264. package/dist/token/ITokenMetadata.js.map +1 -1
  265. package/dist/token/TokenConnection.d.ts +3 -35
  266. package/dist/token/TokenConnection.d.ts.map +1 -1
  267. package/dist/token/configUtils.d.ts +17 -7
  268. package/dist/token/configUtils.d.ts.map +1 -1
  269. package/dist/token/configUtils.js +124 -0
  270. package/dist/token/configUtils.js.map +1 -1
  271. package/dist/token/configUtils.test.js +212 -11
  272. package/dist/token/configUtils.test.js.map +1 -1
  273. package/dist/token/deploy.d.ts +3 -1
  274. package/dist/token/deploy.d.ts.map +1 -1
  275. package/dist/token/deploy.hardhat-test.js +617 -6
  276. package/dist/token/deploy.hardhat-test.js.map +1 -1
  277. package/dist/token/deploy.js +25 -6
  278. package/dist/token/deploy.js.map +1 -1
  279. package/dist/token/types.d.ts +4373 -25929
  280. package/dist/token/types.d.ts.map +1 -1
  281. package/dist/token/types.js +10 -12
  282. package/dist/token/types.js.map +1 -1
  283. package/dist/token/types.test.js +48 -0
  284. package/dist/token/types.test.js.map +1 -1
  285. package/dist/token/warpCheck.d.ts.map +1 -1
  286. package/dist/token/warpCheck.js +36 -1
  287. package/dist/token/warpCheck.js.map +1 -1
  288. package/dist/token/xerc20-abi.d.ts +31 -0
  289. package/dist/token/xerc20-abi.d.ts.map +1 -1
  290. package/dist/token/xerc20-abi.js +40 -0
  291. package/dist/token/xerc20-abi.js.map +1 -1
  292. package/dist/token/xerc20-limits.d.ts +63 -0
  293. package/dist/token/xerc20-limits.d.ts.map +1 -0
  294. package/dist/token/xerc20-limits.js +80 -0
  295. package/dist/token/xerc20-limits.js.map +1 -0
  296. package/dist/token/xerc20.d.ts +30 -1
  297. package/dist/token/xerc20.d.ts.map +1 -1
  298. package/dist/token/xerc20.js +137 -54
  299. package/dist/token/xerc20.js.map +1 -1
  300. package/dist/token/xerc20.test.js +461 -169
  301. package/dist/token/xerc20.test.js.map +1 -1
  302. package/dist/types.d.ts +6 -36
  303. package/dist/types.d.ts.map +1 -1
  304. package/dist/types.js +1 -1
  305. package/dist/types.js.map +1 -1
  306. package/dist/utils/cosmos.d.ts +113 -844
  307. package/dist/utils/cosmos.d.ts.map +1 -1
  308. package/dist/utils/cosmos.js +50 -91
  309. package/dist/utils/cosmos.js.map +1 -1
  310. package/dist/utils/ism.d.ts +167 -1
  311. package/dist/utils/ism.d.ts.map +1 -1
  312. package/dist/utils/ism.js +412 -2
  313. package/dist/utils/ism.js.map +1 -1
  314. package/dist/utils/ism.test.d.ts +2 -0
  315. package/dist/utils/ism.test.d.ts.map +1 -0
  316. package/dist/utils/ism.test.js +372 -0
  317. package/dist/utils/ism.test.js.map +1 -0
  318. package/dist/utils/schemas.d.ts +3 -3
  319. package/dist/utils/schemas.d.ts.map +1 -1
  320. package/dist/utils/schemas.js +2 -1
  321. package/dist/utils/schemas.js.map +1 -1
  322. package/dist/warp/types.d.ts +25 -367
  323. package/dist/warp/types.d.ts.map +1 -1
  324. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookReader.test.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,iBAAiB,EAEjB,oBAAoB,EAEpB,0BAA0B,EAE1B,0BAA0B,EAE1B,+BAA+B,EAE/B,uBAAuB,EAEvB,oBAAoB,EAEpB,yBAAyB,EAEzB,qBAAqB,EAErB,oBAAoB,EAEpB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEL,QAAQ,EACR,UAAU,EAGV,2BAA2B,EAC3B,eAAe,GAIhB,MAAM,YAAY,CAAC;AAEpB,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,MAAM,+BAA+B,GAAG,gCAAgC,CAAC;AAEzE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,aAA4B,CAAC;IACjC,IAAI,aAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAChC,aAAa,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;QACxD,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,qBAAqB,GAAG,CAAC,OAAuB,EAAE,EAAE;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YACzD,eAAe,EAAE,cAAc;SACD,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;YAC9D,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC1C,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC;aACxC,OAAO,CAAC,YAAyC,CAAC,CAAC;QACtD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAsC;YACxD,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,WAAW;SAC3B,CAAC;QAEF,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;QAExC,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;YAC/D,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;SACtD,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;aACrC,OAAO,CAAC,YAAsC,CAAC,CAAC;QACnD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAuC;YACzD,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,eAAe;SAC7B,CAAC;QAEF,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE/C,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC3D,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC5C,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC;aACtC,OAAO,CAAC,YAAuC,CAAC,CAAC;QACpD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAoC;YACtD,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,QAAQ;SACxB,CAAC;QAEF,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QAEpC,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC;YACvE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;aACrC,OAAO,CAAC,YAAsC,CAAC,CAAC;QACnD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,cAAc,GAA0C;YAC5D,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,eAAe;SAC/B,CAAC;QAEF,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,MAAM,GACV,MAAM,aAAa,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QAEpC,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;YAC9D,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC3D,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;aACrC,OAAO,CAAC,YAAsC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YACjD,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;SACzC,CAAC,CAAC;QAC1B,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAmC;YACrD,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,aAAa,CAAC,KAAK;SACtC,CAAC;QAEF,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;YAC9D,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC7D,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;SAClC,CAAC;QAEF,OAAO;aACJ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;aAClC,OAAO,CAAC,YAAmC,CAAC,CAAC;QAChD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAErE,MAAM,cAAc,GAAgC;YAClD,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,gBAAgB,EAAE,aAAa,CAAC,KAAK;SACtC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,YAAY,EAAE,CAAC;QAEtC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YACjD,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;SACjC,CAAC,CAAC;QAE1B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,YAAY,EAAE,CAAC;QAEtC,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC/C,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACrD,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;SAChB,CAAC,CAAC;QAExC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAEzE,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC/C,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACrD,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;SACvB,CAAC,CAAC;QAExC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QAEpC,2EAA2E;QAC3E,wEAAwE;QACxE,6DAA6D;QAC7D,qBAAqB,CACnB,YAAY,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CACzD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,YAAY,EAAE,OAAO;iBAClB,IAAI,EAAE;iBACN,OAAO,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpC,CAAC,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,KAAK;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,wBAAwB;YACvC,WAAW;YACX,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,qBAAqB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/D,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,YAAY,EAAE,OAAO;iBAClB,IAAI,EAAE;iBACN,OAAO,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,0BAA0B,EAAE,OAAO;iBAChC,IAAI,EAAE;iBACN,OAAO,CACN,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAC/D;SACiC,CAAC,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,KAAK;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ,CAAC,wBAAwB;YACvC,WAAW;YACX,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,YAAY,EAAE,CAAC;QAEtC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC;YAC1D,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;YAC1D,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC/C,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;SACd,CAAC,CAAC;QAEnC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,0EAA0E;QAC1E,MAAM,YAAY,GAAG;YACnB,UAAU;YACV,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC1C,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC;aACxC,OAAO,CAAC,YAAyC,CAAC,CAAC;QACtD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,YAA4C,CAAC,CAAC;QAEzD,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAC7B,oCAAoC,WAAW,IAAI,CACpD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QAEjC,qBAAqB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrD,YAAY,EAAE,OAAO;iBAClB,IAAI,EAAE;iBACN,OAAO,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,0BAA0B,EAAE,OAAO;iBAChC,IAAI,EAAE;iBACN,SAAS,CAAC,CAAC,QAAgB,EAAE,EAAE,CAC9B,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAC/D,CACF;YACH,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtE,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAC7C,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aACtC,CAAC;YACF,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC;QAEF,4EAA4E;QAC5E,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/D,0CAA0C;QAC1C,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,QAAgB,EAAE,EAAE,CAChE,OAAO,CAAC,MAAM,CACZ,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAC/D,CACF,CAAC;QAEF,OAAO;aACJ,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC;aAChD,OAAO,CAAC,OAA4C,CAAC,CAAC;QACzD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,OAAuC,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;gBACrC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aAC7C,CAAC;SACH,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;aAC1C,OAAO,CAAC,UAAyC,CAAC,CAAC;QAEtD,6DAA6D;QAC7D,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QAEzD,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE;YACxE,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,qBAAqB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,OAAO;iBACd,IAAI,EAAE;iBACN,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC;YACrD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrD,YAAY,EAAE,OAAO;iBAClB,IAAI,EAAE;iBACN,OAAO,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,0BAA0B,EAAE,OAAO;iBAChC,IAAI,EAAE;iBACN,OAAO,CACN,IAAI,KAAK,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAC/D;YACH,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtE,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAC7C,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aACtC,CAAC;YACF,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,gCAAgC;SAC9F,CAAC;QAEF,OAAO;aACJ,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC;aAChD,OAAO,CAAC,OAA4C,CAAC,CAAC;QACzD,OAAO;aACJ,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC;aAC3C,OAAO,CAAC,OAAuC,CAAC,CAAC;QAEpD,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;gBACrC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aAC7C,CAAC;SACH,CAAC;QACF,OAAO;aACJ,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;aAC1C,OAAO,CAAC,UAAyC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5E,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7C,CAAC,QAAQ,CAAC,EAAE;gBACV,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACZ,iBAAiB,EAAE,aAAa;oBAChC,QAAQ,EAAE,WAAW;oBACrB,aAAa,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ;iBAC3C;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH;;;;;;;MAOE;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"EvmHookReader.test.js","sourceRoot":"","sources":["../../src/hook/EvmHookReader.test.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,18 @@ export declare class HyperlaneHookDeployer extends HyperlaneDeployer<HookConfig,
23
23
  } & {
24
24
  quotedCalls?: import("@hyperlane-xyz/core").QuotedCalls__factory;
25
25
  }>>): Promise<HyperlaneContracts<HookFactories>>;
26
+ private recoveredOwner;
27
+ private addRecoveredConfig;
28
+ private validateRecoveredHook;
29
+ private validateRecoveredPausableHook;
30
+ private validateRecoveredAggregationHook;
31
+ private validateRecoveredRoutingHook;
32
+ private reconcileRecoveredHook;
33
+ private reconcileRecoveredPausableHook;
34
+ private assertRecoveredAggregationChildren;
35
+ private reconcileRecoveredAggregationHook;
36
+ private readRecoveredRoutingHook;
37
+ private reconcileRecoveredRoutingHook;
26
38
  deployCCIPHook(chain: ChainName, config: CCIPHookConfig): Promise<CCIPHook>;
27
39
  deployProtocolFee(chain: ChainName, config: ProtocolFeeHookConfig): Promise<ProtocolFee>;
28
40
  deployIgp(chain: ChainName, config: IgpHookConfig, coreAddresses?: Partial<import("../contracts/types.js").HyperlaneAddresses<{
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneHookDeployer.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EAER,iBAAiB,EAGjB,WAAW,EAEX,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAgB,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,UAAU,EAEV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IAGG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAGxC,QAAQ,CAAC,WAAW;IANtB,YACE,aAAa,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EACtC,UAAU,EAAE,mBAAmB,EACxC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,gBAAgB,UAAQ,EACf,WAAW,uBAInB,EAOF;IAED,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAG7D;IAEK,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa;;;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAkD5C;IAEK,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,QAAQ,CAAC,CAcnB;IAEK,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAQtB;IAEK,SAAS,CACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,EACrB,aAAa;;;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAiB3C;IAEK,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,EAC7B,aAAa;;;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAgD5C;IAEK,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,EACzB,aAAa;;;;;;OAAmB,GAC/B,OAAO,CAAC,WAAW,CAAC,CAiEtB;IAEK,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,uBAAuB,GAAG,yBAAyB,EAC3D,aAAa;;;;;;OAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA8H5B;IAED,UAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAoC5B;CACF"}
1
+ {"version":3,"file":"HyperlaneHookDeployer.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HyperlaneHookDeployer.hardhat-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HyperlaneHookDeployer.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.hardhat-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,322 @@
1
+ import chai, { expect } from 'chai';
2
+ import chaiAsPromised from 'chai-as-promised';
3
+ import hre from 'hardhat';
4
+ import { DomainRoutingHook__factory, FallbackDomainRoutingHook__factory, PausableHook__factory, StaticAggregationHook__factory, } from '@hyperlane-xyz/core';
5
+ import { eqAddress } from '@hyperlane-xyz/utils';
6
+ import { TestChainName } from '../consts/testChains.js';
7
+ import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
8
+ import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
9
+ import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
10
+ import { MultiProvider } from '../providers/MultiProvider.js';
11
+ import { HyperlaneHookDeployer } from './HyperlaneHookDeployer.js';
12
+ import { HookType, } from './types.js';
13
+ chai.use(chaiAsPromised);
14
+ describe('HyperlaneHookDeployer recovered hooks', () => {
15
+ const chain = TestChainName.test1;
16
+ const remote = TestChainName.test2;
17
+ const newRemote = TestChainName.test3;
18
+ async function deployFixture(pausablePaused = false, transferPausableOwnership = false) {
19
+ const [signer, newOwner, overrideOwner] = await hre.ethers.getSigners();
20
+ const multiProvider = MultiProvider.createTestMultiProvider({ signer });
21
+ const proxyFactoryContracts = await new HyperlaneProxyFactoryDeployer(multiProvider).deploy(multiProvider.mapKnownChains(() => ({})));
22
+ const ismFactory = new HyperlaneIsmFactory(proxyFactoryContracts, multiProvider);
23
+ const coreApp = await new TestCoreDeployer(multiProvider, ismFactory).deployApp();
24
+ const core = coreApp.getContracts(chain);
25
+ const coreAddresses = {
26
+ mailbox: core.mailbox.address,
27
+ proxyAdmin: core.proxyAdmin.address,
28
+ };
29
+ const hookDeployer = new HyperlaneHookDeployer(multiProvider, { [chain]: coreAddresses }, ismFactory);
30
+ const owner = await signer.getAddress();
31
+ const pausableOwner = transferPausableOwnership
32
+ ? await newOwner.getAddress()
33
+ : owner;
34
+ const initialConfig = {
35
+ type: HookType.FALLBACK_ROUTING,
36
+ owner,
37
+ fallback: { type: HookType.MERKLE_TREE },
38
+ domains: {
39
+ [remote]: {
40
+ type: HookType.AGGREGATION,
41
+ hooks: [
42
+ {
43
+ type: HookType.PAUSABLE,
44
+ owner: pausableOwner,
45
+ paused: pausablePaused,
46
+ },
47
+ { type: HookType.MERKLE_TREE },
48
+ ],
49
+ },
50
+ },
51
+ };
52
+ const deployed = await hookDeployer.deployContracts(chain, initialConfig, coreAddresses);
53
+ const fallbackRoutingHook = FallbackDomainRoutingHook__factory.connect(deployed.fallbackRoutingHook.address, signer);
54
+ const aggregationAddress = await fallbackRoutingHook.hooks(multiProvider.getDomainId(remote));
55
+ const pausableAddress = hookDeployer.deployedContracts[chain].pausableHook.address;
56
+ const merkleTreeAddress = hookDeployer.deployedContracts[chain].merkleTreeHook.address;
57
+ const aggregation = StaticAggregationHook__factory.connect(aggregationAddress, signer);
58
+ const childrenBefore = await aggregation.hooks(hre.ethers.constants.AddressZero);
59
+ return {
60
+ signer,
61
+ newOwner,
62
+ overrideOwner,
63
+ multiProvider,
64
+ coreApp,
65
+ coreAddresses,
66
+ hookDeployer,
67
+ owner,
68
+ pausableOwner,
69
+ fallbackRoutingHook,
70
+ aggregationAddress,
71
+ pausableAddress,
72
+ merkleTreeAddress,
73
+ aggregation,
74
+ childrenBefore,
75
+ };
76
+ }
77
+ it('applies pausable hook state before transferring ownership', async () => {
78
+ const { signer, pausableAddress, pausableOwner } = await deployFixture(true, true);
79
+ const pausable = PausableHook__factory.connect(pausableAddress, signer);
80
+ expect(await pausable.paused()).to.be.true;
81
+ expect(eqAddress(await pausable.owner(), pausableOwner)).to.be.true;
82
+ });
83
+ it('reconciles a nested recovered pausable hook without replacing the tree', async () => {
84
+ const { signer, newOwner, overrideOwner, multiProvider, coreAddresses, hookDeployer, owner, fallbackRoutingHook, aggregationAddress, pausableAddress, merkleTreeAddress, aggregation, childrenBefore, } = await deployFixture();
85
+ const recoveredPausable = {
86
+ type: HookType.PAUSABLE,
87
+ address: pausableAddress,
88
+ owner: await newOwner.getAddress(),
89
+ ownerOverrides: {
90
+ [HookType.PAUSABLE]: await overrideOwner.getAddress(),
91
+ },
92
+ paused: false,
93
+ };
94
+ const recoveredAggregation = {
95
+ type: HookType.AGGREGATION,
96
+ address: aggregationAddress,
97
+ hooks: [recoveredPausable, merkleTreeAddress],
98
+ };
99
+ const mismatchedAggregation = {
100
+ ...recoveredAggregation,
101
+ hooks: [recoveredPausable, owner],
102
+ };
103
+ const mismatchedConfig = {
104
+ type: HookType.FALLBACK_ROUTING,
105
+ address: fallbackRoutingHook.address,
106
+ owner,
107
+ fallback: merkleTreeAddress,
108
+ domains: { [remote]: mismatchedAggregation },
109
+ };
110
+ const nonceBeforeMismatch = await signer.getTransactionCount();
111
+ await expect(hookDeployer.deployContracts(chain, mismatchedConfig, coreAddresses)).to.be.rejectedWith('does not contain the configured children');
112
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeMismatch);
113
+ const unchangedPausable = PausableHook__factory.connect(pausableAddress, signer);
114
+ expect(await unchangedPausable.paused()).to.be.false;
115
+ expect(eqAddress(await unchangedPausable.owner(), owner)).to.be.true;
116
+ const pauseMismatch = {
117
+ type: HookType.FALLBACK_ROUTING,
118
+ address: fallbackRoutingHook.address,
119
+ owner,
120
+ fallback: merkleTreeAddress,
121
+ domains: {
122
+ [remote]: {
123
+ ...recoveredAggregation,
124
+ hooks: [{ ...recoveredPausable, paused: true }, merkleTreeAddress],
125
+ },
126
+ },
127
+ };
128
+ await expect(hookDeployer.deployContracts(chain, pauseMismatch, coreAddresses)).to.be.rejectedWith('but config expects paused');
129
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeMismatch);
130
+ const invalidLaterChild = {
131
+ type: HookType.FALLBACK_ROUTING,
132
+ address: fallbackRoutingHook.address,
133
+ owner,
134
+ fallback: merkleTreeAddress,
135
+ domains: {
136
+ [remote]: recoveredAggregation,
137
+ [newRemote]: {
138
+ type: HookType.AGGREGATION,
139
+ address: merkleTreeAddress,
140
+ hooks: [],
141
+ },
142
+ },
143
+ };
144
+ await expect(hookDeployer.deployContracts(chain, invalidLaterChild, coreAddresses)).to.be.rejectedWith('has type');
145
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeMismatch);
146
+ expect(eqAddress(await unchangedPausable.owner(), owner)).to.be.true;
147
+ const conflictingAggregation = {
148
+ ...recoveredAggregation,
149
+ hooks: [
150
+ { ...recoveredPausable, owner: await overrideOwner.getAddress() },
151
+ merkleTreeAddress,
152
+ ],
153
+ };
154
+ const conflictingAliases = {
155
+ type: HookType.FALLBACK_ROUTING,
156
+ address: fallbackRoutingHook.address,
157
+ owner,
158
+ fallback: merkleTreeAddress,
159
+ domains: {
160
+ [remote]: recoveredAggregation,
161
+ [newRemote]: conflictingAggregation,
162
+ },
163
+ };
164
+ await expect(hookDeployer.deployContracts(chain, conflictingAliases, coreAddresses)).to.be.rejectedWith('has conflicting configs');
165
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeMismatch);
166
+ const recoveredConfig = {
167
+ type: HookType.FALLBACK_ROUTING,
168
+ address: fallbackRoutingHook.address,
169
+ owner,
170
+ fallback: merkleTreeAddress,
171
+ domains: {
172
+ [remote]: recoveredAggregation,
173
+ [newRemote]: recoveredAggregation,
174
+ },
175
+ };
176
+ const nonceBefore = await signer.getTransactionCount();
177
+ const recovered = await hookDeployer.deployContracts(chain, recoveredConfig, coreAddresses);
178
+ const nonceAfter = await signer.getTransactionCount();
179
+ expect(recovered.fallbackRoutingHook.address).to.equal(fallbackRoutingHook.address);
180
+ // transferOwnership on the recovered pausable, then one setHooks call to
181
+ // enroll newRemote with the existing aggregation.
182
+ expect(nonceAfter - nonceBefore).to.equal(2);
183
+ expect(eqAddress(await fallbackRoutingHook.hooks(multiProvider.getDomainId(remote)), aggregationAddress)).to.be.true;
184
+ expect(eqAddress(await fallbackRoutingHook.hooks(multiProvider.getDomainId(newRemote)), aggregationAddress)).to.be.true;
185
+ const childrenAfter = await aggregation.hooks(hre.ethers.constants.AddressZero);
186
+ expect(childrenAfter).to.deep.equal(childrenBefore);
187
+ const pausable = PausableHook__factory.connect(pausableAddress, signer);
188
+ expect(await pausable.paused()).to.be.false;
189
+ expect(eqAddress(await pausable.owner(), await overrideOwner.getAddress()))
190
+ .to.be.true;
191
+ });
192
+ it('rejects recovery when the signer does not own a mutable hook', async () => {
193
+ const { signer, newOwner, overrideOwner, multiProvider, coreAddresses, hookDeployer, owner, fallbackRoutingHook, aggregationAddress, pausableAddress, merkleTreeAddress, } = await deployFixture();
194
+ multiProvider.setSharedSigner(overrideOwner);
195
+ const pausable = PausableHook__factory.connect(pausableAddress, signer);
196
+ const pausableOwnerBefore = await pausable.owner();
197
+ const pausablePausedBefore = await pausable.paused();
198
+ const nonceBeforePausable = await overrideOwner.getTransactionCount();
199
+ const recoveredPausable = {
200
+ type: HookType.PAUSABLE,
201
+ address: pausableAddress,
202
+ owner: await newOwner.getAddress(),
203
+ paused: false,
204
+ };
205
+ await expect(hookDeployer.deployContracts(chain, recoveredPausable, coreAddresses)).to.be.rejectedWith('is not owner');
206
+ expect(await overrideOwner.getTransactionCount()).to.equal(nonceBeforePausable);
207
+ expect(await pausable.owner()).to.equal(pausableOwnerBefore);
208
+ expect(await pausable.paused()).to.equal(pausablePausedBefore);
209
+ const routingOwnerBefore = await fallbackRoutingHook.owner();
210
+ const remoteHookBefore = await fallbackRoutingHook.hooks(multiProvider.getDomainId(remote));
211
+ const nonceBeforeRouting = await overrideOwner.getTransactionCount();
212
+ const recoveredRouting = {
213
+ type: HookType.FALLBACK_ROUTING,
214
+ address: fallbackRoutingHook.address,
215
+ owner: await newOwner.getAddress(),
216
+ fallback: merkleTreeAddress,
217
+ domains: { [remote]: aggregationAddress },
218
+ };
219
+ await expect(hookDeployer.deployContracts(chain, recoveredRouting, coreAddresses)).to.be.rejectedWith('is not owner');
220
+ expect(await overrideOwner.getTransactionCount()).to.equal(nonceBeforeRouting);
221
+ expect(await fallbackRoutingHook.owner()).to.equal(routingOwnerBefore);
222
+ expect(await fallbackRoutingHook.hooks(multiProvider.getDomainId(remote))).to.equal(remoteHookBefore);
223
+ expect(eqAddress(routingOwnerBefore, owner)).to.be.true;
224
+ });
225
+ it('validates recovered hook mailboxes, including nested hooks', async () => {
226
+ const { signer, newOwner, multiProvider, coreApp, coreAddresses, hookDeployer, owner, fallbackRoutingHook, aggregationAddress, merkleTreeAddress, } = await deployFixture();
227
+ const wrongCoreAddresses = {
228
+ ...coreAddresses,
229
+ mailbox: await newOwner.getAddress(),
230
+ };
231
+ const nonceBefore = await signer.getTransactionCount();
232
+ const recoveredMerkleTree = {
233
+ type: HookType.MERKLE_TREE,
234
+ address: merkleTreeAddress,
235
+ };
236
+ await expect(hookDeployer.deployContracts(chain, recoveredMerkleTree, wrongCoreAddresses)).to.be.rejectedWith('has mailbox');
237
+ const recoveredFallback = {
238
+ type: HookType.FALLBACK_ROUTING,
239
+ address: fallbackRoutingHook.address,
240
+ owner,
241
+ fallback: merkleTreeAddress,
242
+ domains: { [remote]: aggregationAddress },
243
+ };
244
+ await expect(hookDeployer.deployContracts(chain, recoveredFallback, wrongCoreAddresses)).to.be.rejectedWith('has mailbox');
245
+ expect(await signer.getTransactionCount()).to.equal(nonceBefore);
246
+ const foreignCore = coreApp.getContracts(remote);
247
+ const foreignMerkleTreeAddress = await foreignCore.mailbox.defaultHook();
248
+ const foreignAggregation = await hookDeployer.deployContracts(chain, {
249
+ type: HookType.AGGREGATION,
250
+ hooks: [foreignMerkleTreeAddress],
251
+ }, coreAddresses);
252
+ const mixedFallback = await hookDeployer.deployContracts(chain, {
253
+ type: HookType.FALLBACK_ROUTING,
254
+ owner,
255
+ fallback: merkleTreeAddress,
256
+ domains: {
257
+ [remote]: foreignAggregation.aggregationHook.address,
258
+ },
259
+ }, coreAddresses);
260
+ const recoveredMixedFallback = {
261
+ type: HookType.FALLBACK_ROUTING,
262
+ address: mixedFallback.fallbackRoutingHook.address,
263
+ owner,
264
+ fallback: merkleTreeAddress,
265
+ domains: {
266
+ [remote]: {
267
+ type: HookType.AGGREGATION,
268
+ address: foreignAggregation.aggregationHook.address,
269
+ hooks: [
270
+ {
271
+ type: HookType.MERKLE_TREE,
272
+ address: foreignMerkleTreeAddress,
273
+ },
274
+ ],
275
+ },
276
+ },
277
+ };
278
+ const mixedFallbackHook = FallbackDomainRoutingHook__factory.connect(mixedFallback.fallbackRoutingHook.address, signer);
279
+ const mixedFallbackOwnerBefore = await mixedFallbackHook.owner();
280
+ const mixedFallbackRouteBefore = await mixedFallbackHook.hooks(multiProvider.getDomainId(remote));
281
+ const nonceBeforeNestedRecovery = await signer.getTransactionCount();
282
+ await expect(hookDeployer.deployContracts(chain, recoveredMixedFallback, coreAddresses)).to.be.rejectedWith('has mailbox');
283
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeNestedRecovery);
284
+ expect(await mixedFallbackHook.owner()).to.equal(mixedFallbackOwnerBefore);
285
+ expect(await mixedFallbackHook.hooks(multiProvider.getDomainId(remote))).to.equal(mixedFallbackRouteBefore);
286
+ });
287
+ it('reconciles a recovered routing hook without redeployment', async () => {
288
+ const { signer, newOwner, multiProvider, coreAddresses, hookDeployer, owner, merkleTreeAddress, } = await deployFixture();
289
+ const initialConfig = {
290
+ type: HookType.ROUTING,
291
+ owner,
292
+ domains: { [remote]: merkleTreeAddress },
293
+ };
294
+ const deployed = await hookDeployer.deployContracts(chain, initialConfig, coreAddresses);
295
+ const routingHook = DomainRoutingHook__factory.connect(deployed.domainRoutingHook.address, signer);
296
+ const recoveredConfig = {
297
+ ...initialConfig,
298
+ address: routingHook.address,
299
+ owner: await newOwner.getAddress(),
300
+ domains: {
301
+ [remote]: merkleTreeAddress,
302
+ [newRemote]: merkleTreeAddress,
303
+ },
304
+ };
305
+ const nonceBeforeMailboxMismatch = await signer.getTransactionCount();
306
+ await expect(hookDeployer.deployContracts(chain, recoveredConfig, {
307
+ ...coreAddresses,
308
+ mailbox: await newOwner.getAddress(),
309
+ })).to.be.rejectedWith('has mailbox');
310
+ expect(await signer.getTransactionCount()).to.equal(nonceBeforeMailboxMismatch);
311
+ expect(await routingHook.owner()).to.equal(owner);
312
+ expect(await routingHook.hooks(multiProvider.getDomainId(newRemote))).to.equal(hre.ethers.constants.AddressZero);
313
+ const nonceBefore = await signer.getTransactionCount();
314
+ const recovered = await hookDeployer.deployContracts(chain, recoveredConfig, coreAddresses);
315
+ expect((await signer.getTransactionCount()) - nonceBefore).to.equal(2);
316
+ expect(recovered.domainRoutingHook.address).to.equal(routingHook.address);
317
+ expect(await routingHook.hooks(multiProvider.getDomainId(remote))).to.equal(merkleTreeAddress);
318
+ expect(await routingHook.hooks(multiProvider.getDomainId(newRemote))).to.equal(merkleTreeAddress);
319
+ expect(await routingHook.owner()).to.equal(await newOwner.getAddress());
320
+ });
321
+ });
322
+ //# sourceMappingURL=HyperlaneHookDeployer.hardhat-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HyperlaneHookDeployer.hardhat-test.js","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.hardhat-test.ts"],"names":[],"mappings":"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"}