@cranberry-money/shared-constants 8.15.430 → 8.15.431

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.
@@ -18,40 +18,18 @@ export declare const BLOCKCHAIN: {
18
18
  readonly BASE: "base";
19
19
  };
20
20
  export type BlockchainType = (typeof BLOCKCHAIN)[keyof typeof BLOCKCHAIN];
21
- export declare const BLOCKCHAIN_LABELS: Record<string, string>;
22
- /**
23
- * Maps blockchain chain codes (as stored in database) to their native asset symbols
24
- * Used for transaction labeling and blockchain operations
25
- *
26
- * IMPORTANT: These are NATIVE tokens, not chain identifiers
27
- * Example: Arbitrum's native token is ETH (not ARB)
28
- */
29
- export declare const CHAIN_TO_NATIVE_ASSET: Record<string, string>;
30
21
  /**
31
- * Maps native asset short codes (ETH, BTC) to full blockchain names
32
- * Used when APIs expect full chain names but input is short code
33
- */
34
- export declare const NATIVE_ASSET_TO_CHAIN: Record<string, BlockchainType>;
35
- /**
36
- * Get full blockchain name from any chain identifier (short code or full name)
37
- * @param chain - Chain identifier (e.g., 'ETH', 'ethereum', 'BTC', 'bitcoin')
38
- * @returns Full blockchain name (e.g., 'ethereum', 'bitcoin') or original if not found
39
- */
40
- export declare function getChainName(chain: string): string;
41
- /**
42
- * Get native asset short code from any chain identifier
43
- * @param chain - Chain identifier (e.g., 'ETH', 'ethereum', 'BTC', 'bitcoin')
44
- * @returns Native asset symbol (e.g., 'ETH', 'BTC') or uppercase input if not found
45
- */
46
- export declare function getChainShortCode(chain: string): string;
47
- /**
48
- * Chain configuration matching ChainInfo from shared-types
22
+ * Chain configuration - THE SINGLE SOURCE OF TRUTH for all chain data
23
+ * All other chain-related lookups should derive from this array
49
24
  */
50
25
  export interface ChainConfig {
51
26
  code: BlockchainType;
52
27
  name: string;
53
28
  shortName: string;
54
29
  isActive: boolean;
30
+ explorerTxUrl: string;
31
+ addressPlaceholder: string;
32
+ confirmationTime: string;
55
33
  }
56
34
  /**
57
35
  * Centralized chain configuration for the app
@@ -59,32 +37,61 @@ export interface ChainConfig {
59
37
  * - name: human-readable name (e.g., 'Ethereum')
60
38
  * - shortName: native token symbol (e.g., 'ETH')
61
39
  * - isActive: whether the chain is currently supported in the app
40
+ * - explorerTxUrl: base URL for transaction explorer
41
+ * - addressPlaceholder: placeholder text for address inputs
42
+ * - confirmationTime: estimated confirmation time string
62
43
  */
63
44
  export declare const SUPPORTED_CHAINS: ChainConfig[];
45
+ /**
46
+ * Maps blockchain chain codes to their native asset symbols
47
+ * @deprecated Use getChainShortCode() instead for consistent behavior
48
+ */
49
+ export declare const CHAIN_TO_NATIVE_ASSET: Record<string, string>;
50
+ /**
51
+ * Maps native asset short codes to full blockchain names
52
+ * @deprecated Use getChainName() instead for consistent behavior
53
+ */
54
+ export declare const NATIVE_ASSET_TO_CHAIN: Record<string, BlockchainType>;
55
+ /**
56
+ * Human-readable labels for blockchain names
57
+ * @deprecated Use getChainConfig(code)?.name instead
58
+ */
59
+ export declare const BLOCKCHAIN_LABELS: Record<string, string>;
64
60
  /**
65
61
  * Get chain config by code
66
62
  */
67
63
  export declare function getChainConfig(code: string): ChainConfig | undefined;
68
64
  /**
69
65
  * Get chain config by short name (native asset symbol)
66
+ * Note: Returns first match (e.g., 'ETH' returns Ethereum, not Arbitrum)
70
67
  */
71
68
  export declare function getChainByShortName(shortName: string): ChainConfig | undefined;
72
69
  /**
73
70
  * Get only active chains
74
71
  */
