@one_deploy/sdk 1.0.2 → 1.0.4

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 (70) hide show
  1. package/package.json +1 -1
  2. package/src/components/OneSwapWidget.tsx +1 -1
  3. package/src/components/ai/OneChainSelector.tsx +183 -0
  4. package/src/components/ai/OneCycleSelector.tsx +187 -0
  5. package/src/components/ai/OnePairSelector.tsx +181 -0
  6. package/src/components/ai/OneTierSelector.tsx +187 -0
  7. package/src/components/ai/index.ts +17 -0
  8. package/src/components/index.ts +3 -0
  9. package/src/config/index.ts +1 -1
  10. package/src/hooks/index.ts +20 -0
  11. package/src/hooks/useAITrading.ts +444 -0
  12. package/src/index.ts +20 -0
  13. package/src/react-native.ts +23 -0
  14. package/src/services/engine.ts +184 -0
  15. package/src/services/index.ts +16 -0
  16. package/src/services/usage.ts +249 -0
  17. package/.turbo/turbo-build.log +0 -0
  18. package/.turbo/turbo-type-check.log +0 -0
  19. package/dist/config/index.d.mts +0 -74
  20. package/dist/config/index.d.ts +0 -74
  21. package/dist/config/index.js +0 -244
  22. package/dist/config/index.js.map +0 -1
  23. package/dist/config/index.mjs +0 -226
  24. package/dist/config/index.mjs.map +0 -1
  25. package/dist/engine-5ndtBaCr.d.ts +0 -1039
  26. package/dist/engine-CrlhH0nw.d.mts +0 -1039
  27. package/dist/hooks/index.d.mts +0 -56
  28. package/dist/hooks/index.d.ts +0 -56
  29. package/dist/hooks/index.js +0 -1360
  30. package/dist/hooks/index.js.map +0 -1
  31. package/dist/hooks/index.mjs +0 -1356
  32. package/dist/hooks/index.mjs.map +0 -1
  33. package/dist/index.d.mts +0 -356
  34. package/dist/index.d.ts +0 -356
  35. package/dist/index.js +0 -5069
  36. package/dist/index.js.map +0 -1
  37. package/dist/index.mjs +0 -4950
  38. package/dist/index.mjs.map +0 -1
  39. package/dist/price-CgqXPnT3.d.ts +0 -13
  40. package/dist/price-ClbLHHjv.d.mts +0 -13
  41. package/dist/providers/index.d.mts +0 -121
  42. package/dist/providers/index.d.ts +0 -121
  43. package/dist/providers/index.js +0 -1643
  44. package/dist/providers/index.js.map +0 -1
  45. package/dist/providers/index.mjs +0 -1601
  46. package/dist/providers/index.mjs.map +0 -1
  47. package/dist/react-native.d.mts +0 -120
  48. package/dist/react-native.d.ts +0 -120
  49. package/dist/react-native.js +0 -1794
  50. package/dist/react-native.js.map +0 -1
  51. package/dist/react-native.mjs +0 -1757
  52. package/dist/react-native.mjs.map +0 -1
  53. package/dist/services/index.d.mts +0 -85
  54. package/dist/services/index.d.ts +0 -85
  55. package/dist/services/index.js +0 -1466
  56. package/dist/services/index.js.map +0 -1
  57. package/dist/services/index.mjs +0 -1458
  58. package/dist/services/index.mjs.map +0 -1
  59. package/dist/types/index.d.mts +0 -759
  60. package/dist/types/index.d.ts +0 -759
  61. package/dist/types/index.js +0 -4
  62. package/dist/types/index.js.map +0 -1
  63. package/dist/types/index.mjs +0 -3
  64. package/dist/types/index.mjs.map +0 -1
  65. package/dist/utils/index.d.mts +0 -36
  66. package/dist/utils/index.d.ts +0 -36
  67. package/dist/utils/index.js +0 -164
  68. package/dist/utils/index.js.map +0 -1
  69. package/dist/utils/index.mjs +0 -142
  70. package/dist/utils/index.mjs.map +0 -1
