@trustware/sdk-staging 1.1.8-staging.7 → 1.1.9-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/dist/{blockchain-BONedEsU.d.cts → blockchain-BxAFzp0s.d.cts} +5 -1
- package/dist/{blockchain-BONedEsU.d.ts → blockchain-BxAFzp0s.d.ts} +5 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.mjs +1 -1
- package/dist/{core-DnrIv4h8.d.ts → core-D_jx805U.d.cts} +33 -5
- package/dist/{core-BUe031hU.d.cts → core-p_5BLdbE.d.ts} +33 -5
- package/dist/core.cjs +549 -80
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +4 -4
- package/dist/core.d.ts +4 -4
- package/dist/core.mjs +550 -81
- package/dist/core.mjs.map +1 -1
- package/dist/{detect-DlbgTrkm.d.cts → detect--pmNlAHv.d.cts} +1 -1
- package/dist/{detect-MWKHLhn9.d.ts → detect-qAX6I4JI.d.ts} +1 -1
- package/dist/index.cjs +2380 -1674
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.mjs +2090 -1383
- package/dist/index.mjs.map +1 -1
- package/dist/{manager-aOd3vkF9.d.ts → manager-DFQkemW0.d.ts} +1 -3
- package/dist/{manager-DKVW7zeh.d.cts → manager-aMi4_Ss6.d.cts} +1 -3
- package/dist/smart-account.cjs +1 -2
- package/dist/smart-account.cjs.map +1 -1
- package/dist/smart-account.d.cts +24 -24
- package/dist/smart-account.d.ts +24 -24
- package/dist/smart-account.mjs +1 -2
- package/dist/smart-account.mjs.map +1 -1
- package/dist/{types-MtdjJgwT.d.ts → types-BJY9r-mz.d.ts} +1 -1
- package/dist/{types-B3nKHW6H.d.cts → types-DX3HtFcn.d.cts} +1 -1
- package/dist/wallet.cjs +22 -7
- package/dist/wallet.cjs.map +1 -1
- package/dist/wallet.d.cts +4 -4
- package/dist/wallet.d.ts +4 -4
- package/dist/wallet.mjs +22 -7
- package/dist/wallet.mjs.map +1 -1
- package/dist/widget.cjs +2340 -1634
- package/dist/widget.cjs.map +1 -1
- package/dist/widget.d.cts +2 -2
- package/dist/widget.d.ts +2 -2
- package/dist/widget.mjs +2050 -1343
- package/dist/widget.mjs.map +1 -1
- package/package.json +3 -2
package/dist/core.mjs
CHANGED
|
@@ -53,7 +53,7 @@ var init_constants = __esm({
|
|
|
53
53
|
"src/constants.ts"() {
|
|
54
54
|
"use strict";
|
|
55
55
|
SDK_NAME = "@trustware/sdk";
|
|
56
|
-
SDK_VERSION = "1.1.
|
|
56
|
+
SDK_VERSION = "1.1.9-staging.1";
|
|
57
57
|
API_ROOT = "https://bv-staging-api.trustware.io";
|
|
58
58
|
API_PREFIX = "/api";
|
|
59
59
|
WALLETCONNECT_PROJECT_ID = "72ea74c400f5111d43aea638d7d83a24";
|
|
@@ -71,16 +71,6 @@ var init_config2 = __esm({
|
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
// src/core/http.ts
|
|
74
|
-
var http_exports = {};
|
|
75
|
-
__export(http_exports, {
|
|
76
|
-
RateLimitError: () => RateLimitError,
|
|
77
|
-
apiBase: () => apiBase,
|
|
78
|
-
assertOK: () => assertOK,
|
|
79
|
-
jsonHeaders: () => jsonHeaders,
|
|
80
|
-
parseRateLimitHeaders: () => parseRateLimitHeaders,
|
|
81
|
-
rateLimitedFetch: () => rateLimitedFetch,
|
|
82
|
-
validateSdkAccess: () => validateSdkAccess
|
|
83
|
-
});
|
|
84
74
|
function apiBase() {
|
|
85
75
|
return `${API_ROOT}${API_PREFIX}`;
|
|
86
76
|
}
|
|
@@ -278,11 +268,6 @@ var init_chains = __esm({
|
|
|
278
268
|
});
|
|
279
269
|
|
|
280
270
|
// src/registry.ts
|
|
281
|
-
var registry_exports = {};
|
|
282
|
-
__export(registry_exports, {
|
|
283
|
-
NATIVE: () => NATIVE,
|
|
284
|
-
Registry: () => Registry
|
|
285
|
-
});
|
|
286
271
|
function getChainAliases(chain) {
|
|
287
272
|
const values = [
|
|
288
273
|
chain.chainId,
|
|
@@ -434,6 +419,24 @@ var init_registry = __esm({
|
|
|
434
419
|
}
|
|
435
420
|
this._chainsLoaded = true;
|
|
436
421
|
}
|
|
422
|
+
batchStoreTokens(tokensArr) {
|
|
423
|
+
for (const token of tokensArr) {
|
|
424
|
+
const chainRef = token?.chainId;
|
|
425
|
+
if (chainRef == null) continue;
|
|
426
|
+
const normalized = normalizeToken(token);
|
|
427
|
+
const resolvedChain = this.chain(chainRef);
|
|
428
|
+
const aliases = resolvedChain ? getChainAliases(resolvedChain) : [normalizeChainKey(chainRef)];
|
|
429
|
+
const key = tokenKey(normalized);
|
|
430
|
+
for (const alias of aliases) {
|
|
431
|
+
const existingByKey = this._tokensByChainKey.get(alias) ?? /* @__PURE__ */ new Map();
|
|
432
|
+
existingByKey.set(key, normalized);
|
|
433
|
+
this._tokensByChainKey.set(alias, existingByKey);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
for (const [chainKey, byKey] of this._tokensByChainKey.entries()) {
|
|
437
|
+
this._tokensByChain.set(chainKey, Array.from(byKey.values()));
|
|
438
|
+
}
|
|
439
|
+
}
|
|
437
440
|
async loadAllTokens() {
|
|
438
441
|
await this.ensureChainsLoaded();
|
|
439
442
|
const tokensRes = await fetch(`${this.baseURL}/v1/routes/tokens`, {
|
|
@@ -442,9 +445,7 @@ var init_registry = __esm({
|
|
|
442
445
|
if (!tokensRes.ok) throw new Error(`tokens: HTTP ${tokensRes.status}`);
|
|
443
446
|
const tokens = await tokensRes.json();
|
|
444
447
|
const tokensArr = Array.isArray(tokens) ? tokens : tokens.data ?? [];
|
|
445
|
-
|
|
446
|
-
this.storeToken(token);
|
|
447
|
-
}
|
|
448
|
+
this.batchStoreTokens(tokensArr);
|
|
448
449
|
this._loaded = true;
|
|
449
450
|
}
|
|
450
451
|
prunePageCache() {
|
|
@@ -1800,7 +1801,7 @@ async function parseStreamingBalances(response, address, options = {}) {
|
|
|
1800
1801
|
}
|
|
1801
1802
|
return stream();
|
|
1802
1803
|
}
|
|
1803
|
-
async function getBalances(chainRef, address) {
|
|
1804
|
+
async function getBalances(chainRef, address, opts) {
|
|
1804
1805
|
const reg = await ensureRegistry();
|
|
1805
1806
|
const chain = reg.chain(chainRef);
|
|
1806
1807
|
if (!chain) return [];
|
|
@@ -1815,8 +1816,10 @@ async function getBalances(chainRef, address) {
|
|
|
1815
1816
|
chain.nativeCurrency?.decimals ?? "",
|
|
1816
1817
|
normalizeChainType(chain) ?? ""
|
|
1817
1818
|
].join(":");
|
|
1818
|
-
|
|
1819
|
-
|
|
1819
|
+
if (!opts?.forceRefresh) {
|
|
1820
|
+
const cached = balanceCache.get(cacheKey);
|
|
1821
|
+
if (cached) return cached;
|
|
1822
|
+
}
|
|
1820
1823
|
const url = `${apiBase()}/v1/data/wallets/${encodeURIComponent(chainKey)}/${trimmedAddress}/balances`;
|
|
1821
1824
|
const response = await fetch(url, {
|
|
1822
1825
|
method: "GET",
|
|
@@ -2129,11 +2132,27 @@ function toSolanaWalletInterface(provider) {
|
|
|
2129
2132
|
serializedTransactionBase64
|
|
2130
2133
|
);
|
|
2131
2134
|
if (provider.signAndSendTransaction) {
|
|
2132
|
-
const
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2135
|
+
const MAX_INTERNAL_ERROR_ATTEMPTS = 3;
|
|
2136
|
+
const INTERNAL_ERROR_RETRY_DELAY_MS = 500;
|
|
2137
|
+
for (let attempt = 1; attempt <= MAX_INTERNAL_ERROR_ATTEMPTS; attempt++) {
|
|
2138
|
+
try {
|
|
2139
|
+
const result = await provider.signAndSendTransaction(transaction, {
|
|
2140
|
+
skipPreflight: true
|
|
2141
|
+
});
|
|
2142
|
+
if (typeof result === "string") return result;
|
|
2143
|
+
if (result?.signature) return result.signature;
|
|
2144
|
+
break;
|
|
2145
|
+
} catch (err) {
|
|
2146
|
+
const code = err?.code;
|
|
2147
|
+
if (code === -32603 && attempt < MAX_INTERNAL_ERROR_ATTEMPTS) {
|
|
2148
|
+
await new Promise(
|
|
2149
|
+
(resolve) => setTimeout(resolve, INTERNAL_ERROR_RETRY_DELAY_MS * attempt)
|
|
2150
|
+
);
|
|
2151
|
+
continue;
|
|
2152
|
+
}
|
|
2153
|
+
throw err;
|
|
2154
|
+
}
|
|
2155
|
+
}
|
|
2137
2156
|
}
|
|
2138
2157
|
if (!provider.signTransaction) {
|
|
2139
2158
|
throw new Error("Connected Solana wallet cannot sign transactions");
|
|
@@ -3863,6 +3882,10 @@ var init_routes = __esm({
|
|
|
3863
3882
|
});
|
|
3864
3883
|
|
|
3865
3884
|
// src/core/registryClient.ts
|
|
3885
|
+
var registryClient_exports = {};
|
|
3886
|
+
__export(registryClient_exports, {
|
|
3887
|
+
getSharedRegistry: () => getSharedRegistry
|
|
3888
|
+
});
|
|
3866
3889
|
function registryCacheKey() {
|
|
3867
3890
|
const base = apiBase();
|
|
3868
3891
|
const apiKey = TrustwareConfigStore.peek()?.apiKey ?? "__uninitialized__";
|
|
@@ -3950,6 +3973,135 @@ var init_chainHelpers = __esm({
|
|
|
3950
3973
|
}
|
|
3951
3974
|
});
|
|
3952
3975
|
|
|
3976
|
+
// src/utils/index.ts
|
|
3977
|
+
function resolveChainLabel(chain) {
|
|
3978
|
+
return chain.networkName || chain.axelarChainName || (chain.id != null ? String(chain.id) : void 0) || (chain.chainId != null ? String(chain.chainId) : void 0) || chain.networkIdentifier || "Chain";
|
|
3979
|
+
}
|
|
3980
|
+
var init_utils = __esm({
|
|
3981
|
+
"src/utils/index.ts"() {
|
|
3982
|
+
"use strict";
|
|
3983
|
+
}
|
|
3984
|
+
});
|
|
3985
|
+
|
|
3986
|
+
// src/widget/data/popularChains.json
|
|
3987
|
+
var popularChains_default;
|
|
3988
|
+
var init_popularChains = __esm({
|
|
3989
|
+
"src/widget/data/popularChains.json"() {
|
|
3990
|
+
popularChains_default = {
|
|
3991
|
+
byTvl: [
|
|
3992
|
+
{
|
|
3993
|
+
name: "Ethereum",
|
|
3994
|
+
chainId: 1
|
|
3995
|
+
},
|
|
3996
|
+
{
|
|
3997
|
+
name: "BSC",
|
|
3998
|
+
chainId: 56
|
|
3999
|
+
},
|
|
4000
|
+
{
|
|
4001
|
+
name: "Solana"
|
|
4002
|
+
},
|
|
4003
|
+
{
|
|
4004
|
+
name: "Tron"
|
|
4005
|
+
},
|
|
4006
|
+
{
|
|
4007
|
+
name: "Bitcoin"
|
|
4008
|
+
},
|
|
4009
|
+
{
|
|
4010
|
+
name: "Base",
|
|
4011
|
+
chainId: 8453
|
|
4012
|
+
},
|
|
4013
|
+
{
|
|
4014
|
+
name: "Hyperliquid L1"
|
|
4015
|
+
},
|
|
4016
|
+
{
|
|
4017
|
+
name: "Provenance"
|
|
4018
|
+
},
|
|
4019
|
+
{
|
|
4020
|
+
name: "Arbitrum",
|
|
4021
|
+
chainId: 42161
|
|
4022
|
+
},
|
|
4023
|
+
{
|
|
4024
|
+
name: "Polygon",
|
|
4025
|
+
chainId: 137
|
|
4026
|
+
},
|
|
4027
|
+
{
|
|
4028
|
+
name: "Plasma",
|
|
4029
|
+
chainId: 9745
|
|
4030
|
+
},
|
|
4031
|
+
{
|
|
4032
|
+
name: "Avalanche",
|
|
4033
|
+
chainId: 43114
|
|
4034
|
+
},
|
|
4035
|
+
{
|
|
4036
|
+
name: "Sui"
|
|
4037
|
+
},
|
|
4038
|
+
{
|
|
4039
|
+
name: "Monad",
|
|
4040
|
+
chainId: 143
|
|
4041
|
+
},
|
|
4042
|
+
{
|
|
4043
|
+
name: "OP Mainnet",
|
|
4044
|
+
chainId: 10
|
|
4045
|
+
},
|
|
4046
|
+
{
|
|
4047
|
+
name: "Cronos",
|
|
4048
|
+
chainId: 25
|
|
4049
|
+
},
|
|
4050
|
+
{
|
|
4051
|
+
name: "Stellar"
|
|
4052
|
+
},
|
|
4053
|
+
{
|
|
4054
|
+
name: "Starknet"
|
|
4055
|
+
},
|
|
4056
|
+
{
|
|
4057
|
+
name: "Near"
|
|
4058
|
+
},
|
|
4059
|
+
{
|
|
4060
|
+
name: "Mantle",
|
|
4061
|
+
chainId: 5e3
|
|
4062
|
+
},
|
|
4063
|
+
{
|
|
4064
|
+
name: "Movement",
|
|
4065
|
+
chainId: 3073
|
|
4066
|
+
},
|
|
4067
|
+
{
|
|
4068
|
+
name: "Ink",
|
|
4069
|
+
chainId: 57073
|
|
4070
|
+
},
|
|
4071
|
+
{
|
|
4072
|
+
name: "Flare"
|
|
4073
|
+
},
|
|
4074
|
+
{
|
|
4075
|
+
name: "Aptos"
|
|
4076
|
+
},
|
|
4077
|
+
{
|
|
4078
|
+
name: "MegaETH",
|
|
4079
|
+
chainId: 4326
|
|
4080
|
+
},
|
|
4081
|
+
{
|
|
4082
|
+
name: "Rootstock",
|
|
4083
|
+
chainId: 30
|
|
4084
|
+
},
|
|
4085
|
+
{
|
|
4086
|
+
name: "dYdX"
|
|
4087
|
+
},
|
|
4088
|
+
{
|
|
4089
|
+
name: "Cardano"
|
|
4090
|
+
},
|
|
4091
|
+
{
|
|
4092
|
+
name: "Stacks"
|
|
4093
|
+
},
|
|
4094
|
+
{
|
|
4095
|
+
name: "X Layer"
|
|
4096
|
+
}
|
|
4097
|
+
],
|
|
4098
|
+
popularLimit: 8,
|
|
4099
|
+
updatedAt: "2026-06-19",
|
|
4100
|
+
source: "https://api.llama.fi/v2/chains \u2014 sorted by TVL"
|
|
4101
|
+
};
|
|
4102
|
+
}
|
|
4103
|
+
});
|
|
4104
|
+
|
|
3953
4105
|
// src/core/useChains.ts
|
|
3954
4106
|
import { useState, useEffect as useEffect2, useMemo } from "react";
|
|
3955
4107
|
function filterSupportedChains(chains) {
|
|
@@ -4024,20 +4176,40 @@ function useChains() {
|
|
|
4024
4176
|
const { popularChains, otherChains } = useMemo(() => {
|
|
4025
4177
|
const popular = [];
|
|
4026
4178
|
const other = [];
|
|
4179
|
+
const registryEvmIds = new Set(
|
|
4180
|
+
chains.map((c) => Number(c.chainId ?? c.id))
|
|
4181
|
+
);
|
|
4182
|
+
const hasSolana = chains.some((c) => normalizeChainType2(c) === "solana");
|
|
4183
|
+
const popularEvmIds = [];
|
|
4184
|
+
let solanaIsPopular = false;
|
|
4185
|
+
for (const entry of POPULAR_CHAINS_BY_TVL) {
|
|
4186
|
+
if (popularEvmIds.length + (solanaIsPopular ? 1 : 0) >= POPULAR_LIMIT)
|
|
4187
|
+
break;
|
|
4188
|
+
if (typeof entry.chainId === "number" && registryEvmIds.has(entry.chainId)) {
|
|
4189
|
+
popularEvmIds.push(entry.chainId);
|
|
4190
|
+
} else if (!solanaIsPopular && hasSolana && entry.name.toLowerCase() === "solana") {
|
|
4191
|
+
solanaIsPopular = true;
|
|
4192
|
+
}
|
|
4193
|
+
}
|
|
4194
|
+
const popularIdSet = new Set(popularEvmIds);
|
|
4027
4195
|
for (const chain of chains) {
|
|
4028
4196
|
const chainId = Number(chain.chainId ?? chain.id);
|
|
4029
|
-
if (
|
|
4197
|
+
if (popularIdSet.has(chainId) || solanaIsPopular && normalizeChainType2(chain) === "solana") {
|
|
4030
4198
|
popular.push(chain);
|
|
4031
4199
|
} else {
|
|
4032
4200
|
other.push(chain);
|
|
4033
4201
|
}
|
|
4034
4202
|
}
|
|
4035
|
-
const popularOrder = [1, 137, 8453];
|
|
4036
4203
|
popular.sort((a, b) => {
|
|
4037
4204
|
const aId = Number(a.chainId ?? a.id);
|
|
4038
4205
|
const bId = Number(b.chainId ?? b.id);
|
|
4039
|
-
|
|
4206
|
+
const aRank = popularEvmIds.indexOf(aId);
|
|
4207
|
+
const bRank = popularEvmIds.indexOf(bId);
|
|
4208
|
+
return (aRank === -1 ? 999 : aRank) - (bRank === -1 ? 999 : bRank);
|
|
4040
4209
|
});
|
|
4210
|
+
other.sort(
|
|
4211
|
+
(a, b) => resolveChainLabel(a).localeCompare(resolveChainLabel(b))
|
|
4212
|
+
);
|
|
4041
4213
|
return { popularChains: popular, otherChains: other };
|
|
4042
4214
|
}, [chains]);
|
|
4043
4215
|
return {
|
|
@@ -4049,20 +4221,16 @@ function useChains() {
|
|
|
4049
4221
|
error
|
|
4050
4222
|
};
|
|
4051
4223
|
}
|
|
4052
|
-
var
|
|
4224
|
+
var POPULAR_CHAINS_BY_TVL, POPULAR_LIMIT;
|
|
4053
4225
|
var init_useChains = __esm({
|
|
4054
4226
|
"src/core/useChains.ts"() {
|
|
4055
4227
|
"use strict";
|
|
4056
4228
|
init_registryClient();
|
|
4057
4229
|
init_chainHelpers();
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
// Polygon
|
|
4063
|
-
8453
|
|
4064
|
-
// Base
|
|
4065
|
-
]);
|
|
4230
|
+
init_utils();
|
|
4231
|
+
init_popularChains();
|
|
4232
|
+
POPULAR_CHAINS_BY_TVL = popularChains_default.byTvl;
|
|
4233
|
+
POPULAR_LIMIT = popularChains_default.popularLimit;
|
|
4066
4234
|
}
|
|
4067
4235
|
});
|
|
4068
4236
|
|
|
@@ -4211,21 +4379,27 @@ function sortTokensByPopularity(tokens, options) {
|
|
|
4211
4379
|
const nativeSet = options?.nativeAddresses ?? /* @__PURE__ */ new Set();
|
|
4212
4380
|
const nativeSymbolSet = options?.nativeSymbols ?? /* @__PURE__ */ new Set();
|
|
4213
4381
|
const featuredMap = options?.featuredAddresses ?? /* @__PURE__ */ new Map();
|
|
4382
|
+
const featuredSymMap = options?.featuredSymbols ?? /* @__PURE__ */ new Map();
|
|
4214
4383
|
const getMajorRank = (token) => {
|
|
4215
4384
|
const addr = normalizeAddress2(token.address);
|
|
4385
|
+
const sym = normalizeSymbol(token.symbol);
|
|
4216
4386
|
if (nativeSet.has(addr)) return 0;
|
|
4217
|
-
if (nativeSymbolSet.has(
|
|
4387
|
+
if (nativeSymbolSet.has(sym)) return 0;
|
|
4218
4388
|
if (featuredMap.has(addr)) return 1;
|
|
4389
|
+
if (featuredSymMap.has(sym)) return 1;
|
|
4219
4390
|
return getGroupRank(token) + 2;
|
|
4220
4391
|
};
|
|
4392
|
+
const getFeaturedOrder = (token) => {
|
|
4393
|
+
const byAddr = featuredMap.get(normalizeAddress2(token.address));
|
|
4394
|
+
if (byAddr !== void 0) return byAddr;
|
|
4395
|
+
return featuredSymMap.get(normalizeSymbol(token.symbol)) ?? 0;
|
|
4396
|
+
};
|
|
4221
4397
|
return tokens.map((token, index) => ({ token, index })).sort((a, b) => {
|
|
4222
4398
|
const majorA = getMajorRank(a.token);
|
|
4223
4399
|
const majorB = getMajorRank(b.token);
|
|
4224
4400
|
if (majorA !== majorB) return majorA - majorB;
|
|
4225
4401
|
if (majorA === 1) {
|
|
4226
|
-
|
|
4227
|
-
const orderB = featuredMap.get(normalizeAddress2(b.token.address)) ?? 0;
|
|
4228
|
-
return orderA - orderB;
|
|
4402
|
+
return getFeaturedOrder(a.token) - getFeaturedOrder(b.token);
|
|
4229
4403
|
}
|
|
4230
4404
|
const chainPopularityDiff = compareChainPopularity(a.token, b.token);
|
|
4231
4405
|
if (chainPopularityDiff !== 0) return chainPopularityDiff;
|
|
@@ -4291,6 +4465,10 @@ var init_featuredAssets = __esm({
|
|
|
4291
4465
|
"src/widget/data/featuredAssets.json"() {
|
|
4292
4466
|
featuredAssets_default = {
|
|
4293
4467
|
"1": {
|
|
4468
|
+
nativeAsset: {
|
|
4469
|
+
symbol: "ETH",
|
|
4470
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4471
|
+
},
|
|
4294
4472
|
top: [
|
|
4295
4473
|
{
|
|
4296
4474
|
symbol: "AAVE",
|
|
@@ -4397,11 +4575,11 @@ var init_featuredAssets = __esm({
|
|
|
4397
4575
|
]
|
|
4398
4576
|
},
|
|
4399
4577
|
"10": {
|
|
4578
|
+
nativeAsset: {
|
|
4579
|
+
symbol: "ETH",
|
|
4580
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4581
|
+
},
|
|
4400
4582
|
top: [
|
|
4401
|
-
{
|
|
4402
|
-
symbol: "OP",
|
|
4403
|
-
address: "0x4200000000000000000000000000000000000042"
|
|
4404
|
-
},
|
|
4405
4583
|
{
|
|
4406
4584
|
symbol: "AAVE",
|
|
4407
4585
|
address: "0x76fb31fb4af56892a25e32cfc43de717950c9278"
|
|
@@ -4425,6 +4603,10 @@ var init_featuredAssets = __esm({
|
|
|
4425
4603
|
{
|
|
4426
4604
|
symbol: "STG",
|
|
4427
4605
|
address: "0x296f55f8fb28e498b858d0bcda06d955b2cb3f97"
|
|
4606
|
+
},
|
|
4607
|
+
{
|
|
4608
|
+
symbol: "OP",
|
|
4609
|
+
address: "0x4200000000000000000000000000000000000042"
|
|
4428
4610
|
}
|
|
4429
4611
|
],
|
|
4430
4612
|
stables: [
|
|
@@ -4459,6 +4641,10 @@ var init_featuredAssets = __esm({
|
|
|
4459
4641
|
]
|
|
4460
4642
|
},
|
|
4461
4643
|
"100": {
|
|
4644
|
+
nativeAsset: {
|
|
4645
|
+
symbol: "XDAI",
|
|
4646
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4647
|
+
},
|
|
4462
4648
|
top: [],
|
|
4463
4649
|
stables: [
|
|
4464
4650
|
{
|
|
@@ -4472,6 +4658,10 @@ var init_featuredAssets = __esm({
|
|
|
4472
4658
|
]
|
|
4473
4659
|
},
|
|
4474
4660
|
"1284": {
|
|
4661
|
+
nativeAsset: {
|
|
4662
|
+
symbol: "GLMR",
|
|
4663
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4664
|
+
},
|
|
4475
4665
|
top: [
|
|
4476
4666
|
{
|
|
4477
4667
|
symbol: "WELL",
|
|
@@ -4490,6 +4680,10 @@ var init_featuredAssets = __esm({
|
|
|
4490
4680
|
]
|
|
4491
4681
|
},
|
|
4492
4682
|
"13371": {
|
|
4683
|
+
nativeAsset: {
|
|
4684
|
+
symbol: "IMX",
|
|
4685
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4686
|
+
},
|
|
4493
4687
|
top: [],
|
|
4494
4688
|
stables: [
|
|
4495
4689
|
{
|
|
@@ -4503,6 +4697,10 @@ var init_featuredAssets = __esm({
|
|
|
4503
4697
|
]
|
|
4504
4698
|
},
|
|
4505
4699
|
"137": {
|
|
4700
|
+
nativeAsset: {
|
|
4701
|
+
symbol: "POL",
|
|
4702
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4703
|
+
},
|
|
4506
4704
|
top: [
|
|
4507
4705
|
{
|
|
4508
4706
|
symbol: "AAVE",
|
|
@@ -4573,6 +4771,10 @@ var init_featuredAssets = __esm({
|
|
|
4573
4771
|
]
|
|
4574
4772
|
},
|
|
4575
4773
|
"143": {
|
|
4774
|
+
nativeAsset: {
|
|
4775
|
+
symbol: "MON",
|
|
4776
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4777
|
+
},
|
|
4576
4778
|
top: [],
|
|
4577
4779
|
stables: [
|
|
4578
4780
|
{
|
|
@@ -4582,6 +4784,10 @@ var init_featuredAssets = __esm({
|
|
|
4582
4784
|
]
|
|
4583
4785
|
},
|
|
4584
4786
|
"146": {
|
|
4787
|
+
nativeAsset: {
|
|
4788
|
+
symbol: "S",
|
|
4789
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4790
|
+
},
|
|
4585
4791
|
top: [],
|
|
4586
4792
|
stables: [
|
|
4587
4793
|
{
|
|
@@ -4595,6 +4801,10 @@ var init_featuredAssets = __esm({
|
|
|
4595
4801
|
]
|
|
4596
4802
|
},
|
|
4597
4803
|
"1868": {
|
|
4804
|
+
nativeAsset: {
|
|
4805
|
+
symbol: "ETH",
|
|
4806
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4807
|
+
},
|
|
4598
4808
|
top: [],
|
|
4599
4809
|
stables: [
|
|
4600
4810
|
{
|
|
@@ -4604,6 +4814,10 @@ var init_featuredAssets = __esm({
|
|
|
4604
4814
|
]
|
|
4605
4815
|
},
|
|
4606
4816
|
"2222": {
|
|
4817
|
+
nativeAsset: {
|
|
4818
|
+
symbol: "KAVA",
|
|
4819
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4820
|
+
},
|
|
4607
4821
|
top: [],
|
|
4608
4822
|
stables: [
|
|
4609
4823
|
{
|
|
@@ -4617,6 +4831,10 @@ var init_featuredAssets = __esm({
|
|
|
4617
4831
|
]
|
|
4618
4832
|
},
|
|
4619
4833
|
"250": {
|
|
4834
|
+
nativeAsset: {
|
|
4835
|
+
symbol: "FTM",
|
|
4836
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4837
|
+
},
|
|
4620
4838
|
top: [
|
|
4621
4839
|
{
|
|
4622
4840
|
symbol: "STG",
|
|
@@ -4631,6 +4849,10 @@ var init_featuredAssets = __esm({
|
|
|
4631
4849
|
]
|
|
4632
4850
|
},
|
|
4633
4851
|
"252": {
|
|
4852
|
+
nativeAsset: {
|
|
4853
|
+
symbol: "FRAX",
|
|
4854
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4855
|
+
},
|
|
4634
4856
|
top: [
|
|
4635
4857
|
{
|
|
4636
4858
|
symbol: "CRV",
|
|
@@ -4645,6 +4867,10 @@ var init_featuredAssets = __esm({
|
|
|
4645
4867
|
]
|
|
4646
4868
|
},
|
|
4647
4869
|
"295": {
|
|
4870
|
+
nativeAsset: {
|
|
4871
|
+
symbol: "HBAR",
|
|
4872
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4873
|
+
},
|
|
4648
4874
|
top: [],
|
|
4649
4875
|
stables: [
|
|
4650
4876
|
{
|
|
@@ -4654,6 +4880,10 @@ var init_featuredAssets = __esm({
|
|
|
4654
4880
|
]
|
|
4655
4881
|
},
|
|
4656
4882
|
"314": {
|
|
4883
|
+
nativeAsset: {
|
|
4884
|
+
symbol: "FIL",
|
|
4885
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4886
|
+
},
|
|
4657
4887
|
top: [],
|
|
4658
4888
|
stables: [
|
|
4659
4889
|
{
|
|
@@ -4663,6 +4893,10 @@ var init_featuredAssets = __esm({
|
|
|
4663
4893
|
]
|
|
4664
4894
|
},
|
|
4665
4895
|
"3338": {
|
|
4896
|
+
nativeAsset: {
|
|
4897
|
+
symbol: "PEAQ",
|
|
4898
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4899
|
+
},
|
|
4666
4900
|
top: [],
|
|
4667
4901
|
stables: [
|
|
4668
4902
|
{
|
|
@@ -4676,6 +4910,10 @@ var init_featuredAssets = __esm({
|
|
|
4676
4910
|
]
|
|
4677
4911
|
},
|
|
4678
4912
|
"42161": {
|
|
4913
|
+
nativeAsset: {
|
|
4914
|
+
symbol: "ETH",
|
|
4915
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4916
|
+
},
|
|
4679
4917
|
top: [
|
|
4680
4918
|
{
|
|
4681
4919
|
symbol: "AAVE",
|
|
@@ -4766,6 +5004,10 @@ var init_featuredAssets = __esm({
|
|
|
4766
5004
|
]
|
|
4767
5005
|
},
|
|
4768
5006
|
"42220": {
|
|
5007
|
+
nativeAsset: {
|
|
5008
|
+
symbol: "CELO",
|
|
5009
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5010
|
+
},
|
|
4769
5011
|
top: [],
|
|
4770
5012
|
stables: [
|
|
4771
5013
|
{
|
|
@@ -4779,6 +5021,10 @@ var init_featuredAssets = __esm({
|
|
|
4779
5021
|
]
|
|
4780
5022
|
},
|
|
4781
5023
|
"43114": {
|
|
5024
|
+
nativeAsset: {
|
|
5025
|
+
symbol: "AVAX",
|
|
5026
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5027
|
+
},
|
|
4782
5028
|
top: [
|
|
4783
5029
|
{
|
|
4784
5030
|
symbol: "PENDLE",
|
|
@@ -4817,6 +5063,10 @@ var init_featuredAssets = __esm({
|
|
|
4817
5063
|
]
|
|
4818
5064
|
},
|
|
4819
5065
|
"5000": {
|
|
5066
|
+
nativeAsset: {
|
|
5067
|
+
symbol: "MNT",
|
|
5068
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5069
|
+
},
|
|
4820
5070
|
top: [],
|
|
4821
5071
|
stables: [
|
|
4822
5072
|
{
|
|
@@ -4834,6 +5084,10 @@ var init_featuredAssets = __esm({
|
|
|
4834
5084
|
]
|
|
4835
5085
|
},
|
|
4836
5086
|
"534352": {
|
|
5087
|
+
nativeAsset: {
|
|
5088
|
+
symbol: "ETH",
|
|
5089
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5090
|
+
},
|
|
4837
5091
|
top: [],
|
|
4838
5092
|
stables: [
|
|
4839
5093
|
{
|
|
@@ -4847,6 +5101,10 @@ var init_featuredAssets = __esm({
|
|
|
4847
5101
|
]
|
|
4848
5102
|
},
|
|
4849
5103
|
"56": {
|
|
5104
|
+
nativeAsset: {
|
|
5105
|
+
symbol: "BNB",
|
|
5106
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5107
|
+
},
|
|
4850
5108
|
top: [
|
|
4851
5109
|
{
|
|
4852
5110
|
symbol: "AAVE",
|
|
@@ -4909,6 +5167,10 @@ var init_featuredAssets = __esm({
|
|
|
4909
5167
|
]
|
|
4910
5168
|
},
|
|
4911
5169
|
"59144": {
|
|
5170
|
+
nativeAsset: {
|
|
5171
|
+
symbol: "ETH",
|
|
5172
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5173
|
+
},
|
|
4912
5174
|
top: [
|
|
4913
5175
|
{
|
|
4914
5176
|
symbol: "Cake",
|
|
@@ -4923,6 +5185,10 @@ var init_featuredAssets = __esm({
|
|
|
4923
5185
|
]
|
|
4924
5186
|
},
|
|
4925
5187
|
"80094": {
|
|
5188
|
+
nativeAsset: {
|
|
5189
|
+
symbol: "BERA",
|
|
5190
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5191
|
+
},
|
|
4926
5192
|
top: [],
|
|
4927
5193
|
stables: [
|
|
4928
5194
|
{
|
|
@@ -4932,6 +5198,10 @@ var init_featuredAssets = __esm({
|
|
|
4932
5198
|
]
|
|
4933
5199
|
},
|
|
4934
5200
|
"8453": {
|
|
5201
|
+
nativeAsset: {
|
|
5202
|
+
symbol: "ETH",
|
|
5203
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5204
|
+
},
|
|
4935
5205
|
top: [
|
|
4936
5206
|
{
|
|
4937
5207
|
symbol: "AAVE",
|
|
@@ -5014,6 +5284,10 @@ var init_featuredAssets = __esm({
|
|
|
5014
5284
|
]
|
|
5015
5285
|
},
|
|
5016
5286
|
"999": {
|
|
5287
|
+
nativeAsset: {
|
|
5288
|
+
symbol: "HYPE",
|
|
5289
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5290
|
+
},
|
|
5017
5291
|
top: [
|
|
5018
5292
|
{
|
|
5019
5293
|
symbol: "AXL",
|
|
@@ -5046,7 +5320,12 @@ var init_featuredAssets = __esm({
|
|
|
5046
5320
|
]
|
|
5047
5321
|
},
|
|
5048
5322
|
"axelar-dojo-1": {
|
|
5049
|
-
top: [
|
|
5323
|
+
top: [
|
|
5324
|
+
{
|
|
5325
|
+
symbol: "AXL",
|
|
5326
|
+
address: "uaxl"
|
|
5327
|
+
}
|
|
5328
|
+
],
|
|
5050
5329
|
stables: [
|
|
5051
5330
|
{
|
|
5052
5331
|
symbol: "USDe",
|
|
@@ -5189,6 +5468,10 @@ var init_featuredAssets = __esm({
|
|
|
5189
5468
|
"noble-1": {
|
|
5190
5469
|
top: [],
|
|
5191
5470
|
stables: [
|
|
5471
|
+
{
|
|
5472
|
+
symbol: "USDC",
|
|
5473
|
+
address: "uusdc"
|
|
5474
|
+
},
|
|
5192
5475
|
{
|
|
5193
5476
|
symbol: "USDY",
|
|
5194
5477
|
address: "ausdy"
|
|
@@ -5226,6 +5509,72 @@ var init_featuredAssets = __esm({
|
|
|
5226
5509
|
}
|
|
5227
5510
|
]
|
|
5228
5511
|
},
|
|
5512
|
+
solana: {
|
|
5513
|
+
nativeAsset: {
|
|
5514
|
+
symbol: "SOL",
|
|
5515
|
+
address: "So11111111111111111111111111111111111111111"
|
|
5516
|
+
},
|
|
5517
|
+
top: [
|
|
5518
|
+
{
|
|
5519
|
+
symbol: "RENDER",
|
|
5520
|
+
address: "rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof"
|
|
5521
|
+
},
|
|
5522
|
+
{
|
|
5523
|
+
symbol: "SUSHI",
|
|
5524
|
+
address: "ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj"
|
|
5525
|
+
},
|
|
5526
|
+
{
|
|
5527
|
+
symbol: "ARB",
|
|
5528
|
+
address: "8LH3QMo7xkMJx85Kg4pfiQY1g1ZgiVEe1KktSpaT89mP"
|
|
5529
|
+
},
|
|
5530
|
+
{
|
|
5531
|
+
symbol: "cbBTC",
|
|
5532
|
+
address: "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"
|
|
5533
|
+
},
|
|
5534
|
+
{
|
|
5535
|
+
symbol: "Bonk",
|
|
5536
|
+
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
|
|
5537
|
+
}
|
|
5538
|
+
],
|
|
5539
|
+
stables: [
|
|
5540
|
+
{
|
|
5541
|
+
symbol: "USDT",
|
|
5542
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
|
|
5543
|
+
},
|
|
5544
|
+
{
|
|
5545
|
+
symbol: "USDC",
|
|
5546
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
|
5547
|
+
},
|
|
5548
|
+
{
|
|
5549
|
+
symbol: "USDe",
|
|
5550
|
+
address: "DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"
|
|
5551
|
+
},
|
|
5552
|
+
{
|
|
5553
|
+
symbol: "PYUSD",
|
|
5554
|
+
address: "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"
|
|
5555
|
+
},
|
|
5556
|
+
{
|
|
5557
|
+
symbol: "FDUSD",
|
|
5558
|
+
address: "9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u"
|
|
5559
|
+
},
|
|
5560
|
+
{
|
|
5561
|
+
symbol: "USDS",
|
|
5562
|
+
address: "USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"
|
|
5563
|
+
},
|
|
5564
|
+
{
|
|
5565
|
+
symbol: "EURC",
|
|
5566
|
+
address: "HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr"
|
|
5567
|
+
},
|
|
5568
|
+
{
|
|
5569
|
+
symbol: "USDP",
|
|
5570
|
+
address: "HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM"
|
|
5571
|
+
},
|
|
5572
|
+
{
|
|
5573
|
+
symbol: "USDY",
|
|
5574
|
+
address: "A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6"
|
|
5575
|
+
}
|
|
5576
|
+
]
|
|
5577
|
+
},
|
|
5229
5578
|
"ssc-1": {
|
|
5230
5579
|
top: [
|
|
5231
5580
|
{
|
|
@@ -5278,13 +5627,55 @@ var init_featuredAssets = __esm({
|
|
|
5278
5627
|
address: "ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349"
|
|
5279
5628
|
}
|
|
5280
5629
|
]
|
|
5630
|
+
},
|
|
5631
|
+
"solana-mainnet-beta": {
|
|
5632
|
+
nativeAsset: {
|
|
5633
|
+
symbol: "SOL",
|
|
5634
|
+
address: "So11111111111111111111111111111111111111111"
|
|
5635
|
+
},
|
|
5636
|
+
stables: [
|
|
5637
|
+
{
|
|
5638
|
+
symbol: "USDC",
|
|
5639
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
|
5640
|
+
},
|
|
5641
|
+
{
|
|
5642
|
+
symbol: "USDT",
|
|
5643
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
|
|
5644
|
+
}
|
|
5645
|
+
],
|
|
5646
|
+
top: [
|
|
5647
|
+
{
|
|
5648
|
+
symbol: "JUP",
|
|
5649
|
+
address: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
|
|
5650
|
+
},
|
|
5651
|
+
{
|
|
5652
|
+
symbol: "BONK",
|
|
5653
|
+
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
|
|
5654
|
+
},
|
|
5655
|
+
{
|
|
5656
|
+
symbol: "WIF",
|
|
5657
|
+
address: "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm"
|
|
5658
|
+
},
|
|
5659
|
+
{
|
|
5660
|
+
symbol: "PYTH",
|
|
5661
|
+
address: "HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"
|
|
5662
|
+
},
|
|
5663
|
+
{
|
|
5664
|
+
symbol: "RAY",
|
|
5665
|
+
address: "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"
|
|
5666
|
+
},
|
|
5667
|
+
{
|
|
5668
|
+
symbol: "JITO",
|
|
5669
|
+
address: "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"
|
|
5670
|
+
}
|
|
5671
|
+
]
|
|
5281
5672
|
}
|
|
5282
5673
|
};
|
|
5283
5674
|
}
|
|
5284
5675
|
});
|
|
5285
5676
|
|
|
5286
5677
|
// src/core/useTokens.ts
|
|
5287
|
-
import { useState as useState2, useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
5678
|
+
import { useState as useState2, useEffect as useEffect3, useMemo as useMemo2, startTransition } from "react";
|
|
5288
5679
|
function mapTokenDefToToken(tokenDef) {
|
|
5289
5680
|
return {
|
|
5290
5681
|
address: tokenDef.address,
|
|
@@ -5346,20 +5737,40 @@ function useTokens(chainId) {
|
|
|
5346
5737
|
const filtered2 = tokenDefs.filter(
|
|
5347
5738
|
(item) => chainMap.has(item.chainId.toString())
|
|
5348
5739
|
);
|
|
5349
|
-
|
|
5740
|
+
const mapped2 = filtered2.map(mapTokenDefToToken);
|
|
5741
|
+
startTransition(() => {
|
|
5742
|
+
setTokens(mapped2);
|
|
5743
|
+
});
|
|
5744
|
+
return;
|
|
5745
|
+
}
|
|
5746
|
+
if (!queryDependency) {
|
|
5747
|
+
await registry.ensureLoaded();
|
|
5748
|
+
if (cancelled) return;
|
|
5749
|
+
const tokenDefs = registry.tokens(chainId);
|
|
5750
|
+
const filtered2 = tokenDefs.filter(
|
|
5751
|
+
(item) => chainMap.has(item.chainId.toString())
|
|
5752
|
+
);
|
|
5753
|
+
const mapped2 = filtered2.map(mapTokenDefToToken);
|
|
5754
|
+
startTransition(() => {
|
|
5755
|
+
setTokens(mapped2);
|
|
5756
|
+
setHasNextPage(false);
|
|
5757
|
+
});
|
|
5350
5758
|
return;
|
|
5351
5759
|
}
|
|
5352
5760
|
const page = await registry.tokensPage(chainId, {
|
|
5353
|
-
q: queryDependency
|
|
5761
|
+
q: queryDependency,
|
|
5354
5762
|
limit: DEFAULT_PAGE_LIMIT
|
|
5355
5763
|
});
|
|
5356
5764
|
if (cancelled) return;
|
|
5357
5765
|
const filtered = page.data.filter(
|
|
5358
5766
|
(item) => chainMap.has(item.chainId.toString())
|
|
5359
5767
|
);
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5768
|
+
const mapped = filtered.map(mapTokenDefToToken);
|
|
5769
|
+
startTransition(() => {
|
|
5770
|
+
setTokens(mapped);
|
|
5771
|
+
setNextCursor(page.pageInfo.nextCursor);
|
|
5772
|
+
setHasNextPage(page.pageInfo.hasNextPage);
|
|
5773
|
+
});
|
|
5363
5774
|
} catch (err) {
|
|
5364
5775
|
if (!cancelled) {
|
|
5365
5776
|
const message = err instanceof Error ? err.message : "Failed to load tokens";
|
|
@@ -5405,39 +5816,67 @@ function useTokens(chainId) {
|
|
|
5405
5816
|
setIsLoadingMore(false);
|
|
5406
5817
|
}
|
|
5407
5818
|
};
|
|
5408
|
-
const
|
|
5819
|
+
const chainFeatured = useMemo2(() => {
|
|
5409
5820
|
const key = chainId?.toString() ?? "";
|
|
5410
|
-
|
|
5411
|
-
|
|
5821
|
+
return FEATURED[key] ?? null;
|
|
5822
|
+
}, [chainId]);
|
|
5823
|
+
const nativeAddresses = useMemo2(() => {
|
|
5824
|
+
const set = new Set(BASE_NATIVE_ADDRESSES);
|
|
5825
|
+
if (chainFeatured?.nativeAsset?.address) {
|
|
5826
|
+
set.add(chainFeatured.nativeAsset.address.toLowerCase());
|
|
5827
|
+
}
|
|
5828
|
+
return set;
|
|
5829
|
+
}, [chainFeatured]);
|
|
5830
|
+
const nativeSymbols = useMemo2(() => {
|
|
5831
|
+
const symbols = /* @__PURE__ */ new Set();
|
|
5832
|
+
if (chainFeatured?.nativeAsset?.symbol) {
|
|
5833
|
+
symbols.add(chainFeatured.nativeAsset.symbol.toUpperCase());
|
|
5834
|
+
}
|
|
5835
|
+
if (chainId) {
|
|
5836
|
+
const chainDef = chainMap.get(chainId.toString());
|
|
5837
|
+
const sym = chainDef?.nativeCurrency?.symbol;
|
|
5838
|
+
if (sym) symbols.add(sym.toUpperCase());
|
|
5839
|
+
}
|
|
5840
|
+
return symbols;
|
|
5841
|
+
}, [chainId, chainMap, chainFeatured]);
|
|
5842
|
+
const featuredAddresses = useMemo2(() => {
|
|
5843
|
+
if (!chainFeatured) return /* @__PURE__ */ new Map();
|
|
5412
5844
|
const map = /* @__PURE__ */ new Map();
|
|
5413
5845
|
let order = 0;
|
|
5414
|
-
for (const s of
|
|
5415
|
-
|
|
5846
|
+
for (const s of chainFeatured.stables)
|
|
5847
|
+
map.set(s.address.toLowerCase(), order++);
|
|
5848
|
+
for (const t of chainFeatured.top)
|
|
5849
|
+
map.set(t.address.toLowerCase(), order++);
|
|
5416
5850
|
return map;
|
|
5417
|
-
}, [
|
|
5418
|
-
const
|
|
5419
|
-
if (!
|
|
5420
|
-
const
|
|
5421
|
-
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
|
|
5851
|
+
}, [chainFeatured]);
|
|
5852
|
+
const featuredSymbols = useMemo2(() => {
|
|
5853
|
+
if (!chainFeatured) return /* @__PURE__ */ new Map();
|
|
5854
|
+
const map = /* @__PURE__ */ new Map();
|
|
5855
|
+
let order = 0;
|
|
5856
|
+
for (const s of chainFeatured.stables)
|
|
5857
|
+
map.set(s.symbol.toUpperCase(), order++);
|
|
5858
|
+
for (const t of chainFeatured.top) map.set(t.symbol.toUpperCase(), order++);
|
|
5859
|
+
return map;
|
|
5860
|
+
}, [chainFeatured]);
|
|
5425
5861
|
const filteredTokens = useMemo2(() => {
|
|
5426
5862
|
const query = searchQuery.toLowerCase().trim();
|
|
5427
5863
|
const source = query.length === 0 || tokensPaginationEnabled ? tokens : tokens.filter(
|
|
5428
5864
|
(token) => token.symbol.toLowerCase().includes(query) || token.name.toLowerCase().includes(query) || token.address.toLowerCase().includes(query)
|
|
5429
5865
|
);
|
|
5430
5866
|
return sortTokensByPopularity(source, {
|
|
5431
|
-
nativeAddresses
|
|
5867
|
+
nativeAddresses,
|
|
5432
5868
|
nativeSymbols,
|
|
5433
|
-
featuredAddresses
|
|
5869
|
+
featuredAddresses,
|
|
5870
|
+
featuredSymbols
|
|
5434
5871
|
});
|
|
5435
5872
|
}, [
|
|
5436
5873
|
tokens,
|
|
5437
5874
|
searchQuery,
|
|
5438
5875
|
tokensPaginationEnabled,
|
|
5876
|
+
nativeAddresses,
|
|
5439
5877
|
nativeSymbols,
|
|
5440
|
-
featuredAddresses
|
|
5878
|
+
featuredAddresses,
|
|
5879
|
+
featuredSymbols
|
|
5441
5880
|
]);
|
|
5442
5881
|
return {
|
|
5443
5882
|
tokens,
|
|
@@ -5451,7 +5890,7 @@ function useTokens(chainId) {
|
|
|
5451
5890
|
isLoadingMore
|
|
5452
5891
|
};
|
|
5453
5892
|
}
|
|
5454
|
-
var FEATURED,
|
|
5893
|
+
var FEATURED, BASE_NATIVE_ADDRESSES, DEFAULT_PAGE_LIMIT;
|
|
5455
5894
|
var init_useTokens = __esm({
|
|
5456
5895
|
"src/core/useTokens.ts"() {
|
|
5457
5896
|
"use strict";
|
|
@@ -5462,10 +5901,10 @@ var init_useTokens = __esm({
|
|
|
5462
5901
|
init_chainHelpers();
|
|
5463
5902
|
init_featuredAssets();
|
|
5464
5903
|
FEATURED = featuredAssets_default;
|
|
5465
|
-
|
|
5904
|
+
BASE_NATIVE_ADDRESSES = /* @__PURE__ */ new Set([
|
|
5466
5905
|
NATIVE_EVM2.toLowerCase(),
|
|
5467
5906
|
NATIVE_SOLANA2.toLowerCase(),
|
|
5468
|
-
// Some EVM chains (e.g. ZKsync
|
|
5907
|
+
// Some EVM chains (e.g. ZKsync) use the zero address for the native token
|
|
5469
5908
|
"0x0000000000000000000000000000000000000000"
|
|
5470
5909
|
]);
|
|
5471
5910
|
DEFAULT_PAGE_LIMIT = 100;
|
|
@@ -5614,7 +6053,6 @@ function resolveConfig(input) {
|
|
|
5614
6053
|
defaultSlippage: normalizeSlippage(
|
|
5615
6054
|
input.routes.defaultSlippage ?? DEFAULT_SLIPPAGE
|
|
5616
6055
|
),
|
|
5617
|
-
routeType: input.routes.routeType ?? "swap",
|
|
5618
6056
|
options: {
|
|
5619
6057
|
...input.routes.options
|
|
5620
6058
|
}
|
|
@@ -5815,10 +6253,9 @@ async function sendRouteTransaction(b, fallbackChainId) {
|
|
|
5815
6253
|
if (w.ecosystem !== "solana") {
|
|
5816
6254
|
throw new Error("A Solana wallet is required for this route");
|
|
5817
6255
|
}
|
|
5818
|
-
const {
|
|
5819
|
-
const
|
|
5820
|
-
|
|
5821
|
-
await registry.ensureLoaded();
|
|
6256
|
+
const { getSharedRegistry: getSharedRegistry2 } = await Promise.resolve().then(() => (init_registryClient(), registryClient_exports));
|
|
6257
|
+
const registry = getSharedRegistry2();
|
|
6258
|
+
await registry.ensureChainsLoaded();
|
|
5822
6259
|
const chain = registry.chain(
|
|
5823
6260
|
String(fallbackChainId ?? txReq.chainId ?? "")
|
|
5824
6261
|
);
|
|
@@ -5832,9 +6269,8 @@ async function sendRouteTransaction(b, fallbackChainId) {
|
|
|
5832
6269
|
async function runTopUp(params) {
|
|
5833
6270
|
const w = walletManager.wallet;
|
|
5834
6271
|
if (!w) throw new Error("Trustware.wallet not configured");
|
|
5835
|
-
const {
|
|
5836
|
-
const
|
|
5837
|
-
const reg = new Registry2(apiBase2());
|
|
6272
|
+
const { getSharedRegistry: getSharedRegistry2 } = await Promise.resolve().then(() => (init_registryClient(), registryClient_exports));
|
|
6273
|
+
const reg = getSharedRegistry2();
|
|
5838
6274
|
await reg.ensureLoaded();
|
|
5839
6275
|
const fromAddress = await w.getAddress();
|
|
5840
6276
|
const currentChainRef = w.ecosystem === "evm" ? String(await w.getChainId()) : await w.getChainKey?.() ?? "solana-mainnet-beta";
|
|
@@ -5943,6 +6379,39 @@ var init_core = __esm({
|
|
|
5943
6379
|
getConfig() {
|
|
5944
6380
|
return TrustwareConfigStore.get();
|
|
5945
6381
|
},
|
|
6382
|
+
/**
|
|
6383
|
+
* Read the SDK's currently configured theme mode.
|
|
6384
|
+
*
|
|
6385
|
+
* Returns the raw setting — `"light" | "dark" | "system"` — i.e. whatever
|
|
6386
|
+
* was last passed to `init()` or `setTheme()`. When the mode is `"system"`,
|
|
6387
|
+
* the widget resolves the actual light/dark appearance itself (from the OS
|
|
6388
|
+
* `prefers-color-scheme`, or a saved preference if the user has used the
|
|
6389
|
+
* widget's built-in theme toggle), so this getter still reports `"system"`
|
|
6390
|
+
* rather than the resolved value.
|
|
6391
|
+
*/
|
|
6392
|
+
getTheme() {
|
|
6393
|
+
return TrustwareConfigStore.get().theme;
|
|
6394
|
+
},
|
|
6395
|
+
/**
|
|
6396
|
+
* Set the widget's theme at runtime.
|
|
6397
|
+
*
|
|
6398
|
+
* Call this from your own app's theme toggle to keep an embedded
|
|
6399
|
+
* `TrustwareWidget` in sync with your UI — no remount required, any
|
|
6400
|
+
* mounted widget picks up the change immediately.
|
|
6401
|
+
*
|
|
6402
|
+
* Passing `"light"` or `"dark"` pins the widget to that mode. Passing
|
|
6403
|
+
* `"system"` makes it follow the OS preference again — unless the user
|
|
6404
|
+
* previously used the widget's own in-widget theme toggle, in which case
|
|
6405
|
+
* their saved choice takes precedence until they toggle it again.
|
|
6406
|
+
*
|
|
6407
|
+
* @example
|
|
6408
|
+
* // In your app's own dark-mode toggle handler:
|
|
6409
|
+
* Trustware.setTheme(isDark ? "dark" : "light");
|
|
6410
|
+
*/
|
|
6411
|
+
setTheme(theme) {
|
|
6412
|
+
TrustwareConfigStore.update({ theme });
|
|
6413
|
+
return Trustware;
|
|
6414
|
+
},
|
|
5946
6415
|
setDestinationAddress(address) {
|
|
5947
6416
|
const prev = TrustwareConfigStore.get();
|
|
5948
6417
|
TrustwareConfigStore.update({
|