75
72
  export declare function getActiveChains(): ChainConfig[];
73
+ /**
74
+ * Get full blockchain name from any chain identifier (short code or full name)
75
+ * @param chain - Chain identifier (e.g., 'ETH', 'ethereum', 'BTC', 'bitcoin')
76
+ * @returns Full blockchain name (e.g., 'ethereum', 'bitcoin') or original if not found
77
+ */
78
+ export declare function getChainName(chain: string): string;
79
+ /**
80
+ * Get native asset short code from any chain identifier
81
+ * @param chain - Chain identifier (e.g., 'ETH', 'ethereum', 'BTC', 'bitcoin')
82
+ * @returns Native asset symbol (e.g., 'ETH', 'BTC') or uppercase input if not found
83
+ */
84
+ export declare function getChainShortCode(chain: string): string;
76
85
  /**
77
86
  * Check if a chain short code represents Ethereum
78
- * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
79
87
  */
80
88
  export declare function isEthereumChain(chainShortCode: string): boolean;
81
89
  /**
82
90
  * Check if a chain short code represents Bitcoin
83
- * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
84
91
  */
85
92
  export declare function isBitcoinChain(chainShortCode: string): boolean;
86
93
  /**
87
- * Get the full blockchain name from a chain short code
94
+ * Get the full blockchain display name from a chain short code
88
95
  * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
89
96
  * @returns Full blockchain name (e.g., 'Ethereum', 'Bitcoin')
90
97
  */
@@ -99,11 +106,6 @@ export declare function getAddressPlaceholder(chainShortCode: string): string;
99
106
  * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
100
107
  */
101
108
  export declare function getEstimatedConfirmationTime(chainShortCode: string): string;
102
- /**
103
- * Block explorer base URLs for transaction lookups
104
- * Maps chain identifiers to their explorer transaction URL prefix
105
- */
106
- export declare const BLOCK_EXPLORER_TX_URLS: Record<string, string>;
107
109
  /**
108
110
  * Get block explorer URL for a transaction
109
111
  * @param chain - Chain identifier (e.g., 'ethereum', 'bitcoin', 'eth', 'btc')
@@ -111,6 +113,11 @@ export declare const BLOCK_EXPLORER_TX_URLS: Record<string, string>;
111
113
  * @returns Full URL to view the transaction on a block explorer
112
114
  */
113
115
  export declare function getBlockExplorerTxUrl(chain: string, txHash: string): string;
116
+ /**
117
+ * Block explorer base URLs for transaction lookups
118
+ * @deprecated Use getBlockExplorerTxUrl() instead
119
+ */
120
+ export declare const BLOCK_EXPLORER_TX_URLS: Record<string, string>;
114
121
  /**
115
122
  * Estimated transaction fees for "max amount" calculations
116
123
  * These are conservative estimates to ensure transfers go through
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/business/wallets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/business/wallets.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export const WALLET_VERIFICATION_STATUS_LABELS = {
13
13
  [WALLET_VERIFICATION_STATUS.VERIFIED]: 'Verified',
14
14
  };
15
15
  // ============================================
16
- // Blockchain Chains
16
+ // Blockchain Chains - Single Source of Truth
17
17
  // ============================================
18
18
  export const BLOCKCHAIN = {
19
19
  ETHEREUM: 'ethereum',
@@ -25,47 +25,143 @@ export const BLOCKCHAIN = {
25
25
  OPTIMISM: 'optimism',
26
26
  BASE: 'base',
27
27
  };
28
- export const BLOCKCHAIN_LABELS = {
29
- ethereum: 'Ethereum',
30
- bitcoin: 'Bitcoin',
31
- polygon: 'Polygon',
32
- solana: 'Solana',
33
- avalanche: 'Avalanche',
34
- arbitrum: 'Arbitrum',
35
- optimism: 'Optimism',
36
- base: 'Base',
37
- };
38
28
  /**
39
- * Maps blockchain chain codes (as stored in database) to their native asset symbols
40
- * Used for transaction labeling and blockchain operations
41
- *
42
- * IMPORTANT: These are NATIVE tokens, not chain identifiers
43
- * Example: Arbitrum's native token is ETH (not ARB)
29
+ * Centralized chain configuration for the app
30
+ * - code: blockchain identifier used in API calls (e.g., 'ethereum')
31
+ * - name: human-readable name (e.g., 'Ethereum')
32
+ * - shortName: native token symbol (e.g., 'ETH')
33
+ * - isActive: whether the chain is currently supported in the app
34
+ * - explorerTxUrl: base URL for transaction explorer
35
+ * - addressPlaceholder: placeholder text for address inputs
36
+ * - confirmationTime: estimated confirmation time string
44
37
  */
