@one_deploy/sdk 1.0.4 → 1.0.6

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.
Files changed (57) hide show
  1. package/dist/config/index.d.mts +74 -0
  2. package/dist/config/index.d.ts +74 -0
  3. package/dist/config/index.js +244 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/config/index.mjs +226 -0
  6. package/dist/config/index.mjs.map +1 -0
  7. package/dist/engine-BeVuHpVx.d.mts +1202 -0
  8. package/dist/engine-DSc1Em4V.d.ts +1202 -0
  9. package/dist/hooks/index.d.mts +185 -0
  10. package/dist/hooks/index.d.ts +185 -0
  11. package/dist/hooks/index.js +1711 -0
  12. package/dist/hooks/index.js.map +1 -0
  13. package/dist/hooks/index.mjs +1699 -0
  14. package/dist/hooks/index.mjs.map +1 -0
  15. package/dist/index.d.mts +356 -0
  16. package/dist/index.d.ts +356 -0
  17. package/dist/index.js +5420 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/index.mjs +5293 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/price-CgqXPnT3.d.ts +13 -0
  22. package/dist/price-ClbLHHjv.d.mts +13 -0
  23. package/dist/providers/index.d.mts +121 -0
  24. package/dist/providers/index.d.ts +121 -0
  25. package/dist/providers/index.js +1741 -0
  26. package/dist/providers/index.js.map +1 -0
  27. package/dist/providers/index.mjs +1699 -0
  28. package/dist/providers/index.mjs.map +1 -0
  29. package/dist/react-native.d.mts +257 -0
  30. package/dist/react-native.d.ts +257 -0
  31. package/dist/react-native.js +2436 -0
  32. package/dist/react-native.js.map +1 -0
  33. package/dist/react-native.mjs +2392 -0
  34. package/dist/react-native.mjs.map +1 -0
  35. package/dist/services/index.d.mts +105 -0
  36. package/dist/services/index.d.ts +105 -0
  37. package/dist/services/index.js +1720 -0
  38. package/dist/services/index.js.map +1 -0
  39. package/dist/services/index.mjs +1709 -0
  40. package/dist/services/index.mjs.map +1 -0
  41. package/dist/supabase-BT0c7q9e.d.mts +82 -0
  42. package/dist/supabase-BT0c7q9e.d.ts +82 -0
  43. package/dist/types/index.d.mts +759 -0
  44. package/dist/types/index.d.ts +759 -0
  45. package/dist/types/index.js +4 -0
  46. package/dist/types/index.js.map +1 -0
  47. package/dist/types/index.mjs +3 -0
  48. package/dist/types/index.mjs.map +1 -0
  49. package/dist/utils/index.d.mts +36 -0
  50. package/dist/utils/index.d.ts +36 -0
  51. package/dist/utils/index.js +164 -0
  52. package/dist/utils/index.js.map +1 -0
  53. package/dist/utils/index.mjs +142 -0
  54. package/dist/utils/index.mjs.map +1 -0
  55. package/package.json +5 -1
  56. package/tsconfig.json +0 -22
  57. package/tsup.config.ts +0 -25
