@hyperlane-xyz/sdk 3.6.2 → 3.8.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 (240) hide show
  1. package/dist/consts/chainMetadata.d.ts +3 -2
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +99 -72
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +3 -2
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +6 -4
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +141 -133
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/mainnet.json +20 -0
  12. package/dist/consts/environments/testnet.json +166 -178
  13. package/dist/consts/igp.d.ts +2 -0
  14. package/dist/consts/igp.d.ts.map +1 -0
  15. package/dist/consts/igp.js +5 -0
  16. package/dist/consts/igp.js.map +1 -0
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +22 -18
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/core/CoreDeployer.hardhat-test.js +4 -2
  21. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  22. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  23. package/dist/core/HyperlaneCore.js +10 -4
  24. package/dist/core/HyperlaneCore.js.map +1 -1
  25. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCoreChecker.js +3 -3
  27. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  28. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
  29. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  30. package/dist/core/HyperlaneCoreDeployer.js +24 -11
  31. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  32. package/dist/core/TestRecipientDeployer.d.ts +2 -1
  33. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  34. package/dist/core/TestRecipientDeployer.js +2 -1
  35. package/dist/core/TestRecipientDeployer.js.map +1 -1
  36. package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
  37. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  38. package/dist/deploy/HyperlaneDeployer.js +34 -13
  39. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  40. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
  41. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  42. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
  43. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  44. package/dist/deploy/types.d.ts +1 -1
  45. package/dist/deploy/types.d.ts.map +1 -1
  46. package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
  47. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  48. package/dist/deploy/verify/ContractVerifier.js +147 -121
  49. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  50. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
  51. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
  52. package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
  53. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
  54. package/dist/deploy/verify/types.d.ts +60 -3
  55. package/dist/deploy/verify/types.d.ts.map +1 -1
  56. package/dist/deploy/verify/types.js +42 -0
  57. package/dist/deploy/verify/types.js.map +1 -1
  58. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
  59. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  60. package/dist/gas/HyperlaneIgpChecker.js +8 -29
  61. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  62. package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -2
  63. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  64. package/dist/gas/HyperlaneIgpDeployer.js +47 -20
  65. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  66. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
  67. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
  68. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +47 -0
  69. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
  70. package/dist/gas/oracle/types.d.ts +11 -0
  71. package/dist/gas/oracle/types.d.ts.map +1 -0
  72. package/dist/gas/oracle/types.js +30 -0
  73. package/dist/gas/oracle/types.js.map +1 -0
  74. package/dist/gas/types.d.ts +3 -4
  75. package/dist/gas/types.d.ts.map +1 -1
  76. package/dist/gas/types.js +1 -5
  77. package/dist/gas/types.js.map +1 -1
  78. package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
  79. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  80. package/dist/hook/HyperlaneHookDeployer.js +6 -4
  81. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  82. package/dist/index.d.ts +18 -7
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +52 -20
  85. package/dist/index.js.map +1 -1
  86. package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
  87. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  88. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
  89. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  90. package/dist/ism/HyperlaneIsmFactory.js +39 -287
  91. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  92. package/dist/ism/utils.d.ts +11 -0
  93. package/dist/ism/utils.d.ts.map +1 -0
  94. package/dist/ism/utils.js +277 -0
  95. package/dist/ism/utils.js.map +1 -0
  96. package/dist/metadata/ChainMetadataManager.d.ts +43 -21
  97. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  98. package/dist/metadata/ChainMetadataManager.js +26 -0
  99. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  100. package/dist/metadata/agentConfig.d.ts +138 -46
  101. package/dist/metadata/agentConfig.d.ts.map +1 -1
  102. package/dist/metadata/agentConfig.js +1 -1
  103. package/dist/metadata/blockExplorer.d.ts +6 -1
  104. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  105. package/dist/metadata/blockExplorer.js +15 -1
  106. package/dist/metadata/blockExplorer.js.map +1 -1
  107. package/dist/metadata/chainMetadataTypes.d.ts +202 -1
  108. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  109. package/dist/metadata/chainMetadataTypes.js +18 -4
  110. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  111. package/dist/metadata/customZodTypes.d.ts +2 -0
  112. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  113. package/dist/metadata/customZodTypes.js +3 -1
  114. package/dist/metadata/customZodTypes.js.map +1 -1
  115. package/dist/metadata/health.js +2 -2
  116. package/dist/metadata/health.js.map +1 -1
  117. package/dist/metadata/warpRouteConfig.d.ts +134 -0
  118. package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
  119. package/dist/metadata/warpRouteConfig.js +24 -0
  120. package/dist/metadata/warpRouteConfig.js.map +1 -0
  121. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
  122. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  123. package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
  124. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  125. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
  126. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  127. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
  128. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  129. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
  130. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  131. package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
  132. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  133. package/dist/providers/MultiProtocolProvider.d.ts +10 -12
  134. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  135. package/dist/providers/MultiProtocolProvider.js +2 -7
  136. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  137. package/dist/providers/MultiProvider.d.ts +17 -17
  138. package/dist/providers/MultiProvider.d.ts.map +1 -1
  139. package/dist/providers/MultiProvider.js +12 -1
  140. package/dist/providers/MultiProvider.js.map +1 -1
  141. package/dist/providers/ProviderType.d.ts +5 -2
  142. package/dist/providers/ProviderType.d.ts.map +1 -1
  143. package/dist/providers/ProviderType.js +10 -1
  144. package/dist/providers/ProviderType.js.map +1 -1
  145. package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -2
  146. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  147. package/dist/providers/SmartProvider/SmartProvider.js +3 -3
  148. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  149. package/dist/providers/providerBuilders.d.ts.map +1 -1
  150. package/dist/providers/providerBuilders.js +1 -0
  151. package/dist/providers/providerBuilders.js.map +1 -1
  152. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  153. package/dist/router/HyperlaneRouterChecker.js +2 -2
  154. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  155. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  156. package/dist/router/HyperlaneRouterDeployer.js +2 -3
  157. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  158. package/dist/test/metadata-check.js +7 -39
  159. package/dist/test/metadata-check.js.map +1 -1
  160. package/dist/test/testUtils.d.ts +2 -0
  161. package/dist/test/testUtils.d.ts.map +1 -1
  162. package/dist/test/testUtils.js +19 -1
  163. package/dist/test/testUtils.js.map +1 -1
  164. package/dist/token/IToken.d.ts +147 -0
  165. package/dist/token/IToken.d.ts.map +1 -0
  166. package/dist/token/IToken.js +37 -0
  167. package/dist/token/IToken.js.map +1 -0
  168. package/dist/token/Token.d.ts +58 -0
  169. package/dist/token/Token.d.ts.map +1 -0
  170. package/dist/token/Token.js +260 -0
  171. package/dist/token/Token.js.map +1 -0
  172. package/dist/token/Token.test.d.ts +2 -0
  173. package/dist/token/Token.test.d.ts.map +1 -0
  174. package/dist/token/Token.test.js +155 -0
  175. package/dist/token/Token.test.js.map +1 -0
  176. package/dist/token/TokenAmount.d.ts +12 -0
  177. package/dist/token/TokenAmount.d.ts.map +1 -0
  178. package/dist/token/TokenAmount.js +24 -0
  179. package/dist/token/TokenAmount.js.map +1 -0
  180. package/dist/token/TokenAmount.test.d.ts +2 -0
  181. package/dist/token/TokenAmount.test.d.ts.map +1 -0
  182. package/dist/token/TokenAmount.test.js +41 -0
  183. package/dist/token/TokenAmount.test.js.map +1 -0
  184. package/dist/token/TokenConnection.d.ts +81 -0
  185. package/dist/token/TokenConnection.d.ts.map +1 -0
  186. package/dist/token/TokenConnection.js +36 -0
  187. package/dist/token/TokenConnection.js.map +1 -0
  188. package/dist/token/TokenStandard.d.ts +36 -0
  189. package/dist/token/TokenStandard.d.ts.map +1 -0
  190. package/dist/token/TokenStandard.js +118 -0
  191. package/dist/token/TokenStandard.js.map +1 -0
  192. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
  193. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  194. package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
  195. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  196. package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
  197. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  198. package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
  199. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  200. package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
  201. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  202. package/dist/token/adapters/EvmTokenAdapter.js +69 -23
  203. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  204. package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
  205. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  206. package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
  207. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  208. package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
  209. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  210. package/dist/token/deploy.d.ts +3 -2
  211. package/dist/token/deploy.d.ts.map +1 -1
  212. package/dist/token/deploy.js +4 -2
  213. package/dist/token/deploy.js.map +1 -1
  214. package/dist/types.d.ts +2 -1
  215. package/dist/types.d.ts.map +1 -1
  216. package/dist/warp/WarpCore.d.ts +76 -0
  217. package/dist/warp/WarpCore.d.ts.map +1 -0
  218. package/dist/warp/WarpCore.js +288 -0
  219. package/dist/warp/WarpCore.js.map +1 -0
  220. package/dist/warp/WarpCore.test.d.ts +2 -0
  221. package/dist/warp/WarpCore.test.d.ts.map +1 -0
  222. package/dist/warp/WarpCore.test.js +143 -0
  223. package/dist/warp/WarpCore.test.js.map +1 -0
  224. package/dist/warp/types.d.ts +274 -0
  225. package/dist/warp/types.d.ts.map +1 -0
  226. package/dist/warp/types.js +38 -0
  227. package/dist/warp/types.js.map +1 -0
  228. package/logos/black/cosmwasm.svg +1 -1
  229. package/logos/black/inevm.svg +1 -0
  230. package/logos/black/injective.svg +1 -0
  231. package/logos/black/nautilus.svg +1 -0
  232. package/logos/black/plume.svg +29 -0
  233. package/logos/color/cosmos.svg +1 -1
  234. package/logos/color/cosmwasm.svg +1 -1
  235. package/logos/color/inevm.svg +1 -0
  236. package/logos/color/injective.svg +1 -0
  237. package/logos/color/manta.svg +1 -1
  238. package/logos/color/nautilus.svg +1 -0
  239. package/logos/color/plume.svg +24 -0
  240. package/package.json +5 -4
