@hyperlane-xyz/sdk 3.10.0 → 3.10.1-beta0

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 (586) hide show
  1. package/README.md +2 -0
  2. package/dist/app/HyperlaneApp.d.ts +4 -4
  3. package/dist/app/HyperlaneApp.d.ts.map +1 -1
  4. package/dist/app/HyperlaneApp.js +10 -11
  5. package/dist/app/HyperlaneApp.js.map +1 -1
  6. package/dist/app/MultiProtocolApp.d.ts +6 -6
  7. package/dist/app/MultiProtocolApp.d.ts.map +1 -1
  8. package/dist/app/MultiProtocolApp.js +25 -39
  9. package/dist/app/MultiProtocolApp.js.map +1 -1
  10. package/dist/app/MultiProtocolApp.test.js +15 -17
  11. package/dist/app/MultiProtocolApp.test.js.map +1 -1
  12. package/dist/consts/bytecode.d.ts +8 -8
  13. package/dist/consts/bytecode.d.ts.map +1 -1
  14. package/dist/consts/bytecode.js +2 -5
  15. package/dist/consts/bytecode.js.map +1 -1
  16. package/dist/consts/chainMetadata.d.ts +5 -2
  17. package/dist/consts/chainMetadata.d.ts.map +1 -1
  18. package/dist/consts/chainMetadata.js +295 -206
  19. package/dist/consts/chainMetadata.js.map +1 -1
  20. package/dist/consts/chains.d.ts +3 -0
  21. package/dist/consts/chains.d.ts.map +1 -1
  22. package/dist/consts/chains.js +19 -16
  23. package/dist/consts/chains.js.map +1 -1
  24. package/dist/consts/crud.d.ts +2 -0
  25. package/dist/consts/crud.d.ts.map +1 -0
  26. package/dist/consts/crud.js +2 -0
  27. package/dist/consts/crud.js.map +1 -0
  28. package/dist/consts/environments/index.d.ts +56 -50
  29. package/dist/consts/environments/index.d.ts.map +1 -1
  30. package/dist/consts/environments/index.js +5 -11
  31. package/dist/consts/environments/index.js.map +1 -1
  32. package/dist/consts/environments/mainnet.json +54 -45
  33. package/dist/consts/igp.js +1 -4
  34. package/dist/consts/igp.js.map +1 -1
  35. package/dist/consts/mailbox.js +1 -4
  36. package/dist/consts/mailbox.js.map +1 -1
  37. package/dist/consts/multisigIsm.d.ts +2 -2
  38. package/dist/consts/multisigIsm.d.ts.map +1 -1
  39. package/dist/consts/multisigIsm.js +59 -46
  40. package/dist/consts/multisigIsm.js.map +1 -1
  41. package/dist/consts/sealevel.js +1 -4
  42. package/dist/consts/sealevel.js.map +1 -1
  43. package/dist/contracts/contracts.d.ts +4 -4
  44. package/dist/contracts/contracts.d.ts.map +1 -1
  45. package/dist/contracts/contracts.js +32 -47
  46. package/dist/contracts/contracts.js.map +1 -1
  47. package/dist/contracts/types.d.ts +1 -1
  48. package/dist/contracts/types.d.ts.map +1 -1
  49. package/dist/contracts/types.js +1 -2
  50. package/dist/core/CoreDeployer.hardhat-test.js +83 -50
  51. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  52. package/dist/core/HyperlaneCore.d.ts +15 -9
  53. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  54. package/dist/core/HyperlaneCore.js +77 -35
  55. package/dist/core/HyperlaneCore.js.map +1 -1
  56. package/dist/core/HyperlaneCore.test.js +6 -8
  57. package/dist/core/HyperlaneCore.test.js.map +1 -1
  58. package/dist/core/HyperlaneCoreChecker.d.ts +6 -6
  59. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  60. package/dist/core/HyperlaneCoreChecker.js +25 -28
  61. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  62. package/dist/core/HyperlaneCoreDeployer.d.ts +12 -12
  63. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  64. package/dist/core/HyperlaneCoreDeployer.js +16 -17
  65. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  66. package/dist/core/MultiProtocolCore.d.ts +7 -7
  67. package/dist/core/MultiProtocolCore.d.ts.map +1 -1
  68. package/dist/core/MultiProtocolCore.js +18 -19
  69. package/dist/core/MultiProtocolCore.js.map +1 -1
  70. package/dist/core/MultiProtocolCore.test.js +30 -32
  71. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  72. package/dist/core/TestCoreApp.d.ts +3 -3
  73. package/dist/core/TestCoreApp.d.ts.map +1 -1
  74. package/dist/core/TestCoreApp.js +11 -14
  75. package/dist/core/TestCoreApp.js.map +1 -1
  76. package/dist/core/TestCoreDeployer.d.ts +5 -5
  77. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  78. package/dist/core/TestCoreDeployer.js +7 -11
  79. package/dist/core/TestCoreDeployer.js.map +1 -1
  80. package/dist/core/TestRecipientDeployer.d.ts +5 -5
  81. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  82. package/dist/core/TestRecipientDeployer.js +8 -12
  83. package/dist/core/TestRecipientDeployer.js.map +1 -1
  84. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +6 -6
  85. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
  86. package/dist/core/adapters/CosmWasmCoreAdapter.js +12 -13
  87. package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
  88. package/dist/core/adapters/CosmWasmCoreAdapter.test.js +11 -13
  89. package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
  90. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +4 -4
  91. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
  92. package/dist/core/adapters/CosmWasmIgpAdapter.js +5 -6
  93. package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
  94. package/dist/core/adapters/EvmCoreAdapter.d.ts +6 -6
  95. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
  96. package/dist/core/adapters/EvmCoreAdapter.js +12 -12
  97. package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
  98. package/dist/core/adapters/SealevelCoreAdapter.d.ts +5 -5
  99. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  100. package/dist/core/adapters/SealevelCoreAdapter.js +14 -15
  101. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  102. package/dist/core/adapters/SealevelCoreAdapter.test.js +5 -7
  103. package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
  104. package/dist/core/adapters/types.d.ts +3 -3
  105. package/dist/core/adapters/types.d.ts.map +1 -1
  106. package/dist/core/adapters/types.js +1 -2
  107. package/dist/core/contracts.d.ts +1 -1
  108. package/dist/core/contracts.d.ts.map +1 -1
  109. package/dist/core/contracts.js +5 -8
  110. package/dist/core/contracts.js.map +1 -1
  111. package/dist/core/events.d.ts +1 -1
  112. package/dist/core/events.d.ts.map +1 -1
  113. package/dist/core/events.js +1 -2
  114. package/dist/core/read.d.ts +28 -0
  115. package/dist/core/read.d.ts.map +1 -0
  116. package/dist/core/read.js +44 -0
  117. package/dist/core/read.js.map +1 -0
  118. package/dist/core/testHyperlaneDeploy.hardhat-test.js +29 -31
  119. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  120. package/dist/core/types.d.ts +6 -6
  121. package/dist/core/types.d.ts.map +1 -1
  122. package/dist/core/types.js +4 -7
  123. package/dist/core/types.js.map +1 -1
  124. package/dist/cw-types/Cw20Base.types.js +1 -2
  125. package/dist/cw-types/Cw20Base.types.js.map +1 -1
  126. package/dist/cw-types/HookAggregate.types.js +1 -2
  127. package/dist/cw-types/HookAggregate.types.js.map +1 -1
  128. package/dist/cw-types/HookMerkle.types.js +1 -2
  129. package/dist/cw-types/HookMerkle.types.js.map +1 -1
  130. package/dist/cw-types/HookPausable.types.js +1 -2
  131. package/dist/cw-types/HookPausable.types.js.map +1 -1
  132. package/dist/cw-types/HookRouting.types.js +1 -2
  133. package/dist/cw-types/HookRouting.types.js.map +1 -1
  134. package/dist/cw-types/HookRoutingCustom.types.js +1 -2
  135. package/dist/cw-types/HookRoutingCustom.types.js.map +1 -1
  136. package/dist/cw-types/HookRoutingFallback.types.js +1 -2
  137. package/dist/cw-types/HookRoutingFallback.types.js.map +1 -1
  138. package/dist/cw-types/Igp.types.js +1 -2
  139. package/dist/cw-types/Igp.types.js.map +1 -1
  140. package/dist/cw-types/IgpOracle.types.js +1 -2
  141. package/dist/cw-types/IgpOracle.types.js.map +1 -1
  142. package/dist/cw-types/IsmAggregate.types.js +1 -2
  143. package/dist/cw-types/IsmAggregate.types.js.map +1 -1
  144. package/dist/cw-types/IsmMultisig.types.js +1 -2
  145. package/dist/cw-types/IsmMultisig.types.js.map +1 -1
  146. package/dist/cw-types/IsmRouting.types.js +1 -2
  147. package/dist/cw-types/IsmRouting.types.js.map +1 -1
  148. package/dist/cw-types/Mailbox.types.js +1 -2
  149. package/dist/cw-types/Mailbox.types.js.map +1 -1
  150. package/dist/cw-types/ValidatorAnnounce.types.js +1 -2
  151. package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -1
  152. package/dist/cw-types/WarpCw20.types.js +1 -2
  153. package/dist/cw-types/WarpCw20.types.js.map +1 -1
  154. package/dist/cw-types/WarpNative.types.js +1 -2
  155. package/dist/cw-types/WarpNative.types.js.map +1 -1
  156. package/dist/deploy/HyperlaneAppChecker.d.ts +5 -5
  157. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  158. package/dist/deploy/HyperlaneAppChecker.js +36 -36
  159. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  160. package/dist/deploy/HyperlaneDeployer.d.ts +11 -11
  161. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  162. package/dist/deploy/HyperlaneDeployer.js +55 -56
  163. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  164. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +6 -6
  165. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  166. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +7 -11
  167. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  168. package/dist/deploy/contracts.js +8 -11
  169. package/dist/deploy/contracts.js.map +1 -1
  170. package/dist/deploy/proxy.js +9 -16
  171. package/dist/deploy/proxy.js.map +1 -1
  172. package/dist/deploy/schemas.d.ts +70 -0
  173. package/dist/deploy/schemas.d.ts.map +1 -0
  174. package/dist/deploy/schemas.js +7 -0
  175. package/dist/deploy/schemas.js.map +1 -0
  176. package/dist/deploy/types.d.ts +15 -6
  177. package/dist/deploy/types.d.ts.map +1 -1
  178. package/dist/deploy/types.js +7 -11
  179. package/dist/deploy/types.js.map +1 -1
  180. package/dist/deploy/verify/ContractVerifier.d.ts +3 -3
  181. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  182. package/dist/deploy/verify/ContractVerifier.js +35 -38
  183. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  184. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +5 -5
  185. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
  186. package/dist/deploy/verify/PostDeploymentContractVerifier.js +12 -14
  187. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
  188. package/dist/deploy/verify/types.js +7 -10
  189. package/dist/deploy/verify/types.js.map +1 -1
  190. package/dist/deploy/verify/utils.d.ts +1 -1
  191. package/dist/deploy/verify/utils.d.ts.map +1 -1
  192. package/dist/deploy/verify/utils.js +4 -11
  193. package/dist/deploy/verify/utils.js.map +1 -1
  194. package/dist/gas/HyperlaneIgp.d.ts +6 -6
  195. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  196. package/dist/gas/HyperlaneIgp.js +9 -13
  197. package/dist/gas/HyperlaneIgp.js.map +1 -1
  198. package/dist/gas/HyperlaneIgpChecker.d.ts +4 -4
  199. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  200. package/dist/gas/HyperlaneIgpChecker.js +20 -24
  201. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  202. package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -7
  203. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  204. package/dist/gas/HyperlaneIgpDeployer.js +12 -16
  205. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  206. package/dist/gas/adapters/SealevelIgpAdapter.d.ts +4 -4
  207. package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
  208. package/dist/gas/adapters/SealevelIgpAdapter.js +11 -12
  209. package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
  210. package/dist/gas/adapters/serialization.js +33 -19
  211. package/dist/gas/adapters/serialization.js.map +1 -1
  212. package/dist/gas/contracts.js +5 -8
  213. package/dist/gas/contracts.js.map +1 -1
  214. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +14 -15
  215. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  216. package/dist/gas/oracle/types.js +9 -14
  217. package/dist/gas/oracle/types.js.map +1 -1
  218. package/dist/gas/token-prices.d.ts +2 -2
  219. package/dist/gas/token-prices.d.ts.map +1 -1
  220. package/dist/gas/token-prices.js +17 -17
  221. package/dist/gas/token-prices.js.map +1 -1
  222. package/dist/gas/token-prices.test.js +10 -12
  223. package/dist/gas/token-prices.test.js.map +1 -1
  224. package/dist/gas/types.d.ts +4 -4
  225. package/dist/gas/types.d.ts.map +1 -1
  226. package/dist/gas/types.js +2 -5
  227. package/dist/gas/types.js.map +1 -1
  228. package/dist/hook/HyperlaneHookDeployer.d.ts +16 -16
  229. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  230. package/dist/hook/HyperlaneHookDeployer.js +40 -41
  231. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  232. package/dist/hook/contracts.js +11 -14
  233. package/dist/hook/contracts.js.map +1 -1
  234. package/dist/hook/read.d.ts +36 -0
  235. package/dist/hook/read.d.ts.map +1 -0
  236. package/dist/hook/read.js +191 -0
  237. package/dist/hook/read.js.map +1 -0
  238. package/dist/hook/read.test.d.ts +2 -0
  239. package/dist/hook/read.test.d.ts.map +1 -0
  240. package/dist/hook/read.test.js +151 -0
  241. package/dist/hook/read.test.js.map +1 -0
  242. package/dist/hook/types.d.ts +17 -6
  243. package/dist/hook/types.d.ts.map +1 -1
  244. package/dist/hook/types.js +16 -5
  245. package/dist/hook/types.js.map +1 -1
  246. package/dist/index.d.ts +116 -107
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +106 -323
  249. package/dist/index.js.map +1 -1
  250. package/dist/ism/HyperlaneIsmFactory.d.ts +8 -8
  251. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  252. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +99 -75
  253. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  254. package/dist/ism/HyperlaneIsmFactory.js +57 -62
  255. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  256. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +5 -5
  257. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
  258. package/dist/ism/adapters/CosmWasmMultisigAdapter.js +9 -10
  259. package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
  260. package/dist/ism/multisig.d.ts +2 -2
  261. package/dist/ism/multisig.d.ts.map +1 -1
  262. package/dist/ism/multisig.js +9 -14
  263. package/dist/ism/multisig.js.map +1 -1
  264. package/dist/ism/read.d.ts +29 -0
  265. package/dist/ism/read.d.ts.map +1 -0
  266. package/dist/ism/read.js +152 -0
  267. package/dist/ism/read.js.map +1 -0
  268. package/dist/ism/read.test.d.ts +2 -0
  269. package/dist/ism/read.test.d.ts.map +1 -0
  270. package/dist/ism/read.test.js +125 -0
  271. package/dist/ism/read.test.js.map +1 -0
  272. package/dist/ism/schemas.d.ts +177 -0
  273. package/dist/ism/schemas.d.ts.map +1 -0
  274. package/dist/ism/schemas.js +59 -0
  275. package/dist/ism/schemas.js.map +1 -0
  276. package/dist/ism/schemas.test.d.ts +2 -0
  277. package/dist/ism/schemas.test.d.ts.map +1 -0
  278. package/dist/ism/schemas.test.js +18 -0
  279. package/dist/ism/schemas.test.js.map +1 -0
  280. package/dist/ism/types.d.ts +14 -7
  281. package/dist/ism/types.d.ts.map +1 -1
  282. package/dist/ism/types.js +9 -12
  283. package/dist/ism/types.js.map +1 -1
  284. package/dist/ism/utils.d.ts +5 -5
  285. package/dist/ism/utils.d.ts.map +1 -1
  286. package/dist/ism/utils.js +79 -78
  287. package/dist/ism/utils.js.map +1 -1
  288. package/dist/metadata/ChainMetadataManager.d.ts +2 -2
  289. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  290. package/dist/metadata/ChainMetadataManager.js +19 -22
  291. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  292. package/dist/metadata/agentConfig.d.ts +340 -340
  293. package/dist/metadata/agentConfig.d.ts.map +1 -1
  294. package/dist/metadata/agentConfig.js +100 -104
  295. package/dist/metadata/agentConfig.js.map +1 -1
  296. package/dist/metadata/agentConfig.test.js +12 -14
  297. package/dist/metadata/agentConfig.test.js.map +1 -1
  298. package/dist/metadata/blockExplorer.d.ts +1 -1
  299. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  300. package/dist/metadata/blockExplorer.js +12 -20
  301. package/dist/metadata/blockExplorer.js.map +1 -1
  302. package/dist/metadata/chainMetadata.test.js +22 -24
  303. package/dist/metadata/chainMetadata.test.js.map +1 -1
  304. package/dist/metadata/chainMetadataTypes.d.ts +233 -1
  305. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  306. package/dist/metadata/chainMetadataTypes.js +91 -79
  307. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  308. package/dist/metadata/customZodTypes.js +6 -9
  309. package/dist/metadata/customZodTypes.js.map +1 -1
  310. package/dist/metadata/deploymentArtifacts.js +8 -11
  311. package/dist/metadata/deploymentArtifacts.js.map +1 -1
  312. package/dist/metadata/health.d.ts +2 -2
  313. package/dist/metadata/health.d.ts.map +1 -1
  314. package/dist/metadata/health.js +26 -34
  315. package/dist/metadata/health.js.map +1 -1
  316. package/dist/metadata/matchingList.js +9 -12
  317. package/dist/metadata/matchingList.js.map +1 -1
  318. package/dist/metadata/warpRouteConfig.d.ts +2 -2
  319. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  320. package/dist/metadata/warpRouteConfig.js +18 -21
  321. package/dist/metadata/warpRouteConfig.js.map +1 -1
  322. package/dist/middleware/account/InterchainAccount.d.ts +7 -7
  323. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  324. package/dist/middleware/account/InterchainAccount.js +17 -22
  325. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  326. package/dist/middleware/account/InterchainAccountChecker.d.ts +6 -6
  327. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  328. package/dist/middleware/account/InterchainAccountChecker.js +4 -8
  329. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  330. package/dist/middleware/account/InterchainAccountDeployer.d.ts +7 -7
  331. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  332. package/dist/middleware/account/InterchainAccountDeployer.js +8 -12
  333. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  334. package/dist/middleware/account/accounts.hardhat-test.js +29 -31
  335. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  336. package/dist/middleware/account/contracts.js +6 -9
  337. package/dist/middleware/account/contracts.js.map +1 -1
  338. package/dist/middleware/account/schemas.d.ts +21 -0
  339. package/dist/middleware/account/schemas.d.ts.map +1 -0
  340. package/dist/middleware/account/schemas.js +11 -0
  341. package/dist/middleware/account/schemas.js.map +1 -0
  342. package/dist/middleware/account/types.d.ts +1 -1
  343. package/dist/middleware/account/types.d.ts.map +1 -1
  344. package/dist/middleware/account/types.js +1 -2
  345. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +6 -6
  346. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  347. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +23 -24
  348. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  349. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +7 -7
  350. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  351. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +15 -19
  352. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  353. package/dist/middleware/liquidity-layer/contracts.js +7 -10
  354. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  355. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +36 -38
  356. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  357. package/dist/middleware/query/InterchainQuery.d.ts +5 -5
  358. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  359. package/dist/middleware/query/InterchainQuery.js +7 -11
  360. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  361. package/dist/middleware/query/InterchainQueryChecker.d.ts +4 -4
  362. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
  363. package/dist/middleware/query/InterchainQueryChecker.js +2 -6
  364. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
  365. package/dist/middleware/query/InterchainQueryDeployer.d.ts +6 -6
  366. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  367. package/dist/middleware/query/InterchainQueryDeployer.js +7 -11
  368. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  369. package/dist/middleware/query/contracts.js +5 -8
  370. package/dist/middleware/query/contracts.js.map +1 -1
  371. package/dist/middleware/query/queries.hardhat-test.js +32 -34
  372. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  373. package/dist/providers/MultiProtocolProvider.d.ts +7 -7
  374. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  375. package/dist/providers/MultiProtocolProvider.js +33 -34
  376. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  377. package/dist/providers/MultiProtocolProvider.test.js +12 -14
  378. package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
  379. package/dist/providers/MultiProvider.d.ts +4 -4
  380. package/dist/providers/MultiProvider.d.ts.map +1 -1
  381. package/dist/providers/MultiProvider.js +24 -22
  382. package/dist/providers/MultiProvider.js.map +1 -1
  383. package/dist/providers/ProviderType.js +8 -11
  384. package/dist/providers/ProviderType.js.map +1 -1
  385. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +2 -2
  386. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  387. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +16 -18
  388. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  389. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +2 -2
  390. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  391. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +26 -28
  392. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  393. package/dist/providers/SmartProvider/ProviderMethods.js +5 -9
  394. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
  395. package/dist/providers/SmartProvider/SmartProvider.d.ts +5 -5
  396. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  397. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +22 -24
  398. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  399. package/dist/providers/SmartProvider/SmartProvider.js +38 -36
  400. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  401. package/dist/providers/SmartProvider/SmartProvider.test.js +45 -47
  402. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  403. package/dist/providers/SmartProvider/types.d.ts +1 -1
  404. package/dist/providers/SmartProvider/types.d.ts.map +1 -1
  405. package/dist/providers/SmartProvider/types.js +2 -5
  406. package/dist/providers/SmartProvider/types.js.map +1 -1
  407. package/dist/providers/providerBuilders.d.ts +3 -3
  408. package/dist/providers/providerBuilders.d.ts.map +1 -1
  409. package/dist/providers/providerBuilders.js +38 -48
  410. package/dist/providers/providerBuilders.js.map +1 -1
  411. package/dist/providers/transactionFeeEstimators.d.ts +2 -2
  412. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  413. package/dist/providers/transactionFeeEstimators.js +40 -50
  414. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  415. package/dist/router/GasRouterDeployer.d.ts +4 -4
  416. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  417. package/dist/router/GasRouterDeployer.js +2 -6
  418. package/dist/router/GasRouterDeployer.js.map +1 -1
  419. package/dist/router/HyperlaneRouterChecker.d.ts +7 -7
  420. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  421. package/dist/router/HyperlaneRouterChecker.js +24 -26
  422. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  423. package/dist/router/HyperlaneRouterDeployer.d.ts +4 -4
  424. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  425. package/dist/router/HyperlaneRouterDeployer.js +10 -14
  426. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  427. package/dist/router/MultiProtocolRouterApps.d.ts +4 -5
  428. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
  429. package/dist/router/MultiProtocolRouterApps.js +14 -19
  430. package/dist/router/MultiProtocolRouterApps.js.map +1 -1
  431. package/dist/router/MultiProtocolRouterApps.test.js +13 -15
  432. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
  433. package/dist/router/ProxiedRouterChecker.d.ts +4 -4
  434. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
  435. package/dist/router/ProxiedRouterChecker.js +2 -6
  436. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  437. package/dist/router/ProxiedRouterDeployer.d.ts +4 -4
  438. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  439. package/dist/router/ProxiedRouterDeployer.js +9 -13
  440. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  441. package/dist/router/RouterApps.d.ts +5 -6
  442. package/dist/router/RouterApps.d.ts.map +1 -1
  443. package/dist/router/RouterApps.js +19 -17
  444. package/dist/router/RouterApps.js.map +1 -1
  445. package/dist/router/adapters/EvmRouterAdapter.d.ts +4 -4
  446. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
  447. package/dist/router/adapters/EvmRouterAdapter.js +11 -13
  448. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
  449. package/dist/router/adapters/SealevelRouterAdapter.d.ts +4 -4
  450. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
  451. package/dist/router/adapters/SealevelRouterAdapter.js +6 -8
  452. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
  453. package/dist/router/adapters/types.d.ts +2 -2
  454. package/dist/router/adapters/types.d.ts.map +1 -1
  455. package/dist/router/adapters/types.js +1 -2
  456. package/dist/router/schemas.d.ts +71 -0
  457. package/dist/router/schemas.d.ts.map +1 -0
  458. package/dist/router/schemas.js +16 -0
  459. package/dist/router/schemas.js.map +1 -0
  460. package/dist/router/types.d.ts +8 -15
  461. package/dist/router/types.d.ts.map +1 -1
  462. package/dist/router/types.js +8 -11
  463. package/dist/router/types.js.map +1 -1
  464. package/dist/test/metadata-check.js +17 -19
  465. package/dist/test/metadata-check.js.map +1 -1
  466. package/dist/test/testUtils.d.ts +8 -8
  467. package/dist/test/testUtils.d.ts.map +1 -1
  468. package/dist/test/testUtils.js +29 -34
  469. package/dist/test/testUtils.js.map +1 -1
  470. package/dist/token/IToken.d.ts +27 -27
  471. package/dist/token/IToken.d.ts.map +1 -1
  472. package/dist/token/IToken.js +18 -21
  473. package/dist/token/IToken.js.map +1 -1
  474. package/dist/token/Token.d.ts +7 -7
  475. package/dist/token/Token.d.ts.map +1 -1
  476. package/dist/token/Token.js +77 -80
  477. package/dist/token/Token.js.map +1 -1
  478. package/dist/token/Token.test.js +68 -70
  479. package/dist/token/Token.test.js.map +1 -1
  480. package/dist/token/TokenAmount.d.ts +1 -1
  481. package/dist/token/TokenAmount.d.ts.map +1 -1
  482. package/dist/token/TokenAmount.js +5 -7
  483. package/dist/token/TokenAmount.js.map +1 -1
  484. package/dist/token/TokenAmount.test.js +22 -24
  485. package/dist/token/TokenAmount.test.js.map +1 -1
  486. package/dist/token/TokenConnection.d.ts +4 -4
  487. package/dist/token/TokenConnection.d.ts.map +1 -1
  488. package/dist/token/TokenConnection.js +26 -31
  489. package/dist/token/TokenConnection.js.map +1 -1
  490. package/dist/token/TokenStandard.d.ts +2 -2
  491. package/dist/token/TokenStandard.d.ts.map +1 -1
  492. package/dist/token/TokenStandard.js +54 -57
  493. package/dist/token/TokenStandard.js.map +1 -1
  494. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +9 -9
  495. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  496. package/dist/token/adapters/CosmWasmTokenAdapter.js +28 -19
  497. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  498. package/dist/token/adapters/CosmWasmTokenAdapter.test.js +39 -47
  499. package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
  500. package/dist/token/adapters/CosmosTokenAdapter.d.ts +6 -6
  501. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  502. package/dist/token/adapters/CosmosTokenAdapter.js +22 -19
  503. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  504. package/dist/token/adapters/EvmTokenAdapter.d.ts +6 -6
  505. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  506. package/dist/token/adapters/EvmTokenAdapter.js +36 -28
  507. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  508. package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
  509. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  510. package/dist/token/adapters/ITokenAdapter.js +1 -2
  511. package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
  512. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  513. package/dist/token/adapters/SealevelTokenAdapter.js +68 -61
  514. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  515. package/dist/token/adapters/serialization.d.ts +1 -1
  516. package/dist/token/adapters/serialization.d.ts.map +1 -1
  517. package/dist/token/adapters/serialization.js +58 -28
  518. package/dist/token/adapters/serialization.js.map +1 -1
  519. package/dist/token/app.d.ts +11 -0
  520. package/dist/token/app.d.ts.map +1 -0
  521. package/dist/token/app.js +22 -0
  522. package/dist/token/app.js.map +1 -0
  523. package/dist/token/checker.d.ts +10 -0
  524. package/dist/token/checker.d.ts.map +1 -0
  525. package/dist/token/checker.js +73 -0
  526. package/dist/token/checker.js.map +1 -0
  527. package/dist/token/config.d.ts +10 -5
  528. package/dist/token/config.d.ts.map +1 -1
  529. package/dist/token/config.js +10 -21
  530. package/dist/token/config.js.map +1 -1
  531. package/dist/token/contracts.d.ts +9 -0
  532. package/dist/token/contracts.d.ts.map +1 -1
  533. package/dist/token/contracts.js +34 -34
  534. package/dist/token/contracts.js.map +1 -1
  535. package/dist/token/deploy.d.ts +11 -11
  536. package/dist/token/deploy.d.ts.map +1 -1
  537. package/dist/token/deploy.hardhat-test.js +16 -18
  538. package/dist/token/deploy.hardhat-test.js.map +1 -1
  539. package/dist/token/deploy.js +67 -68
  540. package/dist/token/deploy.js.map +1 -1
  541. package/dist/token/schemas.d.ts +375 -0
  542. package/dist/token/schemas.d.ts.map +1 -0
  543. package/dist/token/schemas.js +48 -0
  544. package/dist/token/schemas.js.map +1 -0
  545. package/dist/token/schemas.test.d.ts +2 -0
  546. package/dist/token/schemas.test.d.ts.map +1 -0
  547. package/dist/token/schemas.test.js +85 -0
  548. package/dist/token/schemas.test.js.map +1 -0
  549. package/dist/token/types.d.ts +5 -0
  550. package/dist/token/types.d.ts.map +1 -0
  551. package/dist/token/types.js +2 -0
  552. package/dist/token/types.js.map +1 -0
  553. package/dist/types.js +1 -2
  554. package/dist/utils/MultiGeneric.d.ts +2 -2
  555. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  556. package/dist/utils/MultiGeneric.js +5 -8
  557. package/dist/utils/MultiGeneric.js.map +1 -1
  558. package/dist/utils/fetch.js +3 -10
  559. package/dist/utils/fetch.js.map +1 -1
  560. package/dist/utils/filter.d.ts +1 -1
  561. package/dist/utils/filter.d.ts.map +1 -1
  562. package/dist/utils/filter.js +1 -5
  563. package/dist/utils/filter.js.map +1 -1
  564. package/dist/utils/fork.d.ts +38 -0
  565. package/dist/utils/fork.d.ts.map +1 -0
  566. package/dist/utils/fork.js +89 -0
  567. package/dist/utils/fork.js.map +1 -0
  568. package/dist/utils/ism.js +5 -12
  569. package/dist/utils/ism.js.map +1 -1
  570. package/dist/utils/sealevelSerialization.js +10 -9
  571. package/dist/utils/sealevelSerialization.js.map +1 -1
  572. package/dist/utils/wagmi.d.ts +2 -2
  573. package/dist/utils/wagmi.d.ts.map +1 -1
  574. package/dist/utils/wagmi.js +7 -11
  575. package/dist/utils/wagmi.js.map +1 -1
  576. package/dist/warp/WarpCore.d.ts +7 -7
  577. package/dist/warp/WarpCore.d.ts.map +1 -1
  578. package/dist/warp/WarpCore.js +37 -35
  579. package/dist/warp/WarpCore.js.map +1 -1
  580. package/dist/warp/WarpCore.test.js +67 -73
  581. package/dist/warp/WarpCore.test.js.map +1 -1
  582. package/dist/warp/types.d.ts +39 -39
  583. package/dist/warp/types.d.ts.map +1 -1
  584. package/dist/warp/types.js +17 -20
  585. package/dist/warp/types.js.map +1 -1
  586. package/package.json +19 -10
