@hyperlane-xyz/sdk 3.7.0 → 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 (218) hide show
  1. package/dist/consts/chainMetadata.d.ts +1 -2
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +43 -64
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +1 -2
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +2 -4
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +121 -133
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/testnet.json +166 -178
  12. package/dist/consts/multisigIsm.d.ts.map +1 -1
  13. package/dist/consts/multisigIsm.js +6 -18
  14. package/dist/consts/multisigIsm.js.map +1 -1
  15. package/dist/core/CoreDeployer.hardhat-test.js +4 -2
  16. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  17. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  18. package/dist/core/HyperlaneCoreChecker.js +3 -3
  19. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  20. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
  21. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  22. package/dist/core/HyperlaneCoreDeployer.js +24 -11
  23. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  24. package/dist/core/TestRecipientDeployer.d.ts +2 -1
  25. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  26. package/dist/core/TestRecipientDeployer.js +2 -1
  27. package/dist/core/TestRecipientDeployer.js.map +1 -1
  28. package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
  29. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  30. package/dist/deploy/HyperlaneDeployer.js +34 -13
  31. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  32. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
  33. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  34. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
  35. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  36. package/dist/deploy/types.d.ts +1 -1
  37. package/dist/deploy/types.d.ts.map +1 -1
  38. package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
  39. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  40. package/dist/deploy/verify/ContractVerifier.js +147 -121
  41. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  42. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
  43. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
  44. package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
  45. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
  46. package/dist/deploy/verify/types.d.ts +60 -3
  47. package/dist/deploy/verify/types.d.ts.map +1 -1
  48. package/dist/deploy/verify/types.js +42 -0
  49. package/dist/deploy/verify/types.js.map +1 -1
  50. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
  51. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  52. package/dist/gas/HyperlaneIgpChecker.js +8 -29
  53. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  54. package/dist/gas/HyperlaneIgpDeployer.d.ts +6 -7
  55. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  56. package/dist/gas/HyperlaneIgpDeployer.js +40 -59
  57. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  58. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +17 -22
  59. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  60. package/dist/gas/oracle/types.d.ts +6 -9
  61. package/dist/gas/oracle/types.d.ts.map +1 -1
  62. package/dist/gas/oracle/types.js +23 -1
  63. package/dist/gas/oracle/types.js.map +1 -1
  64. package/dist/gas/types.d.ts +3 -4
  65. package/dist/gas/types.d.ts.map +1 -1
  66. package/dist/gas/types.js +1 -5
  67. package/dist/gas/types.js.map +1 -1
  68. package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
  69. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  70. package/dist/hook/HyperlaneHookDeployer.js +6 -4
  71. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  72. package/dist/index.d.ts +16 -7
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +49 -22
  75. package/dist/index.js.map +1 -1
  76. package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
  77. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  78. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
  79. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  80. package/dist/ism/HyperlaneIsmFactory.js +39 -287
  81. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  82. package/dist/ism/utils.d.ts +11 -0
  83. package/dist/ism/utils.d.ts.map +1 -0
  84. package/dist/ism/utils.js +277 -0
  85. package/dist/ism/utils.js.map +1 -0
  86. package/dist/metadata/ChainMetadataManager.d.ts +43 -21
  87. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  88. package/dist/metadata/ChainMetadataManager.js +26 -0
  89. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  90. package/dist/metadata/agentConfig.d.ts +97 -46
  91. package/dist/metadata/agentConfig.d.ts.map +1 -1
  92. package/dist/metadata/blockExplorer.d.ts +6 -1
  93. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  94. package/dist/metadata/blockExplorer.js +15 -1
  95. package/dist/metadata/blockExplorer.js.map +1 -1
  96. package/dist/metadata/chainMetadataTypes.d.ts +188 -1
  97. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  98. package/dist/metadata/chainMetadataTypes.js +14 -4
  99. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  100. package/dist/metadata/customZodTypes.d.ts +2 -0
  101. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  102. package/dist/metadata/customZodTypes.js +3 -1
  103. package/dist/metadata/customZodTypes.js.map +1 -1
  104. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
  105. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  106. package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
  107. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  108. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
  109. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  110. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
  111. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  112. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
  113. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  114. package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
  115. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  116. package/dist/providers/MultiProtocolProvider.d.ts +10 -12
  117. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  118. package/dist/providers/MultiProtocolProvider.js +2 -7
  119. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  120. package/dist/providers/MultiProvider.d.ts +17 -17
  121. package/dist/providers/MultiProvider.d.ts.map +1 -1
  122. package/dist/providers/MultiProvider.js +1 -0
  123. package/dist/providers/MultiProvider.js.map +1 -1
  124. package/dist/providers/ProviderType.d.ts +5 -2
  125. package/dist/providers/ProviderType.d.ts.map +1 -1
  126. package/dist/providers/ProviderType.js +10 -1
  127. package/dist/providers/ProviderType.js.map +1 -1
  128. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  129. package/dist/providers/SmartProvider/SmartProvider.js +2 -2
  130. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  131. package/dist/providers/providerBuilders.d.ts.map +1 -1
  132. package/dist/providers/providerBuilders.js +1 -0
  133. package/dist/providers/providerBuilders.js.map +1 -1
  134. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  135. package/dist/router/HyperlaneRouterChecker.js +2 -2
  136. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  137. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  138. package/dist/router/HyperlaneRouterDeployer.js +2 -3
  139. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  140. package/dist/test/testUtils.d.ts +1 -2
  141. package/dist/test/testUtils.d.ts.map +1 -1
  142. package/dist/test/testUtils.js +12 -28
  143. package/dist/test/testUtils.js.map +1 -1
  144. package/dist/token/IToken.d.ts +147 -0
  145. package/dist/token/IToken.d.ts.map +1 -0
  146. package/dist/token/IToken.js +37 -0
  147. package/dist/token/IToken.js.map +1 -0
  148. package/dist/token/Token.d.ts +58 -0
  149. package/dist/token/Token.d.ts.map +1 -0
  150. package/dist/token/Token.js +260 -0
  151. package/dist/token/Token.js.map +1 -0
  152. package/dist/token/Token.test.d.ts +2 -0
  153. package/dist/token/Token.test.d.ts.map +1 -0
  154. package/dist/token/Token.test.js +155 -0
  155. package/dist/token/Token.test.js.map +1 -0
  156. package/dist/token/TokenAmount.d.ts +12 -0
  157. package/dist/token/TokenAmount.d.ts.map +1 -0
  158. package/dist/token/TokenAmount.js +24 -0
  159. package/dist/token/TokenAmount.js.map +1 -0
  160. package/dist/token/TokenAmount.test.d.ts +2 -0
  161. package/dist/token/TokenAmount.test.d.ts.map +1 -0
  162. package/dist/token/TokenAmount.test.js +41 -0
  163. package/dist/token/TokenAmount.test.js.map +1 -0
  164. package/dist/token/TokenConnection.d.ts +81 -0
  165. package/dist/token/TokenConnection.d.ts.map +1 -0
  166. package/dist/token/TokenConnection.js +36 -0
  167. package/dist/token/TokenConnection.js.map +1 -0
  168. package/dist/token/TokenStandard.d.ts +36 -0
  169. package/dist/token/TokenStandard.d.ts.map +1 -0
  170. package/dist/token/TokenStandard.js +118 -0
  171. package/dist/token/TokenStandard.js.map +1 -0
  172. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
  173. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  174. package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
  175. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  176. package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
  177. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  178. package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
  179. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  180. package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
  181. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  182. package/dist/token/adapters/EvmTokenAdapter.js +69 -23
  183. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  184. package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
  185. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  186. package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
  187. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  188. package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
  189. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  190. package/dist/token/deploy.d.ts +3 -2
  191. package/dist/token/deploy.d.ts.map +1 -1
  192. package/dist/token/deploy.js +4 -2
  193. package/dist/token/deploy.js.map +1 -1
  194. package/dist/types.d.ts +2 -1
  195. package/dist/types.d.ts.map +1 -1
  196. package/dist/warp/WarpCore.d.ts +76 -0
  197. package/dist/warp/WarpCore.d.ts.map +1 -0
  198. package/dist/warp/WarpCore.js +288 -0
  199. package/dist/warp/WarpCore.js.map +1 -0
  200. package/dist/warp/WarpCore.test.d.ts +2 -0
  201. package/dist/warp/WarpCore.test.d.ts.map +1 -0
  202. package/dist/warp/WarpCore.test.js +143 -0
  203. package/dist/warp/WarpCore.test.js.map +1 -0
  204. package/dist/warp/types.d.ts +274 -0
  205. package/dist/warp/types.d.ts.map +1 -0
  206. package/dist/warp/types.js +38 -0
  207. package/dist/warp/types.js.map +1 -0
  208. package/logos/black/cosmwasm.svg +1 -1
  209. package/logos/black/plume.svg +29 -0
  210. package/logos/color/cosmos.svg +1 -1
  211. package/logos/color/cosmwasm.svg +1 -1
  212. package/logos/color/manta.svg +1 -1
  213. package/logos/color/plume.svg +24 -0
  214. package/package.json +5 -4
  215. package/dist/gas/oracle/logging.d.ts +0 -7
  216. package/dist/gas/oracle/logging.d.ts.map +0 -1
  217. package/dist/gas/oracle/logging.js +0 -18
  218. package/dist/gas/oracle/logging.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"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"}
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":";;;;;;AACA,gDAAwB;AAIxB,iEAA+D;AAK/D,iEAAgE;AAQhE,MAAM,2BAA2B,GAAG,MAAO,CAAC,CAAC,aAAa;AAE1D,uEAAuE;AACvE,MAAa,sBACX,SAAQ,oCAAiB;IAGzB,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAAkC,EAClC,UAEf;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ;YACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAT3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAyB;QAClC,eAAU,GAAV,UAAU,CAEzB;IAKH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,eAA+B;QAC/C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,eAA+B;QAE/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;CACF;AApCD,wDAoCC;AAED,oFAAoF;AACpF,mFAAmF;AACnF,0EAA0E;AAC1E,MAAa,mBACX,SAAQ,sBAAsB;IAG9B,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAAkC,EAClC,UAIf;QAED,IACE,CAAC,UAAU,CAAC,QAAQ;YACpB,CAAC,UAAU,CAAC,UAAU;YACtB,CAAC,UAAU,CAAC,aAAa;YAEzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAfvC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAyB;QAClC,eAAU,GAAV,UAAU,CAIzB;IASH,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,gBAAgB,CAAC,OAAe;QAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa;QAMX,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,eAAe,CAAC,YAAoB;QAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,cAAoC,EACpC,IAAI,GAAG,EAAE;QAET,IAAI,CAAC,cAAc,CAAC,gBAAgB;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YACtC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;YAC5C,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC/B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE;aAChD;YACD,MAAM,EAAE,cAAc,CAAC,gBAAgB;YACvC,QAAQ,EAAE,cAAc,CAAC,SAAS;YAClC,8BAA8B;YAC9B,gBAAgB,EAAE,cAAI,CAAC,UAAU,CAC/B,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,2BAA2B,CACnD,CAAC,QAAQ,CAAC,OAAS,CAAC;YACrB,IAAI;SACL,CAAC;QACF,OAAO;YACL,OAAO,EAAE,2CAA2C;YACpD,KAAK;SACN,CAAC;IACJ,CAAC;CACF;AApED,kDAoEC;AAED,wFAAwF;AACxF,6CAA6C;AAC7C,MAAa,yBACX,SAAQ,mBAAmB;IAG3B,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAGf,EACe,UAGf;QAED,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAXvC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAGxB;QACe,eAAU,GAAV,UAAU,CAGzB;IAGH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,cAAoC;QAEpC,MAAM,SAAS,GAAG,IAAI,6CAAsB,CAC1C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EACrC,IAAI,CAAC,aAAa,EAClB;YACE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;YACtC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB;SACrD,EACD,IAAI,CAAC,UAAU,CAAC,eAAe,CAChC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG;YACb,IAAI,EAAE;gBACJ,QAAQ,EAAE,QAAQ,CAAC,eAAe;gBAClC,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;SACF,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;YAChC,0FAA0F;YAC1F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QACD,uEAAuE;QACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,OAAO,KAAK,CAAC,wBAAwB,CACnC;YACE,GAAG,cAAc;YACjB,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB;SACpD,EACD,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AAvDD,8DAuDC"}
1
+ {"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,20 @@
1
1
  /// <reference types="node" />
2
2
  import { PopulatedTransaction } from 'ethers';
3
- import { ERC20, HypERC20 } from '@hyperlane-xyz/core';
4
- import { Address, Domain } from '@hyperlane-xyz/utils';
3
+ import { ERC20, HypERC20, HypERC20Collateral } from '@hyperlane-xyz/core';
4
+ import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
5
5
  import { BaseEvmAdapter } from '../../app/MultiProtocolApp';
6
6
  import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
7
7
  import { ChainName } from '../../types';
8
8
  import { MinimalTokenMetadata } from '../config';
9
- import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
10
- export declare class EvmNativeTokenAdapter extends BaseEvmAdapter implements ITokenAdapter {
11
- getBalance(address: Address): Promise<string>;
9
+ import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
10
+ export declare class EvmNativeTokenAdapter extends BaseEvmAdapter implements ITokenAdapter<PopulatedTransaction> {
11
+ getBalance(address: Address): Promise<bigint>;
12
12
  getMetadata(): Promise<MinimalTokenMetadata>;
13
+ isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>;
13
14
  populateApproveTx(_params: TransferParams): Promise<PopulatedTransaction>;
14
15
  populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
15
16
  }
16
- export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeTokenAdapter implements ITokenAdapter {
17
+ export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeTokenAdapter implements ITokenAdapter<PopulatedTransaction> {
17
18
  readonly chainName: ChainName;
18
19
  readonly multiProvider: MultiProtocolProvider;
19
20
  readonly addresses: {
@@ -24,12 +25,13 @@ export declare class EvmTokenAdapter<T extends ERC20 = ERC20> extends EvmNativeT
24
25
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
25
26
  token: Address;
26
27
  }, contractFactory?: any);
27
- getBalance(address: Address): Promise<string>;
28
+ getBalance(address: Address): Promise<bigint>;
28
29
  getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
30
+ isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
29
31
  populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
30
32
  populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<PopulatedTransaction>;
31
33
  }
32
- export declare class EvmHypSyntheticAdapter<T extends HypERC20 = HypERC20> extends EvmTokenAdapter<T> implements IHypTokenAdapter {
34
+ export declare class EvmHypSyntheticAdapter extends EvmTokenAdapter<HypERC20> implements IHypTokenAdapter<PopulatedTransaction> {
33
35
  readonly chainName: ChainName;
34
36
  readonly multiProvider: MultiProtocolProvider;
35
37
  readonly addresses: {
@@ -39,27 +41,36 @@ export declare class EvmHypSyntheticAdapter<T extends HypERC20 = HypERC20> exten
39
41
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
40
42
  token: Address;
41
43
  }, contractFactory?: any);
44
+ isApproveRequired(_owner: Address, _spender: Address, _weiAmountOrId: Numberish): Promise<boolean>;
42
45
  getDomains(): Promise<Domain[]>;
43
46
  getRouterAddress(domain: Domain): Promise<Buffer>;
44
47
  getAllRouters(): Promise<Array<{
45
48
  domain: Domain;
46
49
  address: Buffer;
47
50
  }>>;
48
- quoteGasPayment(destination: Domain): Promise<string>;
49
- populateTransferRemoteTx({ weiAmountOrId, destination, recipient, txValue, }: TransferRemoteParams): Promise<PopulatedTransaction>;
51
+ quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
52
+ populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<PopulatedTransaction>;
50
53
  }
51
- export declare class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter implements IHypTokenAdapter {
54
+ export declare class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter implements IHypTokenAdapter<PopulatedTransaction> {
52
55
  readonly chainName: ChainName;
53
56
  readonly multiProvider: MultiProtocolProvider;
54
57
  readonly addresses: {
55
58
  token: Address;
56
59
  };
57
- readonly contractFactory: any;
60
+ readonly collateralContract: HypERC20Collateral;
61
+ protected wrappedTokenAddress?: Address;
58
62
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
59
63
  token: Address;
60
- }, contractFactory?: any);
61
- getMetadata(): Promise<MinimalTokenMetadata>;
62
- populateApproveTx(_params: TransferParams): Promise<PopulatedTransaction>;
63
- populateTransferTx(_params: TransferParams): Promise<PopulatedTransaction>;
64
+ });
65
+ protected getWrappedTokenAddress(): Promise<Address>;
66
+ protected getWrappedTokenAdapter(): Promise<ITokenAdapter<PopulatedTransaction>>;
67
+ getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
68
+ isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
69
+ populateApproveTx(params: TransferParams): Promise<PopulatedTransaction>;
70
+ populateTransferTx(params: TransferParams): Promise<PopulatedTransaction>;
71
+ }
72
+ export declare class EvmHypNativeAdapter extends EvmHypCollateralAdapter implements IHypTokenAdapter<PopulatedTransaction> {
73
+ isApproveRequired(): Promise<boolean>;
74
+ populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }: TransferRemoteParams): Promise<PopulatedTransaction>;
64
75
  }
