@hyperlane-xyz/sdk 13.2.1 → 13.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +52 -90
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/core/CoreDeployer.hardhat-test.js +5 -0
  5. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  6. package/dist/core/CosmosNativeCoreModule.d.ts.map +1 -1
  7. package/dist/core/CosmosNativeCoreModule.js +0 -1
  8. package/dist/core/CosmosNativeCoreModule.js.map +1 -1
  9. package/dist/core/CosmosNativeCoreReader.d.ts +3 -3
  10. package/dist/core/CosmosNativeCoreReader.d.ts.map +1 -1
  11. package/dist/core/CosmosNativeCoreReader.js +5 -5
  12. package/dist/core/CosmosNativeCoreReader.js.map +1 -1
  13. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  14. package/dist/core/EvmCoreModule.hardhat-test.js +1 -2
  15. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  16. package/dist/core/EvmCoreModule.js +7 -7
  17. package/dist/core/EvmCoreModule.js.map +1 -1
  18. package/dist/core/EvmCoreReader.d.ts.map +1 -1
  19. package/dist/core/EvmCoreReader.js +1 -1
  20. package/dist/core/EvmCoreReader.js.map +1 -1
  21. package/dist/core/EvmIcaModule.d.ts +3 -4
  22. package/dist/core/EvmIcaModule.d.ts.map +1 -1
  23. package/dist/core/EvmIcaModule.hardhat-test.js +25 -2
  24. package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -1
  25. package/dist/core/EvmIcaModule.js +13 -11
  26. package/dist/core/EvmIcaModule.js.map +1 -1
  27. package/dist/core/HyperlaneRelayer.d.ts +40 -5
  28. package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
  29. package/dist/core/types.d.ts +1794 -129
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/core/types.js +0 -1
  32. package/dist/core/types.js.map +1 -1
  33. package/dist/deploy/HyperlaneDeployer.d.ts +2 -1
  34. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  35. package/dist/deploy/HyperlaneDeployer.js +11 -8
  36. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  37. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  38. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +10 -4
  39. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  40. package/dist/deploy/contracts.js +1 -1
  41. package/dist/deploy/contracts.js.map +1 -1
  42. package/dist/deploy/proxy.d.ts +1 -1
  43. package/dist/deploy/proxy.d.ts.map +1 -1
  44. package/dist/deploy/proxy.js +4 -5
  45. package/dist/deploy/proxy.js.map +1 -1
  46. package/dist/deploy/verify/utils.d.ts +1 -0
  47. package/dist/deploy/verify/utils.d.ts.map +1 -1
  48. package/dist/deploy/verify/utils.js +8 -1
  49. package/dist/deploy/verify/utils.js.map +1 -1
  50. package/dist/fork/types.d.ts +2086 -0
  51. package/dist/fork/types.d.ts.map +1 -0
  52. package/dist/fork/types.js +142 -0
  53. package/dist/fork/types.js.map +1 -0
  54. package/dist/gas/token-prices.d.ts.map +1 -1
  55. package/dist/gas/token-prices.js +23 -4
  56. package/dist/gas/token-prices.js.map +1 -1
  57. package/dist/hook/CosmosNativeHookReader.d.ts +3 -3
  58. package/dist/hook/CosmosNativeHookReader.d.ts.map +1 -1
  59. package/dist/hook/CosmosNativeHookReader.js +4 -4
  60. package/dist/hook/CosmosNativeHookReader.js.map +1 -1
  61. package/dist/ica/EvmIcaReader.d.ts +2 -5
  62. package/dist/ica/EvmIcaReader.d.ts.map +1 -1
  63. package/dist/ica/EvmIcaReader.hardhat-test.js +2 -7
  64. package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -1
  65. package/dist/ica/EvmIcaReader.js +10 -44
  66. package/dist/ica/EvmIcaReader.js.map +1 -1
  67. package/dist/ica/types.d.ts +1005 -47
  68. package/dist/ica/types.d.ts.map +1 -1
  69. package/dist/ica/types.js +7 -22
  70. package/dist/ica/types.js.map +1 -1
  71. package/dist/index.d.ts +24 -18
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +21 -16
  74. package/dist/index.js.map +1 -1
  75. package/dist/ism/CosmosNativeIsmReader.d.ts +3 -3
  76. package/dist/ism/CosmosNativeIsmReader.d.ts.map +1 -1
  77. package/dist/ism/CosmosNativeIsmReader.js +4 -4
  78. package/dist/ism/CosmosNativeIsmReader.js.map +1 -1
  79. package/dist/ism/EvmIsmModule.hardhat-test.js +0 -5
  80. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  81. package/dist/ism/EvmIsmReader.d.ts +6 -3
  82. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  83. package/dist/ism/EvmIsmReader.js +87 -43
  84. package/dist/ism/EvmIsmReader.js.map +1 -1
  85. package/dist/ism/EvmIsmReader.test.js +36 -1
  86. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  87. package/dist/ism/HyperlaneIsmFactory.d.ts +0 -1
  88. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  89. package/dist/ism/HyperlaneIsmFactory.js +6 -11
  90. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  91. package/dist/ism/metadata/arbL2ToL1.hardhat-test.js +0 -1
  92. package/dist/ism/metadata/arbL2ToL1.hardhat-test.js.map +1 -1
  93. package/dist/ism/metadata/builder.d.ts +4 -4
  94. package/dist/ism/metadata/builder.d.ts.map +1 -1
  95. package/dist/ism/metadata/builder.hardhat-test.js +0 -1
  96. package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
  97. package/dist/ism/metadata/builder.js +7 -7
  98. package/dist/ism/metadata/builder.js.map +1 -1
  99. package/dist/ism/metadata/ccipread.d.ts +5 -4
  100. package/dist/ism/metadata/ccipread.d.ts.map +1 -1
  101. package/dist/ism/metadata/ccipread.hardhat-test.js +7 -13
  102. package/dist/ism/metadata/ccipread.hardhat-test.js.map +1 -1
  103. package/dist/ism/metadata/ccipread.js +9 -8
  104. package/dist/ism/metadata/ccipread.js.map +1 -1
  105. package/dist/ism/metadata/decode.js +2 -2
  106. package/dist/ism/metadata/decode.js.map +1 -1
  107. package/dist/ism/metadata/routing.d.ts +4 -2
  108. package/dist/ism/metadata/routing.d.ts.map +1 -1
  109. package/dist/ism/metadata/routing.js +33 -39
  110. package/dist/ism/metadata/routing.js.map +1 -1
  111. package/dist/ism/types.d.ts +77 -19
  112. package/dist/ism/types.d.ts.map +1 -1
  113. package/dist/ism/types.js +26 -12
  114. package/dist/ism/types.js.map +1 -1
  115. package/dist/ism/utils.d.ts.map +1 -1
  116. package/dist/ism/utils.js +12 -10
  117. package/dist/ism/utils.js.map +1 -1
  118. package/dist/middleware/account/InterchainAccount.d.ts +52 -2
  119. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  120. package/dist/middleware/account/InterchainAccount.js +53 -10
  121. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  122. package/dist/middleware/account/InterchainAccountChecker.d.ts +3 -6
  123. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  124. package/dist/middleware/account/InterchainAccountChecker.js +2 -17
  125. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  126. package/dist/middleware/account/InterchainAccountDeployer.d.ts +3 -8
  127. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  128. package/dist/middleware/account/InterchainAccountDeployer.js +11 -31
  129. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  130. package/dist/middleware/account/accounts.hardhat-test.js +10 -1
  131. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  132. package/dist/middleware/account/contracts.d.ts +1 -4
  133. package/dist/middleware/account/contracts.d.ts.map +1 -1
  134. package/dist/middleware/account/contracts.js +1 -4
  135. package/dist/middleware/account/contracts.js.map +1 -1
  136. package/dist/middleware/account/types.d.ts +2 -2
  137. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  138. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +6 -0
  139. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  140. package/dist/providers/SmartProvider/SmartProvider.js +7 -3
  141. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  142. package/dist/providers/transactions/submitter/builder/types.d.ts +10 -10
  143. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -3
  144. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  145. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +20 -16
  146. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  147. package/dist/providers/transactions/transformer/ethersV5/types.d.ts +3 -3
  148. package/dist/providers/transactions/transformer/types.d.ts +3 -3
  149. package/dist/rebalancer/types.d.ts +875 -0
  150. package/dist/rebalancer/types.d.ts.map +1 -0
  151. package/dist/rebalancer/types.js +119 -0
  152. package/dist/rebalancer/types.js.map +1 -0
  153. package/dist/router/EvmRouterReader.d.ts +18 -0
  154. package/dist/router/EvmRouterReader.d.ts.map +1 -0
  155. package/dist/router/EvmRouterReader.js +60 -0
  156. package/dist/router/EvmRouterReader.js.map +1 -0
  157. package/dist/router/HyperlaneRouterChecker.d.ts +3 -0
  158. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  159. package/dist/router/HyperlaneRouterChecker.js +14 -4
  160. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  161. package/dist/router/types.d.ts +139 -31
  162. package/dist/router/types.d.ts.map +1 -1
  163. package/dist/router/types.js +13 -4
  164. package/dist/router/types.js.map +1 -1
  165. package/dist/token/CosmosNativeWarpRouteReader.d.ts +51 -0
  166. package/dist/token/CosmosNativeWarpRouteReader.d.ts.map +1 -0
  167. package/dist/token/CosmosNativeWarpRouteReader.js +123 -0
  168. package/dist/token/CosmosNativeWarpRouteReader.js.map +1 -0
  169. package/dist/token/EvmERC20WarpModule.d.ts +13 -0
  170. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  171. package/dist/token/EvmERC20WarpModule.hardhat-test.js +354 -9
  172. package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
  173. package/dist/token/EvmERC20WarpModule.js +211 -9
  174. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  175. package/dist/token/EvmERC20WarpRouteReader.d.ts +7 -11
  176. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  177. package/dist/token/EvmERC20WarpRouteReader.js +97 -45
  178. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  179. package/dist/token/TokenMetadataMap.d.ts +1 -2
  180. package/dist/token/TokenMetadataMap.d.ts.map +1 -1
  181. package/dist/token/TokenMetadataMap.js +2 -20
  182. package/dist/token/TokenMetadataMap.js.map +1 -1
  183. package/dist/token/TokenStandard.d.ts +5 -1
  184. package/dist/token/TokenStandard.d.ts.map +1 -1
  185. package/dist/token/TokenStandard.js +29 -1
  186. package/dist/token/TokenStandard.js.map +1 -1
  187. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +1 -1
  188. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
  189. package/dist/token/adapters/CosmosModuleTokenAdapter.js +7 -4
  190. package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
  191. package/dist/token/adapters/EvmTokenAdapter.d.ts +14 -2
  192. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  193. package/dist/token/adapters/EvmTokenAdapter.js +64 -3
  194. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  195. package/dist/token/adapters/ITokenAdapter.d.ts +9 -1
  196. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  197. package/dist/token/config.d.ts +25 -0
  198. package/dist/token/config.d.ts.map +1 -1
  199. package/dist/token/config.js +25 -0
  200. package/dist/token/config.js.map +1 -1
  201. package/dist/token/configUtils.d.ts.map +1 -1
  202. package/dist/token/configUtils.js +13 -3
  203. package/dist/token/configUtils.js.map +1 -1
  204. package/dist/token/configUtils.test.js +2 -2
  205. package/dist/token/configUtils.test.js.map +1 -1
  206. package/dist/token/contracts.d.ts +37 -31
  207. package/dist/token/contracts.d.ts.map +1 -1
  208. package/dist/token/contracts.js +8 -1
  209. package/dist/token/contracts.js.map +1 -1
  210. package/dist/token/deploy.d.ts +12 -5
  211. package/dist/token/deploy.d.ts.map +1 -1
  212. package/dist/token/deploy.js +140 -5
  213. package/dist/token/deploy.js.map +1 -1
  214. package/dist/token/types.d.ts +2812 -83
  215. package/dist/token/types.d.ts.map +1 -1
  216. package/dist/token/types.js +76 -5
  217. package/dist/token/types.js.map +1 -1
  218. package/dist/utils/decimals.d.ts +3 -0
  219. package/dist/utils/decimals.d.ts.map +1 -0
  220. package/dist/utils/decimals.js +34 -0
  221. package/dist/utils/decimals.js.map +1 -0
  222. package/dist/utils/decimals.test.d.ts +2 -0
  223. package/dist/utils/decimals.test.d.ts.map +1 -0
  224. package/dist/utils/decimals.test.js +173 -0
  225. package/dist/utils/decimals.test.js.map +1 -0
  226. package/dist/warp/WarpCore.d.ts.map +1 -1
  227. package/dist/warp/WarpCore.js +2 -1
  228. package/dist/warp/WarpCore.js.map +1 -1
  229. package/package.json +12 -8
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { ProxyAdmin__factory, TimelockController__factory, } from '@hyperlane-xyz/core';
3
+ import { isNumeric } from '@hyperlane-xyz/utils';
3
4
  import { HookConfigSchema } from '../hook/types.js';