@@ -0,0 +1,152 @@
1
+ import { ethers } from 'ethers';
2
+ import { DefaultFallbackRoutingIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, OPStackIsm__factory, PausableIsm__factory, StaticAggregationIsm__factory, TestIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
3
+ import { assert, concurrentMap, rootLogger, } from '@hyperlane-xyz/utils';
4
+ import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/crud.js';
5
+ import { IsmType, ModuleType, } from './types.js';
6
+ export class EvmIsmReader {
7
+ multiProvider;
8
+ chain;
9
+ concurrency;
10
+ provider;
11
+ logger = rootLogger.child({ module: 'EvmIsmReader' });
12
+ constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY) {
13
+ this.multiProvider = multiProvider;
14
+ this.chain = chain;
15
+ this.concurrency = concurrency;
16
+ this.provider = this.multiProvider.getProvider(chain);
17
+ }
18
+ async deriveIsmConfig(address) {
19
+ const ism = IInterchainSecurityModule__factory.connect(address, this.provider);
20
+ const moduleType = await ism.moduleType();
21
+ switch (moduleType) {
22
+ case ModuleType.UNUSED:
23
+ throw new Error('UNUSED does not have a corresponding IsmType');
24
+ case ModuleType.ROUTING:
25
+ // IsmType is either ROUTING or FALLBACK_ROUTING, but that's determined inside deriveRoutingConfig
26
+ return this.deriveRoutingConfig(address);
27
+ case ModuleType.AGGREGATION:
28
+ return this.deriveAggregationConfig(address);
29
+ case ModuleType.LEGACY_MULTISIG:
30
+ throw new Error('LEGACY_MULTISIG is deprecated and not supported');
31
+ case ModuleType.MERKLE_ROOT_MULTISIG:
32
+ case ModuleType.MESSAGE_ID_MULTISIG:
33
+ return this.deriveMultisigConfig(address);
34
+ case ModuleType.NULL:
35
+ return this.deriveNullConfig(address);
36
+ case ModuleType.CCIP_READ:
37
+ throw new Error('CCIP_READ does not have a corresponding IsmType');
38
+ default:
39
+ throw new Error('Unknown ModuleType');
40
+ }
41
+ }
42
+ async deriveRoutingConfig(address) {
43
+ const ism = DefaultFallbackRoutingIsm__factory.connect(address, this.provider);
44
+ const owner = await ism.owner();
45
+ assert((await ism.moduleType()) === ModuleType.ROUTING);
46
+ const domains = {};
47
+ const domainIds = await ism.domains();
48
+ await concurrentMap(this.concurrency, domainIds, async (domainId) => {
49
+ const chainName = this.multiProvider.getChainName(domainId.toNumber());
50
+ const module = await ism.module(domainId);
51
+ domains[chainName] = await this.deriveIsmConfig(module);
52
+ });
53
+ // Fallback routing ISM extends from MailboxClient, default routign
54
+ let ismType = IsmType.FALLBACK_ROUTING;
55
+ try {
56
+ await ism.mailbox();
57
+ }
58
+ catch (error) {
59
+ ismType = IsmType.ROUTING;
60
+ this.logger.debug('Error accessing mailbox property, implying this is not a fallback routing ISM.', address);
61
+ }
62
+ return {
63
+ owner,
64
+ address,
65
+ type: ismType,
66
+ domains,
67
+ };
68
+ }
69
+ async deriveAggregationConfig(address) {
70
+ const ism = StaticAggregationIsm__factory.connect(address, this.provider);
71
+ assert((await ism.moduleType()) === ModuleType.AGGREGATION);
72
+ const [modules, threshold] = await ism.modulesAndThreshold(ethers.constants.AddressZero);
73
+ const ismConfigs = await concurrentMap(this.concurrency, modules, async (module) => this.deriveIsmConfig(module));
74
+ return {
75
+ address,
76
+ type: IsmType.AGGREGATION,
77
+ modules: ismConfigs,
78
+ threshold,
79
+ };
80
+ }
81
+ async deriveMultisigConfig(address) {
82
+ const ism = IMultisigIsm__factory.connect(address, this.provider);
83
+ const moduleType = await ism.moduleType();
84
+ assert(moduleType === ModuleType.MERKLE_ROOT_MULTISIG ||
85
+ moduleType === ModuleType.MESSAGE_ID_MULTISIG);
86
+ const ismType = moduleType === ModuleType.MERKLE_ROOT_MULTISIG
87
+ ? IsmType.MERKLE_ROOT_MULTISIG
88
+ : IsmType.MESSAGE_ID_MULTISIG;
89
+ const [validators, threshold] = await ism.validatorsAndThreshold(ethers.constants.AddressZero);
90
+ return {
91
+ address,
92
+ type: ismType,
93
+ validators,
94
+ threshold,
95
+ };
96
+ }
97
+ async deriveNullConfig(address) {
98
+ // if it has trustedRelayer() property --> TrustedRelayer ISM
99
+ const trustedRelayerIsm = TrustedRelayerIsm__factory.connect(address, this.provider);
100
+ try {
101
+ const relayer = await trustedRelayerIsm.trustedRelayer();
102
+ assert((await trustedRelayerIsm.moduleType()) === ModuleType.NULL);
103
+ return {
104
+ address,
105
+ relayer,
106
+ type: IsmType.TRUSTED_RELAYER,
107
+ };
108
+ }
109
+ catch (error) {
110
+ this.logger.debug('Error accessing "trustedRelayer" property, implying this is not a Trusted Relayer ISM.', address);
111
+ }
112
+ // if it has paused() property --> PAUSABLE
113
+ const pausableIsm = PausableIsm__factory.connect(address, this.provider);
114
+ try {
115
+ const paused = await pausableIsm.paused();
116
+ const owner = await pausableIsm.owner();
117
+ assert((await pausableIsm.moduleType()) === ModuleType.NULL);
118
+ return {
119
+ address,
120
+ owner,
121
+ type: IsmType.PAUSABLE,
122
+ paused,
123
+ };
124
+ }
125
+ catch (error) {
126
+ this.logger.debug('Error accessing "paused" property, implying this is not a Pausable ISM.', address);
127
+ }
128
+ // if it has VERIFIED_MASK_INDEX, it's AbstractMessageIdAuthorizedIsm which means OPStackIsm
129
+ const opStackIsm = OPStackIsm__factory.connect(address, this.provider);
130
+ try {
131
+ assert((await opStackIsm.moduleType()) === ModuleType.NULL);
132
+ await opStackIsm.VERIFIED_MASK_INDEX();
133
+ return {
134
+ address,
135
+ type: IsmType.OP_STACK,
136
+ origin: address,
137
+ nativeBridge: '', // no way to extract native bridge from the ism
138
+ };
139
+ }
140
+ catch (error) {
141
+ this.logger.debug('Error accessing "VERIFIED_MASK_INDEX" property, implying this is not an OP Stack ISM.', address);
142
+ }
143
+ // no specific properties, must be Test ISM
144
+ const testIsm = TestIsm__factory.connect(address, this.provider);
145
+ assert((await testIsm.moduleType()) === ModuleType.NULL);
146
+ return {
147
+ address,
148
+ type: IsmType.TEST_ISM,
149
+ };
150
+ }
151
+ }
152
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/ism/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=read.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.test.d.ts","sourceRoot":"","sources":["../../src/ism/read.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,125 @@
1
+ import { expect } from 'chai';
2
+ import { ethers } from 'ethers';
3
+ import sinon from 'sinon';
4
+ import { IInterchainSecurityModule__factory, IMultisigIsm__factory, OPStackIsm__factory, PausableIsm__factory, TestIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
5
+ import { Chains } from '../consts/chains.js';
6
+ import { MultiProvider } from '../providers/MultiProvider.js';
7
+ import { EvmIsmReader } from './read.js';
8
+ import { IsmType, ModuleType, } from './types.js';
9
+ describe('EvmIsmReader', () => {
10
+ let evmIsmReader;
11
+ let multiProvider;
12
+ let sandbox;
13
+ const generateRandomAddress = () => ethers.Wallet.createRandom().address;
14
+ beforeEach(() => {
15
+ sandbox = sinon.createSandbox();
16
+ multiProvider = new MultiProvider();
17
+ multiProvider.setProvider(Chains.ethereum, ethers.getDefaultProvider());
18
+ evmIsmReader = new EvmIsmReader(multiProvider, Chains.ethereum);
19
+ });
20
+ afterEach(() => {
21
+ sandbox.restore();
22
+ });
23
+ it('should derive multisig config correctly', async () => {
24
+ const mockAddress = generateRandomAddress();
25
+ const mockValidators = [generateRandomAddress(), generateRandomAddress()];
26
+ const mockThreshold = 2;
27
+ // Mocking the connect method + returned what we need from contract object
28
+ const mockContract = {
29
+ moduleType: sandbox.stub().resolves(ModuleType.MESSAGE_ID_MULTISIG),
30
+ validatorsAndThreshold: sandbox
31
+ .stub()
32
+ .resolves([mockValidators, mockThreshold]),
33
+ };
34
+ sandbox
35
+ .stub(IMultisigIsm__factory, 'connect')
36
+ .returns(mockContract);
37
+ sandbox
38
+ .stub(IInterchainSecurityModule__factory, 'connect')
39
+ .returns(mockContract);
40
+ const expectedConfig = {
41
+ address: mockAddress,
42
+ type: IsmType.MESSAGE_ID_MULTISIG,
43
+ validators: mockValidators,
44
+ threshold: mockThreshold,
45
+ };
46
+ // top-level method infers ism type
47
+ const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
48
+ expect(ismConfig).to.deep.equal(expectedConfig);
49
+ // should get same result if we call the specific method for the ism type
50
+ const config = await evmIsmReader.deriveMultisigConfig(mockAddress);
51
+ expect(config).to.deep.equal(ismConfig);
52
+ });
53
+ it('should derive pausable config correctly', async () => {
54
+ const mockAddress = generateRandomAddress();
55
+ const mockOwner = generateRandomAddress();
56
+ const mockPaused = true;
57
+ // Mocking the connect method + returned what we need from contract object
58
+ const mockContract = {
59
+ moduleType: sandbox.stub().resolves(ModuleType.NULL),
60
+ owner: sandbox.stub().resolves(mockOwner),
61
+ paused: sandbox.stub().resolves(mockPaused),
62
+ };
63
+ sandbox
64
+ .stub(PausableIsm__factory, 'connect')
65
+ .returns(mockContract);
66
+ sandbox
67
+ .stub(TrustedRelayerIsm__factory, 'connect')
68
+ .returns(mockContract);
69
+ sandbox
70
+ .stub(IInterchainSecurityModule__factory, 'connect')
71
+ .returns(mockContract);
72
+ const expectedConfig = {
73
+ address: mockAddress,
74
+ owner: mockOwner,
75
+ type: IsmType.PAUSABLE,
76
+ paused: mockPaused,
77
+ };
78
+ // top-level method infers ism type
79
+ const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
80
+ expect(ismConfig).to.deep.equal(expectedConfig);
81
+ // should get same result if we call the specific method for the ism type
82
+ const config = await evmIsmReader.deriveNullConfig(mockAddress);
83
+ expect(config).to.deep.equal(ismConfig);
84
+ });
85
+ it('should derive test ISM config correctly', async () => {
86
+ const mockAddress = generateRandomAddress();
87
+ // Mocking the connect method + returned what we need from contract object
88
+ const mockContract = {
89
+ moduleType: sandbox.stub().resolves(ModuleType.NULL),
90
+ };
91
+ sandbox
92
+ .stub(TestIsm__factory, 'connect')
93
+ .returns(mockContract);
94
+ sandbox
95
+ .stub(OPStackIsm__factory, 'connect')
96
+ .returns(mockContract);
97
+ sandbox
98
+ .stub(PausableIsm__factory, 'connect')
99
+ .returns(mockContract);
100
+ sandbox
101
+ .stub(TrustedRelayerIsm__factory, 'connect')
102
+ .returns(mockContract);
103
+ sandbox
104
+ .stub(IInterchainSecurityModule__factory, 'connect')
105
+ .returns(mockContract);
106
+ const expectedConfig = {
107
+ address: mockAddress,
108
+ type: IsmType.TEST_ISM,
109
+ };
110
+ // top-level method infers ism type
111
+ const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
112
+ expect(ismConfig).to.deep.equal(expectedConfig);
113
+ // should get same result if we call the specific method for the ism type
114
+ const config = await evmIsmReader.deriveNullConfig(mockAddress);
115
+ expect(config).to.deep.equal(ismConfig);
116
+ });
117
+ /*
118
+ Testing for more nested ism types can be done manually by reading from existing contracts onchain.
119
+ Examples of nested ism types include:
120
+ - Aggregation
121
+ - Routing
122
+ - Fallback Domain Routing
123
+ */
124
+ });
125
+ //# sourceMappingURL=read.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.test.js","sourceRoot":"","sources":["../../src/ism/read.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ import { z } from 'zod';
2
+ import { AggregationIsmConfig, IsmConfig, IsmType } from './types.js';
3
+ export declare const TestIsmConfigSchema: z.ZodObject<{
4
+ type: z.ZodLiteral<IsmType.TEST_ISM>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ type: IsmType.TEST_ISM;
7
+ }, {
8
+ type: IsmType.TEST_ISM;
9
+ }>;
10
+ export declare const MultisigConfigSchema: z.ZodObject<{
11
+ validators: z.ZodArray<z.ZodString, "many">;
12
+ threshold: z.ZodNumber;
13
+ }, "strip", z.ZodTypeAny, {
14
+ validators: string[];
15
+ threshold: number;
16
+ }, {
17
+ validators: string[];
18
+ threshold: number;
19
+ }>;
20
+ export declare const TrustedRelayerIsmConfigSchema: z.ZodObject<{
21
+ type: z.ZodLiteral<IsmType.TRUSTED_RELAYER>;
22
+ relayer: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ type: IsmType.TRUSTED_RELAYER;
25
+ relayer: string;
26
+ }, {
27
+ type: IsmType.TRUSTED_RELAYER;
28
+ relayer: string;
29
+ }>;
30
+ export declare const OpStackIsmConfigSchema: z.ZodObject<{
31
+ type: z.ZodLiteral<IsmType.OP_STACK>;
32
+ origin: z.ZodString;
33
+ nativeBridge: z.ZodString;
34
+ }, "strip", z.ZodTypeAny, {
35
+ type: IsmType.OP_STACK;
36
+ origin: string;
37
+ nativeBridge: string;
38
+ }, {
39
+ type: IsmType.OP_STACK;
40
+ origin: string;
41
+ nativeBridge: string;
42
+ }>;
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
+ }>]>;
63
+ }, "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);
77
+ }, {
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);
91
+ }>, z.ZodObject<{
92
+ type: z.ZodLiteral<IsmType.PAUSABLE>;
93
+ paused: z.ZodOptional<z.ZodBoolean>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ type: IsmType.PAUSABLE;
96
+ paused?: boolean | undefined;
97
+ }, {
98
+ type: IsmType.PAUSABLE;
99
+ paused?: boolean | undefined;
100
+ }>>;
101
+ export declare const MultisigIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
102
+ validators: z.ZodArray<z.ZodString, "many">;
103
+ threshold: z.ZodNumber;
104
+ }, "strip", z.ZodTypeAny, {
105
+ validators: string[];
106
+ threshold: number;
107
+ }, {
108
+ validators: string[];
109
+ threshold: number;
110
+ }>, z.ZodObject<{
111
+ type: z.ZodUnion<[z.ZodLiteral<IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<IsmType.MESSAGE_ID_MULTISIG>]>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
114
+ }, {
115
+ type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
116
+ }>>;
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
+ }>]>;
137
+ }, "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);
151
+ }, {
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);
165
+ }>, 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>>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
170
+ domains: Record<string, IsmType>;
171
+ }, {
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>;
177
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ import { OwnableConfigSchema } from '../deploy/schemas.js';
3
+ import { ZHash } from '../index.js';
4
+ import { IsmType } from './types.js';
5
+ export const TestIsmConfigSchema = z.object({
6
+ type: z.literal(IsmType.TEST_ISM),
7
+ });
8
+ export const MultisigConfigSchema = z.object({
9
+ validators: z.array(ZHash),
10
+ threshold: z.number(),
11
+ });
12
+ export const TrustedRelayerIsmConfigSchema = z.object({
13
+ type: z.literal(IsmType.TRUSTED_RELAYER),
14
+ relayer: z.string(),
15
+ });
16
+ export const OpStackIsmConfigSchema = z.object({
17
+ type: z.literal(IsmType.OP_STACK),
18
+ origin: z.string(),
19
+ nativeBridge: z.string(),
20
+ });
21
+ export const PausableIsmConfigSchema = OwnableConfigSchema.and(z.object({
22
+ type: z.literal(IsmType.PAUSABLE),
23
+ paused: z.boolean().optional(),
24
+ }));
25
+ export const MultisigIsmConfigSchema = MultisigConfigSchema.and(z.object({
26
+ type: z.union([
27
+ z.literal(IsmType.MERKLE_ROOT_MULTISIG),
28
+ z.literal(IsmType.MESSAGE_ID_MULTISIG),
29
+ ]),
30
+ }));
31
+ export const RoutingIsmConfigSchema = OwnableConfigSchema.and(z.object({
32
+ type: z.union([
33
+ z.literal(IsmType.ROUTING),
34
+ z.literal(IsmType.FALLBACK_ROUTING),
35
+ ]),
36
+ domains: z.record(z.string(), z.nativeEnum(IsmType)),
37
+ }));
38
+ export const AggregationIsmConfigSchema = z.lazy(() => z
39
+ .object({
40
+ type: z.literal(IsmType.AGGREGATION),
41
+ modules: z.array(IsmConfigSchema),
42
+ 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(),
51
+ TestIsmConfigSchema,
52
+ OpStackIsmConfigSchema,
53
+ PausableIsmConfigSchema,
54
+ TrustedRelayerIsmConfigSchema,
55
+ MultisigIsmConfigSchema,
56
+ RoutingIsmConfigSchema,
57
+ AggregationIsmConfigSchema,
58
+ ]));
59
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schemas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../../src/ism/schemas.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { expect } from 'chai';
2
+ import { ethers } from 'ethers';
3
+ import { AggregationIsmConfigSchema } from '@hyperlane-xyz/sdk';
4
+ import { IsmType } from './types.js';
5
+ const SOME_ADDRESS = ethers.Wallet.createRandom().address;
6
+ describe('AggregationIsmConfigSchema refine', () => {
7
+ it('should require threshold to be below modules length', () => {
8
+ const IsmConfig = {
9
+ type: IsmType.AGGREGATION,
10
+ modules: [SOME_ADDRESS],
11
+ threshold: 100,
12
+ };
13
+ expect(AggregationIsmConfigSchema.safeParse(IsmConfig).success).to.be.false;
14
+ IsmConfig.threshold = 0;
15
+ expect(AggregationIsmConfigSchema.safeParse(IsmConfig).success).to.be.true;
16
+ });
17
+ });
18
+ //# sourceMappingURL=schemas.test.js.map
@@ -0,0 +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,15 +1,16 @@
1
- import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, PausableIsm, TestIsm } from '@hyperlane-xyz/core';
1
+ import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
2
2
  import type { Address, Domain, ValueOf } from '@hyperlane-xyz/utils';