65
76
  //# sourceMappingURL=EvmTokenAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EvmHypCollateralAdapter = exports.EvmHypSyntheticAdapter = exports.EvmTokenAdapter = exports.EvmNativeTokenAdapter = void 0;
3
+ exports.EvmHypNativeAdapter = exports.EvmHypCollateralAdapter = exports.EvmHypSyntheticAdapter = exports.EvmTokenAdapter = exports.EvmNativeTokenAdapter = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const core_1 = require("@hyperlane-xyz/core");
6
6
  const utils_1 = require("@hyperlane-xyz/utils");
@@ -9,17 +9,20 @@ const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
9
9
  class EvmNativeTokenAdapter extends MultiProtocolApp_1.BaseEvmAdapter {
10
10
  async getBalance(address) {
11
11
  const balance = await this.getProvider().getBalance(address);
12
- return balance.toString();
12
+ return BigInt(balance.toString());
13
13
  }
14
14
  async getMetadata() {
15
15
  // TODO get metadata from chainMetadata config
16
16
  throw new Error('Metadata not available to native tokens');
17
17
  }
18
+ async isApproveRequired(_owner, _spender, _weiAmountOrId) {
19
+ return false;
20
+ }
18
21
  async populateApproveTx(_params) {
19
22
  throw new Error('Approve not required for native tokens');
20
23
  }
21
24
  async populateTransferTx({ weiAmountOrId, recipient, }) {
22
- const value = ethers_1.BigNumber.from(weiAmountOrId);
25
+ const value = ethers_1.BigNumber.from(weiAmountOrId.toString());
23
26
  return { value, to: recipient };
24
27
  }
25
28
  }