45
- export const CHAIN_TO_NATIVE_ASSET = {
46
- ethereum: 'ETH',
47
- bitcoin: 'BTC',
48
- btc: 'BTC',
49
- polygon: 'MATIC',
50
- solana: 'SOL',
51
- sol: 'SOL',
52
- avalanche: 'AVAX',
53
- avax: 'AVAX',
54
- arbitrum: 'ETH', // Arbitrum's native token is ETH
55
- optimism: 'ETH', // Optimism's native token is ETH
56
- base: 'ETH', // Base's native token is ETH
57
- };
38
+ export const SUPPORTED_CHAINS = [
39
+ {
40
+ code: BLOCKCHAIN.ETHEREUM,
41
+ name: 'Ethereum',
42
+ shortName: 'ETH',
43
+ isActive: true,
44
+ explorerTxUrl: 'https://etherscan.io/tx/',
45
+ addressPlaceholder: '0x...',
46
+ confirmationTime: '~2-3 minutes',
47
+ },
48
+ {
49
+ code: BLOCKCHAIN.BITCOIN,
50
+ name: 'Bitcoin',
51
+ shortName: 'BTC',
52
+ isActive: true,
53
+ explorerTxUrl: 'https://blockchain.com/btc/tx/',
54
+ addressPlaceholder: '1... or 3... or bc1...',
55
+ confirmationTime: '~10 minutes',
56
+ },
57
+ {
58
+ code: BLOCKCHAIN.POLYGON,
59
+ name: 'Polygon',
60
+ shortName: 'MATIC',
61
+ isActive: false,
62
+ explorerTxUrl: 'https://polygonscan.com/tx/',
63
+ addressPlaceholder: '0x...',
64
+ confirmationTime: '~2 minutes',
65
+ },
66
+ {
67
+ code: BLOCKCHAIN.SOLANA,
68
+ name: 'Solana',
69
+ shortName: 'SOL',
70
+ isActive: false,
71
+ explorerTxUrl: 'https://solscan.io/tx/',
72
+ addressPlaceholder: 'Enter address',
73
+ confirmationTime: '~1 minute',
74
+ },
75
+ {
76
+ code: BLOCKCHAIN.AVALANCHE,
77
+ name: 'Avalanche',
78
+ shortName: 'AVAX',
79
+ isActive: false,
80
+ explorerTxUrl: 'https://snowtrace.io/tx/',
81
+ addressPlaceholder: '0x...',
82
+ confirmationTime: '~2 minutes',
83
+ },
84
+ {
85
+ code: BLOCKCHAIN.ARBITRUM,
86
+ name: 'Arbitrum',
87
+ shortName: 'ETH',
88
+ isActive: false,
89
+ explorerTxUrl: 'https://arbiscan.io/tx/',
90
+ addressPlaceholder: '0x...',
91
+ confirmationTime: '~2 minutes',
92
+ },
93
+ {
94
+ code: BLOCKCHAIN.OPTIMISM,
95
+ name: 'Optimism',
96
+ shortName: 'ETH',
97
+ isActive: false,
98
+ explorerTxUrl: 'https://optimistic.etherscan.io/tx/',
99
+ addressPlaceholder: '0x...',
100
+ confirmationTime: '~2 minutes',
101
+ },
102
+ {
103
+ code: BLOCKCHAIN.BASE,
104
+ name: 'Base',
105
+ shortName: 'ETH',
106
+ isActive: false,
107
+ explorerTxUrl: 'https://basescan.org/tx/',
108
+ addressPlaceholder: '0x...',
109
+ confirmationTime: '~2 minutes',
110
+ },
111
+ ];
112
+ // ============================================
113
+ // Derived Lookups (built from SUPPORTED_CHAINS)
114
+ // ============================================
115
+ // Build lookup maps once for O(1) access
116
+ const chainByCode = new Map(SUPPORTED_CHAINS.map((c) => [c.code, c]));
117
+ const chainByShortName = new Map(SUPPORTED_CHAINS.map((c) => [c.shortName, c]));
58
118
  /**
59
- * Maps native asset short codes (ETH, BTC) to full blockchain names
60
- * Used when APIs expect full chain names but input is short code
119
+ * Maps blockchain chain codes to their native asset symbols
120
+ * @deprecated Use getChainShortCode() instead for consistent behavior
61
121
  */
