@hyperlane-xyz/sdk 3.20.0-beta0 → 4.0.0-alpha

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 (450) hide show
  1. package/README.md +0 -15
  2. package/dist/aws/s3.d.ts +22 -0
  3. package/dist/aws/s3.d.ts.map +1 -0
  4. package/dist/aws/s3.js +61 -0
  5. package/dist/aws/s3.js.map +1 -0
  6. package/dist/aws/validator.d.ts +17 -0
  7. package/dist/aws/validator.d.ts.map +1 -0
  8. package/dist/aws/validator.js +76 -0
  9. package/dist/aws/validator.js.map +1 -0
  10. package/dist/consts/{crud.d.ts → concurrency.d.ts} +1 -1
  11. package/dist/consts/concurrency.d.ts.map +1 -0
  12. package/dist/consts/{crud.js → concurrency.js} +1 -1
  13. package/dist/consts/concurrency.js.map +1 -0
  14. package/dist/consts/multisigIsm.d.ts.map +1 -1
  15. package/dist/consts/multisigIsm.js +15 -0
  16. package/dist/consts/multisigIsm.js.map +1 -1
  17. package/dist/consts/testChains.d.ts +3 -1
  18. package/dist/consts/testChains.d.ts.map +1 -1
  19. package/dist/consts/testChains.js +14 -0
  20. package/dist/consts/testChains.js.map +1 -1
  21. package/dist/contracts/contracts.d.ts +1 -0
  22. package/dist/contracts/contracts.d.ts.map +1 -1
  23. package/dist/contracts/contracts.js +4 -0
  24. package/dist/contracts/contracts.js.map +1 -1
  25. package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
  26. package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
  27. package/dist/{crud/AbstractCrudModule.js → core/AbstractHyperlaneModule.js} +2 -2
  28. package/dist/core/AbstractHyperlaneModule.js.map +1 -0
  29. package/dist/core/CoreDeployer.hardhat-test.js +8 -11
  30. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  31. package/dist/core/EvmCoreModule.d.ts +71 -0
  32. package/dist/core/EvmCoreModule.d.ts.map +1 -0
  33. package/dist/core/EvmCoreModule.hardhat-test.d.ts +2 -0
  34. package/dist/core/EvmCoreModule.hardhat-test.d.ts.map +1 -0
  35. package/dist/core/EvmCoreModule.hardhat-test.js +101 -0
  36. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
  37. package/dist/core/EvmCoreModule.js +147 -0
  38. package/dist/core/EvmCoreModule.js.map +1 -0
  39. package/dist/core/{read.d.ts → EvmCoreReader.d.ts} +3 -3
  40. package/dist/core/EvmCoreReader.d.ts.map +1 -0
  41. package/dist/core/{read.js → EvmCoreReader.js} +4 -4
  42. package/dist/core/EvmCoreReader.js.map +1 -0
  43. package/dist/core/EvmIcaModule.d.ts +30 -0
  44. package/dist/core/EvmIcaModule.d.ts.map +1 -0
  45. package/dist/core/EvmIcaModule.hardhat-test.d.ts +2 -0
  46. package/dist/core/EvmIcaModule.hardhat-test.d.ts.map +1 -0
  47. package/dist/core/EvmIcaModule.hardhat-test.js +35 -0
  48. package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
  49. package/dist/core/EvmIcaModule.js +36 -0
  50. package/dist/core/EvmIcaModule.js.map +1 -0
  51. package/dist/core/HyperlaneCore.d.ts +8 -3
  52. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  53. package/dist/core/HyperlaneCore.js +24 -15
  54. package/dist/core/HyperlaneCore.js.map +1 -1
  55. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
  56. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  57. package/dist/core/HyperlaneCoreDeployer.js +12 -8
  58. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  59. package/dist/core/schemas.d.ts +2222 -0
  60. package/dist/core/schemas.d.ts.map +1 -0
  61. package/dist/core/schemas.js +9 -0
  62. package/dist/core/schemas.js.map +1 -0
  63. package/dist/core/types.d.ts +4 -7
  64. package/dist/core/types.d.ts.map +1 -1
  65. package/dist/core/types.js.map +1 -1
  66. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
  67. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  68. package/dist/deploy/HyperlaneAppChecker.js +2 -5
  69. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  70. package/dist/deploy/HyperlaneDeployer.d.ts +8 -6
  71. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  72. package/dist/deploy/HyperlaneDeployer.js +35 -32
  73. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  74. package/dist/deploy/schemas.d.ts +2 -62
  75. package/dist/deploy/schemas.d.ts.map +1 -1
  76. package/dist/deploy/schemas.js +1 -2
  77. package/dist/deploy/schemas.js.map +1 -1
  78. package/dist/deploy/types.d.ts +2 -13
  79. package/dist/deploy/types.d.ts.map +1 -1
  80. package/dist/deploy/types.js +0 -16
  81. package/dist/deploy/types.js.map +1 -1
  82. package/dist/deploy/verify/ContractVerifier.js +2 -2
  83. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  84. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  85. package/dist/gas/HyperlaneIgpChecker.js +12 -2
  86. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  87. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  88. package/dist/gas/HyperlaneIgpDeployer.js +20 -8
  89. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  90. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +5 -4
  91. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  92. package/dist/gas/oracle/types.d.ts +20 -7
  93. package/dist/gas/oracle/types.d.ts.map +1 -1
  94. package/dist/gas/oracle/types.js +10 -4
  95. package/dist/gas/oracle/types.js.map +1 -1
  96. package/dist/gas/types.d.ts +4 -10
  97. package/dist/gas/types.d.ts.map +1 -1
  98. package/dist/gas/types.js.map +1 -1
  99. package/dist/hook/EvmHookModule.d.ts +24 -0
  100. package/dist/hook/EvmHookModule.d.ts.map +1 -0
  101. package/dist/{crud → hook}/EvmHookModule.js +9 -10
  102. package/dist/hook/EvmHookModule.js.map +1 -0
  103. package/dist/hook/{read.d.ts → EvmHookReader.d.ts} +3 -2
  104. package/dist/hook/EvmHookReader.d.ts.map +1 -0
  105. package/dist/hook/{read.js → EvmHookReader.js} +10 -5
  106. package/dist/hook/EvmHookReader.js.map +1 -0
  107. package/dist/hook/EvmHookReader.test.d.ts +2 -0
  108. package/dist/hook/EvmHookReader.test.d.ts.map +1 -0
  109. package/dist/hook/{read.test.js → EvmHookReader.test.js} +6 -2
  110. package/dist/hook/EvmHookReader.test.js.map +1 -0
  111. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  112. package/dist/hook/HyperlaneHookDeployer.js +29 -6
  113. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  114. package/dist/hook/schemas.d.ts +210 -0
  115. package/dist/hook/schemas.d.ts.map +1 -0
  116. package/dist/hook/schemas.js +54 -0
  117. package/dist/hook/schemas.js.map +1 -0
  118. package/dist/hook/types.d.ts +9 -28
  119. package/dist/hook/types.d.ts.map +1 -1
  120. package/dist/hook/types.js.map +1 -1
  121. package/dist/index.d.ts +52 -20
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +39 -16
  124. package/dist/index.js.map +1 -1
  125. package/dist/ism/EvmIsmModule.d.ts +74 -0
  126. package/dist/ism/EvmIsmModule.d.ts.map +1 -0
  127. package/dist/ism/EvmIsmModule.hardhat-test.d.ts +2 -0
  128. package/dist/ism/EvmIsmModule.hardhat-test.d.ts.map +1 -0
  129. package/dist/ism/EvmIsmModule.hardhat-test.js +308 -0
  130. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
  131. package/dist/ism/EvmIsmModule.js +359 -0
  132. package/dist/ism/EvmIsmModule.js.map +1 -0
  133. package/dist/ism/{read.d.ts → EvmIsmReader.d.ts} +5 -7
  134. package/dist/ism/EvmIsmReader.d.ts.map +1 -0
  135. package/dist/ism/{read.js → EvmIsmReader.js} +9 -4
  136. package/dist/ism/EvmIsmReader.js.map +1 -0
  137. package/dist/ism/EvmIsmReader.test.d.ts +2 -0
  138. package/dist/ism/EvmIsmReader.test.d.ts.map +1 -0
  139. package/dist/ism/{read.test.js → EvmIsmReader.test.js} +2 -2
  140. package/dist/ism/EvmIsmReader.test.js.map +1 -0
  141. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  142. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +3 -1
  143. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -1
  144. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +22 -16
  145. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  146. package/dist/ism/HyperlaneIsmFactory.js +3 -8
  147. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  148. package/dist/ism/metadata/aggregation.d.ts +22 -0
  149. package/dist/ism/metadata/aggregation.d.ts.map +1 -0
  150. package/dist/ism/metadata/aggregation.js +82 -0
  151. package/dist/ism/metadata/aggregation.js.map +1 -0
  152. package/dist/ism/metadata/aggregation.test.d.ts +2 -0
  153. package/dist/ism/metadata/aggregation.test.d.ts.map +1 -0
  154. package/dist/ism/metadata/aggregation.test.js +37 -0
  155. package/dist/ism/metadata/aggregation.test.js.map +1 -0
  156. package/dist/ism/metadata/builder.d.ts +32 -0
  157. package/dist/ism/metadata/builder.d.ts.map +1 -0
  158. package/dist/ism/metadata/builder.hardhat-test.d.ts +2 -0
  159. package/dist/ism/metadata/builder.hardhat-test.d.ts.map +1 -0
  160. package/dist/ism/metadata/builder.hardhat-test.js +120 -0
  161. package/dist/ism/metadata/builder.hardhat-test.js.map +1 -0
  162. package/dist/ism/metadata/builder.js +74 -0
  163. package/dist/ism/metadata/builder.js.map +1 -0
  164. package/dist/ism/metadata/multisig.d.ts +57 -0
  165. package/dist/ism/metadata/multisig.d.ts.map +1 -0
  166. package/dist/ism/metadata/multisig.js +188 -0
  167. package/dist/ism/metadata/multisig.js.map +1 -0
  168. package/dist/ism/metadata/multisig.test.d.ts +2 -0
  169. package/dist/ism/metadata/multisig.test.d.ts.map +1 -0
  170. package/dist/ism/metadata/multisig.test.js +55 -0
  171. package/dist/ism/metadata/multisig.test.js.map +1 -0
  172. package/dist/ism/metadata/null.d.ts +15 -0
  173. package/dist/ism/metadata/null.d.ts.map +1 -0
  174. package/dist/ism/metadata/null.js +20 -0
  175. package/dist/ism/metadata/null.js.map +1 -0
  176. package/dist/ism/metadata/routing.d.ts +16 -0
  177. package/dist/ism/metadata/routing.d.ts.map +1 -0
  178. package/dist/ism/metadata/routing.js +34 -0
  179. package/dist/ism/metadata/routing.js.map +1 -0
  180. package/dist/ism/metadata/types.test.d.ts +5 -0
  181. package/dist/ism/metadata/types.test.d.ts.map +1 -0
  182. package/dist/ism/metadata/types.test.js +2 -0
  183. package/dist/ism/metadata/types.test.js.map +1 -0
  184. package/dist/ism/schemas.d.ts +68 -104
  185. package/dist/ism/schemas.d.ts.map +1 -1
  186. package/dist/ism/schemas.js +14 -17
  187. package/dist/ism/schemas.js.map +1 -1
  188. package/dist/ism/schemas.test.js +1 -1
  189. package/dist/ism/schemas.test.js.map +1 -1
  190. package/dist/ism/types.d.ts +10 -20
  191. package/dist/ism/types.d.ts.map +1 -1
  192. package/dist/ism/types.js +6 -0
  193. package/dist/ism/types.js.map +1 -1
  194. package/dist/ism/utils.d.ts +4 -0
  195. package/dist/ism/utils.d.ts.map +1 -1
  196. package/dist/ism/utils.js +33 -5
  197. package/dist/ism/utils.js.map +1 -1
  198. package/dist/metadata/agentConfig.d.ts +87 -87
  199. package/dist/metadata/agentConfig.js +1 -1
  200. package/dist/metadata/agentConfig.js.map +1 -1
  201. package/dist/metadata/deploymentArtifacts.d.ts +4 -4
  202. package/dist/middleware/account/InterchainAccount.d.ts +6 -5
  203. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  204. package/dist/middleware/account/InterchainAccount.js +15 -6
  205. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  206. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  207. package/dist/middleware/account/InterchainAccountDeployer.js +5 -1
  208. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  209. package/dist/middleware/account/accounts.hardhat-test.js +8 -3
  210. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  211. package/dist/middleware/account/schemas.d.ts +69 -0
  212. package/dist/middleware/account/schemas.d.ts.map +1 -1
  213. package/dist/middleware/account/schemas.js +10 -2
  214. package/dist/middleware/account/schemas.js.map +1 -1
  215. package/dist/middleware/account/types.d.ts +4 -9
  216. package/dist/middleware/account/types.d.ts.map +1 -1
  217. package/dist/providers/MultiProvider.d.ts +2 -1
  218. package/dist/providers/MultiProvider.d.ts.map +1 -1
  219. package/dist/providers/MultiProvider.js +7 -3
  220. package/dist/providers/MultiProvider.js.map +1 -1
  221. package/dist/providers/ProviderType.d.ts +3 -0
  222. package/dist/providers/ProviderType.d.ts.map +1 -1
  223. package/dist/providers/ProviderType.js +0 -1
  224. package/dist/providers/ProviderType.js.map +1 -1
  225. package/dist/providers/transactions/schemas.d.ts +29 -0
  226. package/dist/providers/transactions/schemas.d.ts.map +1 -0
  227. package/dist/providers/transactions/schemas.js +14 -0
  228. package/dist/providers/transactions/schemas.js.map +1 -0
  229. package/dist/providers/transactions/schemas.test.d.ts +2 -0
  230. package/dist/providers/transactions/schemas.test.d.ts.map +1 -0
  231. package/dist/providers/transactions/schemas.test.js +58 -0
  232. package/dist/providers/transactions/schemas.test.js.map +1 -0
  233. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +19 -0
  234. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -0
  235. package/dist/providers/transactions/submitter/TxSubmitterInterface.js +2 -0
  236. package/dist/providers/transactions/submitter/TxSubmitterInterface.js.map +1 -0
  237. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +6 -0
  238. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
  239. package/dist/providers/transactions/submitter/TxSubmitterTypes.js +7 -0
  240. package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
  241. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +48 -0
  242. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
  243. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +65 -0
  244. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
  245. package/dist/providers/transactions/submitter/builder/schemas.d.ts +206 -0
  246. package/dist/providers/transactions/submitter/builder/schemas.d.ts.map +1 -0
  247. package/dist/providers/transactions/submitter/builder/schemas.js +10 -0
  248. package/dist/providers/transactions/submitter/builder/schemas.js.map +1 -0
  249. package/dist/providers/transactions/submitter/builder/types.d.ts +4 -0
  250. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
  251. package/dist/providers/transactions/submitter/builder/types.js +2 -0
  252. package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
  253. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +15 -0
  254. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
  255. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +44 -0
  256. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -0
  257. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +15 -0
  258. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -0
  259. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +23 -0
  260. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
  261. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -0
  262. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
  263. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +24 -0
  264. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -0
  265. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts +10 -0
  266. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts.map +1 -0
  267. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js +2 -0
  268. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js.map +1 -0
  269. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts +19 -0
  270. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts.map +1 -0
  271. package/dist/providers/transactions/submitter/ethersV5/schemas.js +10 -0
  272. package/dist/providers/transactions/submitter/ethersV5/schemas.js.map +1 -0
  273. package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts +2 -0
  274. package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts.map +1 -0
  275. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js +41 -0
  276. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js.map +1 -0
  277. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +5 -0
  278. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
  279. package/dist/providers/transactions/submitter/ethersV5/types.js +2 -0
  280. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
  281. package/dist/providers/transactions/submitter/schemas.d.ts +56 -0
  282. package/dist/providers/transactions/submitter/schemas.d.ts.map +1 -0
  283. package/dist/providers/transactions/submitter/schemas.js +18 -0
  284. package/dist/providers/transactions/submitter/schemas.js.map +1 -0
  285. package/dist/providers/transactions/submitter/types.d.ts +4 -0
  286. package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
  287. package/dist/providers/transactions/submitter/types.js +2 -0
  288. package/dist/providers/transactions/submitter/types.js.map +1 -0
  289. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts +15 -0
  290. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts.map +1 -0
  291. package/dist/providers/transactions/transformer/TxTransformerInterface.js +2 -0
  292. package/dist/providers/transactions/transformer/TxTransformerInterface.js.map +1 -0
  293. package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts +4 -0
  294. package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts.map +1 -0
  295. package/dist/providers/transactions/transformer/TxTransformerTypes.js +5 -0
  296. package/dist/providers/transactions/transformer/TxTransformerTypes.js.map +1 -0
  297. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +16 -0
  298. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +1 -0
  299. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +37 -0
  300. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +1 -0
  301. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts +5 -0
  302. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts.map +1 -0
  303. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js +2 -0
  304. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js.map +1 -0
  305. package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts +58 -0
  306. package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts.map +1 -0
  307. package/dist/providers/transactions/transformer/ethersV5/schemas.js +7 -0
  308. package/dist/providers/transactions/transformer/ethersV5/schemas.js.map +1 -0
  309. package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts +2 -0
  310. package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts.map +1 -0
  311. package/dist/providers/transactions/transformer/ethersV5/schemas.test.js +44 -0
  312. package/dist/providers/transactions/transformer/ethersV5/schemas.test.js.map +1 -0
  313. package/dist/providers/transactions/transformer/ethersV5/types.d.ts +4 -0
  314. package/dist/providers/transactions/transformer/ethersV5/types.d.ts.map +1 -0
  315. package/dist/providers/transactions/transformer/ethersV5/types.js +2 -0
  316. package/dist/providers/transactions/transformer/ethersV5/types.js.map +1 -0
  317. package/dist/providers/transactions/transformer/schemas.d.ts +89 -0
  318. package/dist/providers/transactions/transformer/schemas.d.ts.map +1 -0
  319. package/dist/providers/transactions/transformer/schemas.js +10 -0
  320. package/dist/providers/transactions/transformer/schemas.js.map +1 -0
  321. package/dist/providers/transactions/transformer/types.d.ts +4 -0
  322. package/dist/providers/transactions/transformer/types.d.ts.map +1 -0
  323. package/dist/providers/transactions/transformer/types.js +2 -0
  324. package/dist/providers/transactions/transformer/types.js.map +1 -0
  325. package/dist/providers/transactions/types.d.ts +6 -0
  326. package/dist/providers/transactions/types.d.ts.map +1 -0
  327. package/dist/providers/transactions/types.js +2 -0
  328. package/dist/providers/transactions/types.js.map +1 -0
  329. package/dist/router/GasRouterDeployer.d.ts +3 -3
  330. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  331. package/dist/router/GasRouterDeployer.js +2 -1
  332. package/dist/router/GasRouterDeployer.js.map +1 -1
  333. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  334. package/dist/router/HyperlaneRouterChecker.js +36 -53
  335. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  336. package/dist/router/ProxiedRouterDeployer.d.ts +7 -4
  337. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  338. package/dist/router/ProxiedRouterDeployer.js +8 -2
  339. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  340. package/dist/router/schemas.d.ts +828 -41
  341. package/dist/router/schemas.d.ts.map +1 -1
  342. package/dist/router/schemas.js +11 -9
  343. package/dist/router/schemas.js.map +1 -1
  344. package/dist/router/types.d.ts +6 -10
  345. package/dist/router/types.d.ts.map +1 -1
  346. package/dist/router/types.js.map +1 -1
  347. package/dist/schemas.d.ts +25 -0
  348. package/dist/schemas.d.ts.map +1 -0
  349. package/dist/schemas.js +10 -0
  350. package/dist/schemas.js.map +1 -0
  351. package/dist/test/multiProviderStubs.d.ts +9 -0
  352. package/dist/test/multiProviderStubs.d.ts.map +1 -0
  353. package/dist/test/multiProviderStubs.js +27 -0
  354. package/dist/test/multiProviderStubs.js.map +1 -0
  355. package/dist/test/testUtils.d.ts +0 -8
  356. package/dist/test/testUtils.d.ts.map +1 -1
  357. package/dist/test/testUtils.js +3 -28
  358. package/dist/test/testUtils.js.map +1 -1
  359. package/dist/token/{read.d.ts → EvmERC20WarpRouteReader.d.ts} +10 -10
  360. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -0
  361. package/dist/token/{read.js → EvmERC20WarpRouteReader.js} +38 -30
  362. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -0
  363. package/dist/token/Token.test.js +1 -10
  364. package/dist/token/Token.test.js.map +1 -1
  365. package/dist/token/TokenStandard.d.ts +0 -1
  366. package/dist/token/TokenStandard.d.ts.map +1 -1
  367. package/dist/token/TokenStandard.js +4 -3
  368. package/dist/token/TokenStandard.js.map +1 -1
  369. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +2 -2
  370. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  371. package/dist/token/adapters/CosmosTokenAdapter.d.ts +2 -2
  372. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  373. package/dist/token/adapters/EvmTokenAdapter.d.ts +4 -4
  374. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  375. package/dist/token/adapters/EvmTokenAdapter.js +3 -2
  376. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  377. package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
  378. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  379. package/dist/token/adapters/SealevelTokenAdapter.d.ts +5 -5
  380. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  381. package/dist/token/adapters/SealevelTokenAdapter.js +2 -1
  382. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  383. package/dist/token/app.d.ts.map +1 -1
  384. package/dist/token/app.js +2 -2
  385. package/dist/token/app.js.map +1 -1
  386. package/dist/token/checker.d.ts +2 -2
  387. package/dist/token/checker.d.ts.map +1 -1
  388. package/dist/token/checker.js +1 -1
  389. package/dist/token/checker.js.map +1 -1
  390. package/dist/token/config.d.ts +4 -44
  391. package/dist/token/config.d.ts.map +1 -1
  392. package/dist/token/config.js +14 -15
  393. package/dist/token/config.js.map +1 -1
  394. package/dist/token/contracts.d.ts +7 -14
  395. package/dist/token/contracts.d.ts.map +1 -1
  396. package/dist/token/contracts.js +8 -8
  397. package/dist/token/contracts.js.map +1 -1
  398. package/dist/token/deploy.d.ts +21 -45
  399. package/dist/token/deploy.d.ts.map +1 -1
  400. package/dist/token/deploy.hardhat-test.js +33 -48
  401. package/dist/token/deploy.hardhat-test.js.map +1 -1
  402. package/dist/token/deploy.js +74 -251
  403. package/dist/token/deploy.js.map +1 -1
  404. package/dist/token/schemas.d.ts +874 -136
  405. package/dist/token/schemas.d.ts.map +1 -1
  406. package/dist/token/schemas.js +29 -19
  407. package/dist/token/schemas.js.map +1 -1
  408. package/dist/token/schemas.test.js +26 -39
  409. package/dist/token/schemas.test.js.map +1 -1
  410. package/dist/token/types.d.ts +2 -1
  411. package/dist/token/types.d.ts.map +1 -1
  412. package/dist/utils/fork.d.ts.map +1 -1
  413. package/dist/utils/fork.js +10 -11
  414. package/dist/utils/fork.js.map +1 -1
  415. package/dist/utils/gnosisSafe.js +46 -0
  416. package/dist/utils/logUtils.d.ts +4 -0
  417. package/dist/utils/logUtils.d.ts.map +1 -0
  418. package/dist/utils/logUtils.js +13 -0
  419. package/dist/utils/logUtils.js.map +1 -0
  420. package/dist/utils/schemas.d.ts +3 -0
  421. package/dist/utils/schemas.d.ts.map +1 -0
  422. package/dist/utils/schemas.js +4 -0
  423. package/dist/utils/schemas.js.map +1 -0
  424. package/package.json +8 -4
  425. package/dist/consts/crud.d.ts.map +0 -1
  426. package/dist/consts/crud.js.map +0 -1
  427. package/dist/core/read.d.ts.map +0 -1
  428. package/dist/core/read.js.map +0 -1
  429. package/dist/crud/AbstractCrudModule.d.ts +0 -21
  430. package/dist/crud/AbstractCrudModule.d.ts.map +0 -1
  431. package/dist/crud/AbstractCrudModule.js.map +0 -1
  432. package/dist/crud/EvmHookModule.d.ts +0 -18
  433. package/dist/crud/EvmHookModule.d.ts.map +0 -1
  434. package/dist/crud/EvmHookModule.js.map +0 -1
  435. package/dist/crud/EvmIsmModule.d.ts +0 -18
  436. package/dist/crud/EvmIsmModule.d.ts.map +0 -1
  437. package/dist/crud/EvmIsmModule.js +0 -28
  438. package/dist/crud/EvmIsmModule.js.map +0 -1
  439. package/dist/hook/read.d.ts.map +0 -1
  440. package/dist/hook/read.js.map +0 -1
  441. package/dist/hook/read.test.d.ts +0 -2
  442. package/dist/hook/read.test.d.ts.map +0 -1
  443. package/dist/hook/read.test.js.map +0 -1
  444. package/dist/ism/read.d.ts.map +0 -1
  445. package/dist/ism/read.js.map +0 -1
  446. package/dist/ism/read.test.d.ts +0 -2
  447. package/dist/ism/read.test.d.ts.map +0 -1
  448. package/dist/ism/read.test.js.map +0 -1
  449. package/dist/token/read.d.ts.map +0 -1
  450. package/dist/token/read.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { AggregationIsmConfig, IsmConfig, IsmType } from './types.js';