@@ -36,7 +39,7 @@ class EvmTokenAdapter extends EvmNativeTokenAdapter {
36
39
  }
37
40
  async getBalance(address) {
38
41
  const balance = await this.contract.balanceOf(address);
39
- return balance.toString();
42
+ return BigInt(balance.toString());
40
43
  }
41
44
  async getMetadata(isNft) {
42
45
  const [decimals, symbol, name] = await Promise.all([
@@ -46,11 +49,15 @@ class EvmTokenAdapter extends EvmNativeTokenAdapter {
46
49
  ]);
47
50
  return { decimals, symbol, name };
48
51
  }
52
+ async isApproveRequired(owner, spender, weiAmountOrId) {
53
+ const allowance = await this.contract.allowance(owner, spender);
54
+ return allowance.lt(weiAmountOrId);
55
+ }
49
56
  populateApproveTx({ weiAmountOrId, recipient, }) {
50
- return this.contract.populateTransaction.approve(recipient, weiAmountOrId);
57
+ return this.contract.populateTransaction.approve(recipient, weiAmountOrId.toString());
51
58
  }
52
59
  populateTransferTx({ weiAmountOrId, recipient, }) {
53
- return this.contract.populateTransaction.transfer(recipient, weiAmountOrId);
60
+ return this.contract.populateTransaction.transfer(recipient, weiAmountOrId.toString());
54
61
  }
55
62
  }