62
- export const NATIVE_ASSET_TO_CHAIN = {
63
- ETH: BLOCKCHAIN.ETHEREUM,
64
- BTC: BLOCKCHAIN.BITCOIN,
65
- MATIC: BLOCKCHAIN.POLYGON,
66
- SOL: BLOCKCHAIN.SOLANA,
67
- AVAX: BLOCKCHAIN.AVALANCHE,
68
- };
122
+ export const CHAIN_TO_NATIVE_ASSET = Object.fromEntries([
123
+ ...SUPPORTED_CHAINS.map((c) => [c.code, c.shortName]),
124
+ // Aliases for common short codes used as input
125
+ ['btc', 'BTC'],
126
+ ['eth', 'ETH'],
127
+ ['sol', 'SOL'],
128
+ ['avax', 'AVAX'],
129
+ ]);
130
+ /**
131
+ * Maps native asset short codes to full blockchain names
132
+ * @deprecated Use getChainName() instead for consistent behavior
133
+ */
134
+ export const NATIVE_ASSET_TO_CHAIN = Object.fromEntries(SUPPORTED_CHAINS.filter((c) => c.shortName !== 'ETH' || c.code === BLOCKCHAIN.ETHEREUM).map((c) => [
135
+ c.shortName,
136
+ c.code,
137
+ ]));
138
+ /**
139
+ * Human-readable labels for blockchain names
140
+ * @deprecated Use getChainConfig(code)?.name instead
141
+ */
142
+ export const BLOCKCHAIN_LABELS = Object.fromEntries(SUPPORTED_CHAINS.map((c) => [c.code, c.name]));
143
+ // ============================================
144
+ // Chain Lookup Functions
145
+ // ============================================
146
+ /**
147
+ * Get chain config by code
148
+ */
149
+ export function getChainConfig(code) {
150
+ return chainByCode.get(code);
151
+ }
152
+ /**
153
+ * Get chain config by short name (native asset symbol)
154
+ * Note: Returns first match (e.g., 'ETH' returns Ethereum, not Arbitrum)
155
+ */
156
+ export function getChainByShortName(shortName) {
157
+ return chainByShortName.get(shortName);
158
+ }
159
+ /**
160
+ * Get only active chains
161
+ */
162
+ export function getActiveChains() {
163
+ return SUPPORTED_CHAINS.filter((c) => c.isActive);
164
+ }
69
165
  /**
70
166
  * Get full blockchain name from any chain identifier (short code or full name)
71
167
  * @param chain - Chain identifier (e.g., 'ETH', 'ethereum', 'BTC', 'bitcoin')
@@ -73,13 +169,15 @@ export const NATIVE_ASSET_TO_CHAIN = {
73
169
  */