@@ -4,104 +4,103 @@ import { Coin } from '@cosmjs/stargate';
4
4
  import { Address, Domain } from '@hyperlane-xyz/utils';
5
5
  import { BaseCosmWasmAdapter } from '../../app/MultiProtocolApp';
6
6
  import { BalanceResponse, ExecuteMsg as Cw20Execute, QueryMsg as Cw20Query, TokenInfoResponse } from '../../cw-types/Cw20Base.types';
7
+ import { QuoteDispatchResponse } from '../../cw-types/Mailbox.types';
7
8
  import { DomainsResponse, InterchainSecurityModuleResponse, OwnerResponse, RouteResponseForHexBinary, RoutesResponseForHexBinary, TokenType, TokenTypeResponse, ExecuteMsg as WarpCw20Execute, QueryMsg as WarpCw20Query } from '../../cw-types/WarpCw20.types';
8
9
  import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
9
10
  import { ChainName } from '../../types';
10
11
  import { ERC20Metadata } from '../config';
11
- import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
12
- export declare class CwNativeTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter {
12
+ import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
13
+ export declare class CwNativeTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter<ExecuteInstruction> {
13
14
  readonly chainName: string;
14
15
  readonly multiProvider: MultiProtocolProvider;
15
16
  readonly addresses: Record<string, Address>;
16
- readonly ibcDenom: string;
17
- constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, ibcDenom?: string);
18
- getBalance(address: Address): Promise<string>;
17
+ readonly denom: string;
18
+ constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, denom: string);
19
+ getBalance(address: Address): Promise<bigint>;
19
20
  getMetadata(): Promise<CW20Metadata>;