56
63
  exports.EvmTokenAdapter = EvmTokenAdapter;
@@ -63,6 +70,9 @@ class EvmHypSyntheticAdapter extends EvmTokenAdapter {
63
70
  this.addresses = addresses;
64
71
  this.contractFactory = contractFactory;
65
72
  }
73
+ async isApproveRequired(_owner, _spender, _weiAmountOrId) {
74
+ return false;
75
+ }
66
76
  getDomains() {
67
77
  return this.contract.domains();
68
78
  }
@@ -84,36 +94,72 @@ class EvmHypSyntheticAdapter extends EvmTokenAdapter {
84
94
  }
85
95
  async quoteGasPayment(destination) {
86
96
  const gasPayment = await this.contract.quoteGasPayment(destination);
87
- return gasPayment.toString();
97
+ // If EVM hyp contracts eventually support alternative IGP tokens,
98
+ // this would need to determine the correct token address
99
+ return { amount: BigInt(gasPayment.toString()) };
88
100
  }
89
- populateTransferRemoteTx({ weiAmountOrId, destination, recipient, txValue, }) {
101
+ async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }) {
102
+ if (!interchainGas)
103
+ interchainGas = await this.quoteGasPayment(destination);
90
104
  const recipBytes32 = (0, utils_1.addressToBytes32)((0, utils_1.addressToByteHexString)(recipient));
91
- return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, {
92
- // Note, typically the value is the gas payment as quoted by IGP
93
- value: txValue,
94
- });
105
+ return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, { value: interchainGas.amount.toString() });
95
106
  }
