@klappay/types 4.0.0 → 5.0.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 CHANGED
@@ -39,6 +39,9 @@ already have it if you use any of them directly.
39
39
  `charge.created`. `TypedWebhookPayload`/`WebhookEventDataMap` give the
40
40
  exact `data` shape per event, keyed by `event` (a discriminated union —
41
41
  see the webhook example below).
42
+ - Deployment metadata and helpers (`TOKEN_DEPLOYMENTS`, `TokenDeployment`,
43
+ `getTokenDeployment`, `isPaymentDeploymentEnabled`) that resolve a
44
+ token contract and its decimals per network/environment.
42
45
  - A handful of small constants (`TOKEN_ADDRESSES`, `NETWORK_EXPLORERS`,
43
46
  `EVM_NETWORKS`, `OPERATIONAL_NETWORKS`, `CHAIN_IDS`,
44
47
  `CHARGE_ACCEPTED_PAYMENTS_MAX`) that mirror values the API itself uses —
@@ -123,14 +126,15 @@ needed. See the live API reference for details.
123
126
 
124
127
  ## Zero-dependency constants
125
128
 
126
- Every plain-object constant this package exports (`TOKEN_ADDRESSES`,
129
+ Every plain constant and deployment resolver this package exports (`TOKEN_DEPLOYMENTS`,
130
+ `getTokenDeployment`, `isPaymentDeploymentEnabled`, `TOKEN_ADDRESSES`,
127
131
  `ALT_TOKEN_ADDRESSES`, `CHAIN_IDS`, `NETWORK_LABELS`, `NETWORK_EXPLORERS`,
128
132
  `EVM_NETWORKS`, `OPERATIONAL_NETWORKS`, `TOKEN_DECIMALS`,
129
133
  `ALT_TOKEN_DECIMALS`) is also available from a second entry point that
130
134
  carries zero `zod` in its bundle:
131
135
 
132
136
  ```ts
133
- import { CHAIN_IDS, TOKEN_ADDRESSES } from '@klappay/types/constants'
137
+ import { CHAIN_IDS, getTokenDeployment } from '@klappay/types/constants'
134
138
  ```
135
139
 
136
140
  Useful for a browser/wallet-side bundle that only needs these plain
@@ -139,6 +143,20 @@ with the main entry. Everything exported here is identical to (and stays
139
143
  in sync with) the same name imported from `@klappay/types` — nothing is
140
144
  exclusive to this subpath, it's just a smaller bundle of the same values.
141
145
 
146
+ Use `getTokenDeployment(token, network, environment)?.decimals` for token
147
+ amounts. The legacy `TOKEN_DECIMALS = 6` export is deprecated: the BNB
148
+ contracts in the catalog use 18 decimals, and both BNB payment pairs are
149
+ currently disabled. `TOKEN_ADDRESSES` is an address-only compatibility
150
+ view, not a payment-availability matrix. Check `GET /v1/networks` before
151
+ offering a payment method.
152
+
153
+ Charge responses provide optional `amountExact`, `amountReceivedExact`,
154
+ and `paymentUnavailable`; swap quotes provide optional exact amount and
155
+ fee strings. Prefer the decimal strings for calculations. The original
156
+ numeric fields remain for compatibility and can lose precision. See the
157
+ [charge documentation](https://api.klappay.com/types/charges) for units and
158
+ availability handling.
159
+
142
160
  ## Versioning
143
161
 
144
162
  This package follows the API's own versioning. A breaking change to a
@@ -0,0 +1,168 @@
1
+ // src/networks.constants.ts
2
+ var NETWORK_LABELS = {
3
+ base: "Base",
4
+ optimism: "Optimism",
5
+ polygon: "Polygon",
6
+ ethereum: "Ethereum",
7
+ arbitrum: "Arbitrum",
8
+ avalanche: "Avalanche",
9
+ bnb: "BNB Chain"
10
+ };
11
+ var NETWORK_EXPLORERS = {
12
+ base: "https://basescan.org",
13
+ optimism: "https://optimistic.etherscan.io",
14
+ polygon: "https://polygonscan.com",
15
+ ethereum: "https://etherscan.io",
16
+ arbitrum: "https://arbiscan.io",
17
+ avalanche: "https://snowtrace.io",
18
+ bnb: "https://bscscan.com"
19
+ };
20
+ var EVM_NETWORKS = [
21
+ "base",
22
+ "optimism",
23
+ "polygon",
24
+ "ethereum",
25
+ "arbitrum",
26
+ "avalanche",
27
+ "bnb"
28
+ ];
29
+ var OPERATIONAL_NETWORKS = [
30
+ "base",
31
+ "arbitrum",
32
+ "optimism",
33
+ "polygon",
34
+ "ethereum",
35
+ "avalanche",
36
+ "bnb"
37
+ ];
38
+ var CHAIN_IDS = {
39
+ base: { live: 8453, test: 84532 },
40
+ optimism: { live: 10, test: 11155420 },
41
+ ethereum: { live: 1, test: 11155111 },
42
+ polygon: { live: 137 },
43
+ arbitrum: { live: 42161 },
44
+ avalanche: { live: 43114 },
45
+ bnb: { live: 56 }
46
+ };
47
+
48
+ // src/tokens.constants.ts
49
+ var TOKEN_DECIMALS = 6;
50
+ var TOKEN_DEPLOYMENTS = {
51
+ USDC: {
52
+ base: {
53
+ live: { address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", decimals: 6 },
54
+ test: { address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e", decimals: 6 }
55
+ },
56
+ optimism: {
57
+ live: { address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", decimals: 6 },
58
+ test: { address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7", decimals: 6 }
59
+ },
60
+ polygon: { live: { address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", decimals: 6 } },
61
+ ethereum: {
62
+ live: { address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", decimals: 6 },
63
+ test: { address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238", decimals: 6 }
64
+ },
65
+ arbitrum: { live: { address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals: 6 } },
66
+ avalanche: { live: { address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", decimals: 6 } },
67
+ bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } }
68
+ },
69
+ USDT: {
70
+ base: { live: { address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2", decimals: 6 } },
71
+ optimism: { live: { address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58", decimals: 6 } },
72
+ polygon: { live: { address: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", decimals: 6 } },
73
+ ethereum: { live: { address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", decimals: 6 } },
74
+ arbitrum: { live: { address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", decimals: 6 } },
75
+ avalanche: { live: { address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", decimals: 6 } },
76
+ bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } }
77
+ }
78
+ };
79
+ function getTokenDeployment(token, network, environment) {
80
+ return TOKEN_DEPLOYMENTS[token][network]?.[environment];
81
+ }
82
+ function isPaymentDeploymentEnabled(token, network, environment) {
83
+ if (network === "bnb" && environment === "live") return false;
84
+ return getTokenDeployment(token, network, environment) !== void 0;
85
+ }
86
+ function deriveAddresses(deployments) {
87
+ const addresses = {};
88
+ for (const network of EVM_NETWORKS) {
89
+ const byEnvironment = deployments[network];
90
+ if (!byEnvironment) continue;
91
+ const networkAddresses = {};
92
+ for (const environment of ["live", "test"]) {
93
+ const deployment = byEnvironment[environment];
94
+ if (deployment) networkAddresses[environment] = deployment.address;
95
+ }
96
+ addresses[network] = networkAddresses;
97
+ }
98
+ return addresses;
99
+ }
100
+ var TOKEN_ADDRESSES = {
101
+ USDC: deriveAddresses(TOKEN_DEPLOYMENTS.USDC),
102
+ USDT: deriveAddresses(TOKEN_DEPLOYMENTS.USDT)
103
+ };
104
+
105
+ // src/alt-tokens.constants.ts
106
+ var ALT_TOKEN_DECIMALS = {
107
+ ETH: 18,
108
+ BNB: 18,
109
+ POL: 18,
110
+ AVAX: 18,
111
+ BTC: 8,
112
+ LINK: 18,
113
+ ARB: 18,
114
+ OP: 18,
115
+ CBETH: 18
116
+ };
117
+ var ALT_TOKEN_ADDRESSES = {
118
+ base: {
119
+ ETH: "native",
120
+ BTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
121
+ LINK: "0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196",
122
+ CBETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22"
123
+ },
124
+ optimism: {
125
+ ETH: "native",
126
+ BTC: "0x68f180fcCe6836688e9084f035309E29Bf0A2095",
127
+ LINK: "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6",
128
+ OP: "0x4200000000000000000000000000000000000042"
129
+ },
130
+ ethereum: {
131
+ ETH: "native",
132
+ BTC: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
133
+ LINK: "0x514910771AF9Ca656af840dff83E8264EcF986CA"
134
+ },
135
+ arbitrum: {
136
+ ETH: "native",
137
+ BTC: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",
138
+ LINK: "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4",
139
+ ARB: "0x912CE59144191C1204E64559FE8253a0e49E6548"
140
+ },
141
+ polygon: {
142
+ POL: "native",
143
+ BTC: "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",
144
+ LINK: "0xb0897686c545045aFc77CF20eC7A532E3120E0F1"
145
+ },
146
+ avalanche: {
147
+ AVAX: "native",
148
+ BTC: "0x2297aebd383787a160dd0d9f71508148769342e3",
149
+ LINK: "0x5947BB275c521040051D82396192181b413227A3"
150
+ },
151
+ bnb: { BNB: "native" }
152
+ };
153
+
154
+ export {
155
+ NETWORK_LABELS,
156
+ NETWORK_EXPLORERS,
157
+ EVM_NETWORKS,
158
+ OPERATIONAL_NETWORKS,
159
+ CHAIN_IDS,
160
+ TOKEN_DECIMALS,
161
+ TOKEN_DEPLOYMENTS,
162
+ getTokenDeployment,
163
+ isPaymentDeploymentEnabled,
164
+ TOKEN_ADDRESSES,
165
+ ALT_TOKEN_DECIMALS,
166
+ ALT_TOKEN_ADDRESSES
167
+ };
168
+ //# sourceMappingURL=chunk-VTX32VJN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/networks.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}\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":[]}
@@ -18,18 +18,27 @@ declare const TokenSchema: z.ZodEnum<["USDC", "USDT"]>;
18
18
  type Token = z.infer<typeof TokenSchema>;
19
19
 
20
20
  declare const TOKEN_DECIMALS = 6;
21
- declare const TOKEN_ADDRESSES: Record<Token, Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>>;
22
-
23
- declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "MATIC", "AVAX", "BTC"]>;
21
+ type TokenDeployment = {
22
+ address: `0x${string}`;
23
+ decimals: number;
24
+ };
25
+ type DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>;
26
+ type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>;
27
+ declare const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork>;
28
+ declare function getTokenDeployment(token: Token, network: Network, environment: Environment): TokenDeployment | undefined;
29
+ declare function isPaymentDeploymentEnabled(token: Token, network: Network, environment: Environment): boolean;
30
+ declare const TOKEN_ADDRESSES: Record<Token, AddressesByNetwork>;
31
+
32
+ declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
24
33
  type AltToken = z.infer<typeof AltTokenSchema>;
25
34
  declare const SwapAlternativeSchema: z.ZodObject<{
26
- token: z.ZodEnum<["ETH", "BNB", "MATIC", "AVAX", "BTC"]>;
35
+ token: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
27
36
  network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
28
37
  }, "strip", z.ZodTypeAny, {
29
- token: "ETH" | "BNB" | "MATIC" | "AVAX" | "BTC";
38
+ token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
30
39
  network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
31
40
  }, {
32
- token: "ETH" | "BNB" | "MATIC" | "AVAX" | "BTC";
41
+ token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
33
42
  network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
34
43
  }>;
35
44
  type SwapAlternative = z.infer<typeof SwapAlternativeSchema>;
@@ -38,4 +47,4 @@ declare function listSwapAlternatives(networks: readonly Network[]): SwapAlterna
38
47
  declare const ALT_TOKEN_DECIMALS: Record<AltToken, number>;
39
48
  declare const ALT_TOKEN_ADDRESSES: Record<Network, Partial<Record<AltToken, 'native' | `0x${string}`>>>;
40
49
 
41
- export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SwapAlternative 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 EvmNetwork as f, NETWORK_LABELS as g, type Network as h, NetworkSchema as i, type OperationalNetwork as j, SwapAlternativeSchema as k, TOKEN_DECIMALS as l, type Token as m, TokenSchema as n, listSwapAlternatives as o };
50
+ export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SwapAlternative 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 EvmNetwork as f, NETWORK_LABELS as g, type Network as h, NetworkSchema as i, type OperationalNetwork as j, SwapAlternativeSchema as k, TOKEN_DECIMALS as l, TOKEN_DEPLOYMENTS as m, type Token as n, type TokenDeployment as o, TokenSchema as p, getTokenDeployment as q, isPaymentDeploymentEnabled as r, listSwapAlternatives as s };
@@ -18,18 +18,27 @@ declare const TokenSchema: z.ZodEnum<["USDC", "USDT"]>;
18
18
  type Token = z.infer<typeof TokenSchema>;
19
19
 
20
20
  declare const TOKEN_DECIMALS = 6;
21
- declare const TOKEN_ADDRESSES: Record<Token, Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>>;
22
-
23
- declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "MATIC", "AVAX", "BTC"]>;
21
+ type TokenDeployment = {
22
+ address: `0x${string}`;
23
+ decimals: number;
24
+ };
25
+ type DeploymentsByNetwork = Partial<Record<Network, Partial<Record<Environment, TokenDeployment>>>>;
26
+ type AddressesByNetwork = Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>;
27
+ declare const TOKEN_DEPLOYMENTS: Record<Token, DeploymentsByNetwork>;
28
+ declare function getTokenDeployment(token: Token, network: Network, environment: Environment): TokenDeployment | undefined;
29
+ declare function isPaymentDeploymentEnabled(token: Token, network: Network, environment: Environment): boolean;
30
+ declare const TOKEN_ADDRESSES: Record<Token, AddressesByNetwork>;
31
+
32
+ declare const AltTokenSchema: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
24
33
  type AltToken = z.infer<typeof AltTokenSchema>;
25
34
  declare const SwapAlternativeSchema: z.ZodObject<{
26
- token: z.ZodEnum<["ETH", "BNB", "MATIC", "AVAX", "BTC"]>;
35
+ token: z.ZodEnum<["ETH", "BNB", "POL", "AVAX", "BTC", "LINK", "ARB", "OP", "CBETH"]>;
27
36
  network: z.ZodEnum<["base", "optimism", "polygon", "ethereum", "arbitrum", "avalanche", "bnb"]>;
28
37
  }, "strip", z.ZodTypeAny, {
29
- token: "ETH" | "BNB" | "MATIC" | "AVAX" | "BTC";
38
+ token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
30
39
  network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
31
40
  }, {
32
- token: "ETH" | "BNB" | "MATIC" | "AVAX" | "BTC";
41
+ token: "ETH" | "BNB" | "POL" | "AVAX" | "BTC" | "LINK" | "ARB" | "OP" | "CBETH";
33
42
  network: "base" | "optimism" | "polygon" | "ethereum" | "arbitrum" | "avalanche" | "bnb";
34
43
  }>;
35
44
  type SwapAlternative = z.infer<typeof SwapAlternativeSchema>;
@@ -38,4 +47,4 @@ declare function listSwapAlternatives(networks: readonly Network[]): SwapAlterna
38
47
  declare const ALT_TOKEN_DECIMALS: Record<AltToken, number>;
39
48
  declare const ALT_TOKEN_ADDRESSES: Record<Network, Partial<Record<AltToken, 'native' | `0x${string}`>>>;
40
49
 
41
- export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SwapAlternative 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 EvmNetwork as f, NETWORK_LABELS as g, type Network as h, NetworkSchema as i, type OperationalNetwork as j, SwapAlternativeSchema as k, TOKEN_DECIMALS as l, type Token as m, TokenSchema as n, listSwapAlternatives as o };
50
+ export { ALT_TOKEN_ADDRESSES as A, CHAIN_IDS as C, EVM_NETWORKS as E, NETWORK_EXPLORERS as N, OPERATIONAL_NETWORKS as O, type SwapAlternative 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 EvmNetwork as f, NETWORK_LABELS as g, type Network as h, NetworkSchema as i, type OperationalNetwork as j, SwapAlternativeSchema as k, TOKEN_DECIMALS as l, TOKEN_DEPLOYMENTS as m, type Token as n, type TokenDeployment as o, TokenSchema as p, getTokenDeployment as q, isPaymentDeploymentEnabled as r, listSwapAlternatives as s };
@@ -1,2 +1,2 @@
1
- export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, f as EvmNetwork, N as NETWORK_EXPLORERS, g as NETWORK_LABELS, O as OPERATIONAL_NETWORKS, j as OperationalNetwork, T as TOKEN_ADDRESSES, l as TOKEN_DECIMALS } from './constants-DQGVNS9O.mjs';
1
+ export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, f as EvmNetwork, N as NETWORK_EXPLORERS, g as NETWORK_LABELS, O as OPERATIONAL_NETWORKS, j as OperationalNetwork, T as TOKEN_ADDRESSES, l as TOKEN_DECIMALS, m as TOKEN_DEPLOYMENTS, o as TokenDeployment, q as getTokenDeployment, r as isPaymentDeploymentEnabled } from './constants-Di4Qr6af.mjs';
2
2
  import 'zod';
@@ -1,2 +1,2 @@
1
- export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, f as EvmNetwork, N as NETWORK_EXPLORERS, g as NETWORK_LABELS, O as OPERATIONAL_NETWORKS, j as OperationalNetwork, T as TOKEN_ADDRESSES, l as TOKEN_DECIMALS } from './constants-DQGVNS9O.js';
1
+ export { A as ALT_TOKEN_ADDRESSES, a as ALT_TOKEN_DECIMALS, C as CHAIN_IDS, E as EVM_NETWORKS, f as EvmNetwork, N as NETWORK_EXPLORERS, g as NETWORK_LABELS, O as OPERATIONAL_NETWORKS, j as OperationalNetwork, T as TOKEN_ADDRESSES, l as TOKEN_DECIMALS, m as TOKEN_DEPLOYMENTS, o as TokenDeployment, q as getTokenDeployment, r as isPaymentDeploymentEnabled } from './constants-Di4Qr6af.js';
2
2
  import 'zod';
package/dist/constants.js CHANGED
@@ -28,7 +28,10 @@ __export(constants_exports, {
28
28
  NETWORK_LABELS: () => NETWORK_LABELS,
29
29
  OPERATIONAL_NETWORKS: () => OPERATIONAL_NETWORKS,
30
30
  TOKEN_ADDRESSES: () => TOKEN_ADDRESSES,
31
- TOKEN_DECIMALS: () => TOKEN_DECIMALS
31
+ TOKEN_DECIMALS: () => TOKEN_DECIMALS,
32
+ TOKEN_DEPLOYMENTS: () => TOKEN_DEPLOYMENTS,
33
+ getTokenDeployment: () => getTokenDeployment,
34
+ isPaymentDeploymentEnabled: () => isPaymentDeploymentEnabled
32
35
  });
33
36
  module.exports = __toCommonJS(constants_exports);
34
37
 
@@ -81,51 +84,107 @@ var CHAIN_IDS = {
81
84
 
82
85
  // src/tokens.constants.ts
83
86
  var TOKEN_DECIMALS = 6;
84
- var TOKEN_ADDRESSES = {
87
+ var TOKEN_DEPLOYMENTS = {
85
88
  USDC: {
86
89
  base: {
87
- live: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
88
- test: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
90
+ live: { address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", decimals: 6 },
91
+ test: { address: "0x036CbD53842c5426634e7929541eC2318f3dCF7e", decimals: 6 }
89
92
  },
90
93
  optimism: {
91
- live: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
92
- test: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7"
94
+ live: { address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", decimals: 6 },
95
+ test: { address: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7", decimals: 6 }
93
96
  },
94
- polygon: { live: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359" },
97
+ polygon: { live: { address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359", decimals: 6 } },
95
98
  ethereum: {
96
- live: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
97
- test: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"
99
+ live: { address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", decimals: 6 },
100
+ test: { address: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238", decimals: 6 }
98
101
  },
99
- arbitrum: { live: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" },
100
- avalanche: { live: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E" },
101
- bnb: { live: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d" }
102
+ arbitrum: { live: { address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals: 6 } },
103
+ avalanche: { live: { address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", decimals: 6 } },
104
+ bnb: { live: { address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", decimals: 18 } }
102
105
  },
103
106
  USDT: {
104
- base: { live: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2" },
105
- optimism: { live: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58" },
106
- polygon: { live: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F" },
107
- ethereum: { live: "0xdAC17F958D2ee523a2206206994597C13D831ec7" },
108
- arbitrum: { live: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9" },
109
- avalanche: { live: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7" },
110
- bnb: { live: "0x55d398326f99059fF775485246999027B3197955" }
107
+ base: { live: { address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2", decimals: 6 } },
108
+ optimism: { live: { address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58", decimals: 6 } },
109
+ polygon: { live: { address: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", decimals: 6 } },
110
+ ethereum: { live: { address: "0xdAC17F958D2ee523a2206206994597C13D831ec7", decimals: 6 } },
111
+ arbitrum: { live: { address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", decimals: 6 } },
112
+ avalanche: { live: { address: "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7", decimals: 6 } },
113
+ bnb: { live: { address: "0x55d398326f99059fF775485246999027B3197955", decimals: 18 } }
111
114
  }
112
115
  };
116
+ function getTokenDeployment(token, network, environment) {
117
+ return TOKEN_DEPLOYMENTS[token][network]?.[environment];
118
+ }
119
+ function isPaymentDeploymentEnabled(token, network, environment) {
120
+ if (network === "bnb" && environment === "live") return false;
121
+ return getTokenDeployment(token, network, environment) !== void 0;
122
+ }
123
+ function deriveAddresses(deployments) {
124
+ const addresses = {};
125
+ for (const network of EVM_NETWORKS) {
126
+ const byEnvironment = deployments[network];
127
+ if (!byEnvironment) continue;
128
+ const networkAddresses = {};
129
+ for (const environment of ["live", "test"]) {
130
+ const deployment = byEnvironment[environment];
131
+ if (deployment) networkAddresses[environment] = deployment.address;
132
+ }
133
+ addresses[network] = networkAddresses;
134
+ }
135
+ return addresses;
136
+ }
137
+ var TOKEN_ADDRESSES = {
138
+ USDC: deriveAddresses(TOKEN_DEPLOYMENTS.USDC),
139
+ USDT: deriveAddresses(TOKEN_DEPLOYMENTS.USDT)
140
+ };
113
141
 
114
142
  // src/alt-tokens.constants.ts
115
143
  var ALT_TOKEN_DECIMALS = {
116
144
  ETH: 18,
117
145
  BNB: 18,
118
- MATIC: 18,
146
+ POL: 18,
119
147
  AVAX: 18,
120
- BTC: 8
148
+ BTC: 8,
149
+ LINK: 18,
150
+ ARB: 18,
151
+ OP: 18,
152
+ CBETH: 18
121
153
  };
122
154
  var ALT_TOKEN_ADDRESSES = {
123
- base: { ETH: "native", BTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf" },
124
- optimism: { ETH: "native", BTC: "0x68f180fcCe6836688e9084f035309E29Bf0A2095" },
125
- ethereum: { ETH: "native", BTC: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" },
126
- arbitrum: { ETH: "native", BTC: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f" },
127
- polygon: { MATIC: "native", BTC: "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6" },
128
- avalanche: { AVAX: "native" },
155
+ base: {
156
+ ETH: "native",
157
+ BTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
158
+ LINK: "0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196",
159
+ CBETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22"
160
+ },
161
+ optimism: {
162
+ ETH: "native",
163
+ BTC: "0x68f180fcCe6836688e9084f035309E29Bf0A2095",
164
+ LINK: "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6",
165
+ OP: "0x4200000000000000000000000000000000000042"
166
+ },
167
+ ethereum: {
168
+ ETH: "native",
169
+ BTC: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
170
+ LINK: "0x514910771AF9Ca656af840dff83E8264EcF986CA"
171
+ },
172
+ arbitrum: {
173
+ ETH: "native",
174
+ BTC: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",
175
+ LINK: "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4",
176
+ ARB: "0x912CE59144191C1204E64559FE8253a0e49E6548"
177
+ },
178
+ polygon: {
179
+ POL: "native",
180
+ BTC: "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",
181
+ LINK: "0xb0897686c545045aFc77CF20eC7A532E3120E0F1"
182
+ },
183
+ avalanche: {
184
+ AVAX: "native",
185
+ BTC: "0x2297aebd383787a160dd0d9f71508148769342e3",
186
+ LINK: "0x5947BB275c521040051D82396192181b413227A3"
187
+ },
129
188
  bnb: { BNB: "native" }
130
189
  };
131
190
  // Annotate the CommonJS export names for ESM import in node:
@@ -138,6 +197,9 @@ var ALT_TOKEN_ADDRESSES = {
138
197
  NETWORK_LABELS,
139
198
  OPERATIONAL_NETWORKS,
140
199
  TOKEN_ADDRESSES,
141
- TOKEN_DECIMALS
200
+ TOKEN_DECIMALS,
201
+ TOKEN_DEPLOYMENTS,
202
+ getTokenDeployment,
203
+ isPaymentDeploymentEnabled
142
204
  });
143
205
  //# sourceMappingURL=constants.js.map
@@ -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 type { Token } from './tokens'\n\nexport const TOKEN_DECIMALS = 6\n\nexport const TOKEN_ADDRESSES: Record<\n Token,\n Partial<Record<Network, Partial<Record<Environment, `0x${string}`>>>>\n> = {\n USDC: {\n base: {\n live: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n test: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',\n },\n optimism: {\n live: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',\n test: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7',\n },\n polygon: { live: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359' },\n ethereum: {\n live: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n test: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',\n },\n arbitrum: { live: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' },\n avalanche: { live: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E' },\n bnb: { live: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' },\n },\n USDT: {\n base: { live: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2' },\n optimism: { live: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58' },\n polygon: { live: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F' },\n ethereum: { live: '0xdAC17F958D2ee523a2206206994597C13D831ec7' },\n arbitrum: { live: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9' },\n avalanche: { live: '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7' },\n bnb: { live: '0x55d398326f99059fF775485246999027B3197955' },\n },\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 MATIC: 18,\n AVAX: 18,\n BTC: 8,\n}\n\nexport const ALT_TOKEN_ADDRESSES: Record<\n Network,\n Partial<Record<AltToken, 'native' | `0x${string}`>>\n> = {\n base: { ETH: 'native', BTC: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf' },\n optimism: { ETH: 'native', BTC: '0x68f180fcCe6836688e9084f035309E29Bf0A2095' },\n ethereum: { ETH: 'native', BTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' },\n arbitrum: { ETH: 'native', BTC: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f' },\n polygon: { MATIC: 'native', BTC: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6' },\n avalanche: { AVAX: 'native' },\n bnb: { BNB: 'native' },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,iBAA0C;AAAA,EACrD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,KAAK;AACP;AAEO,IAAM,oBAA6C;AAAA,EACxD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,KAAK;AACP;AAEO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,IAAM,YAAsE;AAAA,EACjF,MAAM,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA,EAChC,UAAU,EAAE,MAAM,IAAI,MAAM,SAAS;AAAA,EACrC,UAAU,EAAE,MAAM,GAAG,MAAM,SAAS;AAAA,EACpC,SAAS,EAAE,MAAM,IAAI;AAAA,EACrB,UAAU,EAAE,MAAM,MAAM;AAAA,EACxB,WAAW,EAAE,MAAM,MAAM;AAAA,EACzB,KAAK,EAAE,MAAM,GAAG;AAClB;;;ACjDO,IAAM,iBAAiB;AAEvB,IAAM,kBAGT;AAAA,EACF,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,SAAS,EAAE,MAAM,6CAA6C;AAAA,IAC9D,UAAU;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,UAAU,EAAE,MAAM,6CAA6C;AAAA,IAC/D,WAAW,EAAE,MAAM,6CAA6C;AAAA,IAChE,KAAK,EAAE,MAAM,6CAA6C;AAAA,EAC5D;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,6CAA6C;AAAA,IAC3D,UAAU,EAAE,MAAM,6CAA6C;AAAA,IAC/D,SAAS,EAAE,MAAM,6CAA6C;AAAA,IAC9D,UAAU,EAAE,MAAM,6CAA6C;AAAA,IAC/D,UAAU,EAAE,MAAM,6CAA6C;AAAA,IAC/D,WAAW,EAAE,MAAM,6CAA6C;AAAA,IAChE,KAAK,EAAE,MAAM,6CAA6C;AAAA,EAC5D;AACF;;;AClCO,IAAM,qBAA+C;AAAA,EAC1D,KAAK;AAAA,EACL,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AACP;AAEO,IAAM,sBAGT;AAAA,EACF,MAAM,EAAE,KAAK,UAAU,KAAK,6CAA6C;AAAA,EACzE,UAAU,EAAE,KAAK,UAAU,KAAK,6CAA6C;AAAA,EAC7E,UAAU,EAAE,KAAK,UAAU,KAAK,6CAA6C;AAAA,EAC7E,UAAU,EAAE,KAAK,UAAU,KAAK,6CAA6C;AAAA,EAC7E,SAAS,EAAE,OAAO,UAAU,KAAK,6CAA6C;AAAA,EAC9E,WAAW,EAAE,MAAM,SAAS;AAAA,EAC5B,KAAK,EAAE,KAAK,SAAS;AACvB;","names":[]}
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":[]}
@@ -7,8 +7,11 @@ import {
7
7
  NETWORK_LABELS,
8
8
  OPERATIONAL_NETWORKS,
9
9
  TOKEN_ADDRESSES,
10
- TOKEN_DECIMALS
11
- } from "./chunk-KZ3646WX.mjs";
10
+ TOKEN_DECIMALS,
11
+ TOKEN_DEPLOYMENTS,
12
+ getTokenDeployment,
13
+ isPaymentDeploymentEnabled
14
+ } from "./chunk-VTX32VJN.mjs";
12
15
  export {
13
16
  ALT_TOKEN_ADDRESSES,
14
17
  ALT_TOKEN_DECIMALS,
@@ -18,6 +21,9 @@ export {
18
21
  NETWORK_LABELS,
19
22
  OPERATIONAL_NETWORKS,
20
23
  TOKEN_ADDRESSES,
21
- TOKEN_DECIMALS
24
+ TOKEN_DECIMALS,
25
+ TOKEN_DEPLOYMENTS,
26
+ getTokenDeployment,
27
+ isPaymentDeploymentEnabled
22
28
  };
23
29
  //# sourceMappingURL=constants.mjs.map