@hyperlane-xyz/sdk 3.11.0-beta-0 → 3.20.0-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 (326) hide show
  1. package/dist/app/MultiProtocolApp.test.js +9 -11
  2. package/dist/app/MultiProtocolApp.test.js.map +1 -1
  3. package/dist/consts/crud.d.ts +2 -0
  4. package/dist/consts/crud.d.ts.map +1 -0
  5. package/dist/consts/crud.js +2 -0
  6. package/dist/consts/crud.js.map +1 -0
  7. package/dist/consts/igp.d.ts +3 -1
  8. package/dist/consts/igp.d.ts.map +1 -1
  9. package/dist/consts/igp.js +3 -1
  10. package/dist/consts/igp.js.map +1 -1
  11. package/dist/consts/multisigIsm.d.ts.map +1 -1
  12. package/dist/consts/multisigIsm.js +23 -0
  13. package/dist/consts/multisigIsm.js.map +1 -1
  14. package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
  15. package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
  16. package/dist/consts/multisigIsmVerifyCosts.js +211 -0
  17. package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
  18. package/dist/consts/testChains.d.ts +17 -0
  19. package/dist/consts/testChains.d.ts.map +1 -0
  20. package/dist/consts/testChains.js +105 -0
  21. package/dist/consts/testChains.js.map +1 -0
  22. package/dist/core/CoreDeployer.hardhat-test.js +49 -8
  23. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  24. package/dist/core/HyperlaneCore.d.ts +6 -2
  25. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCore.js +51 -11
  27. package/dist/core/HyperlaneCore.js.map +1 -1
  28. package/dist/core/HyperlaneCore.test.js +2 -6
  29. package/dist/core/HyperlaneCore.test.js.map +1 -1
  30. package/dist/core/MultiProtocolCore.d.ts +0 -2
  31. package/dist/core/MultiProtocolCore.d.ts.map +1 -1
  32. package/dist/core/MultiProtocolCore.js +0 -8
  33. package/dist/core/MultiProtocolCore.js.map +1 -1
  34. package/dist/core/MultiProtocolCore.test.js +15 -77
  35. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  36. package/dist/core/TestCoreApp.d.ts.map +1 -1
  37. package/dist/core/TestCoreApp.js +2 -1
  38. package/dist/core/TestCoreApp.js.map +1 -1
  39. package/dist/core/TestCoreDeployer.js +2 -2
  40. package/dist/core/TestCoreDeployer.js.map +1 -1
  41. package/dist/core/adapters/CosmWasmCoreAdapter.test.js +10 -2
  42. package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
  43. package/dist/core/read.d.ts +28 -0
  44. package/dist/core/read.d.ts.map +1 -0
  45. package/dist/core/read.js +44 -0
  46. package/dist/core/read.js.map +1 -0
  47. package/dist/core/testHyperlaneDeploy.hardhat-test.js +3 -3
  48. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  49. package/dist/crud/AbstractCrudModule.d.ts +21 -0
  50. package/dist/crud/AbstractCrudModule.d.ts.map +1 -0
  51. package/dist/crud/AbstractCrudModule.js +10 -0
  52. package/dist/crud/AbstractCrudModule.js.map +1 -0
  53. package/dist/crud/EvmHookModule.d.ts +18 -0
  54. package/dist/crud/EvmHookModule.d.ts.map +1 -0
  55. package/dist/crud/EvmHookModule.js +28 -0
  56. package/dist/crud/EvmHookModule.js.map +1 -0
  57. package/dist/crud/EvmIsmModule.d.ts +18 -0
  58. package/dist/crud/EvmIsmModule.d.ts.map +1 -0
  59. package/dist/crud/EvmIsmModule.js +28 -0
  60. package/dist/crud/EvmIsmModule.js.map +1 -0
  61. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  62. package/dist/deploy/HyperlaneDeployer.js +4 -4
  63. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  64. package/dist/deploy/schemas.d.ts +70 -0
  65. package/dist/deploy/schemas.d.ts.map +1 -0
  66. package/dist/deploy/schemas.js +7 -0
  67. package/dist/deploy/schemas.js.map +1 -0
  68. package/dist/deploy/types.d.ts +12 -3
  69. package/dist/deploy/types.d.ts.map +1 -1
  70. package/dist/deploy/types.js +1 -0
  71. package/dist/deploy/types.js.map +1 -1
  72. package/dist/gas/HyperlaneIgp.d.ts +0 -2
  73. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  74. package/dist/gas/HyperlaneIgp.js +0 -9
  75. package/dist/gas/HyperlaneIgp.js.map +1 -1
  76. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  77. package/dist/gas/HyperlaneIgpChecker.js +3 -6
  78. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  79. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  80. package/dist/gas/HyperlaneIgpDeployer.js +12 -7
  81. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  82. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +3 -2
  83. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  84. package/dist/gas/oracle/types.d.ts.map +1 -1
  85. package/dist/gas/oracle/types.js +4 -3
  86. package/dist/gas/oracle/types.js.map +1 -1
  87. package/dist/gas/token-prices.d.ts +2 -2
  88. package/dist/gas/token-prices.d.ts.map +1 -1
  89. package/dist/gas/token-prices.js +4 -7
  90. package/dist/gas/token-prices.js.map +1 -1
  91. package/dist/gas/token-prices.test.js +6 -6
  92. package/dist/gas/token-prices.test.js.map +1 -1
  93. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  94. package/dist/hook/HyperlaneHookDeployer.js +1 -2
  95. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  96. package/dist/hook/read.d.ts +35 -0
  97. package/dist/hook/read.d.ts.map +1 -0
  98. package/dist/hook/read.js +191 -0
  99. package/dist/hook/read.js.map +1 -0
  100. package/dist/hook/read.test.d.ts +2 -0
  101. package/dist/hook/read.test.d.ts.map +1 -0
  102. package/dist/hook/read.test.js +147 -0
  103. package/dist/hook/read.test.js.map +1 -0
  104. package/dist/hook/types.d.ts +14 -3
  105. package/dist/hook/types.d.ts.map +1 -1
  106. package/dist/hook/types.js +14 -0
  107. package/dist/hook/types.js.map +1 -1
  108. package/dist/index.d.ts +19 -9
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +15 -6
  111. package/dist/index.js.map +1 -1
  112. package/dist/ism/HyperlaneIsmFactory.d.ts +0 -2
  113. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  114. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +37 -9
  115. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  116. package/dist/ism/HyperlaneIsmFactory.js +16 -27
  117. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  118. package/dist/ism/read.d.ts +29 -0
  119. package/dist/ism/read.d.ts.map +1 -0
  120. package/dist/ism/read.js +152 -0
  121. package/dist/ism/read.js.map +1 -0
  122. package/dist/ism/read.test.d.ts +2 -0
  123. package/dist/ism/read.test.d.ts.map +1 -0
  124. package/dist/ism/read.test.js +124 -0
  125. package/dist/ism/read.test.js.map +1 -0
  126. package/dist/ism/schemas.d.ts +177 -0
  127. package/dist/ism/schemas.d.ts.map +1 -0
  128. package/dist/ism/schemas.js +59 -0
  129. package/dist/ism/schemas.js.map +1 -0
  130. package/dist/ism/schemas.test.d.ts +2 -0
  131. package/dist/ism/schemas.test.d.ts.map +1 -0
  132. package/dist/ism/schemas.test.js +18 -0
  133. package/dist/ism/schemas.test.js.map +1 -0
  134. package/dist/ism/types.d.ts +11 -4
  135. package/dist/ism/types.d.ts.map +1 -1
  136. package/dist/ism/types.js +4 -3
  137. package/dist/ism/types.js.map +1 -1
  138. package/dist/ism/utils.d.ts.map +1 -1
  139. package/dist/ism/utils.js +10 -4
  140. package/dist/ism/utils.js.map +1 -1
  141. package/dist/metadata/ChainMetadataManager.d.ts +12 -2
  142. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  143. package/dist/metadata/ChainMetadataManager.js +27 -13
  144. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  145. package/dist/metadata/agentConfig.d.ts +464 -246
  146. package/dist/metadata/agentConfig.d.ts.map +1 -1
  147. package/dist/metadata/agentConfig.js +4 -8
  148. package/dist/metadata/agentConfig.js.map +1 -1
  149. package/dist/metadata/agentConfig.test.js +9 -9
  150. package/dist/metadata/agentConfig.test.js.map +1 -1
  151. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  152. package/dist/metadata/blockExplorer.js +3 -7
  153. package/dist/metadata/blockExplorer.js.map +1 -1
  154. package/dist/metadata/blockExplorer.test.d.ts +2 -0
  155. package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
  156. package/dist/metadata/blockExplorer.test.js +41 -0
  157. package/dist/metadata/blockExplorer.test.js.map +1 -0
  158. package/dist/metadata/chainMetadata.test.js +0 -10
  159. package/dist/metadata/chainMetadata.test.js.map +1 -1
  160. package/dist/metadata/chainMetadataTypes.d.ts +335 -1
  161. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  162. package/dist/metadata/chainMetadataTypes.js +33 -9
  163. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  164. package/dist/middleware/account/InterchainAccount.d.ts +0 -2
  165. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  166. package/dist/middleware/account/InterchainAccount.js +2 -12
  167. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  168. package/dist/middleware/account/accounts.hardhat-test.js +3 -3
  169. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  170. package/dist/middleware/account/schemas.d.ts +21 -0
  171. package/dist/middleware/account/schemas.d.ts.map +1 -0
  172. package/dist/middleware/account/schemas.js +11 -0
  173. package/dist/middleware/account/schemas.js.map +1 -0
  174. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +5 -6
  175. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  176. package/dist/middleware/query/InterchainQuery.d.ts +0 -2
  177. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  178. package/dist/middleware/query/InterchainQuery.js +0 -9
  179. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  180. package/dist/middleware/query/queries.hardhat-test.js +5 -6
  181. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  182. package/dist/providers/MultiProtocolProvider.d.ts +6 -2
  183. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  184. package/dist/providers/MultiProtocolProvider.js +15 -2
  185. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  186. package/dist/providers/MultiProtocolProvider.test.js +8 -9
  187. package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
  188. package/dist/providers/MultiProvider.d.ts +1 -1
  189. package/dist/providers/MultiProvider.d.ts.map +1 -1
  190. package/dist/providers/MultiProvider.js +7 -8
  191. package/dist/providers/MultiProvider.js.map +1 -1
  192. package/dist/providers/ProviderType.d.ts +26 -2
  193. package/dist/providers/ProviderType.d.ts.map +1 -1
  194. package/dist/providers/ProviderType.js +0 -3
  195. package/dist/providers/ProviderType.js.map +1 -1
  196. package/dist/providers/SmartProvider/SmartProvider.js +1 -1
  197. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  198. package/dist/providers/providerBuilders.d.ts.map +1 -1
  199. package/dist/providers/providerBuilders.js +0 -2
  200. package/dist/providers/providerBuilders.js.map +1 -1
  201. package/dist/router/HyperlaneRouterChecker.js +2 -1
  202. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  203. package/dist/router/MultiProtocolRouterApps.test.js +4 -4
  204. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
  205. package/dist/router/RouterApps.d.ts +1 -1
  206. package/dist/router/RouterApps.d.ts.map +1 -1
  207. package/dist/router/RouterApps.js +11 -5
  208. package/dist/router/RouterApps.js.map +1 -1
  209. package/dist/router/schemas.d.ts +71 -0
  210. package/dist/router/schemas.d.ts.map +1 -0
  211. package/dist/router/schemas.js +16 -0
  212. package/dist/router/schemas.js.map +1 -0
  213. package/dist/router/types.d.ts +5 -12
  214. package/dist/router/types.d.ts.map +1 -1
  215. package/dist/router/types.js.map +1 -1
  216. package/dist/test/MockCoinGecko.d.ts +12 -0
  217. package/dist/test/MockCoinGecko.d.ts.map +1 -0
  218. package/dist/test/MockCoinGecko.js +38 -0
  219. package/dist/test/MockCoinGecko.js.map +1 -0
  220. package/dist/test/testUtils.d.ts +8 -10
  221. package/dist/test/testUtils.d.ts.map +1 -1
  222. package/dist/test/testUtils.js +25 -39
  223. package/dist/test/testUtils.js.map +1 -1
  224. package/dist/token/Token.test.js +30 -37
  225. package/dist/token/Token.test.js.map +1 -1
  226. package/dist/token/TokenAmount.test.js +4 -5
  227. package/dist/token/TokenAmount.test.js.map +1 -1
  228. package/dist/token/TokenStandard.d.ts +2 -3
  229. package/dist/token/TokenStandard.d.ts.map +1 -1
  230. package/dist/token/TokenStandard.js +3 -8
  231. package/dist/token/TokenStandard.js.map +1 -1
  232. package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -1
  233. package/dist/token/adapters/CosmWasmTokenAdapter.test.js +10 -13
  234. package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
  235. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  236. package/dist/token/adapters/EvmTokenAdapter.js +4 -2
  237. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  238. package/dist/token/app.d.ts +11 -0
  239. package/dist/token/app.d.ts.map +1 -0
  240. package/dist/token/app.js +22 -0
  241. package/dist/token/app.js.map +1 -0
  242. package/dist/token/checker.d.ts +10 -0
  243. package/dist/token/checker.d.ts.map +1 -0
  244. package/dist/token/checker.js +73 -0
  245. package/dist/token/checker.js.map +1 -0
  246. package/dist/token/config.d.ts +9 -4
  247. package/dist/token/config.d.ts.map +1 -1
  248. package/dist/token/config.js.map +1 -1
  249. package/dist/token/contracts.d.ts +9 -0
  250. package/dist/token/contracts.d.ts.map +1 -1
  251. package/dist/token/contracts.js +4 -1
  252. package/dist/token/contracts.js.map +1 -1
  253. package/dist/token/deploy.d.ts.map +1 -1
  254. package/dist/token/deploy.hardhat-test.js +48 -2
  255. package/dist/token/deploy.hardhat-test.js.map +1 -1
  256. package/dist/token/deploy.js +7 -3
  257. package/dist/token/deploy.js.map +1 -1
  258. package/dist/token/read.d.ts +42 -0
  259. package/dist/token/read.d.ts.map +1 -0
  260. package/dist/token/read.js +88 -0
  261. package/dist/token/read.js.map +1 -0
  262. package/dist/token/schemas.d.ts +375 -0
  263. package/dist/token/schemas.d.ts.map +1 -0
  264. package/dist/token/schemas.js +48 -0
  265. package/dist/token/schemas.js.map +1 -0
  266. package/dist/token/schemas.test.d.ts +2 -0
  267. package/dist/token/schemas.test.d.ts.map +1 -0
  268. package/dist/token/schemas.test.js +85 -0
  269. package/dist/token/schemas.test.js.map +1 -0
  270. package/dist/token/types.d.ts +5 -0
  271. package/dist/token/types.d.ts.map +1 -0
  272. package/dist/token/types.js +2 -0
  273. package/dist/token/types.js.map +1 -0
  274. package/dist/types.d.ts +0 -1
  275. package/dist/types.d.ts.map +1 -1
  276. package/dist/utils/MultiGeneric.d.ts +1 -1
  277. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  278. package/dist/utils/MultiGeneric.js +2 -3
  279. package/dist/utils/MultiGeneric.js.map +1 -1
  280. package/dist/utils/cosmos.d.ts +1180 -0
  281. package/dist/utils/cosmos.d.ts.map +1 -0
  282. package/dist/utils/cosmos.js +375 -0
  283. package/dist/utils/cosmos.js.map +1 -0
  284. package/dist/utils/fork.d.ts +38 -0
  285. package/dist/utils/fork.d.ts.map +1 -0
  286. package/dist/utils/fork.js +89 -0
  287. package/dist/utils/fork.js.map +1 -0
  288. package/dist/utils/ism.js +1 -1
  289. package/dist/utils/ism.js.map +1 -1
  290. package/dist/utils/wagmi.d.ts +0 -2
  291. package/dist/utils/wagmi.d.ts.map +1 -1
  292. package/dist/utils/wagmi.js +2 -5
  293. package/dist/utils/wagmi.js.map +1 -1
  294. package/dist/warp/WarpCore.d.ts.map +1 -1
  295. package/dist/warp/WarpCore.js +9 -5
  296. package/dist/warp/WarpCore.js.map +1 -1
  297. package/dist/warp/WarpCore.test.js +34 -35
  298. package/dist/warp/WarpCore.test.js.map +1 -1
  299. package/package.json +4 -5
  300. package/dist/consts/chainMetadata.d.ts +0 -85
  301. package/dist/consts/chainMetadata.d.ts.map +0 -1
  302. package/dist/consts/chainMetadata.js +0 -929
  303. package/dist/consts/chainMetadata.js.map +0 -1
  304. package/dist/consts/chains.d.ts +0 -54
  305. package/dist/consts/chains.d.ts.map +0 -1
  306. package/dist/consts/chains.js +0 -93
  307. package/dist/consts/chains.js.map +0 -1
  308. package/dist/consts/environments/index.d.ts +0 -503
  309. package/dist/consts/environments/index.d.ts.map +0 -1
  310. package/dist/consts/environments/index.js +0 -7
  311. package/dist/consts/environments/index.js.map +0 -1
  312. package/dist/consts/environments/mainnet.json +0 -342
  313. package/dist/consts/environments/testnet.json +0 -132
  314. package/dist/consts/multisigIsmVerifyCosts.json +0 -209
  315. package/dist/metadata/health.d.ts +0 -9
  316. package/dist/metadata/health.d.ts.map +0 -1
  317. package/dist/metadata/health.js +0 -112
  318. package/dist/metadata/health.js.map +0 -1
  319. package/dist/providers/SmartProvider/SmartProvider.test.d.ts +0 -2
  320. package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +0 -1
  321. package/dist/providers/SmartProvider/SmartProvider.test.js +0 -161
  322. package/dist/providers/SmartProvider/SmartProvider.test.js.map +0 -1
  323. package/dist/test/metadata-check.d.ts +0 -2
  324. package/dist/test/metadata-check.d.ts.map +0 -1
  325. package/dist/test/metadata-check.js +0 -81
  326. package/dist/test/metadata-check.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../src/utils/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkb3B,CAAC;AAEJ,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAazD"}