74
170
  export function getChainName(chain) {
75
171
  const normalized = chain?.toLowerCase() || '';
76
- if (Object.values(BLOCKCHAIN).includes(normalized)) {
172
+ // Check if it's already a valid chain code
173
+ if (chainByCode.has(normalized)) {
77
174
  return normalized;
78
175
  }
176
+ // Check if it's a short name
79
177
  const upper = chain?.toUpperCase() || '';
80
- const mapped = NATIVE_ASSET_TO_CHAIN[upper];
81
- if (mapped) {
82
- return mapped;
178
+ const config = chainByShortName.get(upper);
179
+ if (config) {
180
+ return config.code;
83
181
  }
84
182
  return normalized;
85
183
  }
@@ -90,119 +188,66 @@ export function getChainName(chain) {
90
188
  */
91
189
  export function getChainShortCode(chain) {
92
190
  const normalized = chain?.toLowerCase() || '';
93
- const mapped = CHAIN_TO_NATIVE_ASSET[normalized];
94
- if (mapped) {
95
- return mapped;
191
+ // Check if it's a chain code
192
+ const config = chainByCode.get(normalized);
193
+ if (config) {
194
+ return config.shortName;
195
+ }
196
+ // Check common aliases
197
+ const aliases = { btc: 'BTC', eth: 'ETH', sol: 'SOL', avax: 'AVAX' };
198
+ if (aliases[normalized]) {
199
+ return aliases[normalized];
96
200
  }
201
+ // Check if it's already a valid short name
97
202
  const upper = chain?.toUpperCase() || '';
98
- if (upper in NATIVE_ASSET_TO_CHAIN) {
203
+ if (chainByShortName.has(upper)) {
99
204
  return upper;
100
205
  }
101
206
  return upper;
102
207
  }
103
- /**
104
- * Centralized chain configuration for the app
105
- * - code: blockchain identifier used in API calls (e.g., 'ethereum')
106
- * - name: human-readable name (e.g., 'Ethereum')
107
- * - shortName: native token symbol (e.g., 'ETH')
108
- * - isActive: whether the chain is currently supported in the app
109
- */
110
- export const SUPPORTED_CHAINS = [
111
- { code: BLOCKCHAIN.ETHEREUM, name: 'Ethereum', shortName: 'ETH', isActive: true },
112
- { code: BLOCKCHAIN.BITCOIN, name: 'Bitcoin', shortName: 'BTC', isActive: true },
113
- { code: BLOCKCHAIN.POLYGON, name: 'Polygon', shortName: 'MATIC', isActive: false },
114
- { code: BLOCKCHAIN.ARBITRUM, name: 'Arbitrum', shortName: 'ETH', isActive: false },
115
- { code: BLOCKCHAIN.OPTIMISM, name: 'Optimism', shortName: 'ETH', isActive: false },
116
- { code: BLOCKCHAIN.BASE, name: 'Base', shortName: 'ETH', isActive: false },
117
- ];
118
- /**
119
- * Get chain config by code
120
- */
121
- export function getChainConfig(code) {
122
- return SUPPORTED_CHAINS.find((c) => c.code === code);
123
- }
124
- /**
125
- * Get chain config by short name (native asset symbol)
126
- */
127
- export function getChainByShortName(shortName) {
128
- return SUPPORTED_CHAINS.find((c) => c.shortName === shortName);
129
- }
130
- /**
131
- * Get only active chains
132
- */
133
- export function getActiveChains() {
134
- return SUPPORTED_CHAINS.filter((c) => c.isActive);
135
- }
136
208
  // ============================================
137
209
  // Chain Type Helpers
138
210
  // ============================================
139
211
  /**
140
212
  * Check if a chain short code represents Ethereum
141
- * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
142
213
  */
143
214
  export function isEthereumChain(chainShortCode) {
144
215
  return chainShortCode === 'ETH';
145
216
  }
146
217
  /**
147
218
  * Check if a chain short code represents Bitcoin
148
- * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
149
219
  */
150
220
  export function isBitcoinChain(chainShortCode) {
151
221
  return chainShortCode === 'BTC';
152
222
  }
153
223
  /**
154
- * Get the full blockchain name from a chain short code
224
+ * Get the full blockchain display name from a chain short code
155
225
  * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
156
226
  * @returns Full blockchain name (e.g., 'Ethereum', 'Bitcoin')
157
227
  */
158
228
  export function getBlockchainDisplayName(chainShortCode) {
159
- if (isEthereumChain(chainShortCode))
160
- return 'Ethereum';
161
- if (isBitcoinChain(chainShortCode))
162
- return 'Bitcoin';
163
- return chainShortCode;
229
+ const config = chainByShortName.get(chainShortCode);
230
+ return config?.name || chainShortCode;
164
231
  }
165
232
  /**
166
233
  * Get address placeholder for input fields based on chain
167
234
  * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
168
235
  */
169
236
  export function getAddressPlaceholder(chainShortCode) {
170
- if (isEthereumChain(chainShortCode))
171
- return '0x...';
172
- if (isBitcoinChain(chainShortCode))
173
- return '1... or 3... or bc1...';
174
- return 'Enter address';
237
+ const config = chainByShortName.get(chainShortCode);
238
+ return config?.addressPlaceholder || 'Enter address';
175
239
  }
176
240
  /**
177
241
  * Get estimated confirmation time for a chain
178
242
  * @param chainShortCode - Chain short code (e.g., 'ETH', 'BTC')
179
243
  */
180
244
  export function getEstimatedConfirmationTime(chainShortCode) {
181
- if (isEthereumChain(chainShortCode))
182
- return '~2-3 minutes';
183
- if (isBitcoinChain(chainShortCode))
184
- return '~10 minutes';
185
- return '~5 minutes';
245
+ const config = chainByShortName.get(chainShortCode);
246
+ return config?.confirmationTime || '~5 minutes';
186
247
  }
187
248
  // ============================================
188
249
  // Block Explorer URLs
189
250
  // ============================================
190
- /**
191
- * Block explorer base URLs for transaction lookups
192
- * Maps chain identifiers to their explorer transaction URL prefix
193
- */
194
- export const BLOCK_EXPLORER_TX_URLS = {
195
- [BLOCKCHAIN.ETHEREUM]: 'https://etherscan.io/tx/',
196
- eth: 'https://etherscan.io/tx/',
197
- [BLOCKCHAIN.BITCOIN]: 'https://blockchain.com/btc/tx/',
198
- btc: 'https://blockchain.com/btc/tx/',
199
- [BLOCKCHAIN.POLYGON]: 'https://polygonscan.com/tx/',
200
- [BLOCKCHAIN.ARBITRUM]: 'https://arbiscan.io/tx/',
201
- [BLOCKCHAIN.OPTIMISM]: 'https://optimistic.etherscan.io/tx/',
202
- [BLOCKCHAIN.BASE]: 'https://basescan.org/tx/',
203
- [BLOCKCHAIN.AVALANCHE]: 'https://snowtrace.io/tx/',
204
- [BLOCKCHAIN.SOLANA]: 'https://solscan.io/tx/',
205
- };
206
251
  /**
207
252
  * Get block explorer URL for a transaction
208
253
  * @param chain - Chain identifier (e.g., 'ethereum', 'bitcoin', 'eth', 'btc')
@@ -211,9 +256,30 @@ export const BLOCK_EXPLORER_TX_URLS = {
211
256
  */
212
257
  export function getBlockExplorerTxUrl(chain, txHash) {
213
258
  const normalized = chain?.toLowerCase() || '';
214
- const baseUrl = BLOCK_EXPLORER_TX_URLS[normalized] || BLOCK_EXPLORER_TX_URLS[BLOCKCHAIN.ETHEREUM];
259
+ // Try to find by chain code
260
+ let config = chainByCode.get(normalized);
261
+ // Try common aliases
262
+ if (!config) {
263
+ const aliases = {
264
+ btc: BLOCKCHAIN.BITCOIN,
265
+ eth: BLOCKCHAIN.ETHEREUM,
266
+ };
267
+ if (aliases[normalized]) {
268
+ config = chainByCode.get(aliases[normalized]);
269
+ }
270
+ }
271
+ const baseUrl = config?.explorerTxUrl || 'https://etherscan.io/tx/';
215
272
  return `${baseUrl}${txHash}`;
216
273
  }
274
+ /**
275
+ * Block explorer base URLs for transaction lookups
276
+ * @deprecated Use getBlockExplorerTxUrl() instead
277
+ */
278
+ export const BLOCK_EXPLORER_TX_URLS = Object.fromEntries([
279
+ ...SUPPORTED_CHAINS.map((c) => [c.code, c.explorerTxUrl]),
280
+ ['eth', 'https://etherscan.io/tx/'],
281
+ ['btc', 'https://blockchain.com/btc/tx/'],
282
+ ]);
217
283
  // ============================================
218
284
  // Transfer Fee Estimates
219
285
  // ============================================
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../src/business/wallets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../src/business/wallets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+CAA+C;AAC/C,+BAA+B;AAC/B,+CAA+C;AAE/C,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIX,MAAM,CAAC,MAAM,iCAAiC,GAA6C;IACzF,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,sBAAsB;IAC5D,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,UAAU;CAClD,CAAC;AAEF,+CAA+C;AAC/C,6CAA6C;AAC7C,+CAA+C;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;CACJ,CAAC;AAkBX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C;QACE,IAAI,EAAE,UAAU,CAAC,QAAQ;QACzB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,0BAA0B;QACzC,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,cAAc;KACjC;IACD;QACE,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,gCAAgC;QAC/C,kBAAkB,EAAE,wBAAwB;QAC5C,gBAAgB,EAAE,aAAa;KAChC;IACD;QACE,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,6BAA6B;QAC5C,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,IAAI,EAAE,UAAU,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,wBAAwB;QACvC,kBAAkB,EAAE,eAAe;QACnC,gBAAgB,EAAE,WAAW;KAC9B;IACD;QACE,IAAI,EAAE,UAAU,CAAC,SAAS;QAC1B,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,0BAA0B;QACzC,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,IAAI,EAAE,UAAU,CAAC,QAAQ;QACzB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,yBAAyB;QACxC,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,IAAI,EAAE,UAAU,CAAC,QAAQ;QACzB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,qCAAqC;QACpD,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,YAAY;KAC/B;IACD;QACE,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,0BAA0B;QACzC,kBAAkB,EAAE,OAAO;QAC3B,gBAAgB,EAAE,YAAY;KAC/B;CACF,CAAC;AAEF,+CAA+C;AAC/C,gDAAgD;AAChD,+CAA+C;AAE/C,yCAAyC;AACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA2B,MAAM,CAAC,WAAW,CAAC;IAC9E,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,+CAA+C;IAC/C,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,KAAK,EAAE,KAAK,CAAC;IACd,CAAC,MAAM,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAmC,MAAM,CAAC,WAAW,CACrF,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjG,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,IAAI;CACP,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B,MAAM,CAAC,WAAW,CACzE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAC9C,CAAC;AAEF,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAsB,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,UAAU,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE9C,2CAA2C;IAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,UAA4B,CAAC,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6BAA6B;IAC7B,MAAM,KAAK,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,UAAU,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE9C,6BAA6B;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAA4B,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7F,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,2CAA2C;IAC3C,MAAM,KAAK,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,cAAsB;IACpD,OAAO,cAAc,KAAK,KAAK,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,OAAO,cAAc,KAAK,KAAK,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,cAAsB;IAC7D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,MAAM,EAAE,IAAI,IAAI,cAAc,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,MAAM,EAAE,kBAAkB,IAAI,eAAe,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,cAAsB;IACjE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,MAAM,EAAE,gBAAgB,IAAI,YAAY,CAAC;AAClD,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,MAAc;IACjE,MAAM,UAAU,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE9C,4BAA4B;IAC5B,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAA4B,CAAC,CAAC;IAE3D,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAmC;YAC9C,GAAG,EAAE,UAAU,CAAC,OAAO;YACvB,GAAG,EAAE,UAAU,CAAC,QAAQ;SACzB,CAAC;QACF,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,IAAI,0BAA0B,CAAC;IACpE,OAAO,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B,MAAM,CAAC,WAAW,CAAC;IAC/E,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,KAAK,EAAE,0BAA0B,CAAC;IACnC,CAAC,KAAK,EAAE,gCAAgC,CAAC;CAC1C,CAAC,CAAC;AAEH,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,MAAM,EAAE,mDAAmD;IAChE,GAAG,EAAE,KAAK,EAAE,sDAAsD;CAC1D,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,cAAsB;IACpD,OAAO,sBAAsB,CAAC,cAAqD,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC;AACrH,CAAC;AAED,+CAA+C;AAC/C,qCAAqC;AACrC,+CAA+C;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,wDAAwD;CACzD,CAAC;AAEX,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,sBAAsB,EAAE,GAAG;IAC3B,aAAa,EAAE,CAAC;CACR,CAAC;AAEX,+CAA+C;AAC/C,0BAA0B;AAC1B,+CAA+C;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX,MAAM,CAAC,MAAM,8BAA8B,GAA0C;IACnF,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,SAAS;IAC5C,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,YAAY;IAClD,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,WAAW;IAChD,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1C,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,WAAW;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,gCAAgC,GAA4C;IACvF,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,SAAS;IAC9C,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,cAAc;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;CAChB,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mBAAmB;IAC1C,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,eAAe;IAC/C,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW;IACvC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,YAAY;CAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cranberry-money/shared-constants",
3
- "version": "8.15.430",
3
+ "version": "8.15.431",
4
4
  "description": "Shared constants for Blueberry platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",