@@ -1,244 +0,0 @@
1
- 'use strict';
2
-
3
- // src/config/index.ts
4
- var DEFAULT_ENGINE_URL = "https://api.one23.io/api";
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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAyBA,IAAM,kBAAA,GAAqB,0BAAA;AAC3B,IAAM,iBAAA,GAAoB,yEAAA;AAE1B,IAAI,MAAA,GAA2B,IAAA;AAExB,SAAS,WAAW,OAAA,EAAmC;AAE5D,EAAA,MAAM,SAAA,GAAY,QAAQ,YAAA,IAAgB,kBAAA;AAC1C,EAAA,MAAM,QAAA,GAAW,QAAQ,WAAA,IAAe,iBAAA;AAExC,EAAA,MAAA,GAAS;AAAA,IACP,GAAG,OAAA;AAAA,IACH,YAAA,EAAc,SAAA;AAAA,IACd,WAAA,EAAa;AAAA,GACf;AACF;AAEO,SAAS,SAAA,GAAuB;AACrC,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,EACrE;AACA,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,aAAA,GAAyB;AACvC,EAAA,OAAO,MAAA,KAAW,IAAA;AACpB;AAEO,SAAS,YAAA,GAAuB;AACrC,EAAA,OAAO,MAAA,EAAQ,YAAA,IAAgB,OAAA,CAAQ,GAAA,CAAI,0BAAA,IAA8B,kBAAA;AAC3E;AAKA,IAAI,WAAA,GAAoC,IAAA;AACxC,IAAI,oBAAA,GAAuB,CAAA;AAC3B,IAAM,SAAA,GAAY,IAAI,EAAA,GAAK,GAAA;AAM3B,eAAsB,YAAY,OAAA,EAIP;AACzB,EAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,EAAA,MAAM,MAAA,GAAS,IAAI,eAAA,EAAgB;AAEnC,EAAA,IAAI,SAAS,QAAA,EAAU,MAAA,CAAO,GAAA,CAAI,UAAA,EAAY,QAAQ,QAAQ,CAAA;AAC9D,EAAA,IAAI,OAAA,EAAS,WAAA,EAAa,MAAA,CAAO,GAAA,CAAI,eAAe,MAAM,CAAA;AAC1D,EAAA,IAAI,OAAA,EAAS,OAAO,MAAA,CAAO,GAAA,CAAI,SAAS,OAAA,CAAQ,KAAA,CAAM,UAAU,CAAA;AAEhE,EAAA,MAAM,WAAW,MAAM,KAAA,CAAM,GAAG,SAAS,CAAA,WAAA,EAAc,MAAM,CAAA,CAAE,CAAA;AAC/D,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AAEjC,EAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,IAAA,MAAM,IAAI,KAAA,CAAM,IAAA,CAAK,KAAA,EAAO,WAAW,wBAAwB,CAAA;AAAA,EACjE;AAGA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,MAAgB;AAAA,IAC3C,IAAI,KAAA,CAAM,EAAA;AAAA,IACV,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,WAAW,KAAA,CAAM,SAAA,IAAa,MAAM,IAAA,IAAQ,KAAA,CAAM,KAAK,WAAA,EAAY;AAAA,IACnE,IAAA,EAAM,YAAA,CAAa,KAAA,CAAM,EAAE,CAAA;AAAA,IAC3B,gBAAgB,KAAA,CAAM,cAAA;AAAA,IACtB,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,KAAA,CAAM,GAAG,IAAI,KAAA,CAAM,GAAA,GAAM,CAAC,KAAA,CAAM,GAAG,CAAA;AAAA,IAC1D,mBAAmB,KAAA,CAAM,aAAA,GAAgB,CAAC,KAAA,CAAM,aAAa,IAAI,EAAC;AAAA,IAClE,SAAS,KAAA,CAAM;AAAA,GACjB,CAAE,CAAA;AACJ;AAKA,eAAsB,SAAA,GAAoC;AACxD,EAAA,MAAM,GAAA,GAAM,KAAK,GAAA,EAAI;AACrB,EAAA,IAAI,WAAA,IAAgB,GAAA,GAAM,oBAAA,GAAwB,SAAA,EAAW;AAC3D,IAAA,OAAO,WAAA;AAAA,EACT;AAEA,EAAA,WAAA,GAAc,MAAM,WAAA,CAAY,EAAE,KAAA,EAAO,KAAK,CAAA;AAC9C,EAAA,oBAAA,GAAuB,GAAA;AACvB,EAAA,OAAO,WAAA;AACT;AAKA,eAAsB,aAAa,OAAA,EAAmD;AACpF,EAAA,MAAM,MAAA,GAAS,MAAM,SAAA,EAAU;AAC/B,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAC1C;AAKA,eAAsB,eAAe,IAAA,EAAgD;AACnF,EAAA,MAAM,MAAA,GAAS,MAAM,SAAA,EAAU;AAC/B,EAAA,MAAM,SAAA,GAAY,KAAK,WAAA,EAAY;AACnC,EAAA,OAAO,MAAA,CAAO,IAAA;AAAA,IACZ,CAAA,CAAA,KAAK,EAAE,IAAA,CAAK,WAAA,OAAkB,SAAA,IAAa,CAAA,CAAE,SAAA,CAAU,WAAA,EAAY,KAAM;AAAA,GAC3E;AACF;AAKA,eAAsB,oBAAA,GAA+C;AACnE,EAAA,OAAO,YAAY,EAAE,QAAA,EAAU,aAAA,EAAe,KAAA,EAAO,IAAI,CAAA;AAC3D;AAKA,eAAsB,oBAAA,GAA+C;AACnE,EAAA,OAAO,YAAY,EAAE,WAAA,EAAa,IAAA,EAAM,KAAA,EAAO,IAAI,CAAA;AACrD;AAKO,IAAM,SAAA,GAAY;AAAA,EACvB,QAAA,EAAU,CAAA;AAAA,EACV,OAAA,EAAS,GAAA;AAAA,EACT,GAAA,EAAK,EAAA;AAAA,EACL,QAAA,EAAU,KAAA;AAAA,EACV,QAAA,EAAU,EAAA;AAAA,EACV,IAAA,EAAM,IAAA;AAAA,EACN,SAAA,EAAW,KAAA;AAAA,EACX,MAAA,EAAQ,GAAA;AAAA,EACR,KAAA,EAAO,KAAA;AAAA,EACP,MAAA,EAAQ,MAAA;AAAA,EACR,KAAA,EAAO,KAAA;AAAA;AAAA,EAEP,OAAA,EAAS,QAAA;AAAA,EACT,YAAA,EAAc,KAAA;AAAA,EACd,gBAAA,EAAkB;AACpB;AAEO,IAAM,mBAAmB,SAAA,CAAU;AAG1C,IAAM,WAAA,GAAsC;AAAA,EAC1C,CAAA,EAAG,QAAA;AAAA;AAAA,EACH,GAAA,EAAK,WAAA;AAAA;AAAA,EACL,EAAA,EAAI,WAAA;AAAA;AAAA,EACJ,KAAA,EAAO,WAAA;AAAA;AAAA,EACP,EAAA,EAAI,WAAA;AAAA;AAAA,EACJ,IAAA,EAAM,WAAA;AAAA;AAAA,EACN,KAAA,EAAO,WAAA;AAAA;AAAA,EACP,GAAA,EAAK,QAAA;AAAA;AAAA,EACL,KAAA,EAAO,WAAA;AAAA;AAAA,EACP,MAAA,EAAQ;AAAA;AACV,CAAA;AAEA,SAAS,aAAa,OAAA,EAAyB;AAC7C,EAAA,OAAO,WAAA,CAAY,OAAO,CAAA,IAAK,WAAA;AACjC;AAIO,IAAM,WAAA,GAAsC;AAAA,EACjD,GAAA,EAAK,UAAA;AAAA,EACL,GAAA,EAAK,SAAA;AAAA,EACL,GAAA,EAAK,KAAA;AAAA,EACL,KAAA,EAAO,SAAA;AAAA,EACP,GAAA,EAAK,SAAA;AAAA,EACL,IAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,IAAA,EAAM,iBAAA;AAAA,EACN,IAAA,EAAM,eAAA;AAAA,EACN,GAAA,EAAK,UAAA;AAAA,EACL,EAAA,EAAI,UAAA;AAAA,EACJ,IAAA,EAAM,WAAA;AAAA,EACN,GAAA,EAAK,SAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,OAAA;AAAA,EACL,GAAA,EAAK,OAAA;AAAA,EACL,GAAA,EAAK,WAAA;AAAA,EACL,IAAA,EAAM,UAAA;AAAA,EACN,KAAA,EAAO,WAAA;AAAA,EACP,GAAA,EAAK,eAAA;AAAA,EACL,GAAA,EAAK,QAAA;AAAA,EACL,GAAA,EAAK,UAAA;AAAA,EACL,IAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAM;AACR;AAIO,IAAM,aAAA,GAAwC;AAAA,EACnD,GAAA,EAAK,UAAA;AAAA,EACL,GAAA,EAAK,SAAA;AAAA,EACL,GAAA,EAAK,aAAA;AAAA,EACL,KAAA,EAAO,eAAA;AAAA,EACP,GAAA,EAAK,eAAA;AAAA,EACL,IAAA,EAAM,aAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,IAAA,EAAM,iBAAA;AAAA,EACN,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,UAAA;AAAA,EACL,EAAA,EAAI,UAAA;AAAA,EACJ,IAAA,EAAM,WAAA;AAAA,EACN,GAAA,EAAK,SAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK;AACP;AAMO,IAAM,aAAA,GAA6C;AAAA,EACxD,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,CAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,SAAA,EAAW,KAAA;AAAA,IACX,IAAA,EAAM,QAAA;AAAA,IACN,gBAAgB,EAAE,IAAA,EAAM,SAAS,MAAA,EAAQ,KAAA,EAAO,UAAU,EAAA,EAAG;AAAA,IAC7D,OAAA,EAAS,CAAC,mCAAmC,CAAA;AAAA,IAC7C,iBAAA,EAAmB,CAAC,sBAAsB,CAAA;AAAA,IAC1C,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,GAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,OAAA;AAAA,IACX,IAAA,EAAM,WAAA;AAAA,IACN,gBAAgB,EAAE,IAAA,EAAM,OAAO,MAAA,EAAQ,KAAA,EAAO,UAAU,EAAA,EAAG;AAAA,IAC3D,OAAA,EAAS,CAAC,kCAAkC,CAAA;AAAA,IAC5C,iBAAA,EAAmB,CAAC,yBAAyB,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,IAAA,EAAM,WAAA;AAAA,IACN,gBAAgB,EAAE,IAAA,EAAM,SAAS,MAAA,EAAQ,KAAA,EAAO,UAAU,EAAA,EAAG;AAAA,IAC7D,OAAA,EAAS,CAAC,+BAA+B,CAAA;AAAA,IACzC,iBAAA,EAAmB,CAAC,sBAAsB,CAAA;AAAA,IAC1C,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,SAAA,EAAW,KAAA;AAAA,IACX,IAAA,EAAM,WAAA;AAAA,IACN,gBAAgB,EAAE,IAAA,EAAM,SAAS,MAAA,EAAQ,KAAA,EAAO,UAAU,EAAA,EAAG;AAAA,IAC7D,OAAA,EAAS,CAAC,mCAAmC,CAAA;AAAA,IAC7C,iBAAA,EAAmB,CAAC,qBAAqB,CAAA;AAAA,IACzC,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,EAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,SAAA,EAAW,IAAA;AAAA,IACX,IAAA,EAAM,WAAA;AAAA,IACN,gBAAgB,EAAE,IAAA,EAAM,SAAS,MAAA,EAAQ,KAAA,EAAO,UAAU,EAAA,EAAG;AAAA,IAC7D,OAAA,EAAS,CAAC,mCAAmC,CAAA;AAAA,IAC7C,iBAAA,EAAmB,CAAC,iCAAiC,CAAA;AAAA,IACrD,OAAA,EAAS;AAAA;AAEb;AAGO,IAAM,gBAAA,GAAmB,MAAA,CAAO,IAAA,CAAK,aAAa;AAGlD,SAAS,eAAe,KAAA,EAAwC;AACrE,EAAA,OAAO,aAAA,CAAc,KAAA,CAAM,WAAA,EAAa,CAAA;AAC1C","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/api';\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"]}
@@ -1,226 +0,0 @@
1
- // src/config/index.ts
2
- var DEFAULT_ENGINE_URL = "https://api.one23.io/api";
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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/config/index.ts"],"names":[],"mappings":"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","file":"index.mjs","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/api';\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"]}