2
+ import { AggregationIsmConfig, IsmType, RoutingIsmConfig } from './types.js';
3
3
  export declare const TestIsmConfigSchema: z.ZodObject<{
4
4
  type: z.ZodLiteral<IsmType.TEST_ISM>;
5
5
  }, "strip", z.ZodTypeAny, {
@@ -41,62 +41,23 @@ export declare const OpStackIsmConfigSchema: z.ZodObject<{
41
41
  nativeBridge: string;
42
42
  }>;
43
43
  export declare const PausableIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
44
- owner: z.ZodUnion<[z.ZodString, z.ZodObject<{
45
- origin: z.ZodString;
46
- owner: z.ZodString;
47
- localRouter: z.ZodOptional<z.ZodString>;
48
- routerOverride: z.ZodOptional<z.ZodString>;
49
- ismOverride: z.ZodOptional<z.ZodString>;
50
- }, "strip", z.ZodTypeAny, {
51
- owner: string;
52
- origin: string;
53
- localRouter?: string | undefined;
54
- routerOverride?: string | undefined;
55
- ismOverride?: string | undefined;
56
- }, {
57
- owner: string;
58
- origin: string;
59
- localRouter?: string | undefined;
60
- routerOverride?: string | undefined;
61
- ismOverride?: string | undefined;
62
- }>]>;
44
+ owner: z.ZodString;
45
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
46
+ paused: z.ZodBoolean;
63
47
  }, "strip", z.ZodTypeAny, {
64
- owner: (string | {
65
- owner: string;
66
- origin: string;
67
- localRouter?: string | undefined;
68
- routerOverride?: string | undefined;
69
- ismOverride?: string | undefined;
70
- }) & (string | {
71
- owner: string;
72
- origin: string;
73
- localRouter?: string | undefined;
74
- routerOverride?: string | undefined;
75
- ismOverride?: string | undefined;
76
- } | undefined);
48
+ owner: string;
49
+ paused: boolean;
50
+ ownerOverrides?: Record<string, string> | undefined;
77
51
  }, {
78
- owner: (string | {
79
- owner: string;
80
- origin: string;
81
- localRouter?: string | undefined;
82
- routerOverride?: string | undefined;
83
- ismOverride?: string | undefined;
84
- }) & (string | {
85
- owner: string;
86
- origin: string;
87
- localRouter?: string | undefined;
88
- routerOverride?: string | undefined;
89
- ismOverride?: string | undefined;
90
- } | undefined);
52
+ owner: string;
53
+ paused: boolean;
54
+ ownerOverrides?: Record<string, string> | undefined;
91
55
  }>, z.ZodObject<{
92
56
  type: z.ZodLiteral<IsmType.PAUSABLE>;
93
- paused: z.ZodOptional<z.ZodBoolean>;
94
57
  }, "strip", z.ZodTypeAny, {
95
58
  type: IsmType.PAUSABLE;
96
- paused?: boolean | undefined;
97
59
  }, {
98
60
  type: IsmType.PAUSABLE;
99
- paused?: boolean | undefined;
100
61
  }>>;