@@ -0,0 +1,74 @@
1
+ import { ChainConfig } from '../types/index.mjs';
2
+
3
+ /**
4
+ * ONE SDK Configuration
5
+ *
6
+ * Chain data is fetched from ONE Engine API - no duplicates needed here.
7
+ * Engine is the single source of truth for 200+ EVM chains.
8
+ */
9
+
10
+ interface OneConfig {
11
+ oneEngineUrl: string;
12
+ oneClientId: string;
13
+ oneSecretKey?: string;
14
+ supabaseUrl?: string;
15
+ supabaseAnonKey?: string;
16
+ thirdwebClientId?: string;
17
+ }
18
+ declare function initOneSDK(options: Partial<OneConfig>): void;
19
+ declare function getConfig(): OneConfig;
20
+ declare function isInitialized(): boolean;
21
+ declare function getEngineUrl(): string;
22
+ /**
23
+ * Fetch chains from ONE Engine API
24
+ * Engine is the source of truth for 200+ EVM chains
25
+ */
26
+ declare function fetchChains(options?: {
27
+ category?: 'mainnet' | 'l2' | 'testnet' | 'gaming' | 'recommended';
28
+ smartWallet?: boolean;
29
+ limit?: number;
30
+ }): Promise<ChainConfig[]>;
31
+ /**
32
+ * Get all supported chains (cached)
33
+ */
34
+ declare function getChains(): Promise<ChainConfig[]>;
35
+ /**
36
+ * Get chain by ID
37
+ */
38
+ declare function getChainById(chainId: number): Promise<ChainConfig | undefined>;
39
+ /**
40
+ * Get chain by name/shortName
41
+ */
42
+ declare function getChainByName(name: string): Promise<ChainConfig | undefined>;
43
+ /**
44
+ * Get recommended chains for UI display
45
+ */
46
+ declare function getRecommendedChains(): Promise<ChainConfig[]>;
47
+ /**
48
+ * Get chains with smart wallet support
49
+ */
50
+ declare function getSmartWalletChains(): Promise<ChainConfig[]>;
51
+ declare const CHAIN_IDS: {
52
+ readonly ETHEREUM: 1;
53
+ readonly POLYGON: 137;
54
+ readonly BSC: 56;
55
+ readonly ARBITRUM: 42161;
56
+ readonly OPTIMISM: 10;
57
+ readonly BASE: 8453;
58
+ readonly AVALANCHE: 43114;
59
+ readonly ZKSYNC: 324;
60
+ readonly LINEA: 59144;
61
+ readonly SCROLL: 534352;
62
+ readonly BLAST: 81457;
63
+ readonly SEPOLIA: 11155111;
64
+ readonly BASE_SEPOLIA: 84532;
65
+ readonly ARBITRUM_SEPOLIA: 421614;
66
+ };
67
+ declare const DEFAULT_CHAIN_ID: 8453;
68
+ declare const TOKEN_NAMES: Record<string, string>;
69
+ declare const COINGECKO_IDS: Record<string, string>;
70
+ declare const CHAIN_CONFIGS: Record<string, ChainConfig>;
71
+ declare const SUPPORTED_CHAINS: string[];
72
+ declare function getChainConfig(chain: string): ChainConfig | undefined;
73
+
74
+ export { CHAIN_CONFIGS, CHAIN_IDS, COINGECKO_IDS, DEFAULT_CHAIN_ID, type OneConfig, SUPPORTED_CHAINS, TOKEN_NAMES, fetchChains, getChainById, getChainByName, getChainConfig, getChains, getConfig, getEngineUrl, getRecommendedChains, getSmartWalletChains, initOneSDK, isInitialized };
@@ -0,0 +1,74 @@
1
+ import { ChainConfig } from '../types/index.js';
2
+
3
+ /**
4
+ * ONE SDK Configuration
5
+ *
6
+ * Chain data is fetched from ONE Engine API - no duplicates needed here.
7
+ * Engine is the single source of truth for 200+ EVM chains.
8
+ */
9
+
10
+ interface OneConfig {
11
+ oneEngineUrl: string;
12
+ oneClientId: string;
13
+ oneSecretKey?: string;
14
+ supabaseUrl?: string;
15
+ supabaseAnonKey?: string;
16
+ thirdwebClientId?: string;
17
+ }
18
+ declare function initOneSDK(options: Partial<OneConfig>): void;
19
+ declare function getConfig(): OneConfig;
20
+ declare function isInitialized(): boolean;
21
+ declare function getEngineUrl(): string;
22
+ /**
23
+ * Fetch chains from ONE Engine API
24
+ * Engine is the source of truth for 200+ EVM chains
25
+ */
26
+ declare function fetchChains(options?: {
27
+ category?: 'mainnet' | 'l2' | 'testnet' | 'gaming' | 'recommended';
28
+ smartWallet?: boolean;
29
+ limit?: number;
30
+ }): Promise<ChainConfig[]>;
31
+ /**
32
+ * Get all supported chains (cached)
33
+ */
34
+ declare function getChains(): Promise<ChainConfig[]>;
35
+ /**
36
+ * Get chain by ID
37
+ */
38
+ declare function getChainById(chainId: number): Promise<ChainConfig | undefined>;
39
+ /**
40
+ * Get chain by name/shortName
41
+ */
42
+ declare function getChainByName(name: string): Promise<ChainConfig | undefined>;
43
+ /**
44
+ * Get recommended chains for UI display
45
+ */
46
+ declare function getRecommendedChains(): Promise<ChainConfig[]>;
47
+ /**
48
+ * Get chains with smart wallet support
49
+ */
50
+ declare function getSmartWalletChains(): Promise<ChainConfig[]>;
51
+ declare const CHAIN_IDS: {
52
+ readonly ETHEREUM: 1;
53
+ readonly POLYGON: 137;
54
+ readonly BSC: 56;
55
+ readonly ARBITRUM: 42161;
56
+ readonly OPTIMISM: 10;
57
+ readonly BASE: 8453;
58
+ readonly AVALANCHE: 43114;
59
+ readonly ZKSYNC: 324;
60
+ readonly LINEA: 59144;
61
+ readonly SCROLL: 534352;
62
+ readonly BLAST: 81457;
63
+ readonly SEPOLIA: 11155111;
64
+ readonly BASE_SEPOLIA: 84532;
65
+ readonly ARBITRUM_SEPOLIA: 421614;
66
+ };
67
+ declare const DEFAULT_CHAIN_ID: 8453;
68
+ declare const TOKEN_NAMES: Record<string, string>;
69
+ declare const COINGECKO_IDS: Record<string, string>;
70
+ declare const CHAIN_CONFIGS: Record<string, ChainConfig>;
71
+ declare const SUPPORTED_CHAINS: string[];
72
+ declare function getChainConfig(chain: string): ChainConfig | undefined;
73
+
74
+ export { CHAIN_CONFIGS, CHAIN_IDS, COINGECKO_IDS, DEFAULT_CHAIN_ID, type OneConfig, SUPPORTED_CHAINS, TOKEN_NAMES, fetchChains, getChainById, getChainByName, getChainConfig, getChains, getConfig, getEngineUrl, getRecommendedChains, getSmartWalletChains, initOneSDK, isInitialized };
@@ -0,0 +1,244 @@
1
+ 'use strict';
2
+
3
+ // src/config/index.ts
4
+ var DEFAULT_ENGINE_URL = "https://api.one23.io";
5
+ var DEFAULT_CLIENT_ID = "one_pk_e8f647bfa643fdcfaa3a23f760488e49be09f929296eed4a6c399d437d907f60";
6
+ var config = null;
7
+ function initOneSDK(options) {
8
+ const engineUrl = options.oneEngineUrl || DEFAULT_ENGINE_URL;
9
+ const clientId = options.oneClientId || DEFAULT_CLIENT_ID;
10
+ config = {
11
+ ...options,
12
+ oneEngineUrl: engineUrl,
13
+ oneClientId: clientId
14
+ };
15
+ }
16
+ function getConfig() {
17
+ if (!config) {
18
+ throw new Error("ONE SDK not initialized. Call initOneSDK() first.");
19
+ }
20
+ return config;
21
+ }
22
+ function isInitialized() {
23
+ return config !== null;
24
+ }
25
+ function getEngineUrl() {
26
+ return config?.oneEngineUrl || process.env.NEXT_PUBLIC_ONE_ENGINE_URL || DEFAULT_ENGINE_URL;
27
+ }
28
+ var chainsCache = null;
29
+ var chainsCacheTimestamp = 0;
30
+ var CACHE_TTL = 5 * 60 * 1e3;
31
+ async function fetchChains(options) {
32
+ const engineUrl = getEngineUrl();
33
+ const params = new URLSearchParams();
34
+ if (options?.category) params.set("category", options.category);
35
+ if (options?.smartWallet) params.set("smartWallet", "true");
36
+ if (options?.limit) params.set("limit", options.limit.toString());
37
+ const response = await fetch(`${engineUrl}/v1/chains?${params}`);
38
+ const data = await response.json();
39
+ if (!data.success) {
40
+ throw new Error(data.error?.message || "Failed to fetch chains");
41
+ }
42
+ return data.data.chains.map((chain) => ({
43
+ id: chain.id,
44
+ name: chain.name,
45
+ shortName: chain.shortName || chain.slug || chain.name.toLowerCase(),
46
+ icon: getChainIcon(chain.id),
47
+ nativeCurrency: chain.nativeCurrency,
48
+ rpcUrls: Array.isArray(chain.rpc) ? chain.rpc : [chain.rpc],
49
+ blockExplorerUrls: chain.blockExplorer ? [chain.blockExplorer] : [],
50
+ testnet: chain.testnet
51
+ }));
52
+ }
53
+ async function getChains() {
54
+ const now = Date.now();
55
+ if (chainsCache && now - chainsCacheTimestamp < CACHE_TTL) {
56
+ return chainsCache;
57
+ }
58
+ chainsCache = await fetchChains({ limit: 200 });
59
+ chainsCacheTimestamp = now;
60
+ return chainsCache;
61
+ }
62
+ async function getChainById(chainId) {
63
+ const chains = await getChains();
64
+ return chains.find((c) => c.id === chainId);
65
+ }
66
+ async function getChainByName(name) {
67
+ const chains = await getChains();
68
+ const lowerName = name.toLowerCase();
69
+ return chains.find(
70
+ (c) => c.name.toLowerCase() === lowerName || c.shortName.toLowerCase() === lowerName
71
+ );
72
+ }
73
+ async function getRecommendedChains() {
74
+ return fetchChains({ category: "recommended", limit: 10 });
75
+ }
76
+ async function getSmartWalletChains() {
77
+ return fetchChains({ smartWallet: true, limit: 50 });
78
+ }
79
+ var CHAIN_IDS = {
80
+ ETHEREUM: 1,
81
+ POLYGON: 137,
82
+ BSC: 56,
83
+ ARBITRUM: 42161,
84
+ OPTIMISM: 10,
85
+ BASE: 8453,
86
+ AVALANCHE: 43114,
87
+ ZKSYNC: 324,
88
+ LINEA: 59144,
89
+ SCROLL: 534352,
90
+ BLAST: 81457,
91
+ // Testnets
92
+ SEPOLIA: 11155111,
93
+ BASE_SEPOLIA: 84532,
94
+ ARBITRUM_SEPOLIA: 421614
95
+ };
96
+ var DEFAULT_CHAIN_ID = CHAIN_IDS.BASE;
97
+ var CHAIN_ICONS = {
98
+ 1: "\u229F",
99
+ // Ethereum
100
+ 137: "\u{1F7E3}",
101
+ // Polygon
102
+ 56: "\u{1F7E1}",
103
+ // BSC
104
+ 42161: "\u{1F535}",
105
+ // Arbitrum
106
+ 10: "\u{1F534}",
107
+ // Optimism
108
+ 8453: "\u{1F537}",
109
+ // Base
110
+ 43114: "\u{1F53A}",
111
+ // Avalanche
112
+ 324: "\u26A1",
113
+ // zkSync
114
+ 59144: "\u{1F539}",
115
+ // Linea
116
+ 534352: "\u{1F4DC}"
117
+ // Scroll
118
+ };
119
+ function getChainIcon(chainId) {
120
+ return CHAIN_ICONS[chainId] || "\u{1F517}";
121
+ }
122
+ var TOKEN_NAMES = {
123
+ ETH: "Ethereum",
124
+ BTC: "Bitcoin",
125
+ BNB: "BNB",
126
+ MATIC: "Polygon",
127
+ POL: "Polygon",
128
+ AVAX: "Avalanche",
129
+ USDT: "Tether",
130
+ USDC: "USD Coin",
131
+ DAI: "Dai",
132
+ WBTC: "Wrapped Bitcoin",
133
+ WETH: "Wrapped Ether",
134
+ ARB: "Arbitrum",
135
+ OP: "Optimism",
136
+ LINK: "Chainlink",
137
+ UNI: "Uniswap",
138
+ AAVE: "Aave",
139
+ CRV: "Curve",
140
+ MKR: "Maker",
141
+ SNX: "Synthetix",
142
+ COMP: "Compound",
143
+ SUSHI: "SushiSwap",
144
+ YFI: "Yearn Finance",
145
+ SOL: "Solana",
146
+ DOT: "Polkadot",
147
+ ATOM: "Cosmos",
148
+ NEAR: "Near Protocol"
149
+ };
150
+ var COINGECKO_IDS = {
151
+ ETH: "ethereum",
152
+ BTC: "bitcoin",
153
+ BNB: "binancecoin",
154
+ MATIC: "matic-network",
155
+ POL: "matic-network",
156
+ AVAX: "avalanche-2",
157
+ USDT: "tether",
158
+ USDC: "usd-coin",
159
+ DAI: "dai",
160
+ WBTC: "wrapped-bitcoin",
161
+ WETH: "weth",
162
+ ARB: "arbitrum",
163
+ OP: "optimism",
164
+ LINK: "chainlink",
165
+ UNI: "uniswap",
166
+ AAVE: "aave",
167
+ SOL: "solana"
168
+ };
169
+ var CHAIN_CONFIGS = {
170
+ ethereum: {
171
+ id: 1,
172
+ name: "Ethereum",
173
+ shortName: "ETH",
174
+ icon: "\u229F",
175
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
176
+ rpcUrls: ["https://ethereum.rpc.thirdweb.com"],
177
+ blockExplorerUrls: ["https://etherscan.io"],
178
+ testnet: false
179
+ },
180
+ polygon: {
181
+ id: 137,
182
+ name: "Polygon",
183
+ shortName: "MATIC",
184
+ icon: "\u{1F7E3}",
185
+ nativeCurrency: { name: "POL", symbol: "POL", decimals: 18 },
186
+ rpcUrls: ["https://polygon.rpc.thirdweb.com"],
187
+ blockExplorerUrls: ["https://polygonscan.com"],
188
+ testnet: false
189
+ },
190
+ base: {
191
+ id: 8453,
192
+ name: "Base",
193
+ shortName: "BASE",
194
+ icon: "\u{1F537}",
195
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
196
+ rpcUrls: ["https://base.rpc.thirdweb.com"],
197
+ blockExplorerUrls: ["https://basescan.org"],
198
+ testnet: false
199
+ },
200
+ arbitrum: {
201
+ id: 42161,
202
+ name: "Arbitrum One",
203
+ shortName: "ARB",
204
+ icon: "\u{1F535}",
205
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
206
+ rpcUrls: ["https://arbitrum.rpc.thirdweb.com"],
207
+ blockExplorerUrls: ["https://arbiscan.io"],
208
+ testnet: false
209
+ },
210
+ optimism: {
211
+ id: 10,
212
+ name: "Optimism",
213
+ shortName: "OP",
214
+ icon: "\u{1F534}",
215
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
216
+ rpcUrls: ["https://optimism.rpc.thirdweb.com"],
217
+ blockExplorerUrls: ["https://optimistic.etherscan.io"],
218
+ testnet: false
219
+ }
220
+ };
221
+ var SUPPORTED_CHAINS = Object.keys(CHAIN_CONFIGS);
222
+ function getChainConfig(chain) {
223
+ return CHAIN_CONFIGS[chain.toLowerCase()];
224
+ }
225
+
226
+ exports.CHAIN_CONFIGS = CHAIN_CONFIGS;
227
+ exports.CHAIN_IDS = CHAIN_IDS;
228
+ exports.COINGECKO_IDS = COINGECKO_IDS;
229
+ exports.DEFAULT_CHAIN_ID = DEFAULT_CHAIN_ID;
230
+ exports.SUPPORTED_CHAINS = SUPPORTED_CHAINS;
231
+ exports.TOKEN_NAMES = TOKEN_NAMES;
232
+ exports.fetchChains = fetchChains;
233
+ exports.getChainById = getChainById;
234
+ exports.getChainByName = getChainByName;
235
+ exports.getChainConfig = getChainConfig;
236
+ exports.getChains = getChains;
237
+ exports.getConfig = getConfig;
238
+ exports.getEngineUrl = getEngineUrl;
239
+ exports.getRecommendedChains = getRecommendedChains;
240
+ exports.getSmartWalletChains = getSmartWalletChains;
241
+ exports.initOneSDK = initOneSDK;
242
+ exports.isInitialized = isInitialized;
243
+ //# sourceMappingURL=index.js.map
244
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/config/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * ONE SDK Configuration\n *\n * Chain data is fetched from ONE Engine API - no duplicates needed here.\n * Engine is the single source of truth for 200+ EVM chains.\n */\n\nimport type { ChainConfig } from '../types';\n\n// ===== SDK Configuration =====\nexport interface OneConfig {\n // ONE Engine (required)\n oneEngineUrl: string;\n oneClientId: string;\n oneSecretKey?: string; // Only for backend usage\n\n // Optional: Direct Supabase access (for realtime subscriptions)\n supabaseUrl?: string;\n supabaseAnonKey?: string;\n\n // Deprecated: Use ONE Engine instead\n thirdwebClientId?: string;\n}\n\n// Default configuration values\nconst DEFAULT_ENGINE_URL = 'https://api.one23.io';\nconst DEFAULT_CLIENT_ID = 'one_pk_e8f647bfa643fdcfaa3a23f760488e49be09f929296eed4a6c399d437d907f60';\n\nlet config: OneConfig | null = null;\n\nexport function initOneSDK(options: Partial<OneConfig>): void {\n // Use defaults if not provided\n const engineUrl = options.oneEngineUrl || DEFAULT_ENGINE_URL;\n const clientId = options.oneClientId || DEFAULT_CLIENT_ID;\n\n config = {\n ...options,\n oneEngineUrl: engineUrl,\n oneClientId: clientId,\n } as OneConfig;\n}\n\nexport function getConfig(): OneConfig {\n if (!config) {\n throw new Error('ONE SDK not initialized. Call initOneSDK() first.');\n }\n return config;\n}\n\nexport function isInitialized(): boolean {\n return config !== null;\n}\n\nexport function getEngineUrl(): string {\n return config?.oneEngineUrl || process.env.NEXT_PUBLIC_ONE_ENGINE_URL || DEFAULT_ENGINE_URL;\n}\n\n// ===== Chain Data (Fetched from Engine) =====\n\n// Cache for chain data\nlet chainsCache: ChainConfig[] | null = null;\nlet chainsCacheTimestamp = 0;\nconst CACHE_TTL = 5 * 60 * 1000; // 5 minutes\n\n/**\n * Fetch chains from ONE Engine API\n * Engine is the source of truth for 200+ EVM chains\n */\nexport async function fetchChains(options?: {\n category?: 'mainnet' | 'l2' | 'testnet' | 'gaming' | 'recommended';\n smartWallet?: boolean;\n limit?: number;\n}): Promise<ChainConfig[]> {\n const engineUrl = getEngineUrl();\n const params = new URLSearchParams();\n\n if (options?.category) params.set('category', options.category);\n if (options?.smartWallet) params.set('smartWallet', 'true');\n if (options?.limit) params.set('limit', options.limit.toString());\n\n const response = await fetch(`${engineUrl}/v1/chains?${params}`);\n const data = await response.json();\n\n if (!data.success) {\n throw new Error(data.error?.message || 'Failed to fetch chains');\n }\n\n // Transform Engine response to SDK ChainConfig format\n return data.data.chains.map((chain: any) => ({\n id: chain.id,\n name: chain.name,\n shortName: chain.shortName || chain.slug || chain.name.toLowerCase(),\n icon: getChainIcon(chain.id),\n nativeCurrency: chain.nativeCurrency,\n rpcUrls: Array.isArray(chain.rpc) ? chain.rpc : [chain.rpc],\n blockExplorerUrls: chain.blockExplorer ? [chain.blockExplorer] : [],\n testnet: chain.testnet,\n }));\n}\n\n/**\n * Get all supported chains (cached)\n */\nexport async function getChains(): Promise<ChainConfig[]> {\n const now = Date.now();\n if (chainsCache && (now - chainsCacheTimestamp) < CACHE_TTL) {\n return chainsCache;\n }\n\n chainsCache = await fetchChains({ limit: 200 });\n chainsCacheTimestamp = now;\n return chainsCache;\n}\n\n/**\n * Get chain by ID\n */\nexport async function getChainById(chainId: number): Promise<ChainConfig | undefined> {\n const chains = await getChains();\n return chains.find(c => c.id === chainId);\n}\n\n/**\n * Get chain by name/shortName\n */\nexport async function getChainByName(name: string): Promise<ChainConfig | undefined> {\n const chains = await getChains();\n const lowerName = name.toLowerCase();\n return chains.find(\n c => c.name.toLowerCase() === lowerName || c.shortName.toLowerCase() === lowerName\n );\n}\n\n/**\n * Get recommended chains for UI display\n */\nexport async function getRecommendedChains(): Promise<ChainConfig[]> {\n return fetchChains({ category: 'recommended', limit: 10 });\n}\n\n/**\n * Get chains with smart wallet support\n */\nexport async function getSmartWalletChains(): Promise<ChainConfig[]> {\n return fetchChains({ smartWallet: true, limit: 50 });\n}\n\n// ===== Default Chain Constants =====\n// These are commonly used chain IDs, but full data should be fetched from Engine\n\nexport const CHAIN_IDS = {\n ETHEREUM: 1,\n POLYGON: 137,\n BSC: 56,\n ARBITRUM: 42161,\n OPTIMISM: 10,\n BASE: 8453,\n AVALANCHE: 43114,\n ZKSYNC: 324,\n LINEA: 59144,\n SCROLL: 534352,\n BLAST: 81457,\n // Testnets\n SEPOLIA: 11155111,\n BASE_SEPOLIA: 84532,\n ARBITRUM_SEPOLIA: 421614,\n} as const;\n\nexport const DEFAULT_CHAIN_ID = CHAIN_IDS.BASE;\n\n// ===== Chain Icons (Simple emoji fallback) =====\nconst CHAIN_ICONS: Record<number, string> = {\n 1: '\\u229F', // Ethereum\n 137: '\\uD83D\\uDFE3', // Polygon\n 56: '\\uD83D\\uDFE1', // BSC\n 42161: '\\uD83D\\uDD35', // Arbitrum\n 10: '\\uD83D\\uDD34', // Optimism\n 8453: '\\uD83D\\uDD37', // Base\n 43114: '\\uD83D\\uDD3A', // Avalanche\n 324: '\\u26A1', // zkSync\n 59144: '\\uD83D\\uDD39', // Linea\n 534352: '\\uD83D\\uDCDC', // Scroll\n};\n\nfunction getChainIcon(chainId: number): string {\n return CHAIN_ICONS[chainId] || '\\uD83D\\uDD17';\n}\n\n// ===== Token Names Mapping =====\n// Common token symbols to human-readable names\nexport const TOKEN_NAMES: Record<string, string> = {\n ETH: 'Ethereum',\n BTC: 'Bitcoin',\n BNB: 'BNB',\n MATIC: 'Polygon',\n POL: 'Polygon',\n AVAX: 'Avalanche',\n USDT: 'Tether',\n USDC: 'USD Coin',\n DAI: 'Dai',\n WBTC: 'Wrapped Bitcoin',\n WETH: 'Wrapped Ether',\n ARB: 'Arbitrum',\n OP: 'Optimism',\n LINK: 'Chainlink',\n UNI: 'Uniswap',\n AAVE: 'Aave',\n CRV: 'Curve',\n MKR: 'Maker',\n SNX: 'Synthetix',\n COMP: 'Compound',\n SUSHI: 'SushiSwap',\n YFI: 'Yearn Finance',\n SOL: 'Solana',\n DOT: 'Polkadot',\n ATOM: 'Cosmos',\n NEAR: 'Near Protocol',\n};\n\n// ===== CoinGecko ID Mapping =====\n// For price lookups via CoinGecko API\nexport const COINGECKO_IDS: Record<string, string> = {\n ETH: 'ethereum',\n BTC: 'bitcoin',\n BNB: 'binancecoin',\n MATIC: 'matic-network',\n POL: 'matic-network',\n AVAX: 'avalanche-2',\n USDT: 'tether',\n USDC: 'usd-coin',\n DAI: 'dai',\n WBTC: 'wrapped-bitcoin',\n WETH: 'weth',\n ARB: 'arbitrum',\n OP: 'optimism',\n LINK: 'chainlink',\n UNI: 'uniswap',\n AAVE: 'aave',\n SOL: 'solana',\n};\n\n// ===== Backwards Compatibility =====\n// @deprecated - Use getChains() or fetch from Engine API\n// These static configs are kept for backwards compatibility only\n\nexport const CHAIN_CONFIGS: Record<string, ChainConfig> = {\n ethereum: {\n id: 1,\n name: 'Ethereum',\n shortName: 'ETH',\n icon: '\\u229F',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: ['https://ethereum.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://etherscan.io'],\n testnet: false,\n },\n polygon: {\n id: 137,\n name: 'Polygon',\n shortName: 'MATIC',\n icon: '\\uD83D\\uDFE3',\n nativeCurrency: { name: 'POL', symbol: 'POL', decimals: 18 },\n rpcUrls: ['https://polygon.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://polygonscan.com'],\n testnet: false,\n },\n base: {\n id: 8453,\n name: 'Base',\n shortName: 'BASE',\n icon: '\\uD83D\\uDD37',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: ['https://base.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://basescan.org'],\n testnet: false,\n },\n arbitrum: {\n id: 42161,\n name: 'Arbitrum One',\n shortName: 'ARB',\n icon: '\\uD83D\\uDD35',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: ['https://arbitrum.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://arbiscan.io'],\n testnet: false,\n },\n optimism: {\n id: 10,\n name: 'Optimism',\n shortName: 'OP',\n icon: '\\uD83D\\uDD34',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: ['https://optimism.rpc.thirdweb.com'],\n blockExplorerUrls: ['https://optimistic.etherscan.io'],\n testnet: false,\n },\n};\n\n// @deprecated - Use getChains() to get all supported chains\nexport const SUPPORTED_CHAINS = Object.keys(CHAIN_CONFIGS);\n\n// @deprecated - Use getChainByName() instead\nexport function getChainConfig(chain: string): ChainConfig | undefined {\n return CHAIN_CONFIGS[chain.toLowerCase()];\n}\n"]}
@@ -0,0 +1,226 @@
1
+ // src/config/index.ts
2
+ var DEFAULT_ENGINE_URL = "https://api.one23.io";
3
+ var DEFAULT_CLIENT_ID = "one_pk_e8f647bfa643fdcfaa3a23f760488e49be09f929296eed4a6c399d437d907f60";
4
+ var config = null;
5
+ function initOneSDK(options) {
6
+ const engineUrl = options.oneEngineUrl || DEFAULT_ENGINE_URL;
7
+ const clientId = options.oneClientId || DEFAULT_CLIENT_ID;
8
+ config = {
9
+ ...options,
10
+ oneEngineUrl: engineUrl,
11
+ oneClientId: clientId
12
+ };
13
+ }
14
+ function getConfig() {
15
+ if (!config) {
16
+ throw new Error("ONE SDK not initialized. Call initOneSDK() first.");
17
+ }
18
+ return config;
19
+ }
20
+ function isInitialized() {
21
+ return config !== null;
22
+ }
23
+ function getEngineUrl() {
24
+ return config?.oneEngineUrl || process.env.NEXT_PUBLIC_ONE_ENGINE_URL || DEFAULT_ENGINE_URL;
25
+ }
26
+ var chainsCache = null;
27
+ var chainsCacheTimestamp = 0;
28
+ var CACHE_TTL = 5 * 60 * 1e3;
29
+ async function fetchChains(options) {
30
+ const engineUrl = getEngineUrl();
31
+ const params = new URLSearchParams();
32
+ if (options?.category) params.set("category", options.category);
33
+ if (options?.smartWallet) params.set("smartWallet", "true");
34
+ if (options?.limit) params.set("limit", options.limit.toString());
35
+ const response = await fetch(`${engineUrl}/v1/chains?${params}`);
36
+ const data = await response.json();
37
+ if (!data.success) {
38
+ throw new Error(data.error?.message || "Failed to fetch chains");
39
+ }
40
+ return data.data.chains.map((chain) => ({
41
+ id: chain.id,
42
+ name: chain.name,
43
+ shortName: chain.shortName || chain.slug || chain.name.toLowerCase(),
44
+ icon: getChainIcon(chain.id),
45
+ nativeCurrency: chain.nativeCurrency,
46
+ rpcUrls: Array.isArray(chain.rpc) ? chain.rpc : [chain.rpc],
47
+ blockExplorerUrls: chain.blockExplorer ? [chain.blockExplorer] : [],
48
+ testnet: chain.testnet
49
+ }));
50
+ }
51
+ async function getChains() {
52
+ const now = Date.now();
53
+ if (chainsCache && now - chainsCacheTimestamp < CACHE_TTL) {
54
+ return chainsCache;
55
+ }
56
+ chainsCache = await fetchChains({ limit: 200 });
57
+ chainsCacheTimestamp = now;
58
+ return chainsCache;
59
+ }
60
+ async function getChainById(chainId) {
61
+ const chains = await getChains();
62
+ return chains.find((c) => c.id === chainId);
63
+ }
64
+ async function getChainByName(name) {
65
+ const chains = await getChains();
66
+ const lowerName = name.toLowerCase();
67
+ return chains.find(
68
+ (c) => c.name.toLowerCase() === lowerName || c.shortName.toLowerCase() === lowerName
69
+ );
70
+ }
71
+ async function getRecommendedChains() {
72
+ return fetchChains({ category: "recommended", limit: 10 });
73
+ }
74
+ async function getSmartWalletChains() {
75
+ return fetchChains({ smartWallet: true, limit: 50 });
76
+ }
77
+ var CHAIN_IDS = {
78
+ ETHEREUM: 1,
79
+ POLYGON: 137,
80
+ BSC: 56,
81
+ ARBITRUM: 42161,
82
+ OPTIMISM: 10,
83
+ BASE: 8453,
84
+ AVALANCHE: 43114,
85
+ ZKSYNC: 324,
86
+ LINEA: 59144,
87
+ SCROLL: 534352,
88
+ BLAST: 81457,
89
+ // Testnets
90
+ SEPOLIA: 11155111,
91
+ BASE_SEPOLIA: 84532,
92
+ ARBITRUM_SEPOLIA: 421614
93
+ };
94
+ var DEFAULT_CHAIN_ID = CHAIN_IDS.BASE;
95
+ var CHAIN_ICONS = {
96
+ 1: "\u229F",
97
+ // Ethereum
98
+ 137: "\u{1F7E3}",
99
+ // Polygon
100
+ 56: "\u{1F7E1}",
101
+ // BSC
102
+ 42161: "\u{1F535}",
103
+ // Arbitrum
104
+ 10: "\u{1F534}",
105
+ // Optimism
106
+ 8453: "\u{1F537}",
107
+ // Base
108
+ 43114: "\u{1F53A}",
109
+ // Avalanche
110
+ 324: "\u26A1",
111
+ // zkSync
112
+ 59144: "\u{1F539}",
113
+ // Linea
114
+ 534352: "\u{1F4DC}"
115
+ // Scroll
116
+ };
117
+ function getChainIcon(chainId) {
118
+ return CHAIN_ICONS[chainId] || "\u{1F517}";
119
+ }
120
+ var TOKEN_NAMES = {
121
+ ETH: "Ethereum",
122
+ BTC: "Bitcoin",
123
+ BNB: "BNB",
124
+ MATIC: "Polygon",
125
+ POL: "Polygon",
126
+ AVAX: "Avalanche",
127
+ USDT: "Tether",
128
+ USDC: "USD Coin",
129
+ DAI: "Dai",
130
+ WBTC: "Wrapped Bitcoin",
131
+ WETH: "Wrapped Ether",
132
+ ARB: "Arbitrum",
133
+ OP: "Optimism",
134
+ LINK: "Chainlink",
135
+ UNI: "Uniswap",
136
+ AAVE: "Aave",
137
+ CRV: "Curve",
138
+ MKR: "Maker",
139
+ SNX: "Synthetix",
140
+ COMP: "Compound",
141
+ SUSHI: "SushiSwap",
142
+ YFI: "Yearn Finance",
143
+ SOL: "Solana",
144
+ DOT: "Polkadot",
145
+ ATOM: "Cosmos",
146
+ NEAR: "Near Protocol"
147
+ };
148
+ var COINGECKO_IDS = {
149
+ ETH: "ethereum",
150
+ BTC: "bitcoin",
151
+ BNB: "binancecoin",
152
+ MATIC: "matic-network",
153
+ POL: "matic-network",
154
+ AVAX: "avalanche-2",
155
+ USDT: "tether",
156
+ USDC: "usd-coin",
157
+ DAI: "dai",
158
+ WBTC: "wrapped-bitcoin",
159
+ WETH: "weth",
160
+ ARB: "arbitrum",
161
+ OP: "optimism",
162
+ LINK: "chainlink",
163
+ UNI: "uniswap",
164
+ AAVE: "aave",
165
+ SOL: "solana"
166
+ };
167
+ var CHAIN_CONFIGS = {
168
+ ethereum: {
169
+ id: 1,
170
+ name: "Ethereum",
171
+ shortName: "ETH",
172
+ icon: "\u229F",
173
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
174
+ rpcUrls: ["https://ethereum.rpc.thirdweb.com"],
175
+ blockExplorerUrls: ["https://etherscan.io"],
176
+ testnet: false
177
+ },
178
+ polygon: {
179
+ id: 137,
180
+ name: "Polygon",
181
+ shortName: "MATIC",
182
+ icon: "\u{1F7E3}",
183
+ nativeCurrency: { name: "POL", symbol: "POL", decimals: 18 },
184
+ rpcUrls: ["https://polygon.rpc.thirdweb.com"],
185
+ blockExplorerUrls: ["https://polygonscan.com"],
186
+ testnet: false
187
+ },
188
+ base: {
189
+ id: 8453,
190
+ name: "Base",
191
+ shortName: "BASE",
192
+ icon: "\u{1F537}",
193
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
194
+ rpcUrls: ["https://base.rpc.thirdweb.com"],
195
+ blockExplorerUrls: ["https://basescan.org"],
196
+ testnet: false
197
+ },
198
+ arbitrum: {
199
+ id: 42161,
200
+ name: "Arbitrum One",
201
+ shortName: "ARB",
202
+ icon: "\u{1F535}",
203
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
204
+ rpcUrls: ["https://arbitrum.rpc.thirdweb.com"],
205
+ blockExplorerUrls: ["https://arbiscan.io"],
206
+ testnet: false
207
+ },
208
+ optimism: {
209
+ id: 10,
210
+ name: "Optimism",
211
+ shortName: "OP",
212
+ icon: "\u{1F534}",
213
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
214
+ rpcUrls: ["https://optimism.rpc.thirdweb.com"],
215
+ blockExplorerUrls: ["https://optimistic.etherscan.io"],
216
+ testnet: false
217
+ }
218
+ };
219
+ var SUPPORTED_CHAINS = Object.keys(CHAIN_CONFIGS);
220
+ function getChainConfig(chain) {
221
+ return CHAIN_CONFIGS[chain.toLowerCase()];
222
+ }
223
+
224
+ export { CHAIN_CONFIGS, CHAIN_IDS, COINGECKO_IDS, DEFAULT_CHAIN_ID, SUPPORTED_CHAINS, TOKEN_NAMES, fetchChains, getChainById, getChainByName, getChainConfig, getChains, getConfig, getEngineUrl, getRecommendedChains, getSmartWalletChains, initOneSDK, isInitialized };
225
+ //# sourceMappingURL=index.mjs.map
226
+ //# sourceMappingURL=index.mjs.map