4
5
  import { IsmConfigSchema } from '../ism/types.js';
5
6
  import { ZHash } from '../metadata/customZodTypes.js';
@@ -28,18 +29,26 @@ export const MailboxClientConfigSchema = OwnableSchema.extend({
28
29
  export const ForeignDeploymentConfigSchema = z.object({
29
30
  foreignDeployment: z.string().optional(),
30
31
  });
31
- export const RemoteRouterDomain = z.string();
32
+ export const RemoteRouterDomainOrChainNameSchema = z.string().or(z.number());
33
+ export function resolveRouterMapConfig(multiProvider, routerMap) {
34
+ return Object.fromEntries(Object.entries(routerMap).map(([domainIdOrChainName, value]) => {
35
+ if (isNumeric(domainIdOrChainName)) {
36
+ return [parseInt(domainIdOrChainName), value];
37
+ }
38
+ const meta = multiProvider.getChainMetadata(domainIdOrChainName);
39
+ return [meta.domainId, value];
40
+ }));
41
+ }
32
42
  export const RemoteRouterRouter = z.object({
33
43
  address: z.string().startsWith('0x'),
34
44
  });
35
- export const RemoteRoutersSchema = z.record(RemoteRouterDomain, RemoteRouterRouter);
45
+ export const RemoteRoutersSchema = z.record(RemoteRouterDomainOrChainNameSchema, RemoteRouterRouter);
36
46
  export const RouterConfigSchema = MailboxClientConfigSchema.merge(ForeignDeploymentConfigSchema).merge(z.object({
37
47
  remoteRouters: RemoteRoutersSchema.optional(),
38
48
  proxyAdmin: DeployedOwnableSchema.optional(),
39
49
  }));
40
- const DestinationGasDomain = z.string();
41
50
  const DestinationGasAmount = z.string(); // This must be a string type to match Ether's type
42
- export const DestinationGasSchema = z.record(DestinationGasDomain, DestinationGasAmount);
51
+ export const DestinationGasSchema = z.record(RemoteRouterDomainOrChainNameSchema, DestinationGasAmount);
43
52
  export const GasRouterConfigSchema = RouterConfigSchema.extend({
44
53
  gas: z.number().optional(),
45
54
  destinationGas: DestinationGasSchema.optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,mBAAmB,EAEnB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAqB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAoB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAY,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4B7E,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,UAAU,EAAE,IAAI,mBAAmB,EAAE;IACrC,kBAAkB,EAAE,IAAI,2BAA2B,EAAE;CACtD,CAAC;AAEF,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,6DAAsC,CAAA;IACtC,gDAAyB,CAAA;IACzB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAQD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,kFAA2D,CAAA;IAC3D,sEAA+C,CAAA;IAC/C,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AA4BD,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,wBAAwB,EAAE,eAAe,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;CACrC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CACzC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAC/D,6BAA6B,CAC9B,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;IACP,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CACH,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,mDAAmD;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAC1C,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC7D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { HyperlaneModuleClient, SigningHyperlaneModuleClient } from '@hyperlane-xyz/cosmos-sdk';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
+ import { CosmosNativeHookReader } from '../hook/CosmosNativeHookReader.js';
4
+ import { CosmosNativeIsmReader } from '../ism/CosmosNativeIsmReader.js';
5
+ import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
6
+ import { DestinationGas, MailboxClientConfig, RemoteRouters } from '../router/types.js';
7
+ import { ChainNameOrId } from '../types.js';
8
+ import { TokenType } from './config.js';
9
+ import { DerivedTokenRouterConfig, HypTokenConfig } from './types.js';
10
+ export declare class CosmosNativeWarpRouteReader {
11
+ protected readonly metadataManager: ChainMetadataManager;
12
+ protected readonly chain: ChainNameOrId;
13
+ protected readonly cosmosProviderOrSigner: SigningHyperlaneModuleClient | HyperlaneModuleClient;
14
+ protected readonly logger: import("pino").default.Logger<never>;
15
+ hookReader: CosmosNativeHookReader;
16
+ ismReader: CosmosNativeIsmReader;
17
+ constructor(metadataManager: ChainMetadataManager, chain: ChainNameOrId, cosmosProviderOrSigner: SigningHyperlaneModuleClient | HyperlaneModuleClient);
18
+ /**
19
+ * Derives the configuration for a Hyperlane ERC20 router contract at the given address.
20
+ *
21
+ * @param warpRouteAddress - The address of the Hyperlane ERC20 router contract.
22
+ * @returns The configuration for the Hyperlane ERC20 router.
23
+ *
24
+ */
25
+ deriveWarpRouteConfig(warpRouteAddress: Address): Promise<DerivedTokenRouterConfig>;
26
+ /**
27
+ * Derives the token type for a given Warp Route address using specific methods
28
+ *
29
+ * @param warpRouteAddress - The Warp Route address to derive the token type for.
30
+ * @returns The derived token type, which can be one of: collateralVault, collateral, native, or synthetic.
31
+ */
32
+ deriveTokenType(warpRouteAddress: Address): Promise<TokenType>;
33
+ /**
34
+ * Fetches the base metadata for a Warp Route contract.
35
+ *
36
+ * @param routerAddress - The address of the Warp Route contract.
37
+ * @returns The base metadata for the Warp Route contract, including the mailbox, owner, hook, and ism.
38
+ */
39
+ fetchMailboxClientConfig(routerAddress: Address): Promise<MailboxClientConfig>;
40
+ /**
41
+ * Fetches the metadata for a token address.
42
+ *
43
+ * @param warpRouteAddress - The address of the token.
44
+ * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
45
+ * Throws if unsupported token type
46
+ */
47
+ fetchTokenConfig(type: TokenType, warpRouteAddress: Address): Promise<HypTokenConfig>;
48
+ fetchRemoteRouters(warpRouteAddress: Address): Promise<RemoteRouters>;
49
+ fetchDestinationGas(warpRouteAddress: Address): Promise<DestinationGas>;
50
+ }
51
+ //# sourceMappingURL=CosmosNativeWarpRouteReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CosmosNativeWarpRouteReader.d.ts","sourceRoot":"","sources":["../../src/token/CosmosNativeWarpRouteReader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtE,qBAAa,2BAA2B;IAQpC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,oBAAoB;IACxD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;IACvC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EACrC,4BAA4B,GAC5B,qBAAqB;IAX3B,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAEtB;IACH,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,EAAE,qBAAqB,CAAC;gBAGZ,eAAe,EAAE,oBAAoB,EACrC,KAAK,EAAE,aAAa,EACpB,sBAAsB,EACrC,4BAA4B,GAC5B,qBAAqB;IAY3B;;;;;;OAMG;IACG,qBAAqB,CACzB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC;;;;;OAKG;IACG,eAAe,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBpE;;;;;OAKG;IACG,wBAAwB,CAC5B,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,mBAAmB,CAAC;IAoB/B;;;;;;OAMG;IACG,gBAAgB,CACpB,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,cAAc,CAAC;IAOpB,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBrE,mBAAmB,CACvB,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,cAAc,CAAC;CAa3B"}
@@ -0,0 +1,123 @@
1
+ import { warpTypes } from '@hyperlane-xyz/cosmos-types';
2
+ import { assert, rootLogger } from '@hyperlane-xyz/utils';
3
+ import { CosmosNativeHookReader } from '../hook/CosmosNativeHookReader.js';
4
+ import { CosmosNativeIsmReader } from '../ism/CosmosNativeIsmReader.js';
5
+ import { RemoteRoutersSchema, } from '../router/types.js';
6
+ import { TokenType } from './config.js';
7
+ export class CosmosNativeWarpRouteReader {
8
+ metadataManager;
9
+ chain;
10
+ cosmosProviderOrSigner;
11
+ logger = rootLogger.child({
12
+ module: 'CosmosNativeWarpRouteReader',
13
+ });
14
+ hookReader;
15
+ ismReader;
16
+ constructor(metadataManager, chain, cosmosProviderOrSigner) {
17
+ this.metadataManager = metadataManager;
18
+ this.chain = chain;
19
+ this.cosmosProviderOrSigner = cosmosProviderOrSigner;
20
+ this.hookReader = new CosmosNativeHookReader(metadataManager, cosmosProviderOrSigner);
21
+ this.ismReader = new CosmosNativeIsmReader(metadataManager, cosmosProviderOrSigner);
22
+ }
23
+ /**
24
+ * Derives the configuration for a Hyperlane ERC20 router contract at the given address.
25
+ *
26
+ * @param warpRouteAddress - The address of the Hyperlane ERC20 router contract.
27
+ * @returns The configuration for the Hyperlane ERC20 router.
28
+ *
29
+ */
30
+ async deriveWarpRouteConfig(warpRouteAddress) {
31
+ // Derive the config type
32
+ const type = await this.deriveTokenType(warpRouteAddress);
33
+ const baseMetadata = await this.fetchMailboxClientConfig(warpRouteAddress);
34
+ const tokenConfig = await this.fetchTokenConfig(type, warpRouteAddress);
35
+ const remoteRouters = await this.fetchRemoteRouters(warpRouteAddress);
36
+ const destinationGas = await this.fetchDestinationGas(warpRouteAddress);
37
+ return {
38
+ ...baseMetadata,
39
+ ...tokenConfig,
40
+ remoteRouters,
41
+ destinationGas,
42
+ type,
43
+ };
44
+ }
45
+ /**
46
+ * Derives the token type for a given Warp Route address using specific methods
47
+ *
48
+ * @param warpRouteAddress - The Warp Route address to derive the token type for.
49
+ * @returns The derived token type, which can be one of: collateralVault, collateral, native, or synthetic.
50
+ */
51
+ async deriveTokenType(warpRouteAddress) {
52
+ const { token } = await this.cosmosProviderOrSigner.query.warp.Token({
53
+ id: warpRouteAddress,
54
+ });
55
+ if (!token) {
56
+ throw new Error(`Failed to find token for address ${warpRouteAddress}`);
57
+ }
58
+ switch (token.token_type) {
59
+ case warpTypes.HypTokenType.HYP_TOKEN_TYPE_COLLATERAL:
60
+ return TokenType.collateral;
61
+ case warpTypes.HypTokenType.HYP_TOKEN_TYPE_SYNTHETIC:
62
+ return TokenType.synthetic;
63
+ default:
64
+ throw new Error(`Failed to determine token type for address ${warpRouteAddress}`);
65
+ }
66
+ }
67
+ /**
68
+ * Fetches the base metadata for a Warp Route contract.
69
+ *
70
+ * @param routerAddress - The address of the Warp Route contract.
71
+ * @returns The base metadata for the Warp Route contract, including the mailbox, owner, hook, and ism.
72
+ */
73
+ async fetchMailboxClientConfig(routerAddress) {
74
+ const { token } = await this.cosmosProviderOrSigner.query.warp.Token({
75
+ id: routerAddress,
76
+ });
77
+ assert(token, `Failed to find token for address ${routerAddress}`);
78
+ const config = {
79
+ mailbox: token.origin_mailbox,
80
+ owner: token.owner,
81
+ };
82
+ if (token.ism_id) {
83
+ const derivedIsm = await this.ismReader.deriveIsmConfig(token.ism_id);
84
+ config.interchainSecurityModule = derivedIsm;
85
+ }
86
+ return config;
87
+ }
88
+ /**
89
+ * Fetches the metadata for a token address.
90
+ *
91
+ * @param warpRouteAddress - The address of the token.
92
+ * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
93
+ * Throws if unsupported token type
94
+ */
95
+ async fetchTokenConfig(type, warpRouteAddress) {
96
+ return {
97
+ type,
98
+ token: warpRouteAddress,
99
+ };
100
+ }
101
+ async fetchRemoteRouters(warpRouteAddress) {
102
+ const { remote_routers } = await this.cosmosProviderOrSigner.query.warp.RemoteRouters({
103
+ id: warpRouteAddress,
104
+ });
105
+ const routers = {};
106
+ for (const router of remote_routers) {
107
+ routers[router.receiver_domain] = {
108
+ address: router.receiver_contract,
109
+ };
110
+ }
111
+ return RemoteRoutersSchema.parse(routers);
112
+ }
113
+ async fetchDestinationGas(warpRouteAddress) {
114
+ const { remote_routers } = await this.cosmosProviderOrSigner.query.warp.RemoteRouters({
115
+ id: warpRouteAddress,
116
+ });
117
+ return Object.fromEntries(remote_routers.map((routerConfig) => [
118
+ routerConfig.receiver_domain,
119
+ routerConfig.gas,
120
+ ]));
121
+ }
122
+ }
123
+ //# sourceMappingURL=CosmosNativeWarpRouteReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CosmosNativeWarpRouteReader.js","sourceRoot":"","sources":["../../src/token/CosmosNativeWarpRouteReader.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,11 @@ export declare class EvmERC20WarpModule extends HyperlaneModule<ProtocolType.Eth
45
45
  */
46
46
  createEnrollRemoteRoutersUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
47
47
  createUnenrollRemoteRoutersUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
48
+ createAddRebalancersUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
49
+ createRemoveRebalancersUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
50
+ getAllowedBridgesApprovalTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): Promise<AnnotatedEV5Transaction[]>;
51
+ createAddAllowedBridgesUpdateTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): Promise<AnnotatedEV5Transaction[]>;
52
+ createRemoveBridgesTxs(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): AnnotatedEV5Transaction[];
48
53
  /**
49
54
  * Create a transaction to update the remote routers for the Warp Route contract.
50
55
  *
@@ -96,6 +101,14 @@ export declare class EvmERC20WarpModule extends HyperlaneModule<ProtocolType.Eth
96
101
  deployedHook: Address;
97
102
  updateTransactions: AnnotatedEV5Transaction[];
98
103
  }>;
104
+ /**
105
+ * Creates a transaction to upgrade the Warp Route implementation if the package version is below specified version.
106
+ *
107
+ * @param actualConfig - The current on-chain configuration
108
+ * @param expectedConfig - The expected configuration
109
+ * @returns An array of transactions to upgrade the implementation if needed
110
+ */
111
+ upgradeWarpRouteImplementationTx(actualConfig: DerivedTokenRouterConfig, expectedConfig: HypTokenRouterConfig): Promise<AnnotatedEV5Transaction[]>;
99
112
  /**
100
113
  * Deploys the Warp Route.
101
114
  *
@@ -1 +1 @@
1
- {"version":3,"file":"EvmERC20WarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmERC20WarpModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmERC20WarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmERC20WarpModule.ts"],"names":[],"mappings":"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"}