101
62
  export declare const MultisigIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
102
63
  validators: z.ZodArray<z.ZodString, "many">;
@@ -114,64 +75,67 @@ export declare const MultisigIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
114
75
  }, {
115
76
  type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
116
77
  }>>;
117
- export declare const RoutingIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
118
- owner: z.ZodUnion<[z.ZodString, z.ZodObject<{
119
- origin: z.ZodString;
120
- owner: z.ZodString;
121
- localRouter: z.ZodOptional<z.ZodString>;
122
- routerOverride: z.ZodOptional<z.ZodString>;
123
- ismOverride: z.ZodOptional<z.ZodString>;
124
- }, "strip", z.ZodTypeAny, {
125
- owner: string;
126
- origin: string;
127
- localRouter?: string | undefined;
128
- routerOverride?: string | undefined;
129
- ismOverride?: string | undefined;
130
- }, {
131
- owner: string;
132
- origin: string;
133
- localRouter?: string | undefined;
134
- routerOverride?: string | undefined;
135
- ismOverride?: string | undefined;
136
- }>]>;
78
+ export declare const RoutingIsmConfigSchema: z.ZodSchema<RoutingIsmConfig>;
79
+ export declare const AggregationIsmConfigSchema: z.ZodSchema<AggregationIsmConfig>;
80
+ export declare const IsmConfigSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
81
+ type: z.ZodLiteral<IsmType.TEST_ISM>;
137
82
  }, "strip", z.ZodTypeAny, {
138
- owner: (string | {
139
- owner: string;
140
- origin: string;
141
- localRouter?: string | undefined;
142
- routerOverride?: string | undefined;
143
- ismOverride?: string | undefined;
144
- }) & (string | {
145
- owner: string;
146
- origin: string;
147
- localRouter?: string | undefined;
148
- routerOverride?: string | undefined;
149
- ismOverride?: string | undefined;
150
- } | undefined);
83
+ type: IsmType.TEST_ISM;
151
84
  }, {
152
- owner: (string | {
153
- owner: string;
154
- origin: string;
155
- localRouter?: string | undefined;
156
- routerOverride?: string | undefined;
157
- ismOverride?: string | undefined;
158
- }) & (string | {
159
- owner: string;
160
- origin: string;
161
- localRouter?: string | undefined;
162
- routerOverride?: string | undefined;
163
- ismOverride?: string | undefined;
164
- } | undefined);
85
+ type: IsmType.TEST_ISM;
165
86
  }>, z.ZodObject<{
166
- type: z.ZodUnion<[z.ZodLiteral<IsmType.ROUTING>, z.ZodLiteral<IsmType.FALLBACK_ROUTING>]>;
167
- domains: z.ZodRecord<z.ZodString, z.ZodNativeEnum<typeof IsmType>>;
87
+ type: z.ZodLiteral<IsmType.OP_STACK>;
88
+ origin: z.ZodString;
89
+ nativeBridge: z.ZodString;
168
90
  }, "strip", z.ZodTypeAny, {
169
- type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
170
- domains: Record<string, IsmType>;
91
+ type: IsmType.OP_STACK;
92
+ origin: string;
93
+ nativeBridge: string;
171
94
  }, {
172
- type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
173
- domains: Record<string, IsmType>;
174
- }>>;
175
- export declare const AggregationIsmConfigSchema: z.ZodSchema<AggregationIsmConfig>;
176
- export declare const IsmConfigSchema: z.ZodSchema<IsmConfig>;
95
+ type: IsmType.OP_STACK;
96
+ origin: string;
97
+ nativeBridge: string;
98
+ }>, z.ZodIntersection<z.ZodObject<{
99
+ owner: z.ZodString;
100
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
101
+ paused: z.ZodBoolean;
102
+ }, "strip", z.ZodTypeAny, {
103
+ owner: string;
104
+ paused: boolean;
105
+ ownerOverrides?: Record<string, string> | undefined;
106
+ }, {
107
+ owner: string;
108
+ paused: boolean;
109
+ ownerOverrides?: Record<string, string> | undefined;
110
+ }>, z.ZodObject<{
111
+ type: z.ZodLiteral<IsmType.PAUSABLE>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ type: IsmType.PAUSABLE;
114
+ }, {
115
+ type: IsmType.PAUSABLE;
116
+ }>>, z.ZodObject<{
117
+ type: z.ZodLiteral<IsmType.TRUSTED_RELAYER>;
118
+ relayer: z.ZodString;
119
+ }, "strip", z.ZodTypeAny, {
120
+ type: IsmType.TRUSTED_RELAYER;
121
+ relayer: string;
122
+ }, {
123
+ type: IsmType.TRUSTED_RELAYER;
124
+ relayer: string;
125
+ }>, z.ZodIntersection<z.ZodObject<{
126
+ validators: z.ZodArray<z.ZodString, "many">;
127
+ threshold: z.ZodNumber;
128
+ }, "strip", z.ZodTypeAny, {
129
+ validators: string[];
130
+ threshold: number;
131
+ }, {
132
+ validators: string[];
133
+ threshold: number;
134
+ }>, z.ZodObject<{
135
+ type: z.ZodUnion<[z.ZodLiteral<IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<IsmType.MESSAGE_ID_MULTISIG>]>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
138
+ }, {
139
+ type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
140
+ }>>, z.ZodType<RoutingIsmConfig, z.ZodTypeDef, RoutingIsmConfig>, z.ZodType<AggregationIsmConfig, z.ZodTypeDef, AggregationIsmConfig>]>;
177
141
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKnC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;GAOnC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAatE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAWlD,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;GAInC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;GAOnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAShE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAUrE,CAAC;AAEL,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uIAS1B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { OwnableConfigSchema } from '../deploy/schemas.js';
3
- import { ZHash } from '../index.js';
2
+ import { ZHash } from '../metadata/customZodTypes.js';
3
+ import { OwnableSchema, PausableSchema } from '../schemas.js';
4
4
  import { IsmType } from './types.js';
