@hyperlane-xyz/sdk 31.0.0 → 31.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/app/MultiProtocolApp.d.ts +7 -7
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +2 -2
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +4 -4
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/adapters/AleoCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/AleoCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +3 -3
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/RadixCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/RadixCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/StarknetCoreAdapter.d.ts +3 -3
- package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +12 -4
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/fork/types.d.ts +64 -64
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +7 -7
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/gas/utils.d.ts +2 -2
- package/dist/gas/utils.d.ts.map +1 -1
- package/dist/gas/utils.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +3 -3
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts +3 -3
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/SealevelMultisigAdapter.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.d.ts +13 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.js +68 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.js +83 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -0
- package/dist/providers/MinimalProviderRegistry.d.ts +41 -0
- package/dist/providers/MinimalProviderRegistry.d.ts.map +1 -0
- package/dist/providers/MinimalProviderRegistry.js +122 -0
- package/dist/providers/MinimalProviderRegistry.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.d.ts +13 -55
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +34 -152
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +48 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +3 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/MultiProvider.test.js +3 -3
- package/dist/providers/MultiProvider.test.js.map +1 -1
- package/dist/providers/MultiProviderAdapter.d.ts +31 -0
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -0
- package/dist/providers/MultiProviderAdapter.js +116 -0
- package/dist/providers/MultiProviderAdapter.js.map +1 -0
- package/dist/providers/ProviderType.d.ts +12 -7
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +1 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/builders/aleo.d.ts +4 -0
- package/dist/providers/builders/aleo.d.ts.map +1 -0
- package/dist/providers/builders/aleo.js +7 -0
- package/dist/providers/builders/aleo.js.map +1 -0
- package/dist/providers/builders/cosmos.d.ts +6 -0
- package/dist/providers/builders/cosmos.d.ts.map +1 -0
- package/dist/providers/builders/cosmos.js +27 -0
- package/dist/providers/builders/cosmos.js.map +1 -0
- package/dist/providers/builders/ethersV5.d.ts +8 -0
- package/dist/providers/builders/ethersV5.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.js +25 -0
- package/dist/providers/builders/ethersV5.js.map +1 -0
- package/dist/providers/builders/radix.d.ts +4 -0
- package/dist/providers/builders/radix.d.ts.map +1 -0
- package/dist/providers/builders/radix.js +14 -0
- package/dist/providers/builders/radix.js.map +1 -0
- package/dist/providers/builders/solana.d.ts +4 -0
- package/dist/providers/builders/solana.d.ts.map +1 -0
- package/dist/providers/builders/solana.js +11 -0
- package/dist/providers/builders/solana.js.map +1 -0
- package/dist/providers/builders/starknet.d.ts +4 -0
- package/dist/providers/builders/starknet.d.ts.map +1 -0
- package/dist/providers/builders/starknet.js +14 -0
- package/dist/providers/builders/starknet.js.map +1 -0
- package/dist/providers/builders/tron.d.ts +10 -0
- package/dist/providers/builders/tron.d.ts.map +1 -0
- package/dist/providers/builders/tron.js +19 -0
- package/dist/providers/builders/tron.js.map +1 -0
- package/dist/providers/builders/types.d.ts +6 -0
- package/dist/providers/builders/types.d.ts.map +1 -0
- package/dist/providers/builders/types.js +2 -0
- package/dist/providers/builders/types.js.map +1 -0
- package/dist/providers/builders/viem.d.ts +4 -0
- package/dist/providers/builders/viem.d.ts.map +1 -0
- package/dist/providers/builders/viem.js +24 -0
- package/dist/providers/builders/viem.js.map +1 -0
- package/dist/providers/builders/zksync.d.ts +7 -0
- package/dist/providers/builders/zksync.d.ts.map +1 -0
- package/dist/providers/builders/zksync.js +13 -0
- package/dist/providers/builders/zksync.js.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts +7 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.js +36 -0
- package/dist/providers/defaultProviderBuilderMaps.js.map +1 -0
- package/dist/providers/providerBuilders.d.ts +11 -29
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +10 -153
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/providers/rpcHealthTest.js +1 -1
- package/dist/providers/rpcHealthTest.js.map +1 -1
- package/dist/providers/runtime/evm.d.ts +3 -0
- package/dist/providers/runtime/evm.d.ts.map +1 -0
- package/dist/providers/runtime/evm.js +11 -0
- package/dist/providers/runtime/evm.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +3 -3
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +3 -3
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
- package/dist/signers/cosmos/cosmjs.d.ts +2 -2
- package/dist/signers/cosmos/cosmjs.d.ts.map +1 -1
- package/dist/signers/cosmos/cosmjs.js.map +1 -1
- package/dist/signers/evm/ethersv5.d.ts +2 -2
- package/dist/signers/evm/ethersv5.d.ts.map +1 -1
- package/dist/signers/evm/ethersv5.js +1 -1
- package/dist/signers/evm/ethersv5.js.map +1 -1
- package/dist/signers/radix/radix-toolkit.d.ts +3 -3
- package/dist/signers/radix/radix-toolkit.d.ts.map +1 -1
- package/dist/signers/radix/radix-toolkit.js +1 -1
- package/dist/signers/radix/radix-toolkit.js.map +1 -1
- package/dist/signers/signers.d.ts +2 -2
- package/dist/signers/signers.d.ts.map +1 -1
- package/dist/signers/signers.js.map +1 -1
- package/dist/signers/starknet/starknetjs.d.ts +2 -2
- package/dist/signers/starknet/starknetjs.d.ts.map +1 -1
- package/dist/signers/starknet/starknetjs.js.map +1 -1
- package/dist/signers/svm/solana-web3js.d.ts +2 -2
- package/dist/signers/svm/solana-web3js.d.ts.map +1 -1
- package/dist/signers/svm/solana-web3js.js.map +1 -1
- package/dist/token/IToken.d.ts +14 -151
- package/dist/token/IToken.d.ts.map +1 -1
- package/dist/token/IToken.js +1 -43
- package/dist/token/IToken.js.map +1 -1
- package/dist/token/ITokenMetadata.d.ts +152 -0
- package/dist/token/ITokenMetadata.d.ts.map +1 -0
- package/dist/token/ITokenMetadata.js +45 -0
- package/dist/token/ITokenMetadata.js.map +1 -0
- package/dist/token/Token.d.ts +15 -49
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +48 -312
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +52 -10
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.d.ts +6 -6
- package/dist/token/TokenAmount.d.ts.map +1 -1
- package/dist/token/TokenConnection.d.ts +7 -7
- package/dist/token/TokenConnection.d.ts.map +1 -1
- package/dist/token/TokenConnection.js +1 -1
- package/dist/token/TokenConnection.js.map +1 -1
- package/dist/token/TokenConnection.test.d.ts +2 -0
- package/dist/token/TokenConnection.test.d.ts.map +1 -0
- package/dist/token/TokenConnection.test.js +17 -0
- package/dist/token/TokenConnection.test.js.map +1 -0
- package/dist/token/TokenMetadata.d.ts +42 -0
- package/dist/token/TokenMetadata.d.ts.map +1 -0
- package/dist/token/TokenMetadata.js +119 -0
- package/dist/token/TokenMetadata.js.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts +7 -6
- package/dist/token/adapters/AleoTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/AleoTokenAdapter.js +1 -1
- package/dist/token/adapters/AleoTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +11 -11
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +3 -3
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +21 -21
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -1
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/M0PortalTokenAdapter.js.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.d.ts +7 -6
- package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/RadixTokenAdapter.js.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.d.ts +10 -10
- package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
- package/dist/token/adapters/aleoHyp.d.ts +7 -0
- package/dist/token/adapters/aleoHyp.d.ts.map +1 -0
- package/dist/token/adapters/aleoHyp.js +26 -0
- package/dist/token/adapters/aleoHyp.js.map +1 -0
- package/dist/token/adapters/cosmosHyp.d.ts +7 -0
- package/dist/token/adapters/cosmosHyp.d.ts.map +1 -0
- package/dist/token/adapters/cosmosHyp.js +40 -0
- package/dist/token/adapters/cosmosHyp.js.map +1 -0
- package/dist/token/adapters/evmHyp.d.ts +7 -0
- package/dist/token/adapters/evmHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmHyp.js +23 -0
- package/dist/token/adapters/evmHyp.js.map +1 -0
- package/dist/token/adapters/evmLikeHyp.d.ts +19 -0
- package/dist/token/adapters/evmLikeHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmLikeHyp.js +61 -0
- package/dist/token/adapters/evmLikeHyp.js.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts +15 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js +9 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js.map +1 -0
- package/dist/token/adapters/radixHyp.d.ts +7 -0
- package/dist/token/adapters/radixHyp.d.ts.map +1 -0
- package/dist/token/adapters/radixHyp.js +22 -0
- package/dist/token/adapters/radixHyp.js.map +1 -0
- package/dist/token/adapters/sealevelHyp.d.ts +7 -0
- package/dist/token/adapters/sealevelHyp.d.ts.map +1 -0
- package/dist/token/adapters/sealevelHyp.js +38 -0
- package/dist/token/adapters/sealevelHyp.js.map +1 -0
- package/dist/token/adapters/starknetHyp.d.ts +7 -0
- package/dist/token/adapters/starknetHyp.d.ts.map +1 -0
- package/dist/token/adapters/starknetHyp.js +35 -0
- package/dist/token/adapters/starknetHyp.js.map +1 -0
- package/dist/token/adapters/tronHyp.d.ts +7 -0
- package/dist/token/adapters/tronHyp.d.ts.map +1 -0
- package/dist/token/adapters/tronHyp.js +23 -0
- package/dist/token/adapters/tronHyp.js.map +1 -0
- package/dist/utils/cosmos.d.ts +3 -3
- package/dist/warp/WarpCore.d.ts +43 -43
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +63 -68
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/read.d.ts +19 -0
- package/dist/warp/read.d.ts.map +1 -0
- package/dist/warp/read.js +34 -0
- package/dist/warp/read.js.map +1 -0
- package/dist/warp/read.test.d.ts +2 -0
- package/dist/warp/read.test.d.ts.map +1 -0
- package/dist/warp/read.test.js +56 -0
- package/dist/warp/read.test.js.map +1 -0
- package/dist/warp/types.d.ts +3 -3
- package/dist/zksync/ZKSyncDeployer.js +1 -1
- package/dist/zksync/ZKSyncDeployer.js.map +1 -1
- package/package.json +98 -11
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Address, Numberish, ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
+
import type { ChainName } from '../types.js';
|
|
4
|
+
import type { TokenAmount } from './TokenAmount.js';
|
|
5
|
+
import { type TokenConnection } from './TokenConnection.js';
|
|
6
|
+
import { TokenStandard } from './TokenStandard.js';
|
|
7
|
+
export declare const TokenConfigSchema: z.ZodObject<{
|
|
8
|
+
chainName: z.ZodString;
|
|
9
|
+
standard: z.ZodNativeEnum<typeof TokenStandard>;
|
|
10
|
+
decimals: z.ZodNumber;
|
|
11
|
+
symbol: z.ZodString;
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
addressOrDenom: z.ZodEffects<z.ZodNullable<z.ZodString>, string, string | null>;
|
|
14
|
+
collateralAddressOrDenom: z.ZodOptional<z.ZodString>;
|
|
15
|
+
igpTokenAddressOrDenom: z.ZodOptional<z.ZodString>;
|
|
16
|
+
logoURI: z.ZodOptional<z.ZodString>;
|
|
17
|
+
connections: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
|
|
18
|
+
type: z.ZodOptional<z.ZodLiteral<import("./TokenConnection.js").TokenConnectionType.Hyperlane>>;
|
|
19
|
+
token: z.ZodString;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
token: string;
|
|
22
|
+
type?: import("./TokenConnection.js").TokenConnectionType.Hyperlane | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
token: string;
|
|
25
|
+
type?: import("./TokenConnection.js").TokenConnectionType.Hyperlane | undefined;
|
|
26
|
+
}>, z.ZodObject<{
|
|
27
|
+
type: z.ZodLiteral<import("./TokenConnection.js").TokenConnectionType.Ibc>;
|
|
28
|
+
token: z.ZodString;
|
|
29
|
+
sourcePort: z.ZodString;
|
|
30
|
+
sourceChannel: z.ZodString;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
type: import("./TokenConnection.js").TokenConnectionType.Ibc;
|
|
33
|
+
token: string;
|
|
34
|
+
sourcePort: string;
|
|
35
|
+
sourceChannel: string;
|
|
36
|
+
}, {
|
|
37
|
+
type: import("./TokenConnection.js").TokenConnectionType.Ibc;
|
|
38
|
+
token: string;
|
|
39
|
+
sourcePort: string;
|
|
40
|
+
sourceChannel: string;
|
|
41
|
+
}>]>, z.ZodObject<{
|
|
42
|
+
type: z.ZodLiteral<import("./TokenConnection.js").TokenConnectionType.IbcHyperlane>;
|
|
43
|
+
token: z.ZodString;
|
|
44
|
+
sourcePort: z.ZodString;
|
|
45
|
+
sourceChannel: z.ZodString;
|
|
46
|
+
intermediateChainName: z.ZodString;
|
|
47
|
+
intermediateIbcDenom: z.ZodString;
|
|
48
|
+
intermediateRouterAddress: z.ZodString;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
type: import("./TokenConnection.js").TokenConnectionType.IbcHyperlane;
|
|
51
|
+
token: string;
|
|
52
|
+
sourcePort: string;
|
|
53
|
+
sourceChannel: string;
|
|
54
|
+
intermediateChainName: string;
|
|
55
|
+
intermediateIbcDenom: string;
|
|
56
|
+
intermediateRouterAddress: string;
|
|
57
|
+
}, {
|
|
58
|
+
type: import("./TokenConnection.js").TokenConnectionType.IbcHyperlane;
|
|
59
|
+
token: string;
|
|
60
|
+
sourcePort: string;
|
|
61
|
+
sourceChannel: string;
|
|
62
|
+
intermediateChainName: string;
|
|
63
|
+
intermediateIbcDenom: string;
|
|
64
|
+
intermediateRouterAddress: string;
|
|
65
|
+
}>]>, "many">>;
|
|
66
|
+
coinGeckoId: z.ZodOptional<z.ZodString>;
|
|
67
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
warpRouteId: z.ZodOptional<z.ZodString>;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
symbol: string;
|
|
71
|
+
name: string;
|
|
72
|
+
decimals: number;
|
|
73
|
+
chainName: string;
|
|
74
|
+
standard: TokenStandard;
|
|
75
|
+
addressOrDenom: string;
|
|
76
|
+
logoURI?: string | undefined;
|
|
77
|
+
scale?: number | undefined;
|
|
78
|
+
collateralAddressOrDenom?: string | undefined;
|
|
79
|
+
igpTokenAddressOrDenom?: string | undefined;
|
|
80
|
+
connections?: ({
|
|
81
|
+
token: string;
|
|
82
|
+
type?: import("./TokenConnection.js").TokenConnectionType.Hyperlane | undefined;
|
|
83
|
+
} | {
|
|
84
|
+
type: import("./TokenConnection.js").TokenConnectionType.Ibc;
|
|
85
|
+
token: string;
|
|
86
|
+
sourcePort: string;
|
|
87
|
+
sourceChannel: string;
|
|
88
|
+
} | {
|
|
89
|
+
type: import("./TokenConnection.js").TokenConnectionType.IbcHyperlane;
|
|
90
|
+
token: string;
|
|
91
|
+
sourcePort: string;
|
|
92
|
+
sourceChannel: string;
|
|
93
|
+
intermediateChainName: string;
|
|
94
|
+
intermediateIbcDenom: string;
|
|
95
|
+
intermediateRouterAddress: string;
|
|
96
|
+
})[] | undefined;
|
|
97
|
+
coinGeckoId?: string | undefined;
|
|
98
|
+
warpRouteId?: string | undefined;
|
|
99
|
+
}, {
|
|
100
|
+
symbol: string;
|
|
101
|
+
name: string;
|
|
102
|
+
decimals: number;
|
|
103
|
+
chainName: string;
|
|
104
|
+
standard: TokenStandard;
|
|
105
|
+
addressOrDenom: string | null;
|
|
106
|
+
logoURI?: string | undefined;
|
|
107
|
+
scale?: number | undefined;
|
|
108
|
+
collateralAddressOrDenom?: string | undefined;
|
|
109
|
+
igpTokenAddressOrDenom?: string | undefined;
|
|
110
|
+
connections?: ({
|
|
111
|
+
token: string;
|
|
112
|
+
type?: import("./TokenConnection.js").TokenConnectionType.Hyperlane | undefined;
|
|
113
|
+
} | {
|
|
114
|
+
type: import("./TokenConnection.js").TokenConnectionType.Ibc;
|
|
115
|
+
token: string;
|
|
116
|
+
sourcePort: string;
|
|
117
|
+
sourceChannel: string;
|
|
118
|
+
} | {
|
|
119
|
+
type: import("./TokenConnection.js").TokenConnectionType.IbcHyperlane;
|
|
120
|
+
token: string;
|
|
121
|
+
sourcePort: string;
|
|
122
|
+
sourceChannel: string;
|
|
123
|
+
intermediateChainName: string;
|
|
124
|
+
intermediateIbcDenom: string;
|
|
125
|
+
intermediateRouterAddress: string;
|
|
126
|
+
})[] | undefined;
|
|
127
|
+
coinGeckoId?: string | undefined;
|
|
128
|
+
warpRouteId?: string | undefined;
|
|
129
|
+
}>;
|
|
130
|
+
export type TokenArgs = Omit<z.infer<typeof TokenConfigSchema>, 'addressOrDenom' | 'connections'> & {
|
|
131
|
+
addressOrDenom: Address | string;
|
|
132
|
+
connections?: Array<TokenConnection>;
|
|
133
|
+
};
|
|
134
|
+
export interface ITokenMetadata extends TokenArgs {
|
|
135
|
+
protocol: ProtocolType;
|
|
136
|
+
amount(amount: Numberish): TokenAmount<this>;
|
|
137
|
+
isNft(): boolean;
|
|
138
|
+
isNative(): boolean;
|
|
139
|
+
isHypNative(): boolean;
|
|
140
|
+
isCollateralized(): boolean;
|
|
141
|
+
isHypToken(): boolean;
|
|
142
|
+
isIbcToken(): boolean;
|
|
143
|
+
isMultiChainToken(): boolean;
|
|
144
|
+
isCrossCollateralToken(): boolean;
|
|
145
|
+
getConnections(): TokenConnection[];
|
|
146
|
+
getConnectionForChain(chain: ChainName): TokenConnection | undefined;
|
|
147
|
+
addConnection(connection: TokenConnection): ITokenMetadata;
|
|
148
|
+
removeConnection(token: ITokenMetadata): ITokenMetadata;
|
|
149
|
+
equals(token?: ITokenMetadata): boolean;
|
|
150
|
+
isFungibleWith(token?: ITokenMetadata): boolean;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=ITokenMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITokenMetadata.d.ts","sourceRoot":"","sources":["../../src/token/ITokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C5B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACjC,gBAAgB,GAAG,aAAa,CACjC,GAAG;IACF,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,EAAE,YAAY,CAAC;IAEvB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAE7C,KAAK,IAAI,OAAO,CAAC;IACjB,QAAQ,IAAI,OAAO,CAAC;IACpB,WAAW,IAAI,OAAO,CAAC;IACvB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC;IACtB,UAAU,IAAI,OAAO,CAAC;IACtB,iBAAiB,IAAI,OAAO,CAAC;IAC7B,sBAAsB,IAAI,OAAO,CAAC;IAElC,cAAc,IAAI,eAAe,EAAE,CAAC;IAEpC,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;IACrE,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,CAAC;IAC3D,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IACxC,cAAc,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;CACjD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ZChainName, ZUint } from '../metadata/customZodTypes.js';
|
|
3
|
+
import { TokenConnectionConfigSchema, } from './TokenConnection.js';
|
|
4
|
+
import { TokenStandard } from './TokenStandard.js';
|
|
5
|
+
export const TokenConfigSchema = z.object({
|
|
6
|
+
chainName: ZChainName.describe('The name of the chain, must correspond to a chain in the multiProvider chainMetadata'),
|
|
7
|
+
standard: z
|
|
8
|
+
.nativeEnum(TokenStandard)
|
|
9
|
+
.describe('The type of token. See TokenStandard for valid values.'),
|
|
10
|
+
decimals: ZUint.lt(256).describe('The decimals value (e.g. 18 for Eth)'),
|
|
11
|
+
symbol: z.string().min(1).describe('The symbol of the token'),
|
|
12
|
+
name: z.string().min(1).describe('The name of the token'),
|
|
13
|
+
addressOrDenom: z
|
|
14
|
+
.string()
|
|
15
|
+
.min(1)
|
|
16
|
+
.nullable()
|
|
17
|
+
.transform((value) => value ?? '')
|
|
18
|
+
.describe('The address or denom; null config values are normalized to an empty string for native tokens'),
|
|
19
|
+
collateralAddressOrDenom: z
|
|
20
|
+
.string()
|
|
21
|
+
.min(1)
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('The address or denom of the collateralized token'),
|
|
24
|
+
igpTokenAddressOrDenom: z
|
|
25
|
+
.string()
|
|
26
|
+
.min(1)
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('The address or denom of the token for IGP payments'),
|
|
29
|
+
logoURI: z.string().optional().describe('The URI of the token logo'),
|
|
30
|
+
connections: z
|
|
31
|
+
.array(TokenConnectionConfigSchema)
|
|
32
|
+
.optional()
|
|
33
|
+
.describe('The list of token connections (e.g. warp or IBC)'),
|
|
34
|
+
coinGeckoId: z
|
|
35
|
+
.string()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe('The CoinGecko id of the token, used for price lookups'),
|
|
38
|
+
scale: ZUint.lt(256).optional().describe('The scaling factor of the token'),
|
|
39
|
+
warpRouteId: z
|
|
40
|
+
.string()
|
|
41
|
+
.min(1)
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Unique warp route identifier, used to disambiguate tokens that share the same addressOrDenom on the same chain (e.g. M0 Portal tokens)'),
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=ITokenMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITokenMetadata.js","sourceRoot":"","sources":["../../src/token/ITokenMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAIlE,OAAO,EAEL,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAC5B,sFAAsF,CACvF;IACD,QAAQ,EAAE,CAAC;SACR,UAAU,CAAC,aAAa,CAAC;SACzB,QAAQ,CAAC,wDAAwD,CAAC;IACrE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACzD,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SACjC,QAAQ,CACP,8FAA8F,CAC/F;IACH,wBAAwB,EAAE,CAAC;SACxB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,sBAAsB,EAAE,CAAC;SACtB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpE,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,2BAA2B,CAAC;SAClC,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC3E,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,wIAAwI,CACzI;CACJ,CAAC,CAAC"}
|
package/dist/token/Token.d.ts
CHANGED
|
@@ -1,75 +1,41 @@
|
|
|
1
1
|
import { MsgTransferEncodeObject } from '@cosmjs/stargate';
|
|
2
|
-
import { Address, Numberish
|
|
3
|
-
import {
|
|
4
|
-
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
|
|
2
|
+
import { Address, Numberish } from '@hyperlane-xyz/utils';
|
|
3
|
+
import type { MultiProviderAdapter } from '../providers/MultiProviderAdapter.js';
|
|
5
4
|
import { ChainName } from '../types.js';
|
|
6
|
-
import type { IToken
|
|
5
|
+
import type { IToken } from './IToken.js';
|
|
7
6
|
import { TokenAmount } from './TokenAmount.js';
|
|
8
7
|
import { TokenConnection } from './TokenConnection.js';
|
|
8
|
+
import { TokenMetadata } from './TokenMetadata.js';
|
|
9
9
|
import type { IHypTokenAdapter, ITokenAdapter } from './adapters/ITokenAdapter.js';
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* Creates a Token for the native currency on the given chain.
|
|
17
|
-
* Will use the default native token for the given protocol if
|
|
18
|
-
* nothing specific is set in the ChainMetadata.
|
|
19
|
-
*/
|
|
20
|
-
static FromChainMetadataNativeToken(chainMetadata: ChainMetadata): Token;
|
|
10
|
+
export declare class Token extends TokenMetadata implements IToken {
|
|
11
|
+
amount(amount: Numberish): TokenAmount<this>;
|
|
12
|
+
getConnections(): TokenConnection<IToken>[];
|
|
13
|
+
getConnectionForChain(chain: ChainName): TokenConnection<IToken> | undefined;
|
|
14
|
+
addConnection(connection: TokenConnection<IToken>): Token;
|
|
15
|
+
removeConnection(token: IToken): Token;
|
|
21
16
|
/**
|
|
22
17
|
* Returns a TokenAdapter for the token and multiProvider
|
|
23
18
|
* @throws If multiProvider does not contain this token's chain.
|
|
24
19
|
* @throws If token is an NFT (TODO NFT Adapter support)
|
|
25
20
|
*/
|
|
26
|
-
getAdapter(multiProvider:
|
|
21
|
+
getAdapter(multiProvider: MultiProviderAdapter): ITokenAdapter<unknown>;
|
|
27
22
|
/**
|
|
28
23
|
* Returns a HypTokenAdapter for the token and multiProvider
|
|
29
24
|
* @throws If not applicable to this token's standard.
|
|
30
25
|
* @throws If multiProvider does not contain this token's chain.
|
|
31
26
|
* @throws If token is an NFT (TODO NFT Adapter support)
|
|
32
27
|
*/
|
|
33
|
-
getHypAdapter(multiProvider:
|
|
28
|
+
getHypAdapter(multiProvider: MultiProviderAdapter<{
|
|
34
29
|
mailbox?: Address;
|
|
35
30
|
}>, destination?: ChainName): IHypTokenAdapter<unknown>;
|
|
36
|
-
protected getIbcAdapter(multiProvider:
|
|
31
|
+
protected getIbcAdapter(multiProvider: MultiProviderAdapter, connection: TokenConnection): IHypTokenAdapter<MsgTransferEncodeObject>;
|
|
37
32
|
/**
|
|
38
33
|
* Convenience method to create an adapter and return an account balance
|
|
39
34
|
*/
|
|
40
|
-
getBalance(multiProvider:
|
|
41
|
-
amount(amount: Numberish): TokenAmount;
|
|
42
|
-
isNft(): boolean;
|
|
43
|
-
isNative(): boolean;
|
|
44
|
-
isHypNative(): boolean;
|
|
45
|
-
isCollateralized(): boolean;
|
|
46
|
-
isHypToken(): boolean;
|
|
47
|
-
isXerc20(): boolean;
|
|
48
|
-
isIbcToken(): boolean;
|
|
49
|
-
isMultiChainToken(): boolean;
|
|
50
|
-
isCrossCollateralToken(): boolean;
|
|
51
|
-
getConnections(): TokenConnection[];
|
|
52
|
-
getConnectionForChain(chain: ChainName): TokenConnection | undefined;
|
|
53
|
-
addConnection(connection: TokenConnection): Token;
|
|
54
|
-
removeConnection(token: IToken): Token;
|
|
55
|
-
/**
|
|
56
|
-
* Returns true if tokens refer to the same asset
|
|
57
|
-
*/
|
|
58
|
-
equals(token?: IToken): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Two tokens may not be equal but may still represent the same underlying asset
|
|
61
|
-
* The cases for this include:
|
|
62
|
-
* 1) A HypCollateral contract token and its wrapped token (eg. EvmHypCollateral and ERC20)
|
|
63
|
-
* 2) A HypNative contract and its native currency (eg. EvmHypNative and Ether)
|
|
64
|
-
* 3) An IBC token and its native equivalent
|
|
65
|
-
* This is useful during fee estimation to determine if a TokenAmount for the transfer and the fee
|
|
66
|
-
* are actually fungible (represent the same asset).
|
|
67
|
-
* @returns true if the tokens represent the same underlying asset
|
|
68
|
-
*/
|
|
69
|
-
isFungibleWith(token?: IToken): boolean;
|
|
35
|
+
getBalance(multiProvider: MultiProviderAdapter, address: Address): Promise<TokenAmount<IToken>>;
|
|
70
36
|
}
|
|
71
37
|
interface GetCollateralTokenAdapterOptions {
|
|
72
|
-
multiProvider:
|
|
38
|
+
multiProvider: MultiProviderAdapter;
|
|
73
39
|
chainName: ChainName;
|
|
74
40
|
tokenAddress: Address;
|
|
75
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../src/token/Token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Token.d.ts","sourceRoot":"","sources":["../../src/token/Token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EACL,OAAO,EACP,SAAS,EAIV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAenD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAqBrC,qBAAa,KAAM,SAAQ,aAAc,YAAW,MAAM;IAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;IAI5C,cAAc,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;IAM3C,qBAAqB,CAC5B,KAAK,EAAE,SAAS,GACf,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS;IAI7B,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK;IAKzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAK/C;;;;OAIG;IACH,UAAU,CAAC,aAAa,EAAE,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC;IA2EvE;;;;;OAKG;IACH,aAAa,CACX,aAAa,EAAE,oBAAoB,CAAC;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,EAC1D,WAAW,CAAC,EAAE,SAAS,GACtB,gBAAgB,CAAC,OAAO,CAAC;IAiE5B,SAAS,CAAC,aAAa,CACrB,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,eAAe,GAC1B,gBAAgB,CAAC,uBAAuB,CAAC;IAsC5C;;OAEG;IACG,UAAU,CACd,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;CAKhC;AAED,UAAU,gCAAgC;IACxC,aAAa,EAAE,oBAAoB,CAAC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,aAAa,EACb,YAAY,GACb,EAAE,gCAAgC,GAAG,aAAa,CAAC,OAAO,CAAC,CA2B3D"}
|