@klappay/types 5.0.0 → 5.1.1
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/{chunk-VTX32VJN.mjs → chunk-VL7W6KNP.mjs} +68 -10
- package/dist/chunk-VL7W6KNP.mjs.map +1 -0
- package/dist/{constants-Di4Qr6af.d.mts → constants-DpqgXUf_.d.mts} +22 -9
- package/dist/{constants-Di4Qr6af.d.ts → constants-DpqgXUf_.d.ts} +22 -9
- package/dist/constants.d.mts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +52 -9
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +3 -1
- package/dist/index.d.mts +305 -153
- package/dist/index.d.ts +305 -153
- package/dist/index.js +413 -314
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +349 -306
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-VTX32VJN.mjs.map +0 -1
|
@@ -6,7 +6,9 @@ var NETWORK_LABELS = {
|
|
|
6
6
|
ethereum: "Ethereum",
|
|
7
7
|
arbitrum: "Arbitrum",
|
|
8
8
|
avalanche: "Avalanche",
|
|
9
|
-
bnb: "BNB Chain"
|
|
9
|
+
bnb: "BNB Chain",
|
|
10
|
+
tron: "TRON",
|
|
11
|
+
arc: "Arc"
|
|
10
12
|
};
|
|
11
13
|
var NETWORK_EXPLORERS = {
|
|
12
14
|
base: "https://basescan.org",
|
|
@@ -15,7 +17,9 @@ var NETWORK_EXPLORERS = {
|
|
|
15
17
|
ethereum: "https://etherscan.io",
|
|
16
18
|
arbitrum: "https://arbiscan.io",
|
|
17
19
|
avalanche: "https://snowtrace.io",
|
|
18
|
-
bnb: "https://bscscan.com"
|
|
20
|
+
bnb: "https://bscscan.com",
|
|
21
|
+
tron: "https://tronscan.org",
|
|
22
|
+
arc: "https://explorer.arc.io"
|
|
19
23
|
};
|
|
20
24
|
var EVM_NETWORKS = [
|
|
21
25
|
"base",
|
|
@@ -24,7 +28,8 @@ var EVM_NETWORKS = [
|
|
|
24
28
|
"ethereum",
|
|
25
29
|
"arbitrum",
|
|
26
30
|
"avalanche",
|
|
27
|
-
"bnb"
|
|
31
|
+
"bnb",
|
|
32
|
+
"arc"
|
|
28
33
|
];
|
|
29
34
|
var OPERATIONAL_NETWORKS = [
|
|
30
35
|
"base",
|
|
@@ -33,7 +38,9 @@ var OPERATIONAL_NETWORKS = [
|
|
|
33
38
|
"polygon",
|
|
34
39
|
"ethereum",
|
|
35
40
|
"avalanche",
|
|
36
|
-
"bnb"
|
|
41
|
+
"bnb",
|
|
42
|
+
"arc",
|
|
43
|
+
"tron"
|
|
37
44
|
];
|
|
38
45
|
var CHAIN_IDS = {
|
|
39
46
|
base: { live: 8453, test: 84532 },
|
|
@@ -42,8 +49,41 @@ var CHAIN_IDS = {
|
|
|
42
49
|
polygon: { live: 137 },
|
|
43
50
|
arbitrum: { live: 42161 },
|
|
44
51
|
avalanche: { live: 43114 },
|
|
45
|
-
bnb: { live: 56 }
|
|
52
|
+
bnb: { live: 56 },
|
|
53
|
+
arc: { live: 5042, test: 5042002 }
|
|
46
54
|
};
|
|
55
|
+
var NETWORK_FAMILIES = {
|
|
56
|
+
base: "evm-official",
|
|
57
|
+
optimism: "evm-official",
|
|
58
|
+
polygon: "evm-official",
|
|
59
|
+
ethereum: "evm-official",
|
|
60
|
+
arbitrum: "evm-official",
|
|
61
|
+
avalanche: "evm-official",
|
|
62
|
+
bnb: "evm-official",
|
|
63
|
+
tron: "tron",
|
|
64
|
+
arc: "arc"
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// src/addresses.constants.ts
|
|
68
|
+
var EVM_ADDRESS_REGEX = /^0x[0-9a-f]{40}$/i;
|
|
69
|
+
var TRON_ADDRESS_REGEX = /^T[1-9A-HJ-NP-Za-km-z]{33}$/;
|
|
70
|
+
function isEvmAddress(value) {
|
|
71
|
+
return EVM_ADDRESS_REGEX.test(value);
|
|
72
|
+
}
|
|
73
|
+
function isTronAddress(value) {
|
|
74
|
+
return TRON_ADDRESS_REGEX.test(value);
|
|
75
|
+
}
|
|
76
|
+
function isSplitAddress(value) {
|
|
77
|
+
return isEvmAddress(value) || isTronAddress(value);
|
|
78
|
+
}
|
|
79
|
+
function tronAddress(value) {
|
|
80
|
+
if (!isTronAddress(value)) throw new Error(`not a valid TRON address: ${value}`);
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
function addressesEqual(a, b) {
|
|
84
|
+
if (isEvmAddress(a) && isEvmAddress(b)) return a.toLowerCase() === b.toLowerCase();
|
|
85
|
+
return a === b;
|
|
86
|
+
}
|
|
47
87
|
|
|
48
88
|
// src/tokens.constants.ts
|
|
49
89
|
var TOKEN_DECIMALS = 6;
|
|
@@ -64,7 +104,11 @@ var TOKEN_DEPLOYMENTS = {
|
|
|
64
104
|
},
|
|
65
105
|
arbitrum: { live: { address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals: 6 } },
|
|
66
106
|
avalanche: { live: { address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", decimals: 6 } },
|
|
67
|
-
bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } }
|
|
107
|
+
bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } },
|
|
108
|
+
arc: {
|
|
109
|
+
live: { address: "0x3600000000000000000000000000000000000000", decimals: 6 },
|
|
110
|
+
test: { address: "0x3600000000000000000000000000000000000000", decimals: 6 }
|
|
111
|
+
}
|
|
68
112
|
},
|
|
69
113
|
USDT: {
|
|
70
114
|
base: { live: { address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2", decimals: 6 } },
|
|
@@ -73,7 +117,11 @@ var TOKEN_DEPLOYMENTS = {
|
|
|
73
117
|
ethereum: { live: { address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", decimals: 6 } },
|
|
74
118
|
arbitrum: { live: { address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", decimals: 6 } },
|
|
75
119
|
avalanche: { live: { address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", decimals: 6 } },
|
|
76
|
-
bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } }
|
|
120
|
+
bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } },
|
|
121
|
+
tron: {
|
|
122
|
+
live: { address: tronAddress("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"), decimals: 6 },
|
|
123
|
+
test: { address: tronAddress("TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf"), decimals: 6 }
|
|
124
|
+
}
|
|
77
125
|
}
|
|
78
126
|
};
|
|
79
127
|
function getTokenDeployment(token, network, environment) {
|
|
@@ -85,7 +133,7 @@ function isPaymentDeploymentEnabled(token, network, environment) {
|
|
|
85
133
|
}
|
|
86
134
|
function deriveAddresses(deployments) {
|
|
87
135
|
const addresses = {};
|
|
88
|
-
for (const network of
|
|
136
|
+
for (const network of Object.keys(deployments)) {
|
|
89
137
|
const byEnvironment = deployments[network];
|
|
90
138
|
if (!byEnvironment) continue;
|
|
91
139
|
const networkAddresses = {};
|
|
@@ -148,7 +196,11 @@ var ALT_TOKEN_ADDRESSES = {
|
|
|
148
196
|
BTC: "0x2297aebd383787a160dd0d9f71508148769342e3",
|
|
149
197
|
LINK: "0x5947BB275c521040051D82396192181b413227A3"
|
|
150
198
|
},
|
|
151
|
-
bnb: { BNB: "native" }
|
|
199
|
+
bnb: { BNB: "native" },
|
|
200
|
+
tron: {},
|
|
201
|
+
arc: {
|
|
202
|
+
BTC: "0x171A4217b86A807A64eB94757Db6849fb4bDbAA0"
|
|
203
|
+
}
|
|
152
204
|
};
|
|
153
205
|
|
|
154
206
|
export {
|
|
@@ -157,6 +209,12 @@ export {
|
|
|
157
209
|
EVM_NETWORKS,
|
|
158
210
|
OPERATIONAL_NETWORKS,
|
|
159
211
|
CHAIN_IDS,
|
|
212
|
+
NETWORK_FAMILIES,
|
|
213
|
+
isEvmAddress,
|
|
214
|
+
isTronAddress,
|
|
215
|
+
isSplitAddress,
|
|
216
|
+
tronAddress,
|
|
217
|
+
addressesEqual,
|
|
160
218
|
TOKEN_DECIMALS,
|
|
161
219
|
TOKEN_DEPLOYMENTS,
|
|
162
220
|
getTokenDeployment,
|
|
@@ -165,4 +223,4 @@ export {
|
|
|
165
223
|
ALT_TOKEN_DECIMALS,
|
|
166
224
|
ALT_TOKEN_ADDRESSES
|
|
167
225
|
};
|
|
168
|
-
//# sourceMappingURL=chunk-
|
|
226
|
+
//# sourceMappingURL=chunk-VL7W6KNP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/networks.constants.ts","../src/addresses.constants.ts","../src/tokens.constants.ts","../src/alt-tokens.constants.ts"],"sourcesContent":["import type { Environment } from './environment'\nimport type { Network } from './networks'\n\nexport const NETWORK_LABELS: Record<Network, string> = {\n base: 'Base',\n optimism: 'Optimism',\n polygon: 'Polygon',\n ethereum: 'Ethereum',\n arbitrum: 'Arbitrum',\n avalanche: 'Avalanche',\n bnb: 'BNB Chain',\n tron: 'TRON',\n arc: 'Arc',\n}\n\nexport const NETWORK_EXPLORERS: Record<Network, string> = {\n base: 'https://basescan.org',\n optimism: 'https://optimistic.etherscan.io',\n polygon: 'https://polygonscan.com',\n ethereum: 'https://etherscan.io',\n arbitrum: 'https://arbiscan.io',\n avalanche: 'https://snowtrace.io',\n bnb: 'https://bscscan.com',\n tron: 'https://tronscan.org',\n arc: 'https://explorer.arc.io',\n}\n\nexport const EVM_NETWORKS = [\n 'base',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'arbitrum',\n 'avalanche',\n 'bnb',\n 'arc',\n] as const\nexport type EvmNetwork = (typeof EVM_NETWORKS)[number]\n\nexport const OPERATIONAL_NETWORKS = [\n 'base',\n 'arbitrum',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'avalanche',\n 'bnb',\n 'arc',\n 'tron',\n] as const\nexport type OperationalNetwork = (typeof OPERATIONAL_NETWORKS)[number]\n\nexport const CHAIN_IDS: Record<EvmNetwork, Partial<Record<Environment, number>>> = {\n base: { live: 8453, test: 84532 },\n optimism: { live: 10, test: 11155420 },\n ethereum: { live: 1, test: 11155111 },\n polygon: { live: 137 },\n arbitrum: { live: 42161 },\n avalanche: { live: 43114 },\n bnb: { live: 56 },\n arc: { live: 5042, test: 5042002 },\n}\n\nexport const NETWORK_FAMILIES: Record<Network, 'evm-official' | 'tron' | 'arc'> = {\n base: 'evm-official',\n optimism: 'evm-official',\n polygon: 'evm-official',\n ethereum: 'evm-official',\n arbitrum: 'evm-official',\n avalanche: 'evm-official',\n bnb: 'evm-official',\n tron: 'tron',\n arc: 'arc',\n}\nexport type NetworkFamily = (typeof NETWORK_FAMILIES)[Network]\n","export type EvmAddress = `0x${string}`\nexport type TronAddress = string & { readonly __tronAddress: unique symbol }\n\nexport type SplitAddress = EvmAddress | TronAddress\n\nconst EVM_ADDRESS_REGEX = /^0x[0-9a-f]{40}$/i\nconst TRON_ADDRESS_REGEX = /^T[1-9A-HJ-NP-Za-km-z]{33}$/\n\nexport function isEvmAddress(value: string): value is EvmAddress {\n return EVM_ADDRESS_REGEX.test(value)\n}\n\nexport function isTronAddress(value: string): value is TronAddress {\n return TRON_ADDRESS_REGEX.test(value)\n}\n\nexport function isSplitAddress(value: string): value is SplitAddress {\n return isEvmAddress(value) || isTronAddress(value)\n}\n\nexport function tronAddress(value: string): TronAddress {\n if (!isTronAddress(value)) throw new Error(`not a valid TRON address: ${value}`)\n return value\n}\n\nexport function addressesEqual(a: string, b: string): boolean {\n if (isEvmAddress(a) && isEvmAddress(b)) return a.toLowerCase() === b.toLowerCase()\n return a === b\n}\n","import { type SplitAddress, tronAddress } from './addresses.constants'\nimport type { Environment } from './environment'\nimport type { Network } from './networks'\nimport type { Token } from './tokens'\n\nexport const TOKEN_DECIMALS = 6\n\nexport type TokenDeployment = { address: SplitAddress; decimals: number }\n\ntype DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>\ntype AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, SplitAddress>>>>\n\nexport const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork> = {\n USDC: {\n base: {\n live: { address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', decimals: 6 },\n test: { address: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', decimals: 6 },\n },\n optimism: {\n live: { address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', decimals: 6 },\n test: { address: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', decimals: 6 },\n },\n polygon: { live: { address: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', decimals: 6 } },\n ethereum: {\n live: { address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', decimals: 6 },\n test: { address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', decimals: 6 },\n },\n arbitrum: { live: { address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', decimals: 6 } },\n avalanche: { live: { address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', decimals: 6 } },\n bnb: { live: { address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', decimals: 18 } },\n arc: {\n live: { address: '0x3600000000000000000000000000000000000000', decimals: 6 },\n test: { address: '0x3600000000000000000000000000000000000000', decimals: 6 },\n },\n },\n USDT: {\n base: { live: { address: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2', decimals: 6 } },\n optimism: { live: { address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', decimals: 6 } },\n polygon: { live: { address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', decimals: 6 } },\n ethereum: { live: { address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', decimals: 6 } },\n arbitrum: { live: { address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', decimals: 6 } },\n avalanche: { live: { address: '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7', decimals: 6 } },\n bnb: { live: { address: '0x55d398326f99059fF775485246999027B3197955', decimals: 18 } },\n tron: {\n live: { address: tronAddress('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'), decimals: 6 },\n test: { address: tronAddress('TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf'), decimals: 6 },\n },\n },\n}\n\nexport function getTokenDeployment(\n token: Token,\n network: Network,\n environment: Environment,\n): TokenDeployment | undefined {\n return TOKEN_DEPLOYMENTS[token][network]?.[environment]\n}\n\nexport function isPaymentDeploymentEnabled(\n token: Token,\n network: Network,\n environment: Environment,\n): boolean {\n if (network === 'bnb' && environment === 'live') return false\n return getTokenDeployment(token, network, environment) !== undefined\n}\n\nfunction deriveAddresses(deployments: DeploymentsByNetwork): AddressesByNetwork {\n const addresses: AddressesByNetwork = {}\n for (const network of Object.keys(deployments) as Network[]) {\n const byEnvironment = deployments[network]\n if (!byEnvironment) continue\n const networkAddresses: Partial<Record<Environment, SplitAddress>> = {}\n for (const environment of ['live', 'test'] as const) {\n const deployment = byEnvironment[environment]\n if (deployment) networkAddresses[environment] = deployment.address\n }\n addresses[network] = networkAddresses\n }\n return addresses\n}\n\nexport const TOKEN_ADDRESSES: Record<Token, AddressesByNetwork> = {\n USDC: deriveAddresses(TOKEN_DEPLOYMENTS.USDC),\n USDT: deriveAddresses(TOKEN_DEPLOYMENTS.USDT),\n}\n","import type { AltToken } from './alt-tokens'\nimport type { Network } from './networks'\n\nexport const ALT_TOKEN_DECIMALS: Record<AltToken, number> = {\n ETH: 18,\n BNB: 18,\n POL: 18,\n AVAX: 18,\n BTC: 8,\n LINK: 18,\n ARB: 18,\n OP: 18,\n CBETH: 18,\n}\n\nexport const ALT_TOKEN_ADDRESSES: Record<\n Network,\n Partial<Record<AltToken, 'native' | `0x${string}`>>\n> = {\n base: {\n ETH: 'native',\n BTC: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n LINK: '0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196',\n CBETH: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',\n },\n optimism: {\n ETH: 'native',\n BTC: '0x68f180fcCe6836688e9084f035309E29Bf0A2095',\n LINK: '0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6',\n OP: '0x4200000000000000000000000000000000000042',\n },\n ethereum: {\n ETH: 'native',\n BTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n LINK: '0x514910771AF9Ca656af840dff83E8264EcF986CA',\n },\n arbitrum: {\n ETH: 'native',\n BTC: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',\n LINK: '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4',\n ARB: '0x912CE59144191C1204E64559FE8253a0e49E6548',\n },\n polygon: {\n POL: 'native',\n BTC: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',\n LINK: '0xb0897686c545045aFc77CF20eC7A532E3120E0F1',\n },\n avalanche: {\n AVAX: 'native',\n BTC: '0x2297aebd383787a160dd0d9f71508148769342e3',\n LINK: '0x5947BB275c521040051D82396192181b413227A3',\n },\n bnb: { BNB: 'native' },\n tron: {},\n arc: {\n BTC: '0x171A4217b86A807A64eB94757Db6849fb4bDbAA0',\n },\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,27 +3,40 @@ import { z } from 'zod';
|
|
|
3
3
|
declare const EnvironmentSchema: z.ZodEnum<["live", "test"]>;
|
|
4
4
|
type Environment = z.infer<typeof EnvironmentSchema>;
|
|
5
5
|
|
|
6
|
-
declare const NetworkSchema: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
|
|
6
|
+
declare const NetworkSchema: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "tron", "arc"]>;
|
|
7
7
|
type Network = z.infer<typeof NetworkSchema>;
|
|
8
8
|
|
|
9
9
|
declare const NETWORK_LABELS: Record<Network, string>;
|
|
10
10
|
declare const NETWORK_EXPLORERS: Record<Network, string>;
|
|
11
|
-
declare const EVM_NETWORKS: readonly ["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"];
|
|
11
|
+
declare const EVM_NETWORKS: readonly ["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "arc"];
|
|
12
12
|
type EvmNetwork = (typeof EVM_NETWORKS)[number];
|
|
13
|
-
declare const OPERATIONAL_NETWORKS: readonly ["base", "arbitrum", "optimism", "polygon", "ethereum", "avalanche", "bnb"];
|
|
13
|
+
declare const OPERATIONAL_NETWORKS: readonly ["base", "arbitrum", "optimism", "polygon", "ethereum", "avalanche", "bnb", "arc", "tron"];
|
|
14
14
|
type OperationalNetwork = (typeof OPERATIONAL_NETWORKS)[number];
|
|
15
15
|
declare const CHAIN_IDS: Record<EvmNetwork, Partial<Record<Environment, number>>>;
|
|
16
|
+
declare const NETWORK_FAMILIES: Record<Network, 'evm-official' | 'tron' | 'arc'>;
|
|
17
|
+
type NetworkFamily = (typeof NETWORK_FAMILIES)[Network];
|
|
18
|
+
|
|
19
|
+
type EvmAddress = `0x${string}`;
|
|
20
|
+
type TronAddress = string & {
|
|
21
|
+
readonly __tronAddress: unique symbol;
|
|
22
|
+
};
|
|
23
|
+
type SplitAddress = EvmAddress | TronAddress;
|
|
24
|
+
declare function isEvmAddress(value: string): value is EvmAddress;
|
|
25
|
+
declare function isTronAddress(value: string): value is TronAddress;
|
|
26
|
+
declare function isSplitAddress(value: string): value is SplitAddress;
|
|
27
|
+
declare function tronAddress(value: string): TronAddress;
|
|
28
|
+
declare function addressesEqual(a: string, b: string): boolean;
|
|
16
29
|
|
|
17
30
|
declare const TokenSchema: z.ZodEnum<["USDC", "USDT"]>;
|
|
18
31
|
type Token = z.infer<typeof TokenSchema>;
|
|
19
32
|
|
|
20
33
|
declare const TOKEN_DECIMALS = 6;
|
|
21
34
|
type TokenDeployment = {
|
|
22
|
-
address:
|
|
35
|
+
address: SplitAddress;
|
|
23
36
|
decimals: number;
|
|
24
37
|
};
|
|
25
38
|
type DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>;
|
|
26
|
-
type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment,
|
|
39
|
+
type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, SplitAddress>>>>;
|
|
27
40
|
declare const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork>;
|
|
28
41
|
declare function getTokenDeployment(token: Token, network: Network, environment: Environment): TokenDeployment | undefined;
|
|
29
42
|
declare function isPaymentDeploymentEnabled(token: Token, network: Network, environment: Environment): boolean;
|
|
@@ -33,13 +46,13 @@ declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LI
|
|
|
33
46
|
type AltToken = z.infer<typeof AltTokenSchema>;
|
|
34
47
|
declare const SwapAlternativeSchema: z.ZodObject<{
|
|
35
48
|
token: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
|
|
36
|
-
network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
|
|
49
|
+
network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "tron", "arc"]>;
|
|
37
50
|
}, "strip", z.ZodTypeAny, {
|
|
38
51
|
token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
|
|
39
|
-
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
|
|
52
|
+
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb" | "tron" | "arc";
|
|
40
53
|
}, {
|
|
41
54
|
token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
|
|
42
|
-
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
|
|
55
|
+
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb" | "tron" | "arc";
|
|
43
56
|
}>;
|
|
44
57
|
type SwapAlternative = z.infer<typeof SwapAlternativeSchema>;
|
|
45
58
|
declare function listSwapAlternatives(networks: readonly Network[]): SwapAlternative[];
|
|
@@ -47,4 +60,4 @@ declare function listSwapAlternatives(networks: readonly Network[]): SwapAlterna
|
|
|
47
60
|
declare const ALT_TOKEN_DECIMALS: Record<AltToken, number>;
|
|
48
61
|
declare const ALT_TOKEN_ADDRESSES: Record<Network, Partial<Record<AltToken, 'native' | `0x${string}`>>>;
|
|
49
62
|
|
|
50
|
-
export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type
|
|
63
|
+
export { ALT_TOKEN_ADDRESSES as A, isTronAddress as B, CHAIN_IDS as C, listSwapAlternatives as D, EVM_NETWORKS as E, tronAddress as F, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SplitAddress as S, TOKEN_ADDRESSES as T, ALT_TOKEN_DECIMALS as a, type AltToken as b, AltTokenSchema as c, type Environment as d, EnvironmentSchema as e, type EvmAddress as f, type EvmNetwork as g, NETWORK_FAMILIES as h, NETWORK_LABELS as i, type Network as j, type NetworkFamily as k, NetworkSchema as l, type OperationalNetwork as m, type SwapAlternative as n, SwapAlternativeSchema as o, TOKEN_DECIMALS as p, TOKEN_DEPLOYMENTS as q, type Token as r, type TokenDeployment as s, TokenSchema as t, type TronAddress as u, addressesEqual as v, getTokenDeployment as w, isEvmAddress as x, isPaymentDeploymentEnabled as y, isSplitAddress as z };
|
|
@@ -3,27 +3,40 @@ import { z } from 'zod';
|
|
|
3
3
|
declare const EnvironmentSchema: z.ZodEnum<["live", "test"]>;
|
|
4
4
|
type Environment = z.infer<typeof EnvironmentSchema>;
|
|
5
5
|
|
|
6
|
-
declare const NetworkSchema: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
|
|
6
|
+
declare const NetworkSchema: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "tron", "arc"]>;
|
|
7
7
|
type Network = z.infer<typeof NetworkSchema>;
|
|
8
8
|
|
|
9
9
|
declare const NETWORK_LABELS: Record<Network, string>;
|
|
10
10
|
declare const NETWORK_EXPLORERS: Record<Network, string>;
|
|
11
|
-
declare const EVM_NETWORKS: readonly ["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"];
|
|
11
|
+
declare const EVM_NETWORKS: readonly ["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "arc"];
|
|
12
12
|
type EvmNetwork = (typeof EVM_NETWORKS)[number];
|
|
13
|
-
declare const OPERATIONAL_NETWORKS: readonly ["base", "arbitrum", "optimism", "polygon", "ethereum", "avalanche", "bnb"];
|
|
13
|
+
declare const OPERATIONAL_NETWORKS: readonly ["base", "arbitrum", "optimism", "polygon", "ethereum", "avalanche", "bnb", "arc", "tron"];
|
|
14
14
|
type OperationalNetwork = (typeof OPERATIONAL_NETWORKS)[number];
|
|
15
15
|
declare const CHAIN_IDS: Record<EvmNetwork, Partial<Record<Environment, number>>>;
|
|
16
|
+
declare const NETWORK_FAMILIES: Record<Network, 'evm-official' | 'tron' | 'arc'>;
|
|
17
|
+
type NetworkFamily = (typeof NETWORK_FAMILIES)[Network];
|
|
18
|
+
|
|
19
|
+
type EvmAddress = `0x${string}`;
|
|
20
|
+
type TronAddress = string & {
|
|
21
|
+
readonly __tronAddress: unique symbol;
|
|
22
|
+
};
|
|
23
|
+
type SplitAddress = EvmAddress | TronAddress;
|
|
24
|
+
declare function isEvmAddress(value: string): value is EvmAddress;
|
|
25
|
+
declare function isTronAddress(value: string): value is TronAddress;
|
|
26
|
+
declare function isSplitAddress(value: string): value is SplitAddress;
|
|
27
|
+
declare function tronAddress(value: string): TronAddress;
|
|
28
|
+
declare function addressesEqual(a: string, b: string): boolean;
|
|
16
29
|
|
|
17
30
|
declare const TokenSchema: z.ZodEnum<["USDC", "USDT"]>;
|
|
18
31
|
type Token = z.infer<typeof TokenSchema>;
|
|
19
32
|
|
|
20
33
|
declare const TOKEN_DECIMALS = 6;
|
|
21
34
|
type TokenDeployment = {
|
|
22
|
-
address:
|
|
35
|
+
address: SplitAddress;
|
|
23
36
|
decimals: number;
|
|
24
37
|
};
|
|
25
38
|
type DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>;
|
|
26
|
-
type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment,
|
|
39
|
+
type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, SplitAddress>>>>;
|
|
27
40
|
declare const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork>;
|
|
28
41
|
declare function getTokenDeployment(token: Token, network: Network, environment: Environment): TokenDeployment | undefined;
|
|
29
42
|
declare function isPaymentDeploymentEnabled(token: Token, network: Network, environment: Environment): boolean;
|
|
@@ -33,13 +46,13 @@ declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LI
|
|
|
33
46
|
type AltToken = z.infer<typeof AltTokenSchema>;
|
|
34
47
|
declare const SwapAlternativeSchema: z.ZodObject<{
|
|
35
48
|
token: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
|
|
36
|
-
network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
|
|
49
|
+
network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb", "tron", "arc"]>;
|
|
37
50
|
}, "strip", z.ZodTypeAny, {
|
|
38
51
|
token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
|
|
39
|
-
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
|
|
52
|
+
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb" | "tron" | "arc";
|
|
40
53
|
}, {
|
|
41
54
|
token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
|
|
42
|
-
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
|
|
55
|
+
network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb" | "tron" | "arc";
|
|
43
56
|
}>;
|
|
44
57
|
type SwapAlternative = z.infer<typeof SwapAlternativeSchema>;
|
|
45
58
|
declare function listSwapAlternatives(networks: readonly Network[]): SwapAlternative[];
|
|
@@ -47,4 +60,4 @@ declare function listSwapAlternatives(networks: readonly Network[]): SwapAlterna
|
|
|
47
60
|
declare const ALT_TOKEN_DECIMALS: Record<AltToken, number>;
|
|
48
61
|
declare const ALT_TOKEN_ADDRESSES: Record<Network, Partial<Record<AltToken, 'native' | `0x${string}`>>>;
|
|
49
62
|
|
|
50
|
-
export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type
|
|
63
|
+
export { ALT_TOKEN_ADDRESSES as A, isTronAddress as B, CHAIN_IDS as C, listSwapAlternatives as D, EVM_NETWORKS as E, tronAddress as F, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SplitAddress as S, TOKEN_ADDRESSES as T, ALT_TOKEN_DECIMALS as a, type AltToken as b, AltTokenSchema as c, type Environment as d, EnvironmentSchema as e, type EvmAddress as f, type EvmNetwork as g, NETWORK_FAMILIES as h, NETWORK_LABELS as i, type Network as j, type NetworkFamily as k, NetworkSchema as l, type OperationalNetwork as m, type SwapAlternative as n, SwapAlternativeSchema as o, TOKEN_DECIMALS as p, TOKEN_DEPLOYMENTS as q, type Token as r, type TokenDeployment as s, TokenSchema as t, type TronAddress as u, addressesEqual as v, getTokenDeployment as w, isEvmAddress as x, isPaymentDeploymentEnabled as y, isSplitAddress as z };
|
package/dist/constants.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS,
|
|
1
|
+
export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, g as EvmNetwork, N as NETWORK_EXPLORERS, h as NETWORK_FAMILIES, i as NETWORK_LABELS, k as NetworkFamily, O as OPERATIONAL_NETWORKS, m as OperationalNetwork, T as TOKEN_ADDRESSES, p as TOKEN_DECIMALS, q as TOKEN_DEPLOYMENTS, s as TokenDeployment, w as getTokenDeployment, y as isPaymentDeploymentEnabled } from './constants-DpqgXUf_.mjs';
|
|
2
2
|
import 'zod';
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS,
|
|
1
|
+
export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, g as EvmNetwork, N as NETWORK_EXPLORERS, h as NETWORK_FAMILIES, i as NETWORK_LABELS, k as NetworkFamily, O as OPERATIONAL_NETWORKS, m as OperationalNetwork, T as TOKEN_ADDRESSES, p as TOKEN_DECIMALS, q as TOKEN_DEPLOYMENTS, s as TokenDeployment, w as getTokenDeployment, y as isPaymentDeploymentEnabled } from './constants-DpqgXUf_.js';
|
|
2
2
|
import 'zod';
|
package/dist/constants.js
CHANGED
|
@@ -25,6 +25,7 @@ __export(constants_exports, {
|
|
|
25
25
|
CHAIN_IDS: () => CHAIN_IDS,
|
|
26
26
|
EVM_NETWORKS: () => EVM_NETWORKS,
|
|
27
27
|
NETWORK_EXPLORERS: () => NETWORK_EXPLORERS,
|
|
28
|
+
NETWORK_FAMILIES: () => NETWORK_FAMILIES,
|
|
28
29
|
NETWORK_LABELS: () => NETWORK_LABELS,
|
|
29
30
|
OPERATIONAL_NETWORKS: () => OPERATIONAL_NETWORKS,
|
|
30
31
|
TOKEN_ADDRESSES: () => TOKEN_ADDRESSES,
|
|
@@ -43,7 +44,9 @@ var NETWORK_LABELS = {
|
|
|
43
44
|
ethereum: "Ethereum",
|
|
44
45
|
arbitrum: "Arbitrum",
|
|
45
46
|
avalanche: "Avalanche",
|
|
46
|
-
bnb: "BNB Chain"
|
|
47
|
+
bnb: "BNB Chain",
|
|
48
|
+
tron: "TRON",
|
|
49
|
+
arc: "Arc"
|
|
47
50
|
};
|
|
48
51
|
var NETWORK_EXPLORERS = {
|
|
49
52
|
base: "https://basescan.org",
|
|
@@ -52,7 +55,9 @@ var NETWORK_EXPLORERS = {
|
|
|
52
55
|
ethereum: "https://etherscan.io",
|
|
53
56
|
arbitrum: "https://arbiscan.io",
|
|
54
57
|
avalanche: "https://snowtrace.io",
|
|
55
|
-
bnb: "https://bscscan.com"
|
|
58
|
+
bnb: "https://bscscan.com",
|
|
59
|
+
tron: "https://tronscan.org",
|
|
60
|
+
arc: "https://explorer.arc.io"
|
|
56
61
|
};
|
|
57
62
|
var EVM_NETWORKS = [
|
|
58
63
|
"base",
|
|
@@ -61,7 +66,8 @@ var EVM_NETWORKS = [
|
|
|
61
66
|
"ethereum",
|
|
62
67
|
"arbitrum",
|
|
63
68
|
"avalanche",
|
|
64
|
-
"bnb"
|
|
69
|
+
"bnb",
|
|
70
|
+
"arc"
|
|
65
71
|
];
|
|
66
72
|
var OPERATIONAL_NETWORKS = [
|
|
67
73
|
"base",
|
|
@@ -70,7 +76,9 @@ var OPERATIONAL_NETWORKS = [
|
|
|
70
76
|
"polygon",
|
|
71
77
|
"ethereum",
|
|
72
78
|
"avalanche",
|
|
73
|
-
"bnb"
|
|
79
|
+
"bnb",
|
|
80
|
+
"arc",
|
|
81
|
+
"tron"
|
|
74
82
|
];
|
|
75
83
|
var CHAIN_IDS = {
|
|
76
84
|
base: { live: 8453, test: 84532 },
|
|
@@ -79,8 +87,30 @@ var CHAIN_IDS = {
|
|
|
79
87
|
polygon: { live: 137 },
|
|
80
88
|
arbitrum: { live: 42161 },
|
|
81
89
|
avalanche: { live: 43114 },
|
|
82
|
-
bnb: { live: 56 }
|
|
90
|
+
bnb: { live: 56 },
|
|
91
|
+
arc: { live: 5042, test: 5042002 }
|
|
83
92
|
};
|
|
93
|
+
var NETWORK_FAMILIES = {
|
|
94
|
+
base: "evm-official",
|
|
95
|
+
optimism: "evm-official",
|
|
96
|
+
polygon: "evm-official",
|
|
97
|
+
ethereum: "evm-official",
|
|
98
|
+
arbitrum: "evm-official",
|
|
99
|
+
avalanche: "evm-official",
|
|
100
|
+
bnb: "evm-official",
|
|
101
|
+
tron: "tron",
|
|
102
|
+
arc: "arc"
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// src/addresses.constants.ts
|
|
106
|
+
var TRON_ADDRESS_REGEX = /^T[1-9A-HJ-NP-Za-km-z]{33}$/;
|
|
107
|
+
function isTronAddress(value) {
|
|
108
|
+
return TRON_ADDRESS_REGEX.test(value);
|
|
109
|
+
}
|
|
110
|
+
function tronAddress(value) {
|
|
111
|
+
if (!isTronAddress(value)) throw new Error(`not a valid TRON address: ${value}`);
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
84
114
|
|
|
85
115
|
// src/tokens.constants.ts
|
|
86
116
|
var TOKEN_DECIMALS = 6;
|
|
@@ -101,7 +131,11 @@ var TOKEN_DEPLOYMENTS = {
|
|
|
101
131
|
},
|
|
102
132
|
arbitrum: { live: { address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals: 6 } },
|
|
103
133
|
avalanche: { live: { address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", decimals: 6 } },
|
|
104
|
-
bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } }
|
|
134
|
+
bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } },
|
|
135
|
+
arc: {
|
|
136
|
+
live: { address: "0x3600000000000000000000000000000000000000", decimals: 6 },
|
|
137
|
+
test: { address: "0x3600000000000000000000000000000000000000", decimals: 6 }
|
|
138
|
+
}
|
|
105
139
|
},
|
|
106
140
|
USDT: {
|
|
107
141
|
base: { live: { address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2", decimals: 6 } },
|
|
@@ -110,7 +144,11 @@ var TOKEN_DEPLOYMENTS = {
|
|
|
110
144
|
ethereum: { live: { address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", decimals: 6 } },
|
|
111
145
|
arbitrum: { live: { address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", decimals: 6 } },
|
|
112
146
|
avalanche: { live: { address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", decimals: 6 } },
|
|
113
|
-
bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } }
|
|
147
|
+
bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } },
|
|
148
|
+
tron: {
|
|
149
|
+
live: { address: tronAddress("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"), decimals: 6 },
|
|
150
|
+
test: { address: tronAddress("TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf"), decimals: 6 }
|
|
151
|
+
}
|
|
114
152
|
}
|
|
115
153
|
};
|
|
116
154
|
function getTokenDeployment(token, network, environment) {
|
|
@@ -122,7 +160,7 @@ function isPaymentDeploymentEnabled(token, network, environment) {
|
|
|
122
160
|
}
|
|
123
161
|
function deriveAddresses(deployments) {
|
|
124
162
|
const addresses = {};
|
|
125
|
-
for (const network of
|
|
163
|
+
for (const network of Object.keys(deployments)) {
|
|
126
164
|
const byEnvironment = deployments[network];
|
|
127
165
|
if (!byEnvironment) continue;
|
|
128
166
|
const networkAddresses = {};
|
|
@@ -185,7 +223,11 @@ var ALT_TOKEN_ADDRESSES = {
|
|
|
185
223
|
BTC: "0x2297aebd383787a160dd0d9f71508148769342e3",
|
|
186
224
|
LINK: "0x5947BB275c521040051D82396192181b413227A3"
|
|
187
225
|
},
|
|
188
|
-
bnb: { BNB: "native" }
|
|
226
|
+
bnb: { BNB: "native" },
|
|
227
|
+
tron: {},
|
|
228
|
+
arc: {
|
|
229
|
+
BTC: "0x171A4217b86A807A64eB94757Db6849fb4bDbAA0"
|
|
230
|
+
}
|
|
189
231
|
};
|
|
190
232
|
// Annotate the CommonJS export names for ESM import in node:
|
|
191
233
|
0 && (module.exports = {
|
|
@@ -194,6 +236,7 @@ var ALT_TOKEN_ADDRESSES = {
|
|
|
194
236
|
CHAIN_IDS,
|
|
195
237
|
EVM_NETWORKS,
|
|
196
238
|
NETWORK_EXPLORERS,
|
|
239
|
+
NETWORK_FAMILIES,
|
|
197
240
|
NETWORK_LABELS,
|
|
198
241
|
OPERATIONAL_NETWORKS,
|
|
199
242
|
TOKEN_ADDRESSES,
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts","../src/networks.constants.ts","../src/tokens.constants.ts","../src/alt-tokens.constants.ts"],"sourcesContent":["export * from './networks.constants'\nexport * from './tokens.constants'\nexport * from './alt-tokens.constants'\n","import type { Environment } from './environment'\nimport type { Network } from './networks'\n\nexport const NETWORK_LABELS: Record<Network, string> = {\n base: 'Base',\n optimism: 'Optimism',\n polygon: 'Polygon',\n ethereum: 'Ethereum',\n arbitrum: 'Arbitrum',\n avalanche: 'Avalanche',\n bnb: 'BNB Chain',\n}\n\nexport const NETWORK_EXPLORERS: Record<Network, string> = {\n base: 'https://basescan.org',\n optimism: 'https://optimistic.etherscan.io',\n polygon: 'https://polygonscan.com',\n ethereum: 'https://etherscan.io',\n arbitrum: 'https://arbiscan.io',\n avalanche: 'https://snowtrace.io',\n bnb: 'https://bscscan.com',\n}\n\nexport const EVM_NETWORKS = [\n 'base',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'arbitrum',\n 'avalanche',\n 'bnb',\n] as const\nexport type EvmNetwork = (typeof EVM_NETWORKS)[number]\n\nexport const OPERATIONAL_NETWORKS = [\n 'base',\n 'arbitrum',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'avalanche',\n 'bnb',\n] as const\nexport type OperationalNetwork = (typeof OPERATIONAL_NETWORKS)[number]\n\nexport const CHAIN_IDS: Record<EvmNetwork, Partial<Record<Environment, number>>> = {\n base: { live: 8453, test: 84532 },\n optimism: { live: 10, test: 11155420 },\n ethereum: { live: 1, test: 11155111 },\n polygon: { live: 137 },\n arbitrum: { live: 42161 },\n avalanche: { live: 43114 },\n bnb: { live: 56 },\n}\n","import type { Environment } from './environment'\nimport type { Network } from './networks'\nimport { EVM_NETWORKS } from './networks.constants'\nimport type { Token } from './tokens'\n\nexport const TOKEN_DECIMALS = 6\n\nexport type TokenDeployment = { address: `0x${string}`; decimals: number }\n\ntype DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>\ntype AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>\n\nexport const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork> = {\n USDC: {\n base: {\n live: { address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', decimals: 6 },\n test: { address: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', decimals: 6 },\n },\n optimism: {\n live: { address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', decimals: 6 },\n test: { address: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', decimals: 6 },\n },\n polygon: { live: { address: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', decimals: 6 } },\n ethereum: {\n live: { address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', decimals: 6 },\n test: { address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', decimals: 6 },\n },\n arbitrum: { live: { address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', decimals: 6 } },\n avalanche: { live: { address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', decimals: 6 } },\n bnb: { live: { address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', decimals: 18 } },\n },\n USDT: {\n base: { live: { address: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2', decimals: 6 } },\n optimism: { live: { address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', decimals: 6 } },\n polygon: { live: { address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', decimals: 6 } },\n ethereum: { live: { address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', decimals: 6 } },\n arbitrum: { live: { address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', decimals: 6 } },\n avalanche: { live: { address: '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7', decimals: 6 } },\n bnb: { live: { address: '0x55d398326f99059fF775485246999027B3197955', decimals: 18 } },\n },\n}\n\nexport function getTokenDeployment(\n token: Token,\n network: Network,\n environment: Environment,\n): TokenDeployment | undefined {\n return TOKEN_DEPLOYMENTS[token][network]?.[environment]\n}\n\nexport function isPaymentDeploymentEnabled(\n token: Token,\n network: Network,\n environment: Environment,\n): boolean {\n if (network === 'bnb' && environment === 'live') return false\n return getTokenDeployment(token, network, environment) !== undefined\n}\n\nfunction deriveAddresses(deployments: DeploymentsByNetwork): AddressesByNetwork {\n const addresses: AddressesByNetwork = {}\n for (const network of EVM_NETWORKS) {\n const byEnvironment = deployments[network]\n if (!byEnvironment) continue\n const networkAddresses: Partial<Record<Environment, `0x${string}`>> = {}\n for (const environment of ['live', 'test'] as const) {\n const deployment = byEnvironment[environment]\n if (deployment) networkAddresses[environment] = deployment.address\n }\n addresses[network] = networkAddresses\n }\n return addresses\n}\n\nexport const TOKEN_ADDRESSES: Record<Token, AddressesByNetwork> = {\n USDC: deriveAddresses(TOKEN_DEPLOYMENTS.USDC),\n USDT: deriveAddresses(TOKEN_DEPLOYMENTS.USDT),\n}\n","import type { AltToken } from './alt-tokens'\nimport type { Network } from './networks'\n\nexport const ALT_TOKEN_DECIMALS: Record<AltToken, number> = {\n ETH: 18,\n BNB: 18,\n POL: 18,\n AVAX: 18,\n BTC: 8,\n LINK: 18,\n ARB: 18,\n OP: 18,\n CBETH: 18,\n}\n\n// LINK: Chainlink's own official per-chain deployment on every network\n// below except Avalanche, where the only bridged instance is the\n// Avalanche Bridge's \"LINK.e\" (bridged from Ethereum, not a Chainlink\n// CCIP-native deployment) — same bridge-trust profile as any other\n// Avalanche Bridge (\".e\") asset, not Chainlink's own canonical issuance.\n// ARB/OP: each network's own governance token, native to that chain only.\n// CBETH: Coinbase's liquid-staked ETH, issued and custodied by Coinbase —\n// same trust model already accepted for Base's own cbBTC.\n// Avalanche's BTC entry is BTC.b (Bitcoin bridged via the Avalanche\n// Bridge); its bridge/custody operations transitioned from Ava Labs to\n// Lombard Finance in 2026, contract address unchanged — worth\n// re-reviewing if that custody model changes further.\nexport const ALT_TOKEN_ADDRESSES: Record<\n Network,\n Partial<Record<AltToken, 'native' | `0x${string}`>>\n> = {\n base: {\n ETH: 'native',\n BTC: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n LINK: '0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196',\n CBETH: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',\n },\n optimism: {\n ETH: 'native',\n BTC: '0x68f180fcCe6836688e9084f035309E29Bf0A2095',\n LINK: '0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6',\n OP: '0x4200000000000000000000000000000000000042',\n },\n ethereum: {\n ETH: 'native',\n BTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n LINK: '0x514910771AF9Ca656af840dff83E8264EcF986CA',\n },\n arbitrum: {\n ETH: 'native',\n BTC: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',\n LINK: '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4',\n ARB: '0x912CE59144191C1204E64559FE8253a0e49E6548',\n },\n polygon: {\n POL: 'native',\n BTC: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',\n LINK: '0xb0897686c545045aFc77CF20eC7A532E3120E0F1',\n },\n avalanche: {\n AVAX: 'native',\n BTC: '0x2297aebd383787a160dd0d9f71508148769342e3',\n LINK: '0x5947BB275c521040051D82396192181b413227A3',\n },\n bnb: { BNB: 'native' },\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/networks.constants.ts","../src/addresses.constants.ts","../src/tokens.constants.ts","../src/alt-tokens.constants.ts"],"sourcesContent":["export * from './networks.constants'\nexport * from './tokens.constants'\nexport * from './alt-tokens.constants'\n","import type { Environment } from './environment'\nimport type { Network } from './networks'\n\nexport const NETWORK_LABELS: Record<Network, string> = {\n base: 'Base',\n optimism: 'Optimism',\n polygon: 'Polygon',\n ethereum: 'Ethereum',\n arbitrum: 'Arbitrum',\n avalanche: 'Avalanche',\n bnb: 'BNB Chain',\n tron: 'TRON',\n arc: 'Arc',\n}\n\nexport const NETWORK_EXPLORERS: Record<Network, string> = {\n base: 'https://basescan.org',\n optimism: 'https://optimistic.etherscan.io',\n polygon: 'https://polygonscan.com',\n ethereum: 'https://etherscan.io',\n arbitrum: 'https://arbiscan.io',\n avalanche: 'https://snowtrace.io',\n bnb: 'https://bscscan.com',\n tron: 'https://tronscan.org',\n arc: 'https://explorer.arc.io',\n}\n\nexport const EVM_NETWORKS = [\n 'base',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'arbitrum',\n 'avalanche',\n 'bnb',\n 'arc',\n] as const\nexport type EvmNetwork = (typeof EVM_NETWORKS)[number]\n\nexport const OPERATIONAL_NETWORKS = [\n 'base',\n 'arbitrum',\n 'optimism',\n 'polygon',\n 'ethereum',\n 'avalanche',\n 'bnb',\n 'arc',\n 'tron',\n] as const\nexport type OperationalNetwork = (typeof OPERATIONAL_NETWORKS)[number]\n\nexport const CHAIN_IDS: Record<EvmNetwork, Partial<Record<Environment, number>>> = {\n base: { live: 8453, test: 84532 },\n optimism: { live: 10, test: 11155420 },\n ethereum: { live: 1, test: 11155111 },\n polygon: { live: 137 },\n arbitrum: { live: 42161 },\n avalanche: { live: 43114 },\n bnb: { live: 56 },\n arc: { live: 5042, test: 5042002 },\n}\n\nexport const NETWORK_FAMILIES: Record<Network, 'evm-official' | 'tron' | 'arc'> = {\n base: 'evm-official',\n optimism: 'evm-official',\n polygon: 'evm-official',\n ethereum: 'evm-official',\n arbitrum: 'evm-official',\n avalanche: 'evm-official',\n bnb: 'evm-official',\n tron: 'tron',\n arc: 'arc',\n}\nexport type NetworkFamily = (typeof NETWORK_FAMILIES)[Network]\n","export type EvmAddress = `0x${string}`\nexport type TronAddress = string & { readonly __tronAddress: unique symbol }\n\nexport type SplitAddress = EvmAddress | TronAddress\n\nconst EVM_ADDRESS_REGEX = /^0x[0-9a-f]{40}$/i\nconst TRON_ADDRESS_REGEX = /^T[1-9A-HJ-NP-Za-km-z]{33}$/\n\nexport function isEvmAddress(value: string): value is EvmAddress {\n return EVM_ADDRESS_REGEX.test(value)\n}\n\nexport function isTronAddress(value: string): value is TronAddress {\n return TRON_ADDRESS_REGEX.test(value)\n}\n\nexport function isSplitAddress(value: string): value is SplitAddress {\n return isEvmAddress(value) || isTronAddress(value)\n}\n\nexport function tronAddress(value: string): TronAddress {\n if (!isTronAddress(value)) throw new Error(`not a valid TRON address: ${value}`)\n return value\n}\n\nexport function addressesEqual(a: string, b: string): boolean {\n if (isEvmAddress(a) && isEvmAddress(b)) return a.toLowerCase() === b.toLowerCase()\n return a === b\n}\n","import { type SplitAddress, tronAddress } from './addresses.constants'\nimport type { Environment } from './environment'\nimport type { Network } from './networks'\nimport type { Token } from './tokens'\n\nexport const TOKEN_DECIMALS = 6\n\nexport type TokenDeployment = { address: SplitAddress; decimals: number }\n\ntype DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>\ntype AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, SplitAddress>>>>\n\nexport const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork> = {\n USDC: {\n base: {\n live: { address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', decimals: 6 },\n test: { address: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', decimals: 6 },\n },\n optimism: {\n live: { address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', decimals: 6 },\n test: { address: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', decimals: 6 },\n },\n polygon: { live: { address: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', decimals: 6 } },\n ethereum: {\n live: { address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', decimals: 6 },\n test: { address: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', decimals: 6 },\n },\n arbitrum: { live: { address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', decimals: 6 } },\n avalanche: { live: { address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', decimals: 6 } },\n bnb: { live: { address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', decimals: 18 } },\n arc: {\n live: { address: '0x3600000000000000000000000000000000000000', decimals: 6 },\n test: { address: '0x3600000000000000000000000000000000000000', decimals: 6 },\n },\n },\n USDT: {\n base: { live: { address: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2', decimals: 6 } },\n optimism: { live: { address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', decimals: 6 } },\n polygon: { live: { address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', decimals: 6 } },\n ethereum: { live: { address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', decimals: 6 } },\n arbitrum: { live: { address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', decimals: 6 } },\n avalanche: { live: { address: '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7', decimals: 6 } },\n bnb: { live: { address: '0x55d398326f99059fF775485246999027B3197955', decimals: 18 } },\n tron: {\n live: { address: tronAddress('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'), decimals: 6 },\n test: { address: tronAddress('TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf'), decimals: 6 },\n },\n },\n}\n\nexport function getTokenDeployment(\n token: Token,\n network: Network,\n environment: Environment,\n): TokenDeployment | undefined {\n return TOKEN_DEPLOYMENTS[token][network]?.[environment]\n}\n\nexport function isPaymentDeploymentEnabled(\n token: Token,\n network: Network,\n environment: Environment,\n): boolean {\n if (network === 'bnb' && environment === 'live') return false\n return getTokenDeployment(token, network, environment) !== undefined\n}\n\nfunction deriveAddresses(deployments: DeploymentsByNetwork): AddressesByNetwork {\n const addresses: AddressesByNetwork = {}\n for (const network of Object.keys(deployments) as Network[]) {\n const byEnvironment = deployments[network]\n if (!byEnvironment) continue\n const networkAddresses: Partial<Record<Environment, SplitAddress>> = {}\n for (const environment of ['live', 'test'] as const) {\n const deployment = byEnvironment[environment]\n if (deployment) networkAddresses[environment] = deployment.address\n }\n addresses[network] = networkAddresses\n }\n return addresses\n}\n\nexport const TOKEN_ADDRESSES: Record<Token, AddressesByNetwork> = {\n USDC: deriveAddresses(TOKEN_DEPLOYMENTS.USDC),\n USDT: deriveAddresses(TOKEN_DEPLOYMENTS.USDT),\n}\n","import type { AltToken } from './alt-tokens'\nimport type { Network } from './networks'\n\nexport const ALT_TOKEN_DECIMALS: Record<AltToken, number> = {\n ETH: 18,\n BNB: 18,\n POL: 18,\n AVAX: 18,\n BTC: 8,\n LINK: 18,\n ARB: 18,\n OP: 18,\n CBETH: 18,\n}\n\nexport const ALT_TOKEN_ADDRESSES: Record<\n Network,\n Partial<Record<AltToken, 'native' | `0x${string}`>>\n> = {\n base: {\n ETH: 'native',\n BTC: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n LINK: '0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196',\n CBETH: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',\n },\n optimism: {\n ETH: 'native',\n BTC: '0x68f180fcCe6836688e9084f035309E29Bf0A2095',\n LINK: '0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6',\n OP: '0x4200000000000000000000000000000000000042',\n },\n ethereum: {\n ETH: 'native',\n BTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n LINK: '0x514910771AF9Ca656af840dff83E8264EcF986CA',\n },\n arbitrum: {\n ETH: 'native',\n BTC: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',\n LINK: '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4',\n ARB: '0x912CE59144191C1204E64559FE8253a0e49E6548',\n },\n polygon: {\n POL: 'native',\n BTC: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',\n LINK: '0xb0897686c545045aFc77CF20eC7A532E3120E0F1',\n },\n avalanche: {\n AVAX: 'native',\n BTC: '0x2297aebd383787a160dd0d9f71508148769342e3',\n LINK: '0x5947BB275c521040051D82396192181b413227A3',\n },\n bnb: { BNB: 'native' },\n tron: {},\n arc: {\n BTC: '0x171A4217b86A807A64eB94757Db6849fb4bDbAA0',\n },\n}\n"],"mappings":"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","names":[]}
|
package/dist/constants.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CHAIN_IDS,
|
|
5
5
|
EVM_NETWORKS,
|
|
6
6
|
NETWORK_EXPLORERS,
|
|
7
|
+
NETWORK_FAMILIES,
|
|
7
8
|
NETWORK_LABELS,
|
|
8
9
|
OPERATIONAL_NETWORKS,
|
|
9
10
|
TOKEN_ADDRESSES,
|
|
@@ -11,13 +12,14 @@ import {
|
|
|
11
12
|
TOKEN_DEPLOYMENTS,
|
|
12
13
|
getTokenDeployment,
|
|
13
14
|
isPaymentDeploymentEnabled
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VL7W6KNP.mjs";
|
|
15
16
|
export {
|
|
16
17
|
ALT_TOKEN_ADDRESSES,
|
|
17
18
|
ALT_TOKEN_DECIMALS,
|
|
18
19
|
CHAIN_IDS,
|
|
19
20
|
EVM_NETWORKS,
|
|
20
21
|
NETWORK_EXPLORERS,
|
|
22
|
+
NETWORK_FAMILIES,
|
|
21
23
|
NETWORK_LABELS,
|
|
22
24
|
OPERATIONAL_NETWORKS,
|
|
23
25
|
TOKEN_ADDRESSES,
|