@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.
- package/dist/consts/chainMetadata.d.ts +3 -2
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +99 -72
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -2
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +6 -4
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +141 -133
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +20 -0
- package/dist/consts/environments/testnet.json +166 -178
- package/dist/consts/igp.d.ts +2 -0
- package/dist/consts/igp.d.ts.map +1 -0
- package/dist/consts/igp.js +5 -0
- package/dist/consts/igp.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +22 -18
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +4 -2
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +10 -4
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +3 -3
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +24 -11
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestRecipientDeployer.d.ts +2 -1
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
- package/dist/core/TestRecipientDeployer.js +2 -1
- package/dist/core/TestRecipientDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +34 -13
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/types.d.ts +1 -1
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +147 -121
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +60 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/deploy/verify/types.js +42 -0
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +8 -29
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -2
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +47 -20
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +47 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
- package/dist/gas/oracle/types.d.ts +11 -0
- package/dist/gas/oracle/types.d.ts.map +1 -0
- package/dist/gas/oracle/types.js +30 -0
- package/dist/gas/oracle/types.js.map +1 -0
- package/dist/gas/types.d.ts +3 -4
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +1 -5
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +6 -4
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/index.d.ts +18 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -20
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +39 -287
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/utils.d.ts +11 -0
- package/dist/ism/utils.d.ts.map +1 -0
- package/dist/ism/utils.js +277 -0
- package/dist/ism/utils.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +43 -21
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +26 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +138 -46
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +1 -1
- package/dist/metadata/blockExplorer.d.ts +6 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +15 -1
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +202 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +18 -4
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/customZodTypes.d.ts +2 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -1
- package/dist/metadata/customZodTypes.js +3 -1
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/metadata/health.js +2 -2
- package/dist/metadata/health.js.map +1 -1
- package/dist/metadata/warpRouteConfig.d.ts +134 -0
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
- package/dist/metadata/warpRouteConfig.js +24 -0
- package/dist/metadata/warpRouteConfig.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +10 -12
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +2 -7
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +17 -17
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +12 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +5 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +10 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -2
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +3 -3
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +1 -0
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +2 -2
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +2 -3
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/test/metadata-check.js +7 -39
- package/dist/test/metadata-check.js.map +1 -1
- package/dist/test/testUtils.d.ts +2 -0
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +19 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/IToken.d.ts +147 -0
- package/dist/token/IToken.d.ts.map +1 -0
- package/dist/token/IToken.js +37 -0
- package/dist/token/IToken.js.map +1 -0
- package/dist/token/Token.d.ts +58 -0
- package/dist/token/Token.d.ts.map +1 -0
- package/dist/token/Token.js +260 -0
- package/dist/token/Token.js.map +1 -0
- package/dist/token/Token.test.d.ts +2 -0
- package/dist/token/Token.test.d.ts.map +1 -0
- package/dist/token/Token.test.js +155 -0
- package/dist/token/Token.test.js.map +1 -0
- package/dist/token/TokenAmount.d.ts +12 -0
- package/dist/token/TokenAmount.d.ts.map +1 -0
- package/dist/token/TokenAmount.js +24 -0
- package/dist/token/TokenAmount.js.map +1 -0
- package/dist/token/TokenAmount.test.d.ts +2 -0
- package/dist/token/TokenAmount.test.d.ts.map +1 -0
- package/dist/token/TokenAmount.test.js +41 -0
- package/dist/token/TokenAmount.test.js.map +1 -0
- package/dist/token/TokenConnection.d.ts +81 -0
- package/dist/token/TokenConnection.d.ts.map +1 -0
- package/dist/token/TokenConnection.js +36 -0
- package/dist/token/TokenConnection.js.map +1 -0
- package/dist/token/TokenStandard.d.ts +36 -0
- package/dist/token/TokenStandard.d.ts.map +1 -0
- package/dist/token/TokenStandard.js +118 -0
- package/dist/token/TokenStandard.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +69 -23
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/deploy.d.ts +3 -2
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +4 -2
- package/dist/token/deploy.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/warp/WarpCore.d.ts +76 -0
- package/dist/warp/WarpCore.d.ts.map +1 -0
- package/dist/warp/WarpCore.js +288 -0
- package/dist/warp/WarpCore.js.map +1 -0
- package/dist/warp/WarpCore.test.d.ts +2 -0
- package/dist/warp/WarpCore.test.d.ts.map +1 -0
- package/dist/warp/WarpCore.test.js +143 -0
- package/dist/warp/WarpCore.test.js.map +1 -0
- package/dist/warp/types.d.ts +274 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +38 -0
- package/dist/warp/types.js.map +1 -0
- package/logos/black/cosmwasm.svg +1 -1
- package/logos/black/inevm.svg +1 -0
- package/logos/black/injective.svg +1 -0
- package/logos/black/nautilus.svg +1 -0
- package/logos/black/plume.svg +29 -0
- package/logos/color/cosmos.svg +1 -1
- package/logos/color/cosmwasm.svg +1 -1
- package/logos/color/inevm.svg +1 -0
- package/logos/color/injective.svg +1 -0
- package/logos/color/manta.svg +1 -1
- package/logos/color/nautilus.svg +1 -0
- package/logos/color/plume.svg +24 -0
- package/package.json +5 -4
|
@@ -4,104 +4,103 @@ import { Coin } from '@cosmjs/stargate';
|
|
|
4
4
|
import { Address, Domain } from '@hyperlane-xyz/utils';
|
|
5
5
|
import { BaseCosmWasmAdapter } from '../../app/MultiProtocolApp';
|
|
6
6
|
import { BalanceResponse, ExecuteMsg as Cw20Execute, QueryMsg as Cw20Query, TokenInfoResponse } from '../../cw-types/Cw20Base.types';
|
|
7
|
+
import { QuoteDispatchResponse } from '../../cw-types/Mailbox.types';
|
|
7
8
|
import { DomainsResponse, InterchainSecurityModuleResponse, OwnerResponse, RouteResponseForHexBinary, RoutesResponseForHexBinary, TokenType, TokenTypeResponse, ExecuteMsg as WarpCw20Execute, QueryMsg as WarpCw20Query } from '../../cw-types/WarpCw20.types';
|
|
8
9
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider';
|
|
9
10
|
import { ChainName } from '../../types';
|
|
10
11
|
import { ERC20Metadata } from '../config';
|
|
11
|
-
import { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
12
|
-
export declare class CwNativeTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter {
|
|
12
|
+
import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, TransferParams, TransferRemoteParams } from './ITokenAdapter';
|
|
13
|
+
export declare class CwNativeTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter<ExecuteInstruction> {
|
|
13
14
|
readonly chainName: string;
|
|
14
15
|
readonly multiProvider: MultiProtocolProvider;
|
|
15
16
|
readonly addresses: Record<string, Address>;
|
|
16
|
-
readonly
|
|
17
|
-
constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>,
|
|
18
|
-
getBalance(address: Address): Promise<
|
|
17
|
+
readonly denom: string;
|
|
18
|
+
constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: Record<string, Address>, denom: string);
|
|
19
|
+
getBalance(address: Address): Promise<bigint>;
|
|
19
20
|
getMetadata(): Promise<CW20Metadata>;
|
|
21
|
+
isApproveRequired(): Promise<boolean>;
|
|
20
22
|
populateApproveTx(_params: TransferParams): Promise<ExecuteInstruction>;
|
|
21
23
|
populateTransferTx({ recipient, weiAmountOrId, }: TransferParams): Promise<ExecuteInstruction>;
|
|
22
24
|
}
|
|
23
25
|
export type CW20Metadata = ERC20Metadata;
|
|
24
26
|
type CW20Response = TokenInfoResponse | BalanceResponse;
|
|
25
|
-
export declare class CwTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter {
|
|
27
|
+
export declare class CwTokenAdapter extends BaseCosmWasmAdapter implements ITokenAdapter<ExecuteInstruction> {
|
|
26
28
|
readonly chainName: string;
|
|
27
29
|
readonly multiProvider: MultiProtocolProvider;
|
|
28
30
|
readonly addresses: {
|
|
29
31
|
token: Address;
|
|
30
32
|
};
|
|
31
|
-
readonly denom: string;
|
|
32
33
|
constructor(chainName: string, multiProvider: MultiProtocolProvider, addresses: {
|
|
33
34
|
token: Address;
|
|
34
|
-
}
|
|
35
|
+
});
|
|
35
36
|
queryToken<R extends CW20Response>(msg: Cw20Query): Promise<R>;
|
|
36
37
|
prepareToken(msg: Cw20Execute, funds?: Coin[]): ExecuteInstruction;
|
|
37
|
-
getBalance(address: Address): Promise<
|
|
38
|
+
getBalance(address: Address): Promise<bigint>;
|
|
38
39
|
getMetadata(): Promise<CW20Metadata>;
|
|
40
|
+
isApproveRequired(): Promise<boolean>;
|
|
39
41
|
populateApproveTx({ weiAmountOrId, recipient, }: TransferParams): Promise<ExecuteInstruction>;
|
|
40
42
|
populateTransferTx({ weiAmountOrId, recipient, }: TransferParams): Promise<ExecuteInstruction>;
|
|
41
43
|
}
|
|
42
|
-
type TokenRouterResponse = TokenTypeResponse | InterchainSecurityModuleResponse | DomainsResponse | OwnerResponse | RouteResponseForHexBinary | RoutesResponseForHexBinary;
|
|
43
|
-
export declare class CwHypSyntheticAdapter extends CwTokenAdapter implements IHypTokenAdapter {
|
|
44
|
+
type TokenRouterResponse = TokenTypeResponse | InterchainSecurityModuleResponse | DomainsResponse | OwnerResponse | RouteResponseForHexBinary | RoutesResponseForHexBinary | QuoteDispatchResponse;
|
|
45
|
+
export declare class CwHypSyntheticAdapter extends CwTokenAdapter implements IHypTokenAdapter<ExecuteInstruction> {
|
|
44
46
|
readonly chainName: ChainName;
|
|
45
47
|
readonly multiProvider: MultiProtocolProvider<any>;
|
|
46
48
|
readonly addresses: {
|
|
47
49
|
token: Address;
|
|
48
50
|
warpRouter: Address;
|
|
49
51
|
};
|
|
50
|
-
readonly gasDenom: string;
|
|
51
52
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
|
|
52
53
|
token: Address;
|
|
53
54
|
warpRouter: Address;
|
|
54
|
-
}
|
|
55
|
+
});
|
|
55
56
|
queryRouter<R extends TokenRouterResponse>(msg: WarpCw20Query): Promise<R>;
|
|
56
57
|
prepareRouter(msg: WarpCw20Execute, funds?: Coin[]): ExecuteInstruction;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
getTokenType(): Promise<TokenType>;
|
|
59
|
+
getInterchainSecurityModule(): Promise<Address>;
|
|
60
|
+
getOwner(): Promise<Address>;
|
|
60
61
|
getDomains(): Promise<Domain[]>;
|
|
61
62
|
getRouterAddress(domain: Domain): Promise<Buffer>;
|
|
62
63
|
getAllRouters(): Promise<Array<{
|
|
63
64
|
domain: Domain;
|
|
64
65
|
address: Buffer;
|
|
65
66
|
}>>;
|
|
66
|
-
quoteGasPayment(_destination:
|
|
67
|
-
populateTransferRemoteTx({ destination, recipient, weiAmountOrId,
|
|
67
|
+
quoteGasPayment(_destination: Domain): Promise<InterchainGasQuote>;
|
|
68
|
+
populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise<ExecuteInstruction>;
|
|
68
69
|
}
|
|
69
|
-
export declare class CwHypNativeAdapter extends CwNativeTokenAdapter implements IHypTokenAdapter {
|
|
70
|
+
export declare class CwHypNativeAdapter extends CwNativeTokenAdapter implements IHypTokenAdapter<ExecuteInstruction> {
|
|
70
71
|
readonly chainName: ChainName;
|
|
71
72
|
readonly multiProvider: MultiProtocolProvider<any>;
|
|
72
73
|
readonly addresses: {
|
|
73
74
|
warpRouter: Address;
|
|
74
75
|
};
|
|
75
|
-
readonly gasDenom: string;
|
|
76
76
|
private readonly cw20adapter;
|
|
77
77
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
|
|
78
78
|
warpRouter: Address;
|
|
79
|
-
}
|
|
80
|
-
getBalance(address: string): Promise<
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
});
|
|
80
|
+
getBalance(address: string): Promise<bigint>;
|
|
81
|
+
getInterchainSecurityModule(): Promise<Address>;
|
|
82
|
+
getOwner(): Promise<Address>;
|
|
83
83
|
getDomains(): Promise<Domain[]>;
|
|
84
84
|
getRouterAddress(domain: Domain): Promise<Buffer>;
|
|
85
85
|
getAllRouters(): Promise<Array<{
|
|
86
86
|
domain: Domain;
|
|
87
87
|
address: Buffer;
|
|
88
88
|
}>>;
|
|
89
|
-
quoteGasPayment(destination:
|
|
90
|
-
|
|
91
|
-
populateTransferRemoteTx({ destination, recipient, weiAmountOrId,
|
|
89
|
+
quoteGasPayment(destination: Domain): Promise<InterchainGasQuote>;
|
|
90
|
+
getDenom(): Promise<string>;
|
|
91
|
+
populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }: TransferRemoteParams): Promise<ExecuteInstruction>;
|
|
92
92
|
}
|
|
93
|
-
export declare class CwHypCollateralAdapter extends CwHypNativeAdapter implements IHypTokenAdapter {
|
|
93
|
+
export declare class CwHypCollateralAdapter extends CwHypNativeAdapter implements IHypTokenAdapter<ExecuteInstruction> {
|
|
94
94
|
readonly chainName: ChainName;
|
|
95
95
|
readonly multiProvider: MultiProtocolProvider<any>;
|
|
96
96
|
readonly addresses: {
|
|
97
97
|
warpRouter: Address;
|
|
98
98
|
token: Address;
|
|
99
99
|
};
|
|
100
|
-
readonly gasDenom: string;
|
|
101
100
|
constructor(chainName: ChainName, multiProvider: MultiProtocolProvider<any>, addresses: {
|
|
102
101
|
warpRouter: Address;
|
|
103
102
|
token: Address;
|
|
104
|
-
}
|
|
103
|
+
});
|
|
105
104
|
}
|
|
106
105
|
export {};
|
|
107
106
|
//# sourceMappingURL=CosmWasmTokenAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmWasmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CosmWasmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.CwHypCollateralAdapter = exports.CwHypNativeAdapter = exports.CwHypSyntheticAdapter = exports.CwTokenAdapter = exports.CwNativeTokenAdapter = void 0;
|
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
4
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
9
5
|
const MultiProtocolApp_1 = require("../../app/MultiProtocolApp");
|
|
10
6
|
// Interacts with IBC denom tokens in CosmWasm
|
|
11
7
|
class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
12
|
-
constructor(chainName, multiProvider, addresses,
|
|
8
|
+
constructor(chainName, multiProvider, addresses, denom) {
|
|
13
9
|
super(chainName, multiProvider, addresses);
|
|
14
10
|
this.chainName = chainName;
|
|
15
11
|
this.multiProvider = multiProvider;
|
|
16
12
|
this.addresses = addresses;
|
|
17
|
-
this.
|
|
13
|
+
this.denom = denom;
|
|
18
14
|
}
|
|
19
15
|
async getBalance(address) {
|
|
20
16
|
const provider = await this.getProvider();
|
|
21
|
-
const balance = await provider.getBalance(address, this.
|
|
22
|
-
return balance.amount;
|
|
17
|
+
const balance = await provider.getBalance(address, this.denom);
|
|
18
|
+
return BigInt(balance.amount);
|
|
23
19
|
}
|
|
24
20
|
async getMetadata() {
|
|
25
21
|
throw new Error('Metadata not available to native tokens');
|
|
26
22
|
}
|
|
23
|
+
async isApproveRequired() {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
27
26
|
async populateApproveTx(_params) {
|
|
28
27
|
throw new Error('Approve not required for native tokens');
|
|
29
28
|
}
|
|
@@ -35,7 +34,7 @@ class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
|
35
34
|
funds: [
|
|
36
35
|
{
|
|
37
36
|
amount: weiAmountOrId.toString(),
|
|
38
|
-
denom: this.
|
|
37
|
+
denom: this.denom,
|
|
39
38
|
},
|
|
40
39
|
],
|
|
41
40
|
};
|
|
@@ -44,12 +43,11 @@ class CwNativeTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
|
44
43
|
exports.CwNativeTokenAdapter = CwNativeTokenAdapter;
|
|
45
44
|
// Interacts with CW20/721 contracts
|
|
46
45
|
class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
47
|
-
constructor(chainName, multiProvider, addresses
|
|
46
|
+
constructor(chainName, multiProvider, addresses) {
|
|
48
47
|
super(chainName, multiProvider, addresses);
|
|
49
48
|
this.chainName = chainName;
|
|
50
49
|
this.multiProvider = multiProvider;
|
|
51
50
|
this.addresses = addresses;
|
|
52
|
-
this.denom = denom;
|
|
53
51
|
}
|
|
54
52
|
async queryToken(msg) {
|
|
55
53
|
const provider = await this.getProvider();
|
|
@@ -66,7 +64,7 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
|
66
64
|
async getBalance(address) {
|
|
67
65
|
const provider = await this.getProvider();
|
|
68
66
|
const balance = await provider.getBalance(address, this.addresses.token);
|
|
69
|
-
return balance.amount;
|
|
67
|
+
return BigInt(balance.amount);
|
|
70
68
|
}
|
|
71
69
|
async getMetadata() {
|
|
72
70
|
const resp = await this.queryToken({
|
|
@@ -77,6 +75,9 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
|
77
75
|
totalSupply: resp.total_supply,
|
|
78
76
|
};
|
|
79
77
|
}
|
|
78
|
+
async isApproveRequired() {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
80
81
|
async populateApproveTx({ weiAmountOrId, recipient, }) {
|
|
81
82
|
// TODO: check existing allowance
|
|
82
83
|
return this.prepareToken({
|
|
@@ -100,12 +101,11 @@ class CwTokenAdapter extends MultiProtocolApp_1.BaseCosmWasmAdapter {
|
|
|
100
101
|
}
|
|
101
102
|
exports.CwTokenAdapter = CwTokenAdapter;
|
|
102
103
|
class CwHypSyntheticAdapter extends CwTokenAdapter {
|
|
103
|
-
constructor(chainName, multiProvider, addresses
|
|
104
|
+
constructor(chainName, multiProvider, addresses) {
|
|
104
105
|
super(chainName, multiProvider, addresses);
|
|
105
106
|
this.chainName = chainName;
|
|
106
107
|
this.multiProvider = multiProvider;
|
|
107
108
|
this.addresses = addresses;
|
|
108
|
-
this.gasDenom = gasDenom;
|
|
109
109
|
}
|
|
110
110
|
async queryRouter(msg) {
|
|
111
111
|
const provider = await this.getProvider();
|
|
@@ -119,7 +119,7 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
|
|
|
119
119
|
funds,
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
-
async
|
|
122
|
+
async getTokenType() {
|
|
123
123
|
const resp = await this.queryRouter({
|
|
124
124
|
token_default: {
|
|
125
125
|
token_type: {},
|
|
@@ -127,10 +127,10 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
|
|
|
127
127
|
});
|
|
128
128
|
return resp.type;
|
|
129
129
|
}
|
|
130
|
-
async
|
|
130
|
+
async getInterchainSecurityModule() {
|
|
131
131
|
throw new Error('Router does not support ISM config yet.');
|
|
132
132
|
}
|
|
133
|
-
async
|
|
133
|
+
async getOwner() {
|
|
134
134
|
const resp = await this.queryRouter({
|
|
135
135
|
ownable: {
|
|
136
136
|
get_owner: {},
|
|
@@ -173,13 +173,26 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
|
|
|
173
173
|
address: Buffer.from(r.route, 'hex'),
|
|
174
174
|
}));
|
|
175
175
|
}
|
|
176
|
-
quoteGasPayment(_destination) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
176
|
+
async quoteGasPayment(_destination) {
|
|
177
|
+
// TODO this may require separate queries to get the hook and/or mailbox
|
|
178
|
+
// before making a query for the QuoteDispatchResponse
|
|
179
|
+
// Punting on this given that only static quotes are used for now
|
|
180
|
+
// const resp = await this.queryRouter<QuoteDispatchResponse>({
|
|
181
|
+
// router: {
|
|
182
|
+
// TODO: {},
|
|
183
|
+
// },
|
|
184
|
+
// });
|
|
185
|
+
// return {
|
|
186
|
+
// amount: BigInt(resp.gas_amount?.amount || 0),
|
|
187
|
+
// addressOrDenom: resp.gas_amount?.denom,
|
|
188
|
+
// };
|
|
189
|
+
throw new Error('CW adpater quoteGasPayment method not implemented');
|
|
190
|
+
}
|
|
191
|
+
async populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }) {
|
|
192
|
+
if (!interchainGas)
|
|
193
|
+
interchainGas = await this.quoteGasPayment(destination);
|
|
194
|
+
const { addressOrDenom: igpDenom, amount: igpAmount } = interchainGas;
|
|
195
|
+
(0, utils_1.assert)(igpDenom, 'Interchain gas denom required for Cosmos');
|
|
183
196
|
return this.prepareRouter({
|
|
184
197
|
transfer_remote: {
|
|
185
198
|
dest_domain: destination,
|
|
@@ -188,33 +201,35 @@ class CwHypSyntheticAdapter extends CwTokenAdapter {
|
|
|
188
201
|
},
|
|
189
202
|
}, [
|
|
190
203
|
{
|
|
191
|
-
amount:
|
|
192
|
-
denom:
|
|
204
|
+
amount: igpAmount.toString(),
|
|
205
|
+
denom: igpDenom,
|
|
193
206
|
},
|
|
194
207
|
]);
|
|
195
208
|
}
|
|
196
209
|
}
|
|
197
210
|
exports.CwHypSyntheticAdapter = CwHypSyntheticAdapter;
|
|
198
211
|
class CwHypNativeAdapter extends CwNativeTokenAdapter {
|
|
199
|
-
constructor(chainName, multiProvider, addresses
|
|
200
|
-
super(chainName, multiProvider, addresses,
|
|
212
|
+
constructor(chainName, multiProvider, addresses) {
|
|
213
|
+
super(chainName, multiProvider, addresses, '');
|
|
201
214
|
this.chainName = chainName;
|
|
202
215
|
this.multiProvider = multiProvider;
|
|
203
216
|
this.addresses = addresses;
|
|
204
|
-
this.
|
|
205
|
-
|
|
217
|
+
this.cw20adapter = new CwHypSyntheticAdapter(chainName, multiProvider, {
|
|
218
|
+
token: '',
|
|
219
|
+
warpRouter: addresses.warpRouter,
|
|
220
|
+
});
|
|
206
221
|
}
|
|
207
222
|
async getBalance(address) {
|
|
208
223
|
const provider = await this.getProvider();
|
|
209
|
-
const denom = await this.
|
|
224
|
+
const denom = await this.getDenom();
|
|
210
225
|
const balance = await provider.getBalance(address, denom);
|
|
211
|
-
return balance.amount;
|
|
226
|
+
return BigInt(balance.amount);
|
|
212
227
|
}
|
|
213
|
-
async
|
|
214
|
-
return this.cw20adapter.
|
|
228
|
+
async getInterchainSecurityModule() {
|
|
229
|
+
return this.cw20adapter.getInterchainSecurityModule();
|
|
215
230
|
}
|
|
216
|
-
async
|
|
217
|
-
return this.cw20adapter.
|
|
231
|
+
async getOwner() {
|
|
232
|
+
return this.cw20adapter.getOwner();
|
|
218
233
|
}
|
|
219
234
|
async getDomains() {
|
|
220
235
|
return this.cw20adapter.getDomains();
|
|
@@ -228,8 +243,8 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
|
|
|
228
243
|
quoteGasPayment(destination) {
|
|
229
244
|
return this.cw20adapter.quoteGasPayment(destination);
|
|
230
245
|
}
|
|
231
|
-
async
|
|
232
|
-
const tokenType = await this.cw20adapter.
|
|
246
|
+
async getDenom() {
|
|
247
|
+
const tokenType = await this.cw20adapter.getTokenType();
|
|
233
248
|
if ('native' in tokenType) {
|
|
234
249
|
if ('fungible' in tokenType.native) {
|
|
235
250
|
return tokenType.native.fungible.denom;
|
|
@@ -237,15 +252,16 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
|
|
|
237
252
|
}
|
|
238
253
|
throw new Error(`Token type not supported: ${tokenType}`);
|
|
239
254
|
}
|
|
240
|
-
async populateTransferRemoteTx({ destination, recipient, weiAmountOrId,
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
const
|
|
245
|
-
|
|
255
|
+
async populateTransferRemoteTx({ destination, recipient, weiAmountOrId, interchainGas, }) {
|
|
256
|
+
const collateralDenom = await this.getDenom();
|
|
257
|
+
if (!interchainGas)
|
|
258
|
+
interchainGas = await this.quoteGasPayment(destination);
|
|
259
|
+
const { addressOrDenom: igpDenom, amount: igpAmount } = interchainGas;
|
|
260
|
+
(0, utils_1.assert)(igpDenom, 'Interchain gas denom required for Cosmos');
|
|
261
|
+
const funds = collateralDenom === igpDenom
|
|
246
262
|
? [
|
|
247
263
|
{
|
|
248
|
-
amount:
|
|
264
|
+
amount: (BigInt(weiAmountOrId) + igpAmount).toString(),
|
|
249
265
|
denom: collateralDenom,
|
|
250
266
|
},
|
|
251
267
|
]
|
|
@@ -255,8 +271,8 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
|
|
|
255
271
|
denom: collateralDenom,
|
|
256
272
|
},
|
|
257
273
|
{
|
|
258
|
-
amount:
|
|
259
|
-
denom:
|
|
274
|
+
amount: igpAmount.toString(),
|
|
275
|
+
denom: igpDenom,
|
|
260
276
|
},
|
|
261
277
|
];
|
|
262
278
|
return this.cw20adapter.prepareRouter({
|
|
@@ -270,12 +286,11 @@ class CwHypNativeAdapter extends CwNativeTokenAdapter {
|
|
|
270
286
|
}
|
|
271
287
|
exports.CwHypNativeAdapter = CwHypNativeAdapter;
|
|
272
288
|
class CwHypCollateralAdapter extends CwHypNativeAdapter {
|
|
273
|
-
constructor(chainName, multiProvider, addresses
|
|
274
|
-
super(chainName, multiProvider, addresses
|
|
289
|
+
constructor(chainName, multiProvider, addresses) {
|
|
290
|
+
super(chainName, multiProvider, addresses);
|
|
275
291
|
this.chainName = chainName;
|
|
276
292
|
this.multiProvider = multiProvider;
|
|
277
293
|
this.addresses = addresses;
|
|
278
|
-
this.gasDenom = gasDenom;
|
|
279
294
|
}
|
|
280
295
|
}
|
|
281
296
|
exports.CwHypCollateralAdapter = CwHypCollateralAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CosmWasmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmWasmTokenAdapter.ts"],"names":[],"mappings":"
|
|
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<
|
|
19
|
+
getBalance(address: string): Promise<bigint>;
|
|
20
20
|
getMetadata(): Promise<MinimalTokenMetadata>;
|
|
21
|
-
|
|
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<
|
|
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
|
-
|
|
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
|
-
|
|
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":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
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
|
-
|
|
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.
|
|
109
|
+
token: this.properties.intermediateIbcDenom,
|
|
101
110
|
warpRouter: this.addresses.intermediateRouterAddress,
|
|
102
|
-
}
|
|
103
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"CosmosTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/CosmosTokenAdapter.ts"],"names":[],"mappings":"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"}
|