21
+ isApproveRequired(): Promise<boolean>;
20
22
  populateApproveTx(_params: TransferParams): Promise<ExecuteInstruction>;
21
23
  populateTransferTx({ recipient, weiAmountOrId, }: TransferParams): Promise<ExecuteInstruction>;
22
24
  }
23
25
  export type CW20Metadata = ERC20Metadata;
24
26
  type CW20Response = TokenInfoResponse | BalanceResponse;
25
- export declare class CwTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter {
27
+ export declare class CwTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter<ExecuteInstruction> {
26
28
  readonly chainName: string;
27
29
  readonly multiProvider: MultiProtocolProvider;
28
30
  readonly addresses: {
29
31
  token: Address;
30
32
  };
31
- readonly denom: string;
32
33
  constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: {
33
34
  token: Address;
34
- }, denom?: string);
35
+ });
35
36
  queryToken<R extends CW20Response>(msg: Cw20Query): Promise<R>;
36
37
  prepareToken(msg: Cw20Execute, funds?: Coin[]): ExecuteInstruction;
37
- getBalance(address: Address): Promise<string>;
38
+ getBalance(address: Address): Promise<bigint>;
38
39
  getMetadata(): Promise<CW20Metadata>;
40
+ isApproveRequired(): Promise<boolean>;
39
41
  populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<ExecuteInstruction>;
40
42
  populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<ExecuteInstruction>;
41
43
  }
42
- type TokenRouterResponse = TokenTypeResponse | InterchainSecurityModuleResponse | DomainsResponse | OwnerResponse | RouteResponseForHexBinary | RoutesResponseForHexBinary;
43
- export declare class CwHypSyntheticAdapter extends CwTokenAdapter implements IHypTokenAdapter {
44
+ type TokenRouterResponse = TokenTypeResponse | InterchainSecurityModuleResponse | DomainsResponse | OwnerResponse | RouteResponseForHexBinary | RoutesResponseForHexBinary | QuoteDispatchResponse;
45
+ export declare class CwHypSyntheticAdapter extends CwTokenAdapter implements IHypTokenAdapter<ExecuteInstruction> {
44
46
  readonly chainName: ChainName;
45
47
  readonly multiProvider: MultiProtocolProvider<any>;
46
48
  readonly addresses: {
47
49
  token: Address;
48
50
  warpRouter: Address;
49
51
  };
50
- readonly gasDenom: string;
51
52
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
52
53
  token: Address;
53
54
  warpRouter: Address;
54
- }, gasDenom?: string);
55
+ });
55
56
  queryRouter<R extends TokenRouterResponse>(msg: WarpCw20Query): Promise<R>;
56
57
  prepareRouter(msg: WarpCw20Execute, funds?: Coin[]): ExecuteInstruction;
57
- tokenType(): Promise<TokenType>;
58
- interchainSecurityModule(): Promise<Address>;
59
- owner(): Promise<Address>;
58
+ getTokenType(): Promise<TokenType>;
59
+ getInterchainSecurityModule(): Promise<Address>;
60
+ getOwner(): Promise<Address>;
60
61
  getDomains(): Promise<Domain[]>;
61
62
  getRouterAddress(domain: Domain): Promise<Buffer>;
62
63
  getAllRouters(): Promise<Array<{
63
64
  domain: Domain;
64
65
  address: Buffer;
65
66
  }>>;
66
- quoteGasPayment(_destination: number): Promise<string>;
67
- populateTransferRemoteTx({ destination, recipient, weiAmountOrId, txValue, }: TransferRemoteParams): ExecuteInstruction;
67
+ quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
68
+ populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise<ExecuteInstruction>;
68
69
  }
69
- export declare class CwHypNativeAdapter extends CwNativeTokenAdapter implements IHypTokenAdapter {
70
+ export declare class CwHypNativeAdapter extends CwNativeTokenAdapter implements IHypTokenAdapter<ExecuteInstruction> {
70
71
  readonly chainName: ChainName;
71
72
  readonly multiProvider: MultiProtocolProvider<any>;
72
73
  readonly addresses: {
73
74
  warpRouter: Address;
74
75
  };
75
- readonly gasDenom: string;
76
76
  private readonly cw20adapter;
77
77
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
78
78
  warpRouter: Address;
79
- }, gasDenom?: string);
80
- getBalance(address: string): Promise<string>;
81
- interchainSecurityModule(): Promise<Address>;
82
- owner(): Promise<Address>;
79
+ });
80
+ getBalance(address: string): Promise<bigint>;
81
+ getInterchainSecurityModule(): Promise<Address>;
82
+ getOwner(): Promise<Address>;
83
83
  getDomains(): Promise<Domain[]>;