5
5
  export const TestIsmConfigSchema = z.object({
6
6
  type: z.literal(IsmType.TEST_ISM),
@@ -18,9 +18,8 @@ export const OpStackIsmConfigSchema = z.object({
18
18
  origin: z.string(),
19
19
  nativeBridge: z.string(),
20
20
  });
21
- export const PausableIsmConfigSchema = OwnableConfigSchema.and(z.object({
21
+ export const PausableIsmConfigSchema = PausableSchema.and(z.object({
22
22
  type: z.literal(IsmType.PAUSABLE),
23
- paused: z.boolean().optional(),
24
23
  }));
25
24
  export const MultisigIsmConfigSchema = MultisigConfigSchema.and(z.object({
26
25
  type: z.union([
@@ -28,26 +27,24 @@ export const MultisigIsmConfigSchema = MultisigConfigSchema.and(z.object({
28
27
  z.literal(IsmType.MESSAGE_ID_MULTISIG),
29
28
  ]),
30
29
  }));
31
- export const RoutingIsmConfigSchema = OwnableConfigSchema.and(z.object({
30
+ export const RoutingIsmConfigSchema = z.lazy(() => OwnableSchema.extend({
32
31
  type: z.union([
33
32
  z.literal(IsmType.ROUTING),
34
33
  z.literal(IsmType.FALLBACK_ROUTING),
35
34
  ]),
36
- domains: z.record(z.string(), z.nativeEnum(IsmType)),
35
+ domains: z.record(IsmConfigSchema),
37
36
  }));
38
- export const AggregationIsmConfigSchema = z.lazy(() => z
39
- .object({
37
+ export const AggregationIsmConfigSchema = z
38
+ .lazy(() => z.object({
40
39
  type: z.literal(IsmType.AGGREGATION),
41
40
  modules: z.array(IsmConfigSchema),
42
41
  threshold: z.number(),
43
- })
44
- .refine((data) => {
45
- if (data.threshold > data.modules.length)
46
- return false;
47
- return true;
48
- }));
49
- export const IsmConfigSchema = z.lazy(() => z.union([
50
- z.string(),
42
+ }))
43
+ .refine((data) => data.threshold <= data.modules.length, {
44
+ message: 'Threshold must be less than or equal to the number of modules',
45
+ });
46
+ export const IsmConfigSchema = z.union([
47
+ ZHash,
51
48
  TestIsmConfigSchema,
52
49
  OpStackIsmConfigSchema,
53
50
  PausableIsmConfigSchema,
@@ -55,5 +52,5 @@ export const IsmConfigSchema = z.lazy(() => z.union([
55
52
  MultisigIsmConfigSchema,
56
53
  RoutingIsmConfigSchema,
57
54
  AggregationIsmConfigSchema,
58
- ]));
55
+ ]);
59
56
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'chai';
2
2
  import { ethers } from 'ethers';
3
- import { AggregationIsmConfigSchema } from '@hyperlane-xyz/sdk';
3
+ import { AggregationIsmConfigSchema } from './schemas.js';
4
4
  import { IsmType } from './types.js';
5
5
  const SOME_ADDRESS = ethers.Wallet.createRandom().address;
6
6
  describe('AggregationIsmConfigSchema refine', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../src/ism/schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;AAC1D,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAE5E,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../src/ism/schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;AAC1D,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAE5E,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
+ import { z } from 'zod';
1
2
  import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
2
3
  import type { Address, Domain, ValueOf } from '@hyperlane-xyz/utils';
3
4
  import { OwnableConfig } from '../deploy/types.js';
4
5
  import { ChainMap } from '../types.js';
6
+ import { IsmConfigSchema, MultisigIsmConfigSchema, OpStackIsmConfigSchema, PausableIsmConfigSchema, TestIsmConfigSchema, TrustedRelayerIsmConfigSchema } from './schemas.js';
5
7
  export declare enum ModuleType {
6
8
  UNUSED = 0,
7
9
  ROUTING = 1,
@@ -23,21 +25,18 @@ export declare enum IsmType {
23
25
  PAUSABLE = "pausableIsm",
24
26
  TRUSTED_RELAYER = "trustedRelayerIsm"
25
27
  }
28
+ export declare const MUTABLE_ISM_TYPE: IsmType[];
26
29
  export declare function ismTypeToModuleType(ismType: IsmType): ModuleType;
27
30
  export type MultisigConfig = {
28
31
  validators: Array<Address>;
29
32
  threshold: number;
30
33
  };
31
- export type MultisigIsmConfig = MultisigConfig & {
32
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
33
- };
34
- export type TestIsmConfig = {
35
- type: IsmType.TEST_ISM;
36
- };
37
- export type PausableIsmConfig = OwnableConfig & {
38
- type: IsmType.PAUSABLE;
39
- paused?: boolean;
40
- };
34
+ export type MultisigIsmConfig = z.infer<typeof MultisigIsmConfigSchema>;
35
+ export type TestIsmConfig = z.infer<typeof TestIsmConfigSchema>;
36
+ export type PausableIsmConfig = z.infer<typeof PausableIsmConfigSchema>;
37
+ export type OpStackIsmConfig = z.infer<typeof OpStackIsmConfigSchema>;
38
+ export type TrustedRelayerIsmConfig = z.infer<typeof TrustedRelayerIsmConfigSchema>;
39
+ export type NullIsmConfig = TestIsmConfig | PausableIsmConfig | OpStackIsmConfig | TrustedRelayerIsmConfig;
41
40
  export type RoutingIsmConfig = OwnableConfig & {
42
41
  type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
43
42
  domains: ChainMap<IsmConfig>;
@@ -47,16 +46,7 @@ export type AggregationIsmConfig = {
47
46
  modules: Array<IsmConfig>;
48
47
  threshold: number;
49
48
  };
50
- export type OpStackIsmConfig = {
51
- type: IsmType.OP_STACK;
52
- origin: Address;
53
- nativeBridge: Address;
54
- };
55
- export type TrustedRelayerIsmConfig = {
56
- type: IsmType.TRUSTED_RELAYER;
57
- relayer: Address;
58
- };
59
- export type IsmConfig = Address | RoutingIsmConfig | MultisigIsmConfig | AggregationIsmConfig | OpStackIsmConfig | TestIsmConfig | PausableIsmConfig | TrustedRelayerIsmConfig;
49
+ export type IsmConfig = z.infer<typeof IsmConfigSchema>;
60
50
  export type DeployedIsmType = {
61
51
  [IsmType.ROUTING]: IRoutingIsm;
62
52
  [IsmType.FALLBACK_ROUTING]: IRoutingIsm;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
package/dist/ism/types.js CHANGED
@@ -25,6 +25,12 @@ export var IsmType;
25
25
  IsmType["PAUSABLE"] = "pausableIsm";
26
26
  IsmType["TRUSTED_RELAYER"] = "trustedRelayerIsm";
27
27
  })(IsmType || (IsmType = {}));
28
+ // ISM types that can be updated in-place
29
+ export const MUTABLE_ISM_TYPE = [
30
+ IsmType.ROUTING,
31
+ IsmType.FALLBACK_ROUTING,
32
+ IsmType.PAUSABLE,
33
+ ];
28
34
  // mapping between the two enums
29
35
  export function ismTypeToModuleType(ismType) {
30
36
  switch (ismType) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAcA,gEAAgE;AAChE,wBAAwB;AACxB,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,yDAAW,CAAA;IACX,iEAAe,CAAA;IACf,2EAAoB,CAAA;IACpB,yEAAmB,CAAA;IACnB,2CAAI,CAAA;IACJ,qDAAS,CAAA;AACX,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAED,yDAAyD;AACzD,qCAAqC;AACrC,MAAM,CAAN,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,uCAA4B,CAAA;IAC5B,yDAA8C,CAAA;IAC9C,+CAAoC,CAAA;IACpC,yDAA8C,CAAA;IAC9C,uDAA4C,CAAA;IAC5C,+BAAoB,CAAA;IACpB,mCAAwB,CAAA;IACxB,gDAAqC,CAAA;AACvC,CAAC,EAVW,OAAO,KAAP,OAAO,QAUlB;AAED,gCAAgC;AAChC,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,KAAK,OAAO,CAAC,oBAAoB;YAC/B,OAAO,UAAU,CAAC,oBAAoB,CAAC;QACzC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,eAAe;YAC1B,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAyBA,gEAAgE;AAChE,wBAAwB;AACxB,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IACpB,+CAAM,CAAA;IACN,iDAAO,CAAA;IACP,yDAAW,CAAA;IACX,iEAAe,CAAA;IACf,2EAAoB,CAAA;IACpB,yEAAmB,CAAA;IACnB,2CAAI,CAAA;IACJ,qDAAS,CAAA;AACX,CAAC,EATW,UAAU,KAAV,UAAU,QASrB;AAED,yDAAyD;AACzD,qCAAqC;AACrC,MAAM,CAAN,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,uCAA4B,CAAA;IAC5B,yDAA8C,CAAA;IAC9C,+CAAoC,CAAA;IACpC,yDAA8C,CAAA;IAC9C,uDAA4C,CAAA;IAC5C,+BAAoB,CAAA;IACpB,mCAAwB,CAAA;IACxB,gDAAqC,CAAA;AACvC,CAAC,EAVW,OAAO,KAAP,OAAO,QAUlB;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ;CACjB,CAAC;AAEF,gCAAgC;AAChC,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,gBAAgB;YAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,UAAU,CAAC,WAAW,CAAC;QAChC,KAAK,OAAO,CAAC,oBAAoB;YAC/B,OAAO,UAAU,CAAC,oBAAoB,CAAC;QACzC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,QAAQ,CAAC;QACtB,KAAK,OAAO,CAAC,eAAe;YAC1B,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -4,6 +4,10 @@ import { ProxyFactoryFactories } from '../deploy/contracts.js';
4
4
  import { MultiProvider } from '../providers/MultiProvider.js';
5
5
  import { ChainName } from '../types.js';
6
6
  import { IsmConfig, RoutingIsmConfig, RoutingIsmDelta } from './types.js';
7
+ export declare function calculateDomainRoutingDelta(current: RoutingIsmConfig, target: RoutingIsmConfig): {
8
+ domainsToEnroll: ChainName[];
9
+ domainsToUnenroll: ChainName[];
10
+ };
7
11
  export declare function moduleCanCertainlyVerify(destModule: Address | IsmConfig, multiProvider: MultiProvider, origin: ChainName, destination: ChainName): Promise<boolean>;
8
12
  export declare function moduleMatchesConfig(chain: ChainName, moduleAddress: Address, config: IsmConfig, multiProvider: MultiProvider, contracts: HyperlaneContracts<ProxyFactoryFactories>, mailbox?: Address): Promise<boolean>;
9
13
  export declare function routingModuleDelta(destination: ChainName, moduleAddress: Address, config: RoutingIsmConfig, multiProvider: MultiProvider, contracts: HyperlaneContracts<ProxyFactoryFactories>, mailbox?: Address): Promise<RoutingIsmDelta>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,OAAO,EAMR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACL,SAAS,EAGT,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AASpB,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,OAAO,CAAC,CAiHlB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAmKlB;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CAuD1B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,GAChB,GAAG,CAAC,MAAM,CAAC,CAwCb"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,OAAO,EAOR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACL,SAAS,EAGT,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,gBAAgB,GACvB;IAAE,eAAe,EAAE,SAAS,EAAE,CAAC;IAAC,iBAAiB,EAAE,SAAS,EAAE,CAAA;CAAE,CA4BlE;AAYD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,OAAO,CAAC,CAiHlB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CA2JlB;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CAmD1B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,GAChB,GAAG,CAAC,MAAM,CAAC,CAwCb"}
package/dist/ism/utils.js CHANGED
@@ -1,9 +1,37 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { DomainRoutingIsm__factory, IAggregationIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, IRoutingIsm__factory, MailboxClient__factory, OPStackIsm__factory, PausableIsm__factory, StaticAggregationIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
3
- import { eqAddress, formatMessage, normalizeAddress, objMap, rootLogger, } from '@hyperlane-xyz/utils';
4
- import { resolveOrDeployAccountOwner } from '../deploy/types.js';
3
+ import { configDeepEquals, eqAddress, formatMessage, normalizeAddress, objMap, rootLogger, } from '@hyperlane-xyz/utils';
5
4
  import { IsmType, ModuleType, ismTypeToModuleType, } from './types.js';
6
5
  const logger = rootLogger.child({ module: 'IsmUtils' });
6
+ // Determines the domains to enroll and unenroll to update the current ISM config
7
+ // to match the target ISM config.
8
+ export function calculateDomainRoutingDelta(current, target) {
9
+ const domainsToEnroll = [];
10
+ for (const origin of Object.keys(target.domains)) {
11
+ if (!current.domains[origin]) {
12
+ domainsToEnroll.push(origin);
13
+ }
14
+ else {
15
+ const subModuleMatches = configDeepEquals(current.domains[origin], target.domains[origin]);
16
+ if (!subModuleMatches)
17
+ domainsToEnroll.push(origin);
18
+ }
19
+ }
20
+ const domainsToUnenroll = Object.keys(current.domains).reduce((acc, origin) => {
21
+ if (!Object.keys(target.domains).includes(origin)) {
22
+ acc.push(origin);
23
+ }
24
+ return acc;
25
+ }, []);
26
+ return {
27
+ domainsToEnroll,
28
+ domainsToUnenroll,
29
+ };
30
+ }
31
+ /*
32
+ * The following functions are considered legacy and are deprecated. DO NOT USE.
33
+ * -----------------------------------------------------------------------------
34
+ */
7
35
  // Note that this function may return false negatives, but should
8
36
  // not return false positives.
9
37
  // This can happen if, for example, the module has sender, recipient, or
@@ -120,7 +148,7 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
120
148
  const routingIsm = DomainRoutingIsm__factory.connect(moduleAddress, provider);
121
149
  // Check that the RoutingISM owner matches the config
122
150
  const owner = await routingIsm.owner();
123
- const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, chain, config.owner);
151
+ const expectedOwner = config.owner;
124
152
  matches &&= eqAddress(owner, expectedOwner);
125
153
  // check if the mailbox matches the config for fallback routing
126
154
  if (config.type === IsmType.FALLBACK_ROUTING) {
@@ -187,7 +215,7 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
187
215
  case IsmType.PAUSABLE: {
188
216
  const pausableIsm = PausableIsm__factory.connect(moduleAddress, provider);
189
217
  const owner = await pausableIsm.owner();
190
- const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, chain, config.owner);
218
+ const expectedOwner = config.owner;
191
219
  matches &&= eqAddress(owner, expectedOwner);
192
220
  if (config.paused) {
193
221
  const isPaused = await pausableIsm.paused();
@@ -213,7 +241,7 @@ export async function routingModuleDelta(destination, moduleAddress, config, mul
213
241
  domainsToEnroll: [],
214
242
  };
215
243
  // if owners don't match, we need to transfer ownership
216
- const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, destination, config.owner);
244
+ const expectedOwner = config.owner;
217
245
  if (!eqAddress(owner, normalizeAddress(expectedOwner)))
218
246
  delta.owner = expectedOwner;
219
247
  if (config.type === IsmType.FALLBACK_ROUTING) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}