@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.cjs
CHANGED
|
@@ -75,7 +75,7 @@ var init_constants = __esm({
|
|
|
75
75
|
"src/constants.ts"() {
|
|
76
76
|
"use strict";
|
|
77
77
|
SDK_NAME = "@trustware/sdk";
|
|
78
|
-
SDK_VERSION = "1.1.
|
|
78
|
+
SDK_VERSION = "1.1.9-staging.1";
|
|
79
79
|
API_ROOT = "https://bv-staging-api.trustware.io";
|
|
80
80
|
API_PREFIX = "/api";
|
|
81
81
|
WALLETCONNECT_PROJECT_ID = "72ea74c400f5111d43aea638d7d83a24";
|
|
@@ -93,16 +93,6 @@ var init_config2 = __esm({
|
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
// src/core/http.ts
|
|
96
|
-
var http_exports = {};
|
|
97
|
-
__export(http_exports, {
|
|
98
|
-
RateLimitError: () => RateLimitError,
|
|
99
|
-
apiBase: () => apiBase,
|
|
100
|
-
assertOK: () => assertOK,
|
|
101
|
-
jsonHeaders: () => jsonHeaders,
|
|
102
|
-
parseRateLimitHeaders: () => parseRateLimitHeaders,
|
|
103
|
-
rateLimitedFetch: () => rateLimitedFetch,
|
|
104
|
-
validateSdkAccess: () => validateSdkAccess
|
|
105
|
-
});
|
|
106
96
|
function apiBase() {
|
|
107
97
|
return `${API_ROOT}${API_PREFIX}`;
|
|
108
98
|
}
|
|
@@ -300,11 +290,6 @@ var init_chains = __esm({
|
|
|
300
290
|
});
|
|
301
291
|
|
|
302
292
|
// src/registry.ts
|
|
303
|
-
var registry_exports = {};
|
|
304
|
-
__export(registry_exports, {
|
|
305
|
-
NATIVE: () => NATIVE,
|
|
306
|
-
Registry: () => Registry
|
|
307
|
-
});
|
|
308
293
|
function getChainAliases(chain) {
|
|
309
294
|
const values = [
|
|
310
295
|
chain.chainId,
|
|
@@ -456,6 +441,24 @@ var init_registry = __esm({
|
|
|
456
441
|
}
|
|
457
442
|
this._chainsLoaded = true;
|
|
458
443
|
}
|
|
444
|
+
batchStoreTokens(tokensArr) {
|
|
445
|
+
for (const token of tokensArr) {
|
|
446
|
+
const chainRef = token?.chainId;
|
|
447
|
+
if (chainRef == null) continue;
|
|
448
|
+
const normalized = normalizeToken(token);
|
|
449
|
+
const resolvedChain = this.chain(chainRef);
|
|
450
|
+
const aliases = resolvedChain ? getChainAliases(resolvedChain) : [normalizeChainKey(chainRef)];
|
|
451
|
+
const key = tokenKey(normalized);
|
|
452
|
+
for (const alias of aliases) {
|
|
453
|
+
const existingByKey = this._tokensByChainKey.get(alias) ?? /* @__PURE__ */ new Map();
|
|
454
|
+
existingByKey.set(key, normalized);
|
|
455
|
+
this._tokensByChainKey.set(alias, existingByKey);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
for (const [chainKey, byKey] of this._tokensByChainKey.entries()) {
|
|
459
|
+
this._tokensByChain.set(chainKey, Array.from(byKey.values()));
|
|
460
|
+
}
|
|
461
|
+
}
|
|
459
462
|
async loadAllTokens() {
|
|
460
463
|
await this.ensureChainsLoaded();
|
|
461
464
|
const tokensRes = await fetch(`${this.baseURL}/v1/routes/tokens`, {
|
|
@@ -464,9 +467,7 @@ var init_registry = __esm({
|
|
|
464
467
|
if (!tokensRes.ok) throw new Error(`tokens: HTTP ${tokensRes.status}`);
|
|
465
468
|
const tokens = await tokensRes.json();
|
|
466
469
|
const tokensArr = Array.isArray(tokens) ? tokens : tokens.data ?? [];
|
|
467
|
-
|
|
468
|
-
this.storeToken(token);
|
|
469
|
-
}
|
|
470
|
+
this.batchStoreTokens(tokensArr);
|
|
470
471
|
this._loaded = true;
|
|
471
472
|
}
|
|
472
473
|
prunePageCache() {
|
|
@@ -1822,7 +1823,7 @@ async function parseStreamingBalances(response, address, options = {}) {
|
|
|
1822
1823
|
}
|
|
1823
1824
|
return stream();
|
|
1824
1825
|
}
|
|
1825
|
-
async function getBalances(chainRef, address) {
|
|
1826
|
+
async function getBalances(chainRef, address, opts) {
|
|
1826
1827
|
const reg = await ensureRegistry();
|
|
1827
1828
|
const chain = reg.chain(chainRef);
|
|
1828
1829
|
if (!chain) return [];
|
|
@@ -1837,8 +1838,10 @@ async function getBalances(chainRef, address) {
|
|
|
1837
1838
|
chain.nativeCurrency?.decimals ?? "",
|
|
1838
1839
|
normalizeChainType(chain) ?? ""
|
|
1839
1840
|
].join(":");
|
|
1840
|
-
|
|
1841
|
-
|
|
1841
|
+
if (!opts?.forceRefresh) {
|
|
1842
|
+
const cached = balanceCache.get(cacheKey);
|
|
1843
|
+
if (cached) return cached;
|
|
1844
|
+
}
|
|
1842
1845
|
const url = `${apiBase()}/v1/data/wallets/${encodeURIComponent(chainKey)}/${trimmedAddress}/balances`;
|
|
1843
1846
|
const response = await fetch(url, {
|
|
1844
1847
|
method: "GET",
|
|
@@ -2151,11 +2154,27 @@ function toSolanaWalletInterface(provider) {
|
|
|
2151
2154
|
serializedTransactionBase64
|
|
2152
2155
|
);
|
|
2153
2156
|
if (provider.signAndSendTransaction) {
|
|
2154
|
-
const
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2157
|
+
const MAX_INTERNAL_ERROR_ATTEMPTS = 3;
|
|
2158
|
+
const INTERNAL_ERROR_RETRY_DELAY_MS = 500;
|
|
2159
|
+
for (let attempt = 1; attempt <= MAX_INTERNAL_ERROR_ATTEMPTS; attempt++) {
|
|
2160
|
+
try {
|
|
2161
|
+
const result = await provider.signAndSendTransaction(transaction, {
|
|
2162
|
+
skipPreflight: true
|
|
2163
|
+
});
|
|
2164
|
+
if (typeof result === "string") return result;
|
|
2165
|
+
if (result?.signature) return result.signature;
|
|
2166
|
+
break;
|
|
2167
|
+
} catch (err) {
|
|
2168
|
+
const code = err?.code;
|
|
2169
|
+
if (code === -32603 && attempt < MAX_INTERNAL_ERROR_ATTEMPTS) {
|
|
2170
|
+
await new Promise(
|
|
2171
|
+
(resolve) => setTimeout(resolve, INTERNAL_ERROR_RETRY_DELAY_MS * attempt)
|
|
2172
|
+
);
|
|
2173
|
+
continue;
|
|
2174
|
+
}
|
|
2175
|
+
throw err;
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2159
2178
|
}
|
|
2160
2179
|
if (!provider.signTransaction) {
|
|
2161
2180
|
throw new Error("Connected Solana wallet cannot sign transactions");
|
|
@@ -3885,6 +3904,10 @@ var init_routes = __esm({
|
|
|
3885
3904
|
});
|
|
3886
3905
|
|
|
3887
3906
|
// src/core/registryClient.ts
|
|
3907
|
+
var registryClient_exports = {};
|
|
3908
|
+
__export(registryClient_exports, {
|
|
3909
|
+
getSharedRegistry: () => getSharedRegistry
|
|
3910
|
+
});
|
|
3888
3911
|
function registryCacheKey() {
|
|
3889
3912
|
const base = apiBase();
|
|
3890
3913
|
const apiKey = TrustwareConfigStore.peek()?.apiKey ?? "__uninitialized__";
|
|
@@ -3972,6 +3995,135 @@ var init_chainHelpers = __esm({
|
|
|
3972
3995
|
}
|
|
3973
3996
|
});
|
|
3974
3997
|
|
|
3998
|
+
// src/utils/index.ts
|
|
3999
|
+
function resolveChainLabel(chain) {
|
|
4000
|
+
return chain.networkName || chain.axelarChainName || (chain.id != null ? String(chain.id) : void 0) || (chain.chainId != null ? String(chain.chainId) : void 0) || chain.networkIdentifier || "Chain";
|
|
4001
|
+
}
|
|
4002
|
+
var init_utils = __esm({
|
|
4003
|
+
"src/utils/index.ts"() {
|
|
4004
|
+
"use strict";
|
|
4005
|
+
}
|
|
4006
|
+
});
|
|
4007
|
+
|
|
4008
|
+
// src/widget/data/popularChains.json
|
|
4009
|
+
var popularChains_default;
|
|
4010
|
+
var init_popularChains = __esm({
|
|
4011
|
+
"src/widget/data/popularChains.json"() {
|
|
4012
|
+
popularChains_default = {
|
|
4013
|
+
byTvl: [
|
|
4014
|
+
{
|
|
4015
|
+
name: "Ethereum",
|
|
4016
|
+
chainId: 1
|
|
4017
|
+
},
|
|
4018
|
+
{
|
|
4019
|
+
name: "BSC",
|
|
4020
|
+
chainId: 56
|
|
4021
|
+
},
|
|
4022
|
+
{
|
|
4023
|
+
name: "Solana"
|
|
4024
|
+
},
|
|
4025
|
+
{
|
|
4026
|
+
name: "Tron"
|
|
4027
|
+
},
|
|
4028
|
+
{
|
|
4029
|
+
name: "Bitcoin"
|
|
4030
|
+
},
|
|
4031
|
+
{
|
|
4032
|
+
name: "Base",
|
|
4033
|
+
chainId: 8453
|
|
4034
|
+
},
|
|
4035
|
+
{
|
|
4036
|
+
name: "Hyperliquid L1"
|
|
4037
|
+
},
|
|
4038
|
+
{
|
|
4039
|
+
name: "Provenance"
|
|
4040
|
+
},
|
|
4041
|
+
{
|
|
4042
|
+
name: "Arbitrum",
|
|
4043
|
+
chainId: 42161
|
|
4044
|
+
},
|
|
4045
|
+
{
|
|
4046
|
+
name: "Polygon",
|
|
4047
|
+
chainId: 137
|
|
4048
|
+
},
|
|
4049
|
+
{
|
|
4050
|
+
name: "Plasma",
|
|
4051
|
+
chainId: 9745
|
|
4052
|
+
},
|
|
4053
|
+
{
|
|
4054
|
+
name: "Avalanche",
|
|
4055
|
+
chainId: 43114
|
|
4056
|
+
},
|
|
4057
|
+
{
|
|
4058
|
+
name: "Sui"
|
|
4059
|
+
},
|
|
4060
|
+
{
|
|
4061
|
+
name: "Monad",
|
|
4062
|
+
chainId: 143
|
|
4063
|
+
},
|
|
4064
|
+
{
|
|
4065
|
+
name: "OP Mainnet",
|
|
4066
|
+
chainId: 10
|
|
4067
|
+
},
|
|
4068
|
+
{
|
|
4069
|
+
name: "Cronos",
|
|
4070
|
+
chainId: 25
|
|
4071
|
+
},
|
|
4072
|
+
{
|
|
4073
|
+
name: "Stellar"
|
|
4074
|
+
},
|
|
4075
|
+
{
|
|
4076
|
+
name: "Starknet"
|
|
4077
|
+
},
|
|
4078
|
+
{
|
|
4079
|
+
name: "Near"
|
|
4080
|
+
},
|
|
4081
|
+
{
|
|
4082
|
+
name: "Mantle",
|
|
4083
|
+
chainId: 5e3
|
|
4084
|
+
},
|
|
4085
|
+
{
|
|
4086
|
+
name: "Movement",
|
|
4087
|
+
chainId: 3073
|
|
4088
|
+
},
|
|
4089
|
+
{
|
|
4090
|
+
name: "Ink",
|
|
4091
|
+
chainId: 57073
|
|
4092
|
+
},
|
|
4093
|
+
{
|
|
4094
|
+
name: "Flare"
|
|
4095
|
+
},
|
|
4096
|
+
{
|
|
4097
|
+
name: "Aptos"
|
|
4098
|
+
},
|
|
4099
|
+
{
|
|
4100
|
+
name: "MegaETH",
|
|
4101
|
+
chainId: 4326
|
|
4102
|
+
},
|
|
4103
|
+
{
|
|
4104
|
+
name: "Rootstock",
|
|
4105
|
+
chainId: 30
|
|
4106
|
+
},
|
|
4107
|
+
{
|
|
4108
|
+
name: "dYdX"
|
|
4109
|
+
},
|
|
4110
|
+
{
|
|
4111
|
+
name: "Cardano"
|
|
4112
|
+
},
|
|
4113
|
+
{
|
|
4114
|
+
name: "Stacks"
|
|
4115
|
+
},
|
|
4116
|
+
{
|
|
4117
|
+
name: "X Layer"
|
|
4118
|
+
}
|
|
4119
|
+
],
|
|
4120
|
+
popularLimit: 8,
|
|
4121
|
+
updatedAt: "2026-06-19",
|
|
4122
|
+
source: "https://api.llama.fi/v2/chains \u2014 sorted by TVL"
|
|
4123
|
+
};
|
|
4124
|
+
}
|
|
4125
|
+
});
|
|
4126
|
+
|
|
3975
4127
|
// src/core/useChains.ts
|
|
3976
4128
|
function filterSupportedChains(chains) {
|
|
3977
4129
|
const supportedChainTypes = /* @__PURE__ */ new Set(["evm", "solana", "cosmos", "bitcoin"]);
|
|
@@ -4045,20 +4197,40 @@ function useChains() {
|
|
|
4045
4197
|
const { popularChains, otherChains } = (0, import_react2.useMemo)(() => {
|
|
4046
4198
|
const popular = [];
|
|
4047
4199
|
const other = [];
|
|
4200
|
+
const registryEvmIds = new Set(
|
|
4201
|
+
chains.map((c) => Number(c.chainId ?? c.id))
|
|
4202
|
+
);
|
|
4203
|
+
const hasSolana = chains.some((c) => normalizeChainType2(c) === "solana");
|
|
4204
|
+
const popularEvmIds = [];
|
|
4205
|
+
let solanaIsPopular = false;
|
|
4206
|
+
for (const entry of POPULAR_CHAINS_BY_TVL) {
|
|
4207
|
+
if (popularEvmIds.length + (solanaIsPopular ? 1 : 0) >= POPULAR_LIMIT)
|
|
4208
|
+
break;
|
|
4209
|
+
if (typeof entry.chainId === "number" && registryEvmIds.has(entry.chainId)) {
|
|
4210
|
+
popularEvmIds.push(entry.chainId);
|
|
4211
|
+
} else if (!solanaIsPopular && hasSolana && entry.name.toLowerCase() === "solana") {
|
|
4212
|
+
solanaIsPopular = true;
|
|
4213
|
+
}
|
|
4214
|
+
}
|
|
4215
|
+
const popularIdSet = new Set(popularEvmIds);
|
|
4048
4216
|
for (const chain of chains) {
|
|
4049
4217
|
const chainId = Number(chain.chainId ?? chain.id);
|
|
4050
|
-
if (
|
|
4218
|
+
if (popularIdSet.has(chainId) || solanaIsPopular && normalizeChainType2(chain) === "solana") {
|
|
4051
4219
|
popular.push(chain);
|
|
4052
4220
|
} else {
|
|
4053
4221
|
other.push(chain);
|
|
4054
4222
|
}
|
|
4055
4223
|
}
|
|
4056
|
-
const popularOrder = [1, 137, 8453];
|
|
4057
4224
|
popular.sort((a, b) => {
|
|
4058
4225
|
const aId = Number(a.chainId ?? a.id);
|
|
4059
4226
|
const bId = Number(b.chainId ?? b.id);
|
|
4060
|
-
|
|
4227
|
+
const aRank = popularEvmIds.indexOf(aId);
|
|
4228
|
+
const bRank = popularEvmIds.indexOf(bId);
|
|
4229
|
+
return (aRank === -1 ? 999 : aRank) - (bRank === -1 ? 999 : bRank);
|
|
4061
4230
|
});
|
|
4231
|
+
other.sort(
|
|
4232
|
+
(a, b) => resolveChainLabel(a).localeCompare(resolveChainLabel(b))
|
|
4233
|
+
);
|
|
4062
4234
|
return { popularChains: popular, otherChains: other };
|
|
4063
4235
|
}, [chains]);
|
|
4064
4236
|
return {
|
|
@@ -4070,21 +4242,17 @@ function useChains() {
|
|
|
4070
4242
|
error
|
|
4071
4243
|
};
|
|
4072
4244
|
}
|
|
4073
|
-
var import_react2,
|
|
4245
|
+
var import_react2, POPULAR_CHAINS_BY_TVL, POPULAR_LIMIT;
|
|
4074
4246
|
var init_useChains = __esm({
|
|
4075
4247
|
"src/core/useChains.ts"() {
|
|
4076
4248
|
"use strict";
|
|
4077
4249
|
import_react2 = require("react");
|
|
4078
4250
|
init_registryClient();
|
|
4079
4251
|
init_chainHelpers();
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
// Polygon
|
|
4085
|
-
8453
|
|
4086
|
-
// Base
|
|
4087
|
-
]);
|
|
4252
|
+
init_utils();
|
|
4253
|
+
init_popularChains();
|
|
4254
|
+
POPULAR_CHAINS_BY_TVL = popularChains_default.byTvl;
|
|
4255
|
+
POPULAR_LIMIT = popularChains_default.popularLimit;
|
|
4088
4256
|
}
|
|
4089
4257
|
});
|
|
4090
4258
|
|
|
@@ -4233,21 +4401,27 @@ function sortTokensByPopularity(tokens, options) {
|
|
|
4233
4401
|
const nativeSet = options?.nativeAddresses ?? /* @__PURE__ */ new Set();
|
|
4234
4402
|
const nativeSymbolSet = options?.nativeSymbols ?? /* @__PURE__ */ new Set();
|
|
4235
4403
|
const featuredMap = options?.featuredAddresses ?? /* @__PURE__ */ new Map();
|
|
4404
|
+
const featuredSymMap = options?.featuredSymbols ?? /* @__PURE__ */ new Map();
|
|
4236
4405
|
const getMajorRank = (token) => {
|
|
4237
4406
|
const addr = normalizeAddress2(token.address);
|
|
4407
|
+
const sym = normalizeSymbol(token.symbol);
|
|
4238
4408
|
if (nativeSet.has(addr)) return 0;
|
|
4239
|
-
if (nativeSymbolSet.has(
|
|
4409
|
+
if (nativeSymbolSet.has(sym)) return 0;
|
|
4240
4410
|
if (featuredMap.has(addr)) return 1;
|
|
4411
|
+
if (featuredSymMap.has(sym)) return 1;
|
|
4241
4412
|
return getGroupRank(token) + 2;
|
|
4242
4413
|
};
|
|
4414
|
+
const getFeaturedOrder = (token) => {
|
|
4415
|
+
const byAddr = featuredMap.get(normalizeAddress2(token.address));
|
|
4416
|
+
if (byAddr !== void 0) return byAddr;
|
|
4417
|
+
return featuredSymMap.get(normalizeSymbol(token.symbol)) ?? 0;
|
|
4418
|
+
};
|
|
4243
4419
|
return tokens.map((token, index) => ({ token, index })).sort((a, b) => {
|
|
4244
4420
|
const majorA = getMajorRank(a.token);
|
|
4245
4421
|
const majorB = getMajorRank(b.token);
|
|
4246
4422
|
if (majorA !== majorB) return majorA - majorB;
|
|
4247
4423
|
if (majorA === 1) {
|
|
4248
|
-
|
|
4249
|
-
const orderB = featuredMap.get(normalizeAddress2(b.token.address)) ?? 0;
|
|
4250
|
-
return orderA - orderB;
|
|
4424
|
+
return getFeaturedOrder(a.token) - getFeaturedOrder(b.token);
|
|
4251
4425
|
}
|
|
4252
4426
|
const chainPopularityDiff = compareChainPopularity(a.token, b.token);
|
|
4253
4427
|
if (chainPopularityDiff !== 0) return chainPopularityDiff;
|
|
@@ -4313,6 +4487,10 @@ var init_featuredAssets = __esm({
|
|
|
4313
4487
|
"src/widget/data/featuredAssets.json"() {
|
|
4314
4488
|
featuredAssets_default = {
|
|
4315
4489
|
"1": {
|
|
4490
|
+
nativeAsset: {
|
|
4491
|
+
symbol: "ETH",
|
|
4492
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4493
|
+
},
|
|
4316
4494
|
top: [
|
|
4317
4495
|
{
|
|
4318
4496
|
symbol: "AAVE",
|
|
@@ -4419,11 +4597,11 @@ var init_featuredAssets = __esm({
|
|
|
4419
4597
|
]
|
|
4420
4598
|
},
|
|
4421
4599
|
"10": {
|
|
4600
|
+
nativeAsset: {
|
|
4601
|
+
symbol: "ETH",
|
|
4602
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4603
|
+
},
|
|
4422
4604
|
top: [
|
|
4423
|
-
{
|
|
4424
|
-
symbol: "OP",
|
|
4425
|
-
address: "0x4200000000000000000000000000000000000042"
|
|
4426
|
-
},
|
|
4427
4605
|
{
|
|
4428
4606
|
symbol: "AAVE",
|
|
4429
4607
|
address: "0x76fb31fb4af56892a25e32cfc43de717950c9278"
|
|
@@ -4447,6 +4625,10 @@ var init_featuredAssets = __esm({
|
|
|
4447
4625
|
{
|
|
4448
4626
|
symbol: "STG",
|
|
4449
4627
|
address: "0x296f55f8fb28e498b858d0bcda06d955b2cb3f97"
|
|
4628
|
+
},
|
|
4629
|
+
{
|
|
4630
|
+
symbol: "OP",
|
|
4631
|
+
address: "0x4200000000000000000000000000000000000042"
|
|
4450
4632
|
}
|
|
4451
4633
|
],
|
|
4452
4634
|
stables: [
|
|
@@ -4481,6 +4663,10 @@ var init_featuredAssets = __esm({
|
|
|
4481
4663
|
]
|
|
4482
4664
|
},
|
|
4483
4665
|
"100": {
|
|
4666
|
+
nativeAsset: {
|
|
4667
|
+
symbol: "XDAI",
|
|
4668
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4669
|
+
},
|
|
4484
4670
|
top: [],
|
|
4485
4671
|
stables: [
|
|
4486
4672
|
{
|
|
@@ -4494,6 +4680,10 @@ var init_featuredAssets = __esm({
|
|
|
4494
4680
|
]
|
|
4495
4681
|
},
|
|
4496
4682
|
"1284": {
|
|
4683
|
+
nativeAsset: {
|
|
4684
|
+
symbol: "GLMR",
|
|
4685
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4686
|
+
},
|
|
4497
4687
|
top: [
|
|
4498
4688
|
{
|
|
4499
4689
|
symbol: "WELL",
|
|
@@ -4512,6 +4702,10 @@ var init_featuredAssets = __esm({
|
|
|
4512
4702
|
]
|
|
4513
4703
|
},
|
|
4514
4704
|
"13371": {
|
|
4705
|
+
nativeAsset: {
|
|
4706
|
+
symbol: "IMX",
|
|
4707
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4708
|
+
},
|
|
4515
4709
|
top: [],
|
|
4516
4710
|
stables: [
|
|
4517
4711
|
{
|
|
@@ -4525,6 +4719,10 @@ var init_featuredAssets = __esm({
|
|
|
4525
4719
|
]
|
|
4526
4720
|
},
|
|
4527
4721
|
"137": {
|
|
4722
|
+
nativeAsset: {
|
|
4723
|
+
symbol: "POL",
|
|
4724
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4725
|
+
},
|
|
4528
4726
|
top: [
|
|
4529
4727
|
{
|
|
4530
4728
|
symbol: "AAVE",
|
|
@@ -4595,6 +4793,10 @@ var init_featuredAssets = __esm({
|
|
|
4595
4793
|
]
|
|
4596
4794
|
},
|
|
4597
4795
|
"143": {
|
|
4796
|
+
nativeAsset: {
|
|
4797
|
+
symbol: "MON",
|
|
4798
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4799
|
+
},
|
|
4598
4800
|
top: [],
|
|
4599
4801
|
stables: [
|
|
4600
4802
|
{
|
|
@@ -4604,6 +4806,10 @@ var init_featuredAssets = __esm({
|
|
|
4604
4806
|
]
|
|
4605
4807
|
},
|
|
4606
4808
|
"146": {
|
|
4809
|
+
nativeAsset: {
|
|
4810
|
+
symbol: "S",
|
|
4811
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4812
|
+
},
|
|
4607
4813
|
top: [],
|
|
4608
4814
|
stables: [
|
|
4609
4815
|
{
|
|
@@ -4617,6 +4823,10 @@ var init_featuredAssets = __esm({
|
|
|
4617
4823
|
]
|
|
4618
4824
|
},
|
|
4619
4825
|
"1868": {
|
|
4826
|
+
nativeAsset: {
|
|
4827
|
+
symbol: "ETH",
|
|
4828
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4829
|
+
},
|
|
4620
4830
|
top: [],
|
|
4621
4831
|
stables: [
|
|
4622
4832
|
{
|
|
@@ -4626,6 +4836,10 @@ var init_featuredAssets = __esm({
|
|
|
4626
4836
|
]
|
|
4627
4837
|
},
|
|
4628
4838
|
"2222": {
|
|
4839
|
+
nativeAsset: {
|
|
4840
|
+
symbol: "KAVA",
|
|
4841
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4842
|
+
},
|
|
4629
4843
|
top: [],
|
|
4630
4844
|
stables: [
|
|
4631
4845
|
{
|
|
@@ -4639,6 +4853,10 @@ var init_featuredAssets = __esm({
|
|
|
4639
4853
|
]
|
|
4640
4854
|
},
|
|
4641
4855
|
"250": {
|
|
4856
|
+
nativeAsset: {
|
|
4857
|
+
symbol: "FTM",
|
|
4858
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4859
|
+
},
|
|
4642
4860
|
top: [
|
|
4643
4861
|
{
|
|
4644
4862
|
symbol: "STG",
|
|
@@ -4653,6 +4871,10 @@ var init_featuredAssets = __esm({
|
|
|
4653
4871
|
]
|
|
4654
4872
|
},
|
|
4655
4873
|
"252": {
|
|
4874
|
+
nativeAsset: {
|
|
4875
|
+
symbol: "FRAX",
|
|
4876
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4877
|
+
},
|
|
4656
4878
|
top: [
|
|
4657
4879
|
{
|
|
4658
4880
|
symbol: "CRV",
|
|
@@ -4667,6 +4889,10 @@ var init_featuredAssets = __esm({
|
|
|
4667
4889
|
]
|
|
4668
4890
|
},
|
|
4669
4891
|
"295": {
|
|
4892
|
+
nativeAsset: {
|
|
4893
|
+
symbol: "HBAR",
|
|
4894
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4895
|
+
},
|
|
4670
4896
|
top: [],
|
|
4671
4897
|
stables: [
|
|
4672
4898
|
{
|
|
@@ -4676,6 +4902,10 @@ var init_featuredAssets = __esm({
|
|
|
4676
4902
|
]
|
|
4677
4903
|
},
|
|
4678
4904
|
"314": {
|
|
4905
|
+
nativeAsset: {
|
|
4906
|
+
symbol: "FIL",
|
|
4907
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4908
|
+
},
|
|
4679
4909
|
top: [],
|
|
4680
4910
|
stables: [
|
|
4681
4911
|
{
|
|
@@ -4685,6 +4915,10 @@ var init_featuredAssets = __esm({
|
|
|
4685
4915
|
]
|
|
4686
4916
|
},
|
|
4687
4917
|
"3338": {
|
|
4918
|
+
nativeAsset: {
|
|
4919
|
+
symbol: "PEAQ",
|
|
4920
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4921
|
+
},
|
|
4688
4922
|
top: [],
|
|
4689
4923
|
stables: [
|
|
4690
4924
|
{
|
|
@@ -4698,6 +4932,10 @@ var init_featuredAssets = __esm({
|
|
|
4698
4932
|
]
|
|
4699
4933
|
},
|
|
4700
4934
|
"42161": {
|
|
4935
|
+
nativeAsset: {
|
|
4936
|
+
symbol: "ETH",
|
|
4937
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
4938
|
+
},
|
|
4701
4939
|
top: [
|
|
4702
4940
|
{
|
|
4703
4941
|
symbol: "AAVE",
|
|
@@ -4788,6 +5026,10 @@ var init_featuredAssets = __esm({
|
|
|
4788
5026
|
]
|
|
4789
5027
|
},
|
|
4790
5028
|
"42220": {
|
|
5029
|
+
nativeAsset: {
|
|
5030
|
+
symbol: "CELO",
|
|
5031
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5032
|
+
},
|
|
4791
5033
|
top: [],
|
|
4792
5034
|
stables: [
|
|
4793
5035
|
{
|
|
@@ -4801,6 +5043,10 @@ var init_featuredAssets = __esm({
|
|
|
4801
5043
|
]
|
|
4802
5044
|
},
|
|
4803
5045
|
"43114": {
|
|
5046
|
+
nativeAsset: {
|
|
5047
|
+
symbol: "AVAX",
|
|
5048
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5049
|
+
},
|
|
4804
5050
|
top: [
|
|
4805
5051
|
{
|
|
4806
5052
|
symbol: "PENDLE",
|
|
@@ -4839,6 +5085,10 @@ var init_featuredAssets = __esm({
|
|
|
4839
5085
|
]
|
|
4840
5086
|
},
|
|
4841
5087
|
"5000": {
|
|
5088
|
+
nativeAsset: {
|
|
5089
|
+
symbol: "MNT",
|
|
5090
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5091
|
+
},
|
|
4842
5092
|
top: [],
|
|
4843
5093
|
stables: [
|
|
4844
5094
|
{
|
|
@@ -4856,6 +5106,10 @@ var init_featuredAssets = __esm({
|
|
|
4856
5106
|
]
|
|
4857
5107
|
},
|
|
4858
5108
|
"534352": {
|
|
5109
|
+
nativeAsset: {
|
|
5110
|
+
symbol: "ETH",
|
|
5111
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5112
|
+
},
|
|
4859
5113
|
top: [],
|
|
4860
5114
|
stables: [
|
|
4861
5115
|
{
|
|
@@ -4869,6 +5123,10 @@ var init_featuredAssets = __esm({
|
|
|
4869
5123
|
]
|
|
4870
5124
|
},
|
|
4871
5125
|
"56": {
|
|
5126
|
+
nativeAsset: {
|
|
5127
|
+
symbol: "BNB",
|
|
5128
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5129
|
+
},
|
|
4872
5130
|
top: [
|
|
4873
5131
|
{
|
|
4874
5132
|
symbol: "AAVE",
|
|
@@ -4931,6 +5189,10 @@ var init_featuredAssets = __esm({
|
|
|
4931
5189
|
]
|
|
4932
5190
|
},
|
|
4933
5191
|
"59144": {
|
|
5192
|
+
nativeAsset: {
|
|
5193
|
+
symbol: "ETH",
|
|
5194
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5195
|
+
},
|
|
4934
5196
|
top: [
|
|
4935
5197
|
{
|
|
4936
5198
|
symbol: "Cake",
|
|
@@ -4945,6 +5207,10 @@ var init_featuredAssets = __esm({
|
|
|
4945
5207
|
]
|
|
4946
5208
|
},
|
|
4947
5209
|
"80094": {
|
|
5210
|
+
nativeAsset: {
|
|
5211
|
+
symbol: "BERA",
|
|
5212
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5213
|
+
},
|
|
4948
5214
|
top: [],
|
|
4949
5215
|
stables: [
|
|
4950
5216
|
{
|
|
@@ -4954,6 +5220,10 @@ var init_featuredAssets = __esm({
|
|
|
4954
5220
|
]
|
|
4955
5221
|
},
|
|
4956
5222
|
"8453": {
|
|
5223
|
+
nativeAsset: {
|
|
5224
|
+
symbol: "ETH",
|
|
5225
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5226
|
+
},
|
|
4957
5227
|
top: [
|
|
4958
5228
|
{
|
|
4959
5229
|
symbol: "AAVE",
|
|
@@ -5036,6 +5306,10 @@ var init_featuredAssets = __esm({
|
|
|
5036
5306
|
]
|
|
5037
5307
|
},
|
|
5038
5308
|
"999": {
|
|
5309
|
+
nativeAsset: {
|
|
5310
|
+
symbol: "HYPE",
|
|
5311
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
5312
|
+
},
|
|
5039
5313
|
top: [
|
|
5040
5314
|
{
|
|
5041
5315
|
symbol: "AXL",
|
|
@@ -5068,7 +5342,12 @@ var init_featuredAssets = __esm({
|
|
|
5068
5342
|
]
|
|
5069
5343
|
},
|
|
5070
5344
|
"axelar-dojo-1": {
|
|
5071
|
-
top: [
|
|
5345
|
+
top: [
|
|
5346
|
+
{
|
|
5347
|
+
symbol: "AXL",
|
|
5348
|
+
address: "uaxl"
|
|
5349
|
+
}
|
|
5350
|
+
],
|
|
5072
5351
|
stables: [
|
|
5073
5352
|
{
|
|
5074
5353
|
symbol: "USDe",
|
|
@@ -5211,6 +5490,10 @@ var init_featuredAssets = __esm({
|
|
|
5211
5490
|
"noble-1": {
|
|
5212
5491
|
top: [],
|
|
5213
5492
|
stables: [
|
|
5493
|
+
{
|
|
5494
|
+
symbol: "USDC",
|
|
5495
|
+
address: "uusdc"
|
|
5496
|
+
},
|
|
5214
5497
|
{
|
|
5215
5498
|
symbol: "USDY",
|
|
5216
5499
|
address: "ausdy"
|
|
@@ -5248,6 +5531,72 @@ var init_featuredAssets = __esm({
|
|
|
5248
5531
|
}
|
|
5249
5532
|
]
|
|
5250
5533
|
},
|
|
5534
|
+
solana: {
|
|
5535
|
+
nativeAsset: {
|
|
5536
|
+
symbol: "SOL",
|
|
5537
|
+
address: "So11111111111111111111111111111111111111111"
|
|
5538
|
+
},
|
|
5539
|
+
top: [
|
|
5540
|
+
{
|
|
5541
|
+
symbol: "RENDER",
|
|
5542
|
+
address: "rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof"
|
|
5543
|
+
},
|
|
5544
|
+
{
|
|
5545
|
+
symbol: "SUSHI",
|
|
5546
|
+
address: "ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj"
|
|
5547
|
+
},
|
|
5548
|
+
{
|
|
5549
|
+
symbol: "ARB",
|
|
5550
|
+
address: "8LH3QMo7xkMJx85Kg4pfiQY1g1ZgiVEe1KktSpaT89mP"
|
|
5551
|
+
},
|
|
5552
|
+
{
|
|
5553
|
+
symbol: "cbBTC",
|
|
5554
|
+
address: "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"
|
|
5555
|
+
},
|
|
5556
|
+
{
|
|
5557
|
+
symbol: "Bonk",
|
|
5558
|
+
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
|
|
5559
|
+
}
|
|
5560
|
+
],
|
|
5561
|
+
stables: [
|
|
5562
|
+
{
|
|
5563
|
+
symbol: "USDT",
|
|
5564
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
|
|
5565
|
+
},
|
|
5566
|
+
{
|
|
5567
|
+
symbol: "USDC",
|
|
5568
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
|
5569
|
+
},
|
|
5570
|
+
{
|
|
5571
|
+
symbol: "USDe",
|
|
5572
|
+
address: "DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"
|
|
5573
|
+
},
|
|
5574
|
+
{
|
|
5575
|
+
symbol: "PYUSD",
|
|
5576
|
+
address: "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"
|
|
5577
|
+
},
|
|
5578
|
+
{
|
|
5579
|
+
symbol: "FDUSD",
|
|
5580
|
+
address: "9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u"
|
|
5581
|
+
},
|
|
5582
|
+
{
|
|
5583
|
+
symbol: "USDS",
|
|
5584
|
+
address: "USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"
|
|
5585
|
+
},
|
|
5586
|
+
{
|
|
5587
|
+
symbol: "EURC",
|
|
5588
|
+
address: "HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr"
|
|
5589
|
+
},
|
|
5590
|
+
{
|
|
5591
|
+
symbol: "USDP",
|
|
5592
|
+
address: "HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM"
|
|
5593
|
+
},
|
|
5594
|
+
{
|
|
5595
|
+
symbol: "USDY",
|
|
5596
|
+
address: "A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6"
|
|
5597
|
+
}
|
|
5598
|
+
]
|
|
5599
|
+
},
|
|
5251
5600
|
"ssc-1": {
|
|
5252
5601
|
top: [
|
|
5253
5602
|
{
|
|
@@ -5300,6 +5649,48 @@ var init_featuredAssets = __esm({
|
|
|
5300
5649
|
address: "ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349"
|
|
5301
5650
|
}
|
|
5302
5651
|
]
|
|
5652
|
+
},
|
|
5653
|
+
"solana-mainnet-beta": {
|
|
5654
|
+
nativeAsset: {
|
|
5655
|
+
symbol: "SOL",
|
|
5656
|
+
address: "So11111111111111111111111111111111111111111"
|
|
5657
|
+
},
|
|
5658
|
+
stables: [
|
|
5659
|
+
{
|
|
5660
|
+
symbol: "USDC",
|
|
5661
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
|
|
5662
|
+
},
|
|
5663
|
+
{
|
|
5664
|
+
symbol: "USDT",
|
|
5665
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
|
|
5666
|
+
}
|
|
5667
|
+
],
|
|
5668
|
+
top: [
|
|
5669
|
+
{
|
|
5670
|
+
symbol: "JUP",
|
|
5671
|
+
address: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
|
|
5672
|
+
},
|
|
5673
|
+
{
|
|
5674
|
+
symbol: "BONK",
|
|
5675
|
+
address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
|
|
5676
|
+
},
|
|
5677
|
+
{
|
|
5678
|
+
symbol: "WIF",
|
|
5679
|
+
address: "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm"
|
|
5680
|
+
},
|
|
5681
|
+
{
|
|
5682
|
+
symbol: "PYTH",
|
|
5683
|
+
address: "HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"
|
|
5684
|
+
},
|
|
5685
|
+
{
|
|
5686
|
+
symbol: "RAY",
|
|
5687
|
+
address: "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"
|
|
5688
|
+
},
|
|
5689
|
+
{
|
|
5690
|
+
symbol: "JITO",
|
|
5691
|
+
address: "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"
|
|
5692
|
+
}
|
|
5693
|
+
]
|
|
5303
5694
|
}
|
|
5304
5695
|
};
|
|
5305
5696
|
}
|
|
@@ -5367,20 +5758,40 @@ function useTokens(chainId) {
|
|
|
5367
5758
|
const filtered2 = tokenDefs.filter(
|
|
5368
5759
|
(item) => chainMap.has(item.chainId.toString())
|
|
5369
5760
|
);
|
|
5370
|
-
|
|
5761
|
+
const mapped2 = filtered2.map(mapTokenDefToToken);
|
|
5762
|
+
(0, import_react3.startTransition)(() => {
|
|
5763
|
+
setTokens(mapped2);
|
|
5764
|
+
});
|
|
5765
|
+
return;
|
|
5766
|
+
}
|
|
5767
|
+
if (!queryDependency) {
|
|
5768
|
+
await registry.ensureLoaded();
|
|
5769
|
+
if (cancelled) return;
|
|
5770
|
+
const tokenDefs = registry.tokens(chainId);
|
|
5771
|
+
const filtered2 = tokenDefs.filter(
|
|
5772
|
+
(item) => chainMap.has(item.chainId.toString())
|
|
5773
|
+
);
|
|
5774
|
+
const mapped2 = filtered2.map(mapTokenDefToToken);
|
|
5775
|
+
(0, import_react3.startTransition)(() => {
|
|
5776
|
+
setTokens(mapped2);
|
|
5777
|
+
setHasNextPage(false);
|
|
5778
|
+
});
|
|
5371
5779
|
return;
|
|
5372
5780
|
}
|
|
5373
5781
|
const page = await registry.tokensPage(chainId, {
|
|
5374
|
-
q: queryDependency
|
|
5782
|
+
q: queryDependency,
|
|
5375
5783
|
limit: DEFAULT_PAGE_LIMIT
|
|
5376
5784
|
});
|
|
5377
5785
|
if (cancelled) return;
|
|
5378
5786
|
const filtered = page.data.filter(
|
|
5379
5787
|
(item) => chainMap.has(item.chainId.toString())
|
|
5380
5788
|
);
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5789
|
+
const mapped = filtered.map(mapTokenDefToToken);
|
|
5790
|
+
(0, import_react3.startTransition)(() => {
|
|
5791
|
+
setTokens(mapped);
|
|
5792
|
+
setNextCursor(page.pageInfo.nextCursor);
|
|
5793
|
+
setHasNextPage(page.pageInfo.hasNextPage);
|
|
5794
|
+
});
|
|
5384
5795
|
} catch (err) {
|
|
5385
5796
|
if (!cancelled) {
|
|
5386
5797
|
const message = err instanceof Error ? err.message : "Failed to load tokens";
|
|
@@ -5426,39 +5837,67 @@ function useTokens(chainId) {
|
|
|
5426
5837
|
setIsLoadingMore(false);
|
|
5427
5838
|
}
|
|
5428
5839
|
};
|
|
5429
|
-
const
|
|
5840
|
+
const chainFeatured = (0, import_react3.useMemo)(() => {
|
|
5430
5841
|
const key = chainId?.toString() ?? "";
|
|
5431
|
-
|
|
5432
|
-
|
|
5842
|
+
return FEATURED[key] ?? null;
|
|
5843
|
+
}, [chainId]);
|
|
5844
|
+
const nativeAddresses = (0, import_react3.useMemo)(() => {
|
|
5845
|
+
const set = new Set(BASE_NATIVE_ADDRESSES);
|
|
5846
|
+
if (chainFeatured?.nativeAsset?.address) {
|
|
5847
|
+
set.add(chainFeatured.nativeAsset.address.toLowerCase());
|
|
5848
|
+
}
|
|
5849
|
+
return set;
|
|
5850
|
+
}, [chainFeatured]);
|
|
5851
|
+
const nativeSymbols = (0, import_react3.useMemo)(() => {
|
|
5852
|
+
const symbols = /* @__PURE__ */ new Set();
|
|
5853
|
+
if (chainFeatured?.nativeAsset?.symbol) {
|
|
5854
|
+
symbols.add(chainFeatured.nativeAsset.symbol.toUpperCase());
|
|
5855
|
+
}
|
|
5856
|
+
if (chainId) {
|
|
5857
|
+
const chainDef = chainMap.get(chainId.toString());
|
|
5858
|
+
const sym = chainDef?.nativeCurrency?.symbol;
|
|
5859
|
+
if (sym) symbols.add(sym.toUpperCase());
|
|
5860
|
+
}
|
|
5861
|
+
return symbols;
|
|
5862
|
+
}, [chainId, chainMap, chainFeatured]);
|
|
5863
|
+
const featuredAddresses = (0, import_react3.useMemo)(() => {
|
|
5864
|
+
if (!chainFeatured) return /* @__PURE__ */ new Map();
|
|
5433
5865
|
const map = /* @__PURE__ */ new Map();
|
|
5434
5866
|
let order = 0;
|
|
5435
|
-
for (const s of
|
|
5436
|
-
|
|
5867
|
+
for (const s of chainFeatured.stables)
|
|
5868
|
+
map.set(s.address.toLowerCase(), order++);
|
|
5869
|
+
for (const t of chainFeatured.top)
|
|
5870
|
+
map.set(t.address.toLowerCase(), order++);
|
|
5437
5871
|
return map;
|
|
5438
|
-
}, [
|
|
5439
|
-
const
|
|
5440
|
-
if (!
|
|
5441
|
-
const
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5872
|
+
}, [chainFeatured]);
|
|
5873
|
+
const featuredSymbols = (0, import_react3.useMemo)(() => {
|
|
5874
|
+
if (!chainFeatured) return /* @__PURE__ */ new Map();
|
|
5875
|
+
const map = /* @__PURE__ */ new Map();
|
|
5876
|
+
let order = 0;
|
|
5877
|
+
for (const s of chainFeatured.stables)
|
|
5878
|
+
map.set(s.symbol.toUpperCase(), order++);
|
|
5879
|
+
for (const t of chainFeatured.top) map.set(t.symbol.toUpperCase(), order++);
|
|
5880
|
+
return map;
|
|
5881
|
+
}, [chainFeatured]);
|
|
5446
5882
|
const filteredTokens = (0, import_react3.useMemo)(() => {
|
|
5447
5883
|
const query = searchQuery.toLowerCase().trim();
|
|
5448
5884
|
const source = query.length === 0 || tokensPaginationEnabled ? tokens : tokens.filter(
|
|
5449
5885
|
(token) => token.symbol.toLowerCase().includes(query) || token.name.toLowerCase().includes(query) || token.address.toLowerCase().includes(query)
|
|
5450
5886
|
);
|
|
5451
5887
|
return sortTokensByPopularity(source, {
|
|
5452
|
-
nativeAddresses
|
|
5888
|
+
nativeAddresses,
|
|
5453
5889
|
nativeSymbols,
|
|
5454
|
-
featuredAddresses
|
|
5890
|
+
featuredAddresses,
|
|
5891
|
+
featuredSymbols
|
|
5455
5892
|
});
|
|
5456
5893
|
}, [
|
|
5457
5894
|
tokens,
|
|
5458
5895
|
searchQuery,
|
|
5459
5896
|
tokensPaginationEnabled,
|
|
5897
|
+
nativeAddresses,
|
|
5460
5898
|
nativeSymbols,
|
|
5461
|
-
featuredAddresses
|
|
5899
|
+
featuredAddresses,
|
|
5900
|
+
featuredSymbols
|
|
5462
5901
|
]);
|
|
5463
5902
|
return {
|
|
5464
5903
|
tokens,
|
|
@@ -5472,7 +5911,7 @@ function useTokens(chainId) {
|
|
|
5472
5911
|
isLoadingMore
|
|
5473
5912
|
};
|
|
5474
5913
|
}
|
|
5475
|
-
var import_react3, FEATURED,
|
|
5914
|
+
var import_react3, FEATURED, BASE_NATIVE_ADDRESSES, DEFAULT_PAGE_LIMIT;
|
|
5476
5915
|
var init_useTokens = __esm({
|
|
5477
5916
|
"src/core/useTokens.ts"() {
|
|
5478
5917
|
"use strict";
|
|
@@ -5484,10 +5923,10 @@ var init_useTokens = __esm({
|
|
|
5484
5923
|
init_chainHelpers();
|
|
5485
5924
|
init_featuredAssets();
|
|
5486
5925
|
FEATURED = featuredAssets_default;
|
|
5487
|
-
|
|
5926
|
+
BASE_NATIVE_ADDRESSES = /* @__PURE__ */ new Set([
|
|
5488
5927
|
NATIVE_EVM2.toLowerCase(),
|
|
5489
5928
|
NATIVE_SOLANA2.toLowerCase(),
|
|
5490
|
-
// Some EVM chains (e.g. ZKsync
|
|
5929
|
+
// Some EVM chains (e.g. ZKsync) use the zero address for the native token
|
|
5491
5930
|
"0x0000000000000000000000000000000000000000"
|
|
5492
5931
|
]);
|
|
5493
5932
|
DEFAULT_PAGE_LIMIT = 100;
|
|
@@ -5636,7 +6075,6 @@ function resolveConfig(input) {
|
|
|
5636
6075
|
defaultSlippage: normalizeSlippage(
|
|
5637
6076
|
input.routes.defaultSlippage ?? DEFAULT_SLIPPAGE
|
|
5638
6077
|
),
|
|
5639
|
-
routeType: input.routes.routeType ?? "swap",
|
|
5640
6078
|
options: {
|
|
5641
6079
|
...input.routes.options
|
|
5642
6080
|
}
|
|
@@ -5836,10 +6274,9 @@ async function sendRouteTransaction(b, fallbackChainId) {
|
|
|
5836
6274
|
if (w.ecosystem !== "solana") {
|
|
5837
6275
|
throw new Error("A Solana wallet is required for this route");
|
|
5838
6276
|
}
|
|
5839
|
-
const {
|
|
5840
|
-
const
|
|
5841
|
-
|
|
5842
|
-
await registry.ensureLoaded();
|
|
6277
|
+
const { getSharedRegistry: getSharedRegistry2 } = await Promise.resolve().then(() => (init_registryClient(), registryClient_exports));
|
|
6278
|
+
const registry = getSharedRegistry2();
|
|
6279
|
+
await registry.ensureChainsLoaded();
|
|
5843
6280
|
const chain = registry.chain(
|
|
5844
6281
|
String(fallbackChainId ?? txReq.chainId ?? "")
|
|
5845
6282
|
);
|
|
@@ -5853,9 +6290,8 @@ async function sendRouteTransaction(b, fallbackChainId) {
|
|
|
5853
6290
|
async function runTopUp(params) {
|
|
5854
6291
|
const w = walletManager.wallet;
|
|
5855
6292
|
if (!w) throw new Error("Trustware.wallet not configured");
|
|
5856
|
-
const {
|
|
5857
|
-
const
|
|
5858
|
-
const reg = new Registry2(apiBase2());
|
|
6293
|
+
const { getSharedRegistry: getSharedRegistry2 } = await Promise.resolve().then(() => (init_registryClient(), registryClient_exports));
|
|
6294
|
+
const reg = getSharedRegistry2();
|
|
5859
6295
|
await reg.ensureLoaded();
|
|
5860
6296
|
const fromAddress = await w.getAddress();
|
|
5861
6297
|
const currentChainRef = w.ecosystem === "evm" ? String(await w.getChainId()) : await w.getChainKey?.() ?? "solana-mainnet-beta";
|
|
@@ -5966,6 +6402,39 @@ var init_core = __esm({
|
|
|
5966
6402
|
getConfig() {
|
|
5967
6403
|
return TrustwareConfigStore.get();
|
|
5968
6404
|
},
|
|
6405
|
+
/**
|
|
6406
|
+
* Read the SDK's currently configured theme mode.
|
|
6407
|
+
*
|
|
6408
|
+
* Returns the raw setting — `"light" | "dark" | "system"` — i.e. whatever
|
|
6409
|
+
* was last passed to `init()` or `setTheme()`. When the mode is `"system"`,
|
|
6410
|
+
* the widget resolves the actual light/dark appearance itself (from the OS
|
|
6411
|
+
* `prefers-color-scheme`, or a saved preference if the user has used the
|
|
6412
|
+
* widget's built-in theme toggle), so this getter still reports `"system"`
|
|
6413
|
+
* rather than the resolved value.
|
|
6414
|
+
*/
|
|
6415
|
+
getTheme() {
|
|
6416
|
+
return TrustwareConfigStore.get().theme;
|
|
6417
|
+
},
|
|
6418
|
+
/**
|
|
6419
|
+
* Set the widget's theme at runtime.
|
|
6420
|
+
*
|
|
6421
|
+
* Call this from your own app's theme toggle to keep an embedded
|
|
6422
|
+
* `TrustwareWidget` in sync with your UI — no remount required, any
|
|
6423
|
+
* mounted widget picks up the change immediately.
|
|
6424
|
+
*
|
|
6425
|
+
* Passing `"light"` or `"dark"` pins the widget to that mode. Passing
|
|
6426
|
+
* `"system"` makes it follow the OS preference again — unless the user
|
|
6427
|
+
* previously used the widget's own in-widget theme toggle, in which case
|
|
6428
|
+
* their saved choice takes precedence until they toggle it again.
|
|
6429
|
+
*
|
|
6430
|
+
* @example
|
|
6431
|
+
* // In your app's own dark-mode toggle handler:
|
|
6432
|
+
* Trustware.setTheme(isDark ? "dark" : "light");
|
|
6433
|
+
*/
|
|
6434
|
+
setTheme(theme) {
|
|
6435
|
+
TrustwareConfigStore.update({ theme });
|
|
6436
|
+
return Trustware;
|
|
6437
|
+
},
|
|
5969
6438
|
setDestinationAddress(address) {
|
|
5970
6439
|
const prev = TrustwareConfigStore.get();
|
|
5971
6440
|
TrustwareConfigStore.update({
|