84
84
  getRouterAddress(domain: Domain): Promise<Buffer>;
85
85
  getAllRouters(): Promise<Array<{
86
86
  domain: Domain;
87
87
  address: Buffer;
88
88
  }>>;
89
- quoteGasPayment(destination: number): Promise<string>;
90
- denom(): Promise<string>;
91
- populateTransferRemoteTx({ destination, recipient, weiAmountOrId, txValue, }: TransferRemoteParams): Promise<ExecuteInstruction>;
89
+ quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
90
+ getDenom(): Promise<string>;
91
+ populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise<ExecuteInstruction>;
92
92
  }
93
- export declare class CwHypCollateralAdapter extends CwHypNativeAdapter implements IHypTokenAdapter {
93
+ export declare class CwHypCollateralAdapter extends CwHypNativeAdapter implements IHypTokenAdapter<ExecuteInstruction> {
94
94
  readonly chainName: ChainName;
95
95
  readonly multiProvider: MultiProtocolProvider<any>;
96
96
  readonly addresses: {
97
97
  warpRouter: Address;
98
98
  token: Address;
99
99
  };
100
- readonly gasDenom: string;
101
100
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
102
101
  warpRouter: Address;
103
102
  token: Address;
104
- }, gasDenom?: string);
103
+ });
105
104
  }
106
105
  export {};
107
106
  //# sourceMappingURL=CosmWasmTokenAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CosmWasmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EACL,OAAO,EACP,MAAM,EAGP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,eAAe,EACf,UAAU,IAAI,WAAW,EACzB,QAAQ,IAAI,SAAS,EACrB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,eAAe,EACf,gCAAgC,EAChC,aAAa,EACb,yBAAyB,EACzB,0BAA0B,EAC1B,SAAS,EACT,iBAAiB,EACjB,UAAU,IAAI,eAAe,EAC7B,QAAQ,IAAI,aAAa,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,oBACX,SAAQ,mBACR,YAAW,aAAa;aAGN,SAAS,EAAE,MAAM;aACjB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aAClC,QAAQ,EAAE,MAAM;gBAHhB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,GAAE,MAAgB;IAKtC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAIpC,iBAAiB,CACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,kBAAkB,CAAC;IAIxB,kBAAkB,CAAC,EACvB,SAAS,EACT,aAAa,GACd,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAahD;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AACzC,KAAK,YAAY,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAGxD,qBAAa,cACX,SAAQ,mBACR,YAAW,aAAa;aAGN,SAAS,EAAE,MAAM;aACjB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;aAC7B,KAAK;gBAHL,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAC7B,KAAK,SAAU;IAK3B,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IASpE,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,kBAAkB;IAQ5D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAUpC,iBAAiB,CAAC,EACtB,aAAa,EACb,SAAS,GACV,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAazC,kBAAkB,CAAC,EACvB,aAAa,EACb,SAAS,GACV,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQhD;AAED,KAAK,mBAAmB,GACpB,iBAAiB,GACjB,gCAAgC,GAChC,eAAe,GACf,aAAa,GACb,yBAAyB,GACzB,0BAA0B,CAAC;AAE/B,qBAAa,qBACX,SAAQ,cACR,YAAW,gBAAgB;aAGT,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC;aACzC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;aAClD,QAAQ;gBAHR,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACzC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,EAClD,QAAQ,SAAU;IAK9B,WAAW,CAAC,CAAC,SAAS,mBAAmB,EAC7C,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,CAAC,CAAC;IASb,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,kBAAkB;IAQjE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAS/B,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IASzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAejD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAc1E,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItD,wBAAwB,CAAC,EACvB,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,GACR,EAAE,oBAAoB,GAAG,kBAAkB;CAoB7C;AAED,qBAAa,kBACX,SAAQ,oBACR,YAAW,gBAAgB;aAKT,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC;aACzC,SAAS,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE;aAClC,QAAQ;IAN1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAGlC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACzC,SAAS,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,EAClC,QAAQ,SAAU;IAW9B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI1E,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAWxB,wBAAwB,CAAC,EAC7B,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,GACR,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoCtD;AAED,qBAAa,sBACX,SAAQ,kBACR,YAAW,gBAAgB;aAGT,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC;aACzC,SAAS,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;aAClD,QAAQ;gBAHR,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACzC,SAAS,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAClD,QAAQ,SAAU;CAIrC"}
