@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
@@ -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":";AAAA,OAAO,EAAa,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EACL,KAAK,EAEL,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EACP,MAAM,EAKP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,qBACX,SAAQ,cACR,YAAW,aAAa;IAElB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAK5C,iBAAiB,CACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAI1B,kBAAkB,CAAC,EACvB,aAAa,EACb,SAAS,GACV,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAIlD;AAGD,qBAAa,eAAe,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAClD,SAAQ,qBACR,YAAW,aAAa;aAKN,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;aAC7B,eAAe,EAAE,GAAG;IANtC,SAAgB,QAAQ,EAAE,CAAC,CAAC;gBAGV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAC7B,eAAe,GAAE,GAAoB;IASxC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IASjE,iBAAiB,CAAC,EACzB,aAAa,EACb,SAAS,GACV,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIxC,kBAAkB,CAAC,EAC1B,aAAa,EACb,SAAS,GACV,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGlD;AAGD,qBAAa,sBAAsB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAC/D,SAAQ,eAAe,CAAC,CAAC,CACzB,YAAW,gBAAgB;aAGT,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;aAC7B,eAAe,EAAE,GAAG;gBAHpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAC7B,eAAe,GAAE,GAAuB;IAK1D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcjD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAQpE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3D,wBAAwB,CAAC,EACvB,aAAa,EACb,WAAW,EACX,SAAS,EACT,OAAO,GACR,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAYxD;AAGD,qBAAa,uBACX,SAAQ,sBACR,YAAW,gBAAgB;aAGT,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;aAC7B,eAAe,EAAE,GAAG;gBAHpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAC7B,eAAe,GAAE,GAAiC;IAK3D,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAO5C,iBAAiB,CACxB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAMvB,kBAAkB,CACzB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC;CAKjC"}
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":";;;AAAA,mCAAyD;AAEzD,8CAM6B;AAC7B,gDAO8B;AAE9B,iEAA4D;AAY5D,mCAAmC;AACnC,MAAa,qBACX,SAAQ,iCAAc;IAGtB,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,8CAA8C;QAC9C,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,aAAa,EACb,SAAS,GACM;QACf,MAAM,KAAK,GAAG,kBAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;CACF;AA3BD,sDA2BC;AAED,qCAAqC;AACrC,MAAa,eACX,SAAQ,qBAAqB;IAK7B,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAA6B,EAC7B,kBAAuB,qBAAc;QAErD,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAL3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAoB;QAC7B,oBAAe,GAAf,eAAe,CAAsB;QAGrD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CACrC,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,OAAgB;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,KAAe;QACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAEQ,iBAAiB,CAAC,EACzB,aAAa,EACb,SAAS,GACM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7E,CAAC;IAEQ,kBAAkB,CAAC,EAC1B,aAAa,EACb,SAAS,GACM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9E,CAAC;CACF;AA9CD,0CA8CC;AAED,iEAAiE;AACjE,MAAa,sBACX,SAAQ,eAAkB;IAG1B,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAA6B,EAC7B,kBAAuB,wBAAiB;QAExD,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAL5C,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAoB;QAC7B,oBAAe,GAAf,eAAe,CAAyB;IAG1D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,6CAA6C;QAC7C,IAAI,wBAAwB,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE;YACrE,OAAO,MAAM,CAAC,IAAI,CAChB,IAAA,eAAO,EAAC,IAAA,wBAAgB,EAAC,wBAAwB,CAAC,CAAC,EACnD,KAAK,CACN,CAAC;YACF,wCAAwC;SACzC;aAAM;YACL,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,OAAO,GAAa,MAAM,OAAO,CAAC,GAAG,CACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,wBAAwB,CAAC,EACvB,aAAa,EACb,WAAW,EACX,SAAS,EACT,OAAO,GACc;QACrB,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,IAAA,8BAAsB,EAAC,SAAS,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CACrD,WAAW,EACX,YAAY,EACZ,aAAa,EACb;YACE,gEAAgE;YAChE,KAAK,EAAE,OAAO;SACf,CACF,CAAC;IACJ,CAAC;CACF;AA7DD,wDA6DC;AAED,uDAAuD;AACvD,MAAa,uBACX,SAAQ,sBAAsB;IAG9B,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAA6B,EAC7B,kBAAuB,kCAA2B;QAElE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAL5C,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAoB;QAC7B,oBAAe,GAAf,eAAe,CAAmC;IAGpE,CAAC;IAEQ,WAAW;QAClB,wEAAwE;QACxE,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAEQ,iBAAiB,CACxB,OAAuB;QAEvB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEQ,kBAAkB,CACzB,OAAuB;QAEvB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;CACF;AAnCD,0DAmCC"}
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"}
@@ -5,15 +5,16 @@ import { BaseSealevelAdapter } 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';
8
+ import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
9
9
  import { SealevelHyperlaneTokenData } from './serialization';