@@ -0,0 +1,375 @@
1
+ import { z } from 'zod';
2
+ // Generated from https://github.com/cosmos/chain-registry/blob/master/chain.schema.json
3
+ // using https://stefanterdell.github.io/json-schema-to-zod-react/
4
+ export const CosmosChainSchema = z
5
+ .object({
6
+ $schema: z
7
+ .string()
8
+ .regex(new RegExp('^(\\.\\./)+chain\\.schema\\.json$'))
9
+ .optional(),
10
+ chain_name: z.string().regex(new RegExp('[a-z0-9]+')),
11
+ chain_id: z.string(),
12
+ pre_fork_chain_name: z.string().regex(new RegExp('[a-z0-9]+')).optional(),
13
+ pretty_name: z.string().optional(),
14
+ website: z.string().url().optional(),
15
+ update_link: z.string().url().optional(),
16
+ status: z.enum(['live', 'upcoming', 'killed']).optional(),
17
+ network_type: z.enum(['mainnet', 'testnet', 'devnet']).optional(),
18
+ bech32_prefix: z
19
+ .string()
20
+ .describe("The default prefix for the human-readable part of addresses that identifies the coin type. Must be registered with SLIP-0173. E.g., 'cosmos'"),
21
+ bech32_config: z
22
+ .object({
23
+ bech32PrefixAccAddr: z.string().describe("e.g., 'cosmos'").optional(),
24
+ bech32PrefixAccPub: z.string().describe("e.g., 'cosmospub'").optional(),
25
+ bech32PrefixValAddr: z
26
+ .string()
27
+ .describe("e.g., 'cosmosvaloper'")
28
+ .optional(),
29
+ bech32PrefixValPub: z
30
+ .string()
31
+ .describe("e.g., 'cosmosvaloperpub'")
32
+ .optional(),
33
+ bech32PrefixConsAddr: z
34
+ .string()
35
+ .describe("e.g., 'cosmosvalcons'")
36
+ .optional(),
37
+ bech32PrefixConsPub: z
38
+ .string()
39
+ .describe("e.g., 'cosmosvalconspub'")
40
+ .optional(),
41
+ })
42
+ .strict()
43
+ .describe('Used to override the bech32_prefix for specific uses.')
44
+ .optional(),
45
+ daemon_name: z.string().optional(),
46
+ node_home: z.string().optional(),
47
+ key_algos: z
48
+ .array(z.enum(['secp256k1', 'ethsecp256k1', 'ed25519', 'sr25519', 'bn254']))
49
+ .optional(),
50
+ slip44: z.number().optional(),
51
+ alternative_slip44s: z.array(z.number()).optional(),
52
+ fees: z
53
+ .object({
54
+ fee_tokens: z.array(z
55
+ .object({
56
+ denom: z.string(),
57
+ fixed_min_gas_price: z.number().optional(),
58
+ low_gas_price: z.number().optional(),
59
+ average_gas_price: z.number().optional(),
60
+ high_gas_price: z.number().optional(),
61
+ gas_costs: z
62
+ .object({
63
+ cosmos_send: z.number().optional(),
64
+ ibc_transfer: z.number().optional(),
65
+ })
66
+ .strict()
67
+ .optional(),
68
+ })
69
+ .strict()),
70
+ })
71
+ .strict()
72
+ .optional(),
73
+ staking: z
74
+ .object({
75
+ staking_tokens: z.array(z.object({ denom: z.string() }).strict()),
76
+ lock_duration: z
77
+ .object({
78
+ blocks: z
79
+ .number()
80
+ .describe('The number of blocks for which the staked tokens are locked.')
81
+ .optional(),
82
+ time: z
83
+ .string()
84
+ .describe('The approximate time for which the staked tokens are locked.')
85
+ .optional(),
86
+ })
87
+ .strict()
88
+ .optional(),
89
+ })
90
+ .strict()
91
+ .optional(),
92
+ codebase: z
93
+ .object({
94
+ git_repo: z.string().url().optional(),
95
+ recommended_version: z.string().optional(),
96
+ go_version: z
97
+ .string()
98
+ .regex(new RegExp('^[0-9]+\\.[0-9]+(\\.[0-9]+)?$'))
99
+ .describe('Minimum accepted go version to build the binary.')
100
+ .optional(),
101
+ compatible_versions: z.array(z.string()).optional(),
102
+ binaries: z
103
+ .object({
104
+ 'linux/amd64': z.string().url().optional(),
105
+ 'linux/arm64': z.string().url().optional(),
106
+ 'darwin/amd64': z.string().url().optional(),
107
+ 'darwin/arm64': z.string().url().optional(),
108
+ 'windows/amd64': z.string().url().optional(),
109
+ 'windows/arm64': z.string().url().optional(),
110
+ })
111
+ .strict()
112
+ .optional(),
113
+ cosmos_sdk_version: z.string().optional(),
114
+ consensus: z
115
+ .object({
116
+ type: z.enum(['tendermint', 'cometbft', 'sei-tendermint']),
117
+ version: z.string().optional(),
118
+ })
119
+ .strict()
120
+ .optional(),
121
+ cosmwasm_version: z.string().optional(),
122
+ cosmwasm_enabled: z.boolean().optional(),
123
+ cosmwasm_path: z
124
+ .string()
125
+ .regex(new RegExp('^\\$HOME.*$'))
126
+ .describe('Relative path to the cosmwasm directory. ex. $HOME/.juno/data/wasm')
127
+ .optional(),
128
+ ibc_go_version: z.string().optional(),
129
+ ics_enabled: z
130
+ .array(z
131
+ .enum(['ics20-1', 'ics27-1', 'mauth'])
132
+ .describe('IBC app or ICS standard.'))
133
+ .describe('List of IBC apps (usually corresponding to a ICS standard) which have been enabled on the network.')
134
+ .optional(),
135
+ genesis: z
136
+ .object({
137
+ name: z.string().optional(),
138
+ genesis_url: z.string().url(),
139
+ ics_ccv_url: z.string().url().optional(),
140
+ })
141
+ .strict()
142
+ .optional(),
143
+ versions: z
144
+ .array(z
145
+ .object({
146
+ name: z.string().describe('Official Upgrade Name'),
147
+ tag: z.string().describe('Git Upgrade Tag').optional(),
148
+ height: z.number().describe('Block Height').optional(),
149
+ proposal: z
150
+ .number()
151
+ .describe('Proposal that will officially signal community acceptance of the upgrade.')
152
+ .optional(),
153
+ previous_version_name: z
154
+ .string()
155
+ .describe('[Optional] Name of the previous version')
156
+ .optional(),
157
+ next_version_name: z
158
+ .string()
159
+ .describe('[Optional] Name of the following version')
160
+ .optional(),
161
+ recommended_version: z.string().optional(),
162
+ go_version: z
163
+ .string()
164
+ .regex(new RegExp('^[0-9]+\\.[0-9]+(\\.[0-9]+)?$'))
165
+ .describe('Minimum accepted go version to build the binary.')
166
+ .optional(),
167
+ compatible_versions: z.array(z.string()).optional(),
168
+ cosmos_sdk_version: z.string().optional(),
169
+ consensus: z
170
+ .object({
171
+ type: z.enum(['tendermint', 'cometbft', 'sei-tendermint']),
172
+ version: z.string().optional(),
173
+ })
174
+ .strict()
175
+ .optional(),
176
+ cosmwasm_version: z.string().optional(),
177
+ cosmwasm_enabled: z.boolean().optional(),
178
+ cosmwasm_path: z
179
+ .string()
180
+ .regex(new RegExp('^\\$HOME.*$'))
181
+ .describe('Relative path to the cosmwasm directory. ex. $HOME/.juno/data/wasm')
182
+ .optional(),
183
+ ibc_go_version: z.string().optional(),
184
+ ics_enabled: z
185
+ .array(z
186
+ .enum(['ics20-1', 'ics27-1', 'mauth'])
187
+ .describe('IBC app or ICS standard.'))
188
+ .describe('List of IBC apps (usually corresponding to a ICS standard) which have been enabled on the network.')
189
+ .optional(),
190
+ binaries: z
191
+ .object({
192
+ 'linux/amd64': z.string().url().optional(),
193
+ 'linux/arm64': z.string().url().optional(),
194
+ 'darwin/amd64': z.string().url().optional(),
195
+ 'darwin/arm64': z.string().url().optional(),
196
+ 'windows/amd64': z.string().url().optional(),
197
+ 'windows/arm64': z.string().url().optional(),
198
+ })
199
+ .strict()
200
+ .optional(),
201
+ })
202
+ .strict())
203
+ .optional(),
204
+ })
205
+ .strict()
206
+ .optional(),
207
+ images: z
208
+ .array(z
209
+ .object({
210
+ image_sync: z
211
+ .object({
212
+ chain_name: z
213
+ .string()
214
+ .describe("The chain name or platform from which the object resides. E.g., 'cosmoshub', 'ethereum', 'forex', or 'nasdaq'"),
215
+ base_denom: z
216
+ .string()
217
+ .describe("The base denom of the asset from which the object originates. E.g., when describing ATOM from Cosmos Hub, specify 'uatom', NOT 'atom' nor 'ATOM'; base units are unique per platform.")
218
+ .optional(),
219
+ })
220
+ .strict()
221
+ .describe('The (primary) key used to identify an object within the Chain Registry.')
222
+ .optional(),
223
+ png: z
224
+ .string()
225
+ .regex(new RegExp('^https://raw\\.githubusercontent\\.com/cosmos/chain-registry/master/(|testnets/|_non-cosmos/)[a-z0-9]+/images/.+\\.png$'))
226
+ .optional(),
227
+ svg: z
228
+ .string()
229
+ .regex(new RegExp('^https://raw\\.githubusercontent\\.com/cosmos/chain-registry/master/(|testnets/|_non-cosmos/)[a-z0-9]+/images/.+\\.svg$'))
230
+ .optional(),
231
+ theme: z
232
+ .object({
233
+ primary_color_hex: z
234
+ .string()
235
+ .regex(new RegExp('^#[0-9a-fA-F]{6}$'))
236
+ .optional(),
237
+ circle: z.boolean().optional(),
238
+ dark_mode: z.boolean().optional(),
239
+ })
240
+ .strict()
241
+ .optional(),
242
+ layout: z
243
+ .enum(['logo', 'logomark', 'logotype'])
244
+ .describe('logomark == icon only; logotype == text only; logo == icon + text.')
245
+ .optional(),
246
+ text_position: z
247
+ .enum(['top', 'bottom', 'left', 'right', 'integrated'])
248
+ .describe("Indicates in which position the text is placed, in case the layout is 'icon' type, it's required only in this case.")
249
+ .optional(),
250
+ })
251
+ .strict()
252
+ .and(z.union([z.any(), z.any()])))
253
+ .optional(),
254
+ logo_URIs: z
255
+ .object({
256
+ png: z
257
+ .string()
258
+ .regex(new RegExp('^https://raw\\.githubusercontent\\.com/cosmos/chain-registry/master/(|testnets/|_non-cosmos/)[a-z0-9]+/images/.+\\.png$'))
259
+ .optional(),
260
+ svg: z
261
+ .string()
262
+ .regex(new RegExp('^https://raw\\.githubusercontent\\.com/cosmos/chain-registry/master/(|testnets/|_non-cosmos/)[a-z0-9]+/images/.+\\.svg$'))
263
+ .optional(),
264
+ })
265
+ .strict()
266
+ .optional(),
267
+ description: z.string().max(3000).optional(),
268
+ peers: z
269
+ .object({
270
+ seeds: z
271
+ .array(z
272
+ .object({
273
+ id: z.string(),
274
+ address: z.string(),
275
+ provider: z.string().optional(),
276
+ })
277
+ .strict())
278
+ .optional(),
279
+ persistent_peers: z
280
+ .array(z
281
+ .object({
282
+ id: z.string(),
283
+ address: z.string(),
284
+ provider: z.string().optional(),
285
+ })
286
+ .strict())
287
+ .optional(),
288
+ })
289
+ .strict()
290
+ .optional(),
291
+ apis: z
292
+ .object({
293
+ rpc: z
294
+ .array(z
295
+ .object({
296
+ address: z.string(),
297
+ provider: z.string().optional(),
298
+ archive: z.boolean().default(false),
299
+ })
300
+ .strict())
301
+ .optional(),
302
+ rest: z
303
+ .array(z
304
+ .object({
305
+ address: z.string(),
306
+ provider: z.string().optional(),
307
+ archive: z.boolean().default(false),
308
+ })
309
+ .strict())
310
+ .optional(),
311
+ grpc: z
312
+ .array(z
313
+ .object({
314
+ address: z.string(),
315
+ provider: z.string().optional(),
316
+ archive: z.boolean().default(false),
317
+ })
318
+ .strict())
319
+ .optional(),
320
+ wss: z
321
+ .array(z
322
+ .object({
323
+ address: z.string(),
324
+ provider: z.string().optional(),
325
+ archive: z.boolean().default(false),
326
+ })
327
+ .strict())
328
+ .optional(),
329
+ 'grpc-web': z
330
+ .array(z
331
+ .object({
332
+ address: z.string(),
333
+ provider: z.string().optional(),
334
+ archive: z.boolean().default(false),
335
+ })
336
+ .strict())
337
+ .optional(),
338
+ 'evm-http-jsonrpc': z
339
+ .array(z
340
+ .object({
341
+ address: z.string(),
342
+ provider: z.string().optional(),
343
+ archive: z.boolean().default(false),
344
+ })
345
+ .strict())
346
+ .optional(),
347
+ })
348
+ .strict()
349
+ .optional(),
350
+ explorers: z
351
+ .array(z
352
+ .object({
353
+ kind: z.string().optional(),
354
+ url: z.string().optional(),
355
+ tx_page: z.string().optional(),
356
+ account_page: z.string().optional(),
357
+ })
358
+ .strict())
359
+ .optional(),
360
+ keywords: z.array(z.string()).optional(),
361
+ extra_codecs: z.array(z.enum(['ethermint', 'injective'])).optional(),
362
+ })
363
+ .strict()
364
+ .describe('Cosmos Chain.json is a metadata file that contains information about a cosmos sdk based chain.');
365
+ export async function getCosmosRegistryChain(chain) {
366
+ const json = await fetch(`https://raw.githubusercontent.com/cosmos/chain-registry/master/${chain}/chain.json`);
367
+ const data = await json.json();
368
+ const result = CosmosChainSchema.safeParse(data);
369
+ if (!result.success) {
370
+ const errorMessages = result.error.issues.map((issue) => `${issue.path} => ${issue.message}`);
371
+ throw new Error(`Invalid Cosmos chain:\n ${errorMessages.join('\n')}`);
372
+ }
373
+ return result.data;
374
+ }
375
+ //# sourceMappingURL=cosmos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../src/utils/cosmos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { providers } from 'ethers';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
+ import { MultiProvider } from '../providers/MultiProvider.js';
4
+ import { ChainName } from '../types.js';
5
+ export declare enum ANVIL_RPC_METHODS {
6
+ RESET = "anvil_reset",
7
+ IMPERSONATE_ACCOUNT = "anvil_impersonateAccount",
8
+ STOP_IMPERSONATING_ACCOUNT = "anvil_stopImpersonatingAccount",
9
+ NODE_INFO = "anvil_nodeInfo"
10
+ }
11
+ /**
12
+ * Resets the local node to it's original state (anvil [31337] at block zero).
13
+ */
14
+ export declare const resetFork: (anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
15
+ /**
16
+ * Forks a chain onto the local node at the latest block of the forked network.
17
+ * @param multiProvider the multiProvider with which to fork the network
18
+ * @param chain the network to fork
19
+ */
20
+ export declare const setFork: (multiProvider: MultiProvider, chain: ChainName | number, anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
21
+ /**
22
+ * Impersonates an EOA for a provided address.
23
+ * @param address the address to impersonate
24
+ * @returns the impersonated signer
25
+ */
26
+ export declare const impersonateAccount: (address: Address, anvilIPAddr?: string, anvilPort?: number) => Promise<providers.JsonRpcSigner>;
27
+ /**
28
+ * Stops account impersonation.
29
+ * @param address the address to stop impersonating
30
+ */
31
+ export declare const stopImpersonatingAccount: (address: Address, anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
32
+ /**
33
+ * Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
34
+ * @param urlOverride custom URL to overried the default endpoint
35
+ * @returns a local JSON-RPC provider
36
+ */
37
+ export declare const getLocalProvider: (anvilIPAddr?: string, anvilPort?: number, urlOverride?: string) => providers.JsonRpcProvider;
38
+ //# sourceMappingURL=fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/utils/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAiC,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,oBAAY,iBAAiB;IAC3B,KAAK,gBAAgB;IACrB,mBAAmB,6BAA6B;IAChD,0BAA0B,mCAAmC;IAC7D,SAAS,mBAAmB;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,iBAAwB,MAAM,cAAc,MAAM,kBAavE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,kBACH,aAAa,SACrB,SAAS,GAAG,MAAM,gBACX,MAAM,cACR,MAAM,kBAkBnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,gBACF,MAAM,cACR,MAAM,KACjB,QAAQ,UAAU,aAAa,CASjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,gBACF,MAAM,cACR,MAAM,kBAiBnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBACb,MAAM,cACR,MAAM,gBACJ,MAAM,KACnB,UAAU,eAiBZ,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { providers } from 'ethers';
2
+ import { isValidAddressEvm, rootLogger } from '@hyperlane-xyz/utils';
3
+ const logger = rootLogger.child({ module: 'fork-utils' });
4
+ const ENDPOINT_PREFIX = 'http';
5
+ const DEFAULT_ANVIL_ENDPOINT = 'http://127.0.0.1:8545';
6
+ export var ANVIL_RPC_METHODS;
7
+ (function (ANVIL_RPC_METHODS) {
8
+ ANVIL_RPC_METHODS["RESET"] = "anvil_reset";
9
+ ANVIL_RPC_METHODS["IMPERSONATE_ACCOUNT"] = "anvil_impersonateAccount";
10
+ ANVIL_RPC_METHODS["STOP_IMPERSONATING_ACCOUNT"] = "anvil_stopImpersonatingAccount";
11
+ ANVIL_RPC_METHODS["NODE_INFO"] = "anvil_nodeInfo";
12
+ })(ANVIL_RPC_METHODS || (ANVIL_RPC_METHODS = {}));
13
+ /**
14
+ * Resets the local node to it's original state (anvil [31337] at block zero).
15
+ */
16
+ export const resetFork = async (anvilIPAddr, anvilPort) => {
17
+ logger.info(`Resetting forked network...`);
18
+ const provider = getLocalProvider(anvilIPAddr, anvilPort);
19
+ await provider.send(ANVIL_RPC_METHODS.RESET, [
20
+ {
21
+ forking: {
22
+ jsonRpcUrl: DEFAULT_ANVIL_ENDPOINT,
23
+ },
24
+ },
25
+ ]);
26
+ logger.info(`✅ Successfully reset forked network`);
27
+ };
28
+ /**
29
+ * Forks a chain onto the local node at the latest block of the forked network.
30
+ * @param multiProvider the multiProvider with which to fork the network
31
+ * @param chain the network to fork
32
+ */
33
+ export const setFork = async (multiProvider, chain, anvilIPAddr, anvilPort) => {
34
+ logger.info(`Forking ${chain} for dry-run...`);
35
+ const provider = getLocalProvider(anvilIPAddr, anvilPort);
36
+ const currentChainMetadata = multiProvider.metadata[chain];
37
+ await provider.send(ANVIL_RPC_METHODS.RESET, [
38
+ {
39
+ forking: {
40
+ jsonRpcUrl: currentChainMetadata.rpcUrls[0].http,
41
+ },
42
+ },
43
+ ]);
44
+ multiProvider.setProvider(chain, provider);
45
+ logger.info(`✅ Successfully forked ${chain} for dry-run`);
46
+ };
47
+ /**
48
+ * Impersonates an EOA for a provided address.
49
+ * @param address the address to impersonate
50
+ * @returns the impersonated signer
51
+ */
52
+ export const impersonateAccount = async (address, anvilIPAddr, anvilPort) => {
53
+ logger.info(`Impersonating account (${address})...`);
54
+ const provider = getLocalProvider(anvilIPAddr, anvilPort);
55
+ await provider.send(ANVIL_RPC_METHODS.IMPERSONATE_ACCOUNT, [address]);
56
+ logger.info(`✅ Successfully impersonated account (${address})`);
57
+ return provider.getSigner(address);
58
+ };
59
+ /**
60
+ * Stops account impersonation.
61
+ * @param address the address to stop impersonating
62
+ */
63
+ export const stopImpersonatingAccount = async (address, anvilIPAddr, anvilPort) => {
64
+ logger.info(`Stopping account impersonation for address (${address})...`);
65
+ if (isValidAddressEvm(address))
66
+ throw new Error(`Cannot stop account impersonation: invalid address format: ${address}`);
67
+ const provider = getLocalProvider(anvilIPAddr, anvilPort);
68
+ await provider.send(ANVIL_RPC_METHODS.STOP_IMPERSONATING_ACCOUNT, [
69
+ address.substring(2),
70
+ ]);
71
+ logger.info(`✅ Successfully stopped account impersonation for address (${address})`);
72
+ };
73
+ /**
74
+ * Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
75
+ * @param urlOverride custom URL to overried the default endpoint
76
+ * @returns a local JSON-RPC provider
77
+ */
78
+ export const getLocalProvider = (anvilIPAddr, anvilPort, urlOverride) => {
79
+ let envUrl;
80
+ if (anvilIPAddr && anvilPort)
81
+ envUrl = `${ENDPOINT_PREFIX}${anvilIPAddr}:${anvilPort}`;
82
+ if (urlOverride && !urlOverride.startsWith(ENDPOINT_PREFIX)) {
83
+ logger.warn(`⚠️ Provided URL override (${urlOverride}) does not begin with ${ENDPOINT_PREFIX}. Defaulting to ${envUrl ?? DEFAULT_ANVIL_ENDPOINT}`);
84
+ urlOverride = undefined;
85
+ }
86
+ const url = urlOverride ?? envUrl ?? DEFAULT_ANVIL_ENDPOINT;
87
+ return new providers.JsonRpcProvider(url);
88
+ };
89
+ //# sourceMappingURL=fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/utils/fork.ts"],"names":[],"mappings":"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"}
package/dist/utils/ism.js CHANGED
@@ -1,4 +1,4 @@
1
- import multisigIsmVerifyCosts from '../consts/multisigIsmVerifyCosts.json' assert { type: 'json' };
1
+ import { multisigIsmVerifyCosts } from '../consts/multisigIsmVerifyCosts.js';
2
2
  export function multisigIsmVerificationCost(m, n) {
3
3
  if (!(`${n}` in multisigIsmVerifyCosts) ||
4
4
  // @ts-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,uCAAuC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnG,MAAM,UAAU,2BAA2B,CAAC,CAAS,EAAE,CAAS;IAC9D,IACE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC;QACnC,aAAa;QACb,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,aAAa;IACb,OAAO,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,UAAU,2BAA2B,CAAC,CAAS,EAAE,CAAS;IAC9D,IACE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC;QACnC,aAAa;QACb,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,aAAa;IACb,OAAO,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -1,6 +1,4 @@
1
1
  import type { Chain as WagmiChain } from '@wagmi/chains';
2
2
  import { ChainMetadata } from '../metadata/chainMetadataTypes.js';
3
- import type { ChainMap } from '../types.js';
4
- export declare const wagmiChainMetadata: ChainMap<WagmiChain>;
5
3
  export declare function chainMetadataToWagmiChain(metadata: ChainMetadata): WagmiChain;
6
4
  //# sourceMappingURL=wagmi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wagmi.d.ts","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAOnD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,CAoB7E"}
1
+ {"version":3,"file":"wagmi.d.ts","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EACL,aAAa,EAEd,MAAM,mCAAmC,CAAC;AAE3C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,CAoB7E"}
@@ -1,14 +1,11 @@
1
- import { ProtocolType, objFilter, objMap } from '@hyperlane-xyz/utils';
2
- import { chainMetadata, etherToken } from '../consts/chainMetadata.js';
1
+ import { test1 } from '../consts/testChains.js';
3
2
  import { getChainIdNumber, } from '../metadata/chainMetadataTypes.js';
4
- // For convenient use in wagmi-based apps
5
- export const wagmiChainMetadata = objMap(objFilter(chainMetadata, (_, metadata) => metadata.protocol === ProtocolType.Ethereum), (_, metadata) => chainMetadataToWagmiChain(metadata));
6
3
  export function chainMetadataToWagmiChain(metadata) {
7
4
  return {
8
5
  id: getChainIdNumber(metadata),
9
6
  name: metadata.displayName || metadata.name,
10
7
  network: metadata.name,
11
- nativeCurrency: metadata.nativeToken || etherToken,
8
+ nativeCurrency: metadata.nativeToken || test1.nativeToken,
12
9
  rpcUrls: {
13
10
  public: { http: [metadata.rpcUrls[0].http] },
14
11
  default: { http: [metadata.rpcUrls[0].http] },
@@ -1 +1 @@
1
- {"version":3,"file":"wagmi.js","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAG3C,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAyB,MAAM,CAC5D,SAAS,CACP,aAAa,EACb,CAAC,CAAC,EAAE,QAAQ,EAA6B,EAAE,CACzC,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAC9C,EACD,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CACrD,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,QAAuB;IAC/D,OAAO;QACL,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAC3C,OAAO,EAAE,QAAQ,CAAC,IAAc;QAChC,cAAc,EAAE,QAAQ,CAAC,WAAW,IAAI,UAAU;QAClD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;SAC9C;QACD,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,MAAM;YAC7C,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;oBACrC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG;iBACpC;aACF;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wagmi.js","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAEL,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,UAAU,yBAAyB,CAAC,QAAuB;IAC/D,OAAO;QACL,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAC3C,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,cAAc,EAAE,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,WAAY;QAC1D,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;SAC9C;QACD,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,MAAM;YAC7C,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;oBACrC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG;iBACpC;aACF;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
@@ -356,6 +356,8 @@ export class WarpCore {
356
356
  if (amount > senderBalance)
357
357
  return { amount: 'Insufficient balance' };
358
358
  // Next, ensure balances can cover the COMBINED amount and fees
359
+ // The combined will be more than originTokenAmount if the transfer
360
+ // fee token == the either of the fee tokens
359
361
  const feeEstimate = await this.estimateTransferRemoteFees({
360
362
  originToken: token,
361
363
  destination,
@@ -372,12 +374,14 @@ export class WarpCore {
372
374
  if (amount > maxTransfer.amount) {
373
375
  return { amount: 'Insufficient balance for gas and transfer' };
374
376
  }
375
- // Finally, ensure there's sufficient balance for the IGP fee, which may
376
- // be a different token than the transfer token
377
+ // Finally, if the IGP fee token differs from the transfer token,
378
+ // ensure there's sufficient balance for the IGP fee
377
379
  const igpQuote = feeEstimate.interchainQuote;
378
- const igpTokenBalance = await igpQuote.token.getBalance(this.multiProvider, sender);
379
- if (igpTokenBalance.amount < igpQuote.amount) {
380
- return { amount: `Insufficient ${igpQuote.token.symbol} for gas` };
380
+ if (!token.isFungibleWith(igpQuote.token)) {
381
+ const igpTokenBalance = await igpQuote.token.getBalance(this.multiProvider, sender);
382
+ if (igpTokenBalance.amount < igpQuote.amount) {
383
+ return { amount: `Insufficient ${igpQuote.token.symbol} for gas` };
384
+ }
381
385
  }
382
386
  return null;
383
387
  }