1
+ {"version":3,"file":"CosmWasmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.CwHypCollateralAdapter = exports.CwHypNativeAdapter = exports.CwHypSyntheticAdapter = exports.CwTokenAdapter = exports.CwNativeTokenAdapter = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
4
  const utils_1 = require("@hyperlane-xyz/utils");
9
5
  const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
10
6
  // Interacts with IBC denom tokens in CosmWasm
11
7
  class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
12
- constructor(chainName, multiProvider, addresses, ibcDenom = 'untrn') {
8
+ constructor(chainName, multiProvider, addresses, denom) {
13
9
  super(chainName, multiProvider, addresses);
14
10
  this.chainName = chainName;
15
11
  this.multiProvider = multiProvider;
16
12
  this.addresses = addresses;
17
- this.ibcDenom = ibcDenom;
13
+ this.denom = denom;
18
14
  }
19
15
  async getBalance(address) {
20
16
  const provider = await this.getProvider();
21
- const balance = await provider.getBalance(address, this.ibcDenom);
22
- return balance.amount;
17
+ const balance = await provider.getBalance(address, this.denom);
18
+ return BigInt(balance.amount);
23
19
  }
24
20
  async getMetadata() {
25
21
  throw new Error('Metadata not available to native tokens');
26
22
  }
23
+ async isApproveRequired() {
24
+ return false;
25
+ }
27
26
  async populateApproveTx(_params) {
28
27
  throw new Error('Approve not required for native tokens');
29
28
  }
@@ -35,7 +34,7 @@ class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
35
34
  funds: [
36
35
  {
37
36
  amount: weiAmountOrId.toString(),
38
- denom: this.ibcDenom,
37
+ denom: this.denom,
39
38
  },
40
39
  ],
41
40
  };
@@ -44,12 +43,11 @@ class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
44
43
  exports.CwNativeTokenAdapter = CwNativeTokenAdapter;
45
44
  // Interacts with CW20/721 contracts
46
45
  class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
47
- constructor(chainName, multiProvider, addresses, denom = 'untrn') {
46
+ constructor(chainName, multiProvider, addresses) {
48
47
  super(chainName, multiProvider, addresses);
49
48
  this.chainName = chainName;
50
49
  this.multiProvider = multiProvider;
51
50
  this.addresses = addresses;
52
- this.denom = denom;
53
51
  }
54
52
  async queryToken(msg) {
55
53
  const provider = await this.getProvider();
@@ -66,7 +64,7 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
66
64
  async getBalance(address) {
67
65
  const provider = await this.getProvider();
68
66
  const balance = await provider.getBalance(address, this.addresses.token);
69
- return balance.amount;
67
+ return BigInt(balance.amount);
70
68
  }
71
69
  async getMetadata() {
72
70
  const resp = await this.queryToken({
@@ -77,6 +75,9 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
77
75
  totalSupply: resp.total_supply,
78
76
  };
79
77
  }
78
+ async isApproveRequired() {
79
+ return false;
80
+ }
80
81
  async populateApproveTx({ weiAmountOrId, recipient, }) {
81
82
  // TODO: check existing allowance
82
83
  return this.prepareToken({
@@ -100,12 +101,11 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
100
101
  }
101
102
  exports.CwTokenAdapter = CwTokenAdapter;
102
103
  class CwHypSyntheticAdapter extends CwTokenAdapter {
103
- constructor(chainName, multiProvider, addresses, gasDenom = 'untrn') {
104
+ constructor(chainName, multiProvider, addresses) {
104
105
  super(chainName, multiProvider, addresses);
105
106
  this.chainName = chainName;
106
107
  this.multiProvider = multiProvider;
107
108
  this.addresses = addresses;
108
- this.gasDenom = gasDenom;
109
109
  }
110
110
  async queryRouter(msg) {
111
111
  const provider = await this.getProvider();
@@ -119,7 +119,7 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
119
119
  funds,
120
120
  };
121
121
  }
122
- async tokenType() {
122
+ async getTokenType() {
123
123
  const resp = await this.queryRouter({
124
124
  token_default: {
125
125
  token_type: {},
@@ -127,10 +127,10 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
127
127
  });
128
128
  return resp.type;
129
129
  }
130
- async interchainSecurityModule() {
130
+ async getInterchainSecurityModule() {
131
131
  throw new Error('Router does not support ISM config yet.');
132
132
  }
133
- async owner() {
133
+ async getOwner() {
134
134
  const resp = await this.queryRouter({
135
135
  ownable: {
136
136
  get_owner: {},
@@ -173,13 +173,26 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
173
173
  address: Buffer.from(r.route, 'hex'),
174
174
  }));
175
175
  }
176
- quoteGasPayment(_destination) {
177
- throw new Error('Method not implemented.');
178
- }
179
- populateTransferRemoteTx({ destination, recipient, weiAmountOrId, txValue, }) {
180
- if (!txValue) {
181
- throw new Error('txValue is required for native tokens');
182
- }
176
+ async quoteGasPayment(_destination) {
177
+ // TODO this may require separate queries to get the hook and/or mailbox
178
+ // before making a query for the QuoteDispatchResponse
179
+ // Punting on this given that only static quotes are used for now
180
+ // const resp = await this.queryRouter<QuoteDispatchResponse>({
181
+ // router: {
182
+ // TODO: {},
183
+ // },
184
+ // });
185
+ // return {
186
+ // amount: BigInt(resp.gas_amount?.amount || 0),
187
+ // addressOrDenom: resp.gas_amount?.denom,
188
+ // };
189
+ throw new Error('CW adpater quoteGasPayment method not implemented');
190
+ }
191
+ async populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }) {
192
+ if (!interchainGas)
193
+ interchainGas = await this.quoteGasPayment(destination);
194
+ const { addressOrDenom: igpDenom, amount: igpAmount } = interchainGas;
195
+ (0, utils_1.assert)(igpDenom, 'Interchain gas denom required for Cosmos');
183
196
  return this.prepareRouter({
184
197
  transfer_remote: {
185
198
  dest_domain: destination,
@@ -188,33 +201,35 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
188
201
  },
189
202
  }, [
190
203
  {
191
- amount: txValue.toString(),
192
- denom: this.gasDenom,
204
+ amount: igpAmount.toString(),
205
+ denom: igpDenom,
193
206
  },
194
207
  ]);
195
208
  }
196
209
  }
197
210
  exports.CwHypSyntheticAdapter = CwHypSyntheticAdapter;
198
211
  class CwHypNativeAdapter extends CwNativeTokenAdapter {
199
- constructor(chainName, multiProvider, addresses, gasDenom = 'untrn') {
200
- super(chainName, multiProvider, addresses, gasDenom);
212
+ constructor(chainName, multiProvider, addresses) {
213
+ super(chainName, multiProvider, addresses, '');
201
214
  this.chainName = chainName;
202
215
  this.multiProvider = multiProvider;
203
216
  this.addresses = addresses;
204
- this.gasDenom = gasDenom;
205
- this.cw20adapter = new CwHypSyntheticAdapter(chainName, multiProvider, { token: '', warpRouter: addresses.warpRouter }, gasDenom);
217
+ this.cw20adapter = new CwHypSyntheticAdapter(chainName, multiProvider, {
218
+ token: '',
219
+ warpRouter: addresses.warpRouter,
220
+ });
206
221
  }
207
222
  async getBalance(address) {
208
223
  const provider = await this.getProvider();
209
- const denom = await this.denom();
224
+ const denom = await this.getDenom();
210
225
  const balance = await provider.getBalance(address, denom);
211
- return balance.amount;
226
+ return BigInt(balance.amount);
212
227
  }
213
- async interchainSecurityModule() {
214
- return this.cw20adapter.interchainSecurityModule();
228
+ async getInterchainSecurityModule() {
229
+ return this.cw20adapter.getInterchainSecurityModule();
215
230
  }
216
- async owner() {
217
- return this.cw20adapter.owner();
231
+ async getOwner() {
232
+ return this.cw20adapter.getOwner();
218
233
  }
219
234
  async getDomains() {
220
235
  return this.cw20adapter.getDomains();
@@ -228,8 +243,8 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
228
243
  quoteGasPayment(destination) {
229
244
  return this.cw20adapter.quoteGasPayment(destination);
230
245
  }
231
- async denom() {
232
- const tokenType = await this.cw20adapter.tokenType();
246
+ async getDenom() {
247
+ const tokenType = await this.cw20adapter.getTokenType();
233
248
  if ('native' in tokenType) {
234
249
  if ('fungible' in tokenType.native) {
235
250
  return tokenType.native.fungible.denom;
@@ -237,15 +252,16 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
237
252
  }
238
253
  throw new Error(`Token type not supported: ${tokenType}`);
239
254
  }
240
- async populateTransferRemoteTx({ destination, recipient, weiAmountOrId, txValue, }) {
241
- if (!txValue) {
242
- throw new Error('txValue is required for native tokens');
243
- }
244
- const collateralDenom = await this.denom();
245
- const funds = collateralDenom === this.gasDenom
255
+ async populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }) {
256
+ const collateralDenom = await this.getDenom();
257
+ if (!interchainGas)
258
+ interchainGas = await this.quoteGasPayment(destination);
259
+ const { addressOrDenom: igpDenom, amount: igpAmount } = interchainGas;
260
+ (0, utils_1.assert)(igpDenom, 'Interchain gas denom required for Cosmos');
261
+ const funds = collateralDenom === igpDenom
246
262
  ? [
247
263
  {
248
- amount: new bignumber_js_1.default(weiAmountOrId).plus(txValue).toFixed(0),
264
+ amount: (BigInt(weiAmountOrId) + igpAmount).toString(),
249
265
  denom: collateralDenom,
250
266
  },
251
267
  ]
@@ -255,8 +271,8 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
255
271
  denom: collateralDenom,
256
272
  },
257
273
  {
258
- amount: txValue.toString(),
259
- denom: this.gasDenom,
274
+ amount: igpAmount.toString(),
275
+ denom: igpDenom,
260
276
  },
261
277
  ];
262
278
  return this.cw20adapter.prepareRouter({
@@ -270,12 +286,11 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
270
286
  }
271
287
  exports.CwHypNativeAdapter = CwHypNativeAdapter;
272
288
  class CwHypCollateralAdapter extends CwHypNativeAdapter {
273
- constructor(chainName, multiProvider, addresses, gasDenom = 'untrn') {
274
- super(chainName, multiProvider, addresses, gasDenom);
289
+ constructor(chainName, multiProvider, addresses) {
290
+ super(chainName, multiProvider, addresses);
275
291
  this.chainName = chainName;
276
292
  this.multiProvider = multiProvider;
277
293
  this.addresses = addresses;
278
- this.gasDenom = gasDenom;
279
294
  }
280
295
  }
281
296
  exports.CwHypCollateralAdapter = CwHypCollateralAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAqC;AAErC,gDAK8B;AAE9B,iEAAiE;AA6BjE,8CAA8C;AAC9C,MAAa,oBACX,SAAQ,sCAAmB;IAG3B,YACkB,SAAiB,EACjB,aAAoC,EACpC,SAAkC,EAClC,WAAmB,OAAO;QAE1C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAL3B,cAAS,GAAT,SAAS,CAAQ;QACjB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAyB;QAClC,aAAQ,GAAR,QAAQ,CAAkB;IAG5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAuB;QAEvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,SAAS,EACT,aAAa,GACE;QACf,qFAAqF;QACrF,OAAO;YACL,eAAe,EAAE,SAAS;YAC1B,GAAG,EAAE,EAAE;YACP,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;oBAChC,KAAK,EAAE,IAAI,CAAC,QAAQ;iBACrB;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA7CD,oDA6CC;AAKD,oCAAoC;AACpC,MAAa,cACX,SAAQ,sCAAmB;IAG3B,YACkB,SAAiB,EACjB,aAAoC,EACpC,SAA6B,EAC7B,QAAQ,OAAO;QAE/B,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAL3B,cAAS,GAAT,SAAS,CAAQ;QACjB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAoB;QAC7B,UAAK,GAAL,KAAK,CAAU;IAGjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAyB,GAAc;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAM,MAAM,QAAQ,CAAC,kBAAkB,CACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,GAAG,CACJ,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,GAAgB,EAAE,KAAc;QAC3C,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YACrC,GAAG;YACH,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAoB;YACpD,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EACtB,aAAa,EACb,SAAS,GACM;QACf,iCAAiC;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,kBAAkB,EAAE;gBAClB,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;gBAChC,OAAO,EAAE;oBACP,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,aAAa,EACb,SAAS,GACM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,QAAQ,EAAE;gBACR,SAAS;gBACT,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;aACjC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAzED,wCAyEC;AAUD,MAAa,qBACX,SAAQ,cAAc;IAGtB,YACkB,SAAoB,EACpB,aAAyC,EACzC,SAAkD,EAClD,WAAW,OAAO;QAElC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAL3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAA4B;QACzC,cAAS,GAAT,SAAS,CAAyC;QAClD,aAAQ,GAAR,QAAQ,CAAU;IAGpC,CAAC;IAED,KAAK,CAAC,WAAW,CACf,GAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAM,MAAM,QAAQ,CAAC,kBAAkB,CACnD,IAAI,CAAC,SAAS,CAAC,UAAU,EACzB,GAAG,CACJ,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,GAAoB,EAAE,KAAc;QAChD,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YAC1C,GAAG;YACH,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAoB;YACrD,aAAa,EAAE;gBACb,UAAU,EAAE,EAAE;aACf;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAgB;YACjD,OAAO,EAAE;gBACP,SAAS,EAAE,EAAE;aACd;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAkB;YACnD,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;aACZ;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAA4B;YAC7D,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,MAAM;iBACP;aACF;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;SACxD;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAA6B;YAC9D,MAAM,EAAE;gBACN,WAAW,EAAE,EAAE;aAChB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAM,EAAE,KAAK,CAAC;SACtC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,eAAe,CAAC,YAAoB;QAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,wBAAwB,CAAC,EACvB,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,GACc;QACrB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,OAAO,IAAI,CAAC,aAAa,CACvB;YACE,eAAe,EAAE;gBACf,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,IAAA,eAAO,EAAC,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;aACjC;SACF,EACD;YACE;gBACE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ;aACrB;SACF,CACF,CAAC;IACJ,CAAC;CACF;AAzHD,sDAyHC;AAED,MAAa,kBACX,SAAQ,oBAAoB;IAK5B,YACkB,SAAoB,EACpB,aAAyC,EACzC,SAAkC,EAClC,WAAW,OAAO;QAElC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QALrC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAA4B;QACzC,cAAS,GAAT,SAAS,CAAyB;QAClC,aAAQ,GAAR,QAAQ,CAAU;QAGlC,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAC1C,SAAS,EACT,aAAa,EACb,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,EAC/C,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE;gBAClC,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;aACxC;SACF;QAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAC7B,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,GACc;QACrB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3C,MAAM,KAAK,GACT,eAAe,KAAK,IAAI,CAAC,QAAQ;YAC/B,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,IAAI,sBAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC7D,KAAK,EAAE,eAAe;iBACvB;aACF;YACH,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;oBAChC,KAAK,EAAE,eAAe;iBACvB;gBACD;oBACE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE;oBAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ;iBACrB;aACF,CAAC;QAER,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CACnC;YACE,eAAe,EAAE;gBACf,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,IAAA,eAAO,EAAC,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE;aACjC;SACF,EACD,KAAK,CACN,CAAC;IACJ,CAAC;CACF;AAxGD,gDAwGC;AAED,MAAa,sBACX,SAAQ,kBAAkB;IAG1B,YACkB,SAAoB,EACpB,aAAyC,EACzC,SAAkD,EAClD,WAAW,OAAO;QAElC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QALrC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAA4B;QACzC,cAAS,GAAT,SAAS,CAAyC;QAClD,aAAQ,GAAR,QAAQ,CAAU;IAGpC,CAAC;CACF;AAZD,wDAYC"}
1
+ {"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { BaseCosmosAdapter } from '../../app/MultiProtocolApp';
5
5
  import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
6
6
  import { ChainName } from '../../types';
7
7
  import { MinimalTokenMetadata } from '../config';
8
- import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
9
- export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter {
8
+ import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
9
+ export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter<MsgTransferEncodeObject> {
10
10
  readonly chainName: ChainName;
11
11
  readonly multiProvider: MultiProtocolProvider;
12
12
  readonly addresses: Record<string, Address>;
@@ -16,12 +16,13 @@ export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements
16
16
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, properties: {
17
17
  ibcDenom: string;
18
18
  });
19
- getBalance(address: string): Promise<string>;
19
+ getBalance(address: string): Promise<bigint>;
20
20
  getMetadata(): Promise<MinimalTokenMetadata>;
21
- populateApproveTx(_transferParams: TransferParams): unknown;
21
+ isApproveRequired(): Promise<boolean>;
22
+ populateApproveTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>;
22
23
  populateTransferTx(_transferParams: TransferParams): Promise<MsgTransferEncodeObject>;
23
24
  }
24
- export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter {
25
+ export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> {
25
26
  readonly chainName: ChainName;
26
27
  readonly multiProvider: MultiProtocolProvider;
27
28
  readonly addresses: Record<string, Address>;
@@ -41,10 +42,10 @@ export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implemen
41
42
  domain: Domain;
42
43
  address: Buffer;
43
44
  }>>;
44
- quoteGasPayment(_destination: Domain): Promise<string>;
45
+ quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
45
46
  populateTransferRemoteTx(transferParams: TransferRemoteParams, memo?: string): Promise<MsgTransferEncodeObject>;
46
47
  }
47
- export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter {
48
+ export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter<MsgTransferEncodeObject> {
48
49
  readonly chainName: ChainName;
49
50
  readonly multiProvider: MultiProtocolProvider;
50
51
  readonly addresses: {
@@ -52,16 +53,17 @@ export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter imple
52
53
  destinationRouterAddress: Address;
53
54
  };
54
55
  readonly properties: CosmIbcTokenAdapter['properties'] & {
55
- derivedIbcDenom: string;
56
+ intermediateIbcDenom: string;
56
57
  intermediateChainName: ChainName;
57
58
  };
58
59
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
59
60
  intermediateRouterAddress: Address;
60
61
  destinationRouterAddress: Address;
61
62
  }, properties: CosmIbcTokenAdapter['properties'] & {
62
- derivedIbcDenom: string;
63
+ intermediateIbcDenom: string;
63
64
  intermediateChainName: ChainName;
64
65
  });
66
+ quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
65
67
  populateTransferRemoteTx(transferParams: TransferRemoteParams): Promise<MsgTransferEncodeObject>;
66
68
  }
67
69
  //# sourceMappingURL=CosmosTokenAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CosmosTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CosmosTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CosmIbcToWarpTokenAdapter = exports.CosmIbcTokenAdapter = exports.CosmNativeTokenAdapter = void 0;
7
7
  const long_1 = __importDefault(require("long"));
8
+ const utils_1 = require("@hyperlane-xyz/utils");
8
9
  const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
9
10
  const CosmWasmTokenAdapter_1 = require("./CosmWasmTokenAdapter");
10
11
  const COSMOS_IBC_TRANSFER_TIMEOUT = 600000; // 10 minutes
@@ -22,11 +23,14 @@ class CosmNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmosAdapter {
22
23
  async getBalance(address) {
23
24
  const provider = await this.getProvider();
24
25
  const coin = await provider.getBalance(address, this.properties.ibcDenom);
25
- return coin.amount;
26
+ return BigInt(coin.amount);
26
27
  }
27
28
  getMetadata() {
28
29
  throw new Error('Metadata not available to native tokens');
29
30
  }
31
+ async isApproveRequired() {
32
+ return false;
33
+ }
30
34
  populateApproveTx(_transferParams) {
31
35
  throw new Error('Approve not required for native tokens');
32
36
  }
@@ -59,8 +63,9 @@ class CosmIbcTokenAdapter extends CosmNativeTokenAdapter {
59
63
  getAllRouters() {
60
64
  throw new Error('Method not applicable to IBC adapters');
61
65
  }
62
- quoteGasPayment(_destination) {
63
- throw new Error('Method not applicable to IBC adapters');
66
+ async quoteGasPayment(_destination) {
67
+ // TODO implement IBC interchain transfer gas estimation here
68
+ return { amount: 0n, addressOrDenom: this.properties.ibcDenom };
64
69
  }
65
70
  async populateTransferRemoteTx(transferParams, memo = '') {
66
71
  if (!transferParams.fromAccountOwner)
@@ -95,12 +100,26 @@ class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter {
95
100
  this.addresses = addresses;
96
101
  this.properties = properties;
97
102
  }
103
+ async quoteGasPayment(_destination) {
104
+ // TODO implement IBC interchain transfer gas estimation here
105
+ return { amount: 0n, addressOrDenom: this.properties.intermediateIbcDenom };
106
+ }
98
107
  async populateTransferRemoteTx(transferParams) {
99
108
  const cwAdapter = new CosmWasmTokenAdapter_1.CwHypCollateralAdapter(this.properties.intermediateChainName, this.multiProvider, {
100
- token: this.properties.derivedIbcDenom,
109
+ token: this.properties.intermediateIbcDenom,
101
110
  warpRouter: this.addresses.intermediateRouterAddress,
102
- }, this.properties.derivedIbcDenom);
103
- const transfer = await cwAdapter.populateTransferRemoteTx(transferParams);
111
+ });
112
+ (0, utils_1.assert)(transferParams.interchainGas?.addressOrDenom === this.properties.ibcDenom, 'Only same-denom interchain gas is supported for IBC to Warp transfers');
113
+ // This transformation is necessary to ensure the CW adapter recognizes the gas
114
+ // denom is the same as this adapter's denom (e.g. utia & igp/77...)
115
+ const intermediateInterchainGas = {
116
+ addressOrDenom: this.properties.intermediateIbcDenom,
117
+ amount: transferParams.interchainGas?.amount || 0n,
118
+ };
119
+ const transfer = await cwAdapter.populateTransferRemoteTx({
120
+ ...transferParams,
121
+ interchainGas: intermediateInterchainGas,
122
+ });
104
123
  const cwMemo = {
105
124
  wasm: {
106
125
  contract: transfer.contractAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}