3
- import { OwnableConfig } from '../deploy/types';
4
- import { ChainMap } from '../types';
3
+ import { OwnableConfig } from '../deploy/types.js';
4
+ import { ChainMap } from '../types.js';
5
5
  export declare enum ModuleType {
6
6
  UNUSED = 0,
7
7
  ROUTING = 1,
8
8
  AGGREGATION = 2,
9
- LEGACY_MULTISIG = 3,
9
+ LEGACY_MULTISIG = 3,// DEPRECATED
10
10
  MERKLE_ROOT_MULTISIG = 4,
11
11
  MESSAGE_ID_MULTISIG = 5,
12
- NULL = 6
12
+ NULL = 6,
13
+ CCIP_READ = 7
13
14
  }
14
15
  export declare enum IsmType {
15
16
  OP_STACK = "opStackIsm",
@@ -19,7 +20,8 @@ export declare enum IsmType {
19
20
  MERKLE_ROOT_MULTISIG = "merkleRootMultisigIsm",
20
21
  MESSAGE_ID_MULTISIG = "messageIdMultisigIsm",
21
22
  TEST_ISM = "testIsm",
22
- PAUSABLE = "pausableIsm"
23
+ PAUSABLE = "pausableIsm",
24
+ TRUSTED_RELAYER = "trustedRelayerIsm"
23
25
  }
24
26
  export declare function ismTypeToModuleType(ismType: IsmType): ModuleType;
25
27
  export type MultisigConfig = {
@@ -50,7 +52,11 @@ export type OpStackIsmConfig = {
50
52
  origin: Address;
51
53
  nativeBridge: Address;
52
54
  };
53
- export type IsmConfig = Address | RoutingIsmConfig | MultisigIsmConfig | AggregationIsmConfig | OpStackIsmConfig | TestIsmConfig | PausableIsmConfig;
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;
54
60
  export type DeployedIsmType = {
55
61
  [IsmType.ROUTING]: IRoutingIsm;
56
62
  [IsmType.FALLBACK_ROUTING]: IRoutingIsm;
@@ -60,6 +66,7 @@ export type DeployedIsmType = {
60
66
  [IsmType.OP_STACK]: OPStackIsm;
61
67
  [IsmType.TEST_ISM]: TestIsm;
62
68
  [IsmType.PAUSABLE]: PausableIsm;
69
+ [IsmType.TRUSTED_RELAYER]: TrustedRelayerIsm;
63
70
  };
64
71
  export type DeployedIsm = ValueOf<DeployedIsmType>;
65
72
  export type RoutingIsmDelta = {
@@ -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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"}