96
107
  }
97
108
  exports.EvmHypSyntheticAdapter = EvmHypSyntheticAdapter;
98
- // Interacts with HypCollateral and HypNative contracts
109
+ // Interacts with HypCollateral contracts
99
110
  class EvmHypCollateralAdapter extends EvmHypSyntheticAdapter {
100
- constructor(chainName, multiProvider, addresses, contractFactory = core_1.HypERC20Collateral__factory) {
101
- super(chainName, multiProvider, addresses, contractFactory);
111
+ constructor(chainName, multiProvider, addresses) {
112
+ super(chainName, multiProvider, addresses);
102
113
  this.chainName = chainName;
103
114
  this.multiProvider = multiProvider;
104
115
  this.addresses = addresses;
105
- this.contractFactory = contractFactory;
116
+ this.collateralContract = core_1.HypERC20Collateral__factory.connect(addresses.token, this.getProvider());
117
+ }
118
+ async getWrappedTokenAddress() {
119
+ if (!this.wrappedTokenAddress) {
120
+ this.wrappedTokenAddress = await this.collateralContract.wrappedToken();
121
+ }
122
+ return this.wrappedTokenAddress;
106
123
  }
107
- getMetadata() {
108
- // TODO pass through metadata from wrapped token or chainMetadata config
109
- throw new Error('Metadata not available for HypCollateral/HypNative contract.');
124
+ async getWrappedTokenAdapter() {
125
+ return new EvmTokenAdapter(this.chainName, this.multiProvider, {
126
+ token: await this.getWrappedTokenAddress(),
127
+ });
128
+ }
129
+ getMetadata(isNft) {
130
+ return this.getWrappedTokenAdapter().then((t) => t.getMetadata(isNft));
131
+ }
132
+ isApproveRequired(owner, spender, weiAmountOrId) {
133
+ return this.getWrappedTokenAdapter().then((t) => t.isApproveRequired(owner, spender, weiAmountOrId));
110
134
  }
111
- populateApproveTx(_params) {
112
- throw new Error('Approve not applicable to HypCollateral/HypNative contract.');
135
+ populateApproveTx(params) {
136
+ return this.getWrappedTokenAdapter().then((t) => t.populateApproveTx(params));
113
137
  }
114
- populateTransferTx(_params) {
115
- throw new Error('Local transfer not supported for HypCollateral/HypNative contract.');
138
+ populateTransferTx(params) {
139
+ return this.getWrappedTokenAdapter().then((t) => t.populateTransferTx(params));
116
140
  }
117
141
  }
118
142
  exports.EvmHypCollateralAdapter = EvmHypCollateralAdapter;
143
+ // Interacts HypNative contracts
144
+ class EvmHypNativeAdapter extends EvmHypCollateralAdapter {
145
+ async isApproveRequired() {
146
+ return false;
147
+ }
148
+ async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }) {
149
+ if (!interchainGas)
150
+ interchainGas = await this.quoteGasPayment(destination);
151
+ let txValue = undefined;
152
+ const { addressOrDenom: igpAddressOrDenom, amount: igpAmount } = interchainGas;
153
+ // If the igp token is native Eth
154
+ if (!igpAddressOrDenom) {
155
+ txValue = igpAmount + BigInt(weiAmountOrId);
156
+ }
157
+ else {
158
+ txValue = igpAmount;
159
+ }
160
+ const recipBytes32 = (0, utils_1.addressToBytes32)((0, utils_1.addressToByteHexString)(recipient));
161
+ return this.contract.populateTransaction.transferRemote(destination, recipBytes32, weiAmountOrId, { value: txValue?.toString() });
162
+ }
163
+ }
164
+ exports.EvmHypNativeAdapter = EvmHypNativeAdapter;
119
165
  //# sourceMappingURL=EvmTokenAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,35 @@
1
1
  /// <reference types="node" />
2
- import { Address, Domain } from '@hyperlane-xyz/utils';
2
+ import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
3
3
  import { MinimalTokenMetadata } from '../config';
4
4
  export interface TransferParams {
5
- weiAmountOrId: string | number;
5
+ weiAmountOrId: Numberish;
6
6
  recipient: Address;
7
- fromTokenAccount?: Address;
8
7
  fromAccountOwner?: Address;
8
+ fromTokenAccount?: Address;
9
9
  }
10
10
  export interface TransferRemoteParams extends TransferParams {
11
11
  destination: Domain;
12
- txValue?: string;
12
+ interchainGas?: InterchainGasQuote;
13
+ }
14
+ export interface InterchainGasQuote {
15
+ addressOrDenom?: string;
16
+ amount: bigint;
13
17
  }
14
- export interface ITokenAdapter {
15
- getBalance(address: Address): Promise<string>;
18
+ export interface ITokenAdapter<Tx> {
19
+ getBalance(address: Address): Promise<bigint>;
16
20
  getMetadata(isNft?: boolean): Promise<MinimalTokenMetadata>;
17
- populateApproveTx(TransferParams: TransferParams): unknown | Promise<unknown>;
18
- populateTransferTx(TransferParams: TransferParams): unknown | Promise<unknown>;
21
+ isApproveRequired(owner: Address, spender: Address, weiAmountOrId: Numberish): Promise<boolean>;
22
+ populateApproveTx(params: TransferParams): Promise<Tx>;
23
+ populateTransferTx(params: TransferParams): Promise<Tx>;
19
24
  }
20
- export interface IHypTokenAdapter extends ITokenAdapter {
25
+ export interface IHypTokenAdapter<Tx> extends ITokenAdapter<Tx> {
21
26
  getDomains(): Promise<Domain[]>;
22
27
  getRouterAddress(domain: Domain): Promise<Buffer>;
23
28
  getAllRouters(): Promise<Array<{
24
29
  domain: Domain;
25
30
  address: Buffer;
26
31
  }>>;
27
- quoteGasPayment(destination: Domain): Promise<string>;
28
- populateTransferRemoteTx(TransferParams: TransferRemoteParams): unknown | Promise<unknown>;
32
+ quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
33
+ populateTransferRemoteTx(p: TransferRemoteParams): Promise<Tx>;
29
34
  }
30
35
  //# sourceMappingURL=ITokenAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IAInB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,kBAAkB,CAChB,cAAc,EAAE,cAAc,GAC7B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,wBAAwB,CACtB,cAAc,EAAE,oBAAoB,GACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa,CAAC,EAAE;IAC/B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5D,iBAAiB,CACf,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,SAAS,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACvD,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB,CAAC,EAAE,CAAE,SAAQ,aAAa,CAAC,EAAE,CAAC;IAC7D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;CAChE"}