10
- export declare class SealevelNativeTokenAdapter extends BaseSealevelAdapter implements ITokenAdapter {
11
- getBalance(address: Address): Promise<string>;
10
+ export declare class SealevelNativeTokenAdapter extends BaseSealevelAdapter implements ITokenAdapter<Transaction> {
11
+ getBalance(address: Address): Promise<bigint>;
12
12
  getMetadata(): Promise<MinimalTokenMetadata>;
13
- populateApproveTx(_params: TransferParams): Transaction;
14
- populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, }: TransferParams): Transaction;
13
+ isApproveRequired(): Promise<boolean>;
14
+ populateApproveTx(): Promise<Transaction>;
15
+ populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, }: TransferParams): Promise<Transaction>;
15
16
  }
16
- export declare class SealevelTokenAdapter extends BaseSealevelAdapter implements ITokenAdapter {
17
+ export declare class SealevelTokenAdapter extends BaseSealevelAdapter implements ITokenAdapter<Transaction> {
17
18
  readonly chainName: ChainName;
18
19
  readonly multiProvider: MultiProtocolProvider;
19
20
  readonly addresses: {
@@ -24,14 +25,15 @@ export declare class SealevelTokenAdapter extends BaseSealevelAdapter implements
24
25
  constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
25
26
  token: Address;
26
27
  }, isSpl2022?: boolean);
27
- getBalance(owner: Address): Promise<string>;
28
+ getBalance(owner: Address): Promise<bigint>;
28
29
  getMetadata(_isNft?: boolean): Promise<MinimalTokenMetadata>;
30
+ isApproveRequired(): Promise<boolean>;
29
31
  populateApproveTx(_params: TransferParams): Promise<Transaction>;
30
- populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, fromTokenAccount, }: TransferParams): Transaction;
32
+ populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, fromTokenAccount, }: TransferParams): Promise<Transaction>;
31
33
  getTokenProgramId(): PublicKey;
32
34
  deriveAssociatedTokenAccount(owner: PublicKey): PublicKey;
33
35
  }
34
- export declare abstract class SealevelHypTokenAdapter extends SealevelTokenAdapter implements IHypTokenAdapter {
36
+ export declare abstract class SealevelHypTokenAdapter extends SealevelTokenAdapter implements IHypTokenAdapter<Transaction> {
35
37
  readonly chainName: ChainName;
36
38
  readonly multiProvider: MultiProtocolProvider;
37
39
  readonly addresses: {
@@ -55,7 +57,7 @@ export declare abstract class SealevelHypTokenAdapter extends SealevelTokenAdapt
55
57
  domain: Domain;
56
58
  address: Buffer;
57
59
  }>>;
58
- quoteGasPayment(_destination: Domain): Promise<string>;
60
+ quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
59
61
  populateTransferRemoteTx({ weiAmountOrId, destination, recipient, fromAccountOwner, }: TransferRemoteParams): Promise<Transaction>;
60
62
  getIgpKeys(): Promise<KeyListParams['igp']>;
61
63
  getTransferInstructionKeyList({ sender, mailbox, randomWallet, igp, }: KeyListParams): Array<AccountMeta>;
@@ -79,19 +81,19 @@ export declare class SealevelHypNativeAdapter extends SealevelHypTokenAdapter {
79
81
  warpRouter: Address;
80
82
  mailbox: Address;
81
83
  }, isSpl2022?: boolean);
82
- getBalance(owner: Address): Promise<string>;
84
+ getBalance(owner: Address): Promise<bigint>;
83
85
  getMetadata(): Promise<MinimalTokenMetadata>;
84
86
  getTransferInstructionKeyList(params: KeyListParams): Array<AccountMeta>;
85
87
  deriveNativeTokenCollateralAccount(): PublicKey;
86
88
  }
87
89
  export declare class SealevelHypCollateralAdapter extends SealevelHypTokenAdapter {
88
- getBalance(owner: Address): Promise<string>;
90
+ getBalance(owner: Address): Promise<bigint>;
89
91
  getTransferInstructionKeyList(params: KeyListParams): Array<AccountMeta>;
90
92
  deriveEscrowAccount(): PublicKey;
91
93
  }
92
94
  export declare class SealevelHypSyntheticAdapter extends SealevelHypTokenAdapter {
93
95
  getTransferInstructionKeyList(params: KeyListParams): Array<AccountMeta>;
94
- getBalance(owner: Address): Promise<string>;
96
+ getBalance(owner: Address): Promise<bigint>;
95
97
  deriveMintAuthorityAccount(): PublicKey;
96
98
  deriveAssociatedTokenAccount(owner: PublicKey): PublicKey;
97
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/SealevelTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SealevelTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/SealevelTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
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.SealevelHypSyntheticAdapter = exports.SealevelHypCollateralAdapter = exports.SealevelHypNativeAdapter = exports.SealevelHypTokenAdapter = exports.SealevelTokenAdapter = exports.SealevelNativeTokenAdapter = void 0;
7
4
  const spl_token_1 = require("@solana/spl-token");
8
5
  const web3_js_1 = require("@solana/web3.js");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
6
  const borsh_1 = require("borsh");
11
7
  const utils_1 = require("@hyperlane-xyz/utils");
12
8
  const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
@@ -20,21 +16,24 @@ const serialization_2 = require("./serialization");
20
16
  class SealevelNativeTokenAdapter extends MultiProtocolApp_1.BaseSealevelAdapter {
21
17
  async getBalance(address) {
22
18
  const balance = await this.getProvider().getBalance(new web3_js_1.PublicKey(address));
23
- return balance.toString();
19
+ return BigInt(balance.toString());
24
20
  }
25
21
  async getMetadata() {
26
22
  throw new Error('Metadata not available to native tokens');
27
23
  }
28
- populateApproveTx(_params) {
24
+ async isApproveRequired() {
25
+ return false;
26
+ }
27
+ async populateApproveTx() {
29
28
  throw new Error('Approve not required for native tokens');
30
29
  }
31
- populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, }) {
30
+ async populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, }) {
32
31
  if (!fromAccountOwner)
33
32
  throw new Error('fromAccountOwner required for Sealevel');
34
33
  return new web3_js_1.Transaction().add(web3_js_1.SystemProgram.transfer({
35
34
  fromPubkey: new web3_js_1.PublicKey(fromAccountOwner),
36
35
  toPubkey: new web3_js_1.PublicKey(recipient),
37
- lamports: new bignumber_js_1.default(weiAmountOrId).toNumber(),
36
+ lamports: BigInt(weiAmountOrId),
38
37
  }));
39
38
  }
40
39
  }
@@ -52,21 +51,24 @@ class SealevelTokenAdapter extends MultiProtocolApp_1.BaseSealevelAdapter {
52
51
  async getBalance(owner) {
53
52
  const tokenPubKey = this.deriveAssociatedTokenAccount(new web3_js_1.PublicKey(owner));
54
53
  const response = await this.getProvider().getTokenAccountBalance(tokenPubKey);
55
- return response.value.amount;
54
+ return BigInt(response.value.amount);
56
55
  }
57
56
  async getMetadata(_isNft) {
58
57
  // TODO solana support
59
58
  return { decimals: 9, symbol: 'SPL', name: 'SPL Token' };
60
59
  }
60
+ async isApproveRequired() {
61
+ return false;
62
+ }
61
63
  populateApproveTx(_params) {
62
64
  throw new Error('Approve not required for sealevel tokens');
63
65
  }
64
- populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, fromTokenAccount, }) {
66
+ async populateTransferTx({ weiAmountOrId, recipient, fromAccountOwner, fromTokenAccount, }) {
65
67
  if (!fromTokenAccount)
66
68
  throw new Error('fromTokenAccount required for Sealevel');
67
69
  if (!fromAccountOwner)
68
70
  throw new Error('fromAccountOwner required for Sealevel');
69
- return new web3_js_1.Transaction().add((0, spl_token_1.createTransferInstruction)(new web3_js_1.PublicKey(fromTokenAccount), new web3_js_1.PublicKey(recipient), new web3_js_1.PublicKey(fromAccountOwner), new bignumber_js_1.default(weiAmountOrId).toNumber()));
71
+ return new web3_js_1.Transaction().add((0, spl_token_1.createTransferInstruction)(new web3_js_1.PublicKey(fromTokenAccount), new web3_js_1.PublicKey(recipient), new web3_js_1.PublicKey(fromAccountOwner), BigInt(weiAmountOrId)));
70
72
  }
71
73
  getTokenProgramId() {
72
74
  return this.isSpl2022 ? spl_token_1.TOKEN_2022_PROGRAM_ID : spl_token_1.TOKEN_PROGRAM_ID;
@@ -138,7 +140,7 @@ class SealevelHypTokenAdapter extends SealevelTokenAdapter {
138
140
  }
139
141
  async quoteGasPayment(_destination) {
140
142
  // TODO Solana support
141
- return '0';
143
+ return { amount: 0n };
142
144
  }
143
145
  async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, fromAccountOwner, }) {
144
146
  if (!fromAccountOwner)
@@ -157,7 +159,7 @@ class SealevelHypTokenAdapter extends SealevelTokenAdapter {
157
159
  data: new serialization_2.SealevelTransferRemoteInstruction({
158
160
  destination_domain: destination,
159
161
  recipient: (0, utils_1.addressToBytes)(recipient),
160
- amount_or_id: new bignumber_js_1.default(weiAmountOrId).toNumber(),
162
+ amount_or_id: BigInt(weiAmountOrId),
161
163
  }),
162
164
  });
163
165
  const serializedData = (0, borsh_1.serialize)(serialization_2.SealevelTransferRemoteSchema, value);
@@ -372,7 +374,7 @@ class SealevelHypCollateralAdapter extends SealevelHypTokenAdapter {
372
374
  if ((0, utils_1.eqAddress)(owner, this.addresses.warpRouter)) {
373
375
  const collateralAccount = this.deriveEscrowAccount();
374
376
  const response = await this.getProvider().getTokenAccountBalance(collateralAccount);
375
- return response.value.amount;
377
+ return BigInt(response.value.amount);
376
378
  }
377
379
  return super.getBalance(owner);
378
380
  }
@@ -422,7 +424,7 @@ class SealevelHypSyntheticAdapter extends SealevelHypTokenAdapter {
422
424
  async getBalance(owner) {
423
425
  const tokenPubKey = this.deriveAssociatedTokenAccount(new web3_js_1.PublicKey(owner));
424
426
  const response = await this.getProvider().getTokenAccountBalance(tokenPubKey);
425
- return response.value.amount;
427
+ return BigInt(response.value.amount);
426
428
  }
427
429
  deriveMintAuthorityAccount() {
428
430
  return super.derivePda(['hyperlane_token', '-', 'mint'], this.warpProgramPubKey);
@@ -1 +1 @@
1
- {"version":3,"file":"SealevelTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/SealevelTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SealevelTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/SealevelTokenAdapter.ts"],"names":[],"mappings":"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"}