@trustware/sdk-staging 1.1.8-staging.6 → 1.1.8-staging.8

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/dist/core.mjs CHANGED
@@ -11,20 +11,12 @@ var __export = (target, all) => {
11
11
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
12
 
13
13
  // src/config/defaults.ts
14
- var DEFAULT_SLIPPAGE, DEFAULT_AUTO_DETECT_PROVIDER, DEFAULT_THEME, DEFAULT_MESSAGES;
14
+ var DEFAULT_SLIPPAGE, DEFAULT_AUTO_DETECT_PROVIDER, DEFAULT_MESSAGES;
15
15
  var init_defaults = __esm({
16
16
  "src/config/defaults.ts"() {
17
17
  "use strict";
18
18
  DEFAULT_SLIPPAGE = 1;
19
19
  DEFAULT_AUTO_DETECT_PROVIDER = false;
20
- DEFAULT_THEME = {
21
- primaryColor: "#4F46E5",
22
- secondaryColor: "#6366F1",
23
- backgroundColor: "#FFFFFF",
24
- textColor: "#111827",
25
- borderColor: "#E5E7EB",
26
- radius: 8
27
- };
28
20
  DEFAULT_MESSAGES = {
29
21
  title: "Trustware SDK",
30
22
  description: "Seamlessly bridge assets across chains with Trustware."
@@ -61,7 +53,7 @@ var init_constants = __esm({
61
53
  "src/constants.ts"() {
62
54
  "use strict";
63
55
  SDK_NAME = "@trustware/sdk";
64
- SDK_VERSION = "1.1.8-staging.6";
56
+ SDK_VERSION = "1.1.8-staging.8";
65
57
  API_ROOT = "https://bv-staging-api.trustware.io";
66
58
  API_PREFIX = "/api";
67
59
  WALLETCONNECT_PROJECT_ID = "72ea74c400f5111d43aea638d7d83a24";
@@ -442,6 +434,24 @@ var init_registry = __esm({
442
434
  }
443
435
  this._chainsLoaded = true;
444
436
  }
437
+ batchStoreTokens(tokensArr) {
438
+ for (const token of tokensArr) {
439
+ const chainRef = token?.chainId;
440
+ if (chainRef == null) continue;
441
+ const normalized = normalizeToken(token);
442
+ const resolvedChain = this.chain(chainRef);
443
+ const aliases = resolvedChain ? getChainAliases(resolvedChain) : [normalizeChainKey(chainRef)];
444
+ const key = tokenKey(normalized);
445
+ for (const alias of aliases) {
446
+ const existingByKey = this._tokensByChainKey.get(alias) ?? /* @__PURE__ */ new Map();
447
+ existingByKey.set(key, normalized);
448
+ this._tokensByChainKey.set(alias, existingByKey);
449
+ }
450
+ }
451
+ for (const [chainKey, byKey] of this._tokensByChainKey.entries()) {
452
+ this._tokensByChain.set(chainKey, Array.from(byKey.values()));
453
+ }
454
+ }
445
455
  async loadAllTokens() {
446
456
  await this.ensureChainsLoaded();
447
457
  const tokensRes = await fetch(`${this.baseURL}/v1/routes/tokens`, {
@@ -450,9 +460,7 @@ var init_registry = __esm({
450
460
  if (!tokensRes.ok) throw new Error(`tokens: HTTP ${tokensRes.status}`);
451
461
  const tokens = await tokensRes.json();
452
462
  const tokensArr = Array.isArray(tokens) ? tokens : tokens.data ?? [];
453
- for (const token of tokensArr) {
454
- this.storeToken(token);
455
- }
463
+ this.batchStoreTokens(tokensArr);
456
464
  this._loaded = true;
457
465
  }
458
466
  prunePageCache() {
@@ -3941,10 +3949,12 @@ function canonicalSeiChainKey(chainId) {
3941
3949
  if (normalized === SEI_COSMOS_CHAIN_ID) return "sei";
3942
3950
  return null;
3943
3951
  }
3944
- var CHAIN_TYPE_ALIASES2, SEI_EVM_CHAIN_ID, SEI_COSMOS_CHAIN_ID;
3952
+ var NATIVE_EVM2, NATIVE_SOLANA2, CHAIN_TYPE_ALIASES2, SEI_EVM_CHAIN_ID, SEI_COSMOS_CHAIN_ID;
3945
3953
  var init_chainHelpers = __esm({
3946
3954
  "src/widget/helpers/chainHelpers.ts"() {
3947
3955
  "use strict";
3956
+ NATIVE_EVM2 = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
3957
+ NATIVE_SOLANA2 = "So11111111111111111111111111111111111111111";
3948
3958
  CHAIN_TYPE_ALIASES2 = {
3949
3959
  btc: "bitcoin",
3950
3960
  bitcoin: "bitcoin",
@@ -3956,6 +3966,135 @@ var init_chainHelpers = __esm({
3956
3966
  }
3957
3967
  });
3958
3968
 
3969
+ // src/utils/index.ts
3970
+ function resolveChainLabel(chain) {
3971
+ return chain.networkName || chain.axelarChainName || (chain.id != null ? String(chain.id) : void 0) || (chain.chainId != null ? String(chain.chainId) : void 0) || chain.networkIdentifier || "Chain";
3972
+ }
3973
+ var init_utils = __esm({
3974
+ "src/utils/index.ts"() {
3975
+ "use strict";
3976
+ }
3977
+ });
3978
+
3979
+ // src/widget/data/popularChains.json
3980
+ var popularChains_default;
3981
+ var init_popularChains = __esm({
3982
+ "src/widget/data/popularChains.json"() {
3983
+ popularChains_default = {
3984
+ byTvl: [
3985
+ {
3986
+ name: "Ethereum",
3987
+ chainId: 1
3988
+ },
3989
+ {
3990
+ name: "BSC",
3991
+ chainId: 56
3992
+ },
3993
+ {
3994
+ name: "Solana"
3995
+ },
3996
+ {
3997
+ name: "Tron"
3998
+ },
3999
+ {
4000
+ name: "Bitcoin"
4001
+ },
4002
+ {
4003
+ name: "Base",
4004
+ chainId: 8453
4005
+ },
4006
+ {
4007
+ name: "Hyperliquid L1"
4008
+ },
4009
+ {
4010
+ name: "Provenance"
4011
+ },
4012
+ {
4013
+ name: "Arbitrum",
4014
+ chainId: 42161
4015
+ },
4016
+ {
4017
+ name: "Polygon",
4018
+ chainId: 137
4019
+ },
4020
+ {
4021
+ name: "Plasma",
4022
+ chainId: 9745
4023
+ },
4024
+ {
4025
+ name: "Avalanche",
4026
+ chainId: 43114
4027
+ },
4028
+ {
4029
+ name: "Sui"
4030
+ },
4031
+ {
4032
+ name: "Monad",
4033
+ chainId: 143
4034
+ },
4035
+ {
4036
+ name: "OP Mainnet",
4037
+ chainId: 10
4038
+ },
4039
+ {
4040
+ name: "Cronos",
4041
+ chainId: 25
4042
+ },
4043
+ {
4044
+ name: "Stellar"
4045
+ },
4046
+ {
4047
+ name: "Starknet"
4048
+ },
4049
+ {
4050
+ name: "Near"
4051
+ },
4052
+ {
4053
+ name: "Mantle",
4054
+ chainId: 5e3
4055
+ },
4056
+ {
4057
+ name: "Movement",
4058
+ chainId: 3073
4059
+ },
4060
+ {
4061
+ name: "Ink",
4062
+ chainId: 57073
4063
+ },
4064
+ {
4065
+ name: "Flare"
4066
+ },
4067
+ {
4068
+ name: "Aptos"
4069
+ },
4070
+ {
4071
+ name: "MegaETH",
4072
+ chainId: 4326
4073
+ },
4074
+ {
4075
+ name: "Rootstock",
4076
+ chainId: 30
4077
+ },
4078
+ {
4079
+ name: "dYdX"
4080
+ },
4081
+ {
4082
+ name: "Cardano"
4083
+ },
4084
+ {
4085
+ name: "Stacks"
4086
+ },
4087
+ {
4088
+ name: "X Layer"
4089
+ }
4090
+ ],
4091
+ popularLimit: 8,
4092
+ updatedAt: "2026-06-19",
4093
+ source: "https://api.llama.fi/v2/chains \u2014 sorted by TVL"
4094
+ };
4095
+ }
4096
+ });
4097
+
3959
4098
  // src/core/useChains.ts
3960
4099
  import { useState, useEffect as useEffect2, useMemo } from "react";
3961
4100
  function filterSupportedChains(chains) {
@@ -4030,20 +4169,40 @@ function useChains() {
4030
4169
  const { popularChains, otherChains } = useMemo(() => {
4031
4170
  const popular = [];
4032
4171
  const other = [];
4172
+ const registryEvmIds = new Set(
4173
+ chains.map((c) => Number(c.chainId ?? c.id))
4174
+ );
4175
+ const hasSolana = chains.some((c) => normalizeChainType2(c) === "solana");
4176
+ const popularEvmIds = [];
4177
+ let solanaIsPopular = false;
4178
+ for (const entry of POPULAR_CHAINS_BY_TVL) {
4179
+ if (popularEvmIds.length + (solanaIsPopular ? 1 : 0) >= POPULAR_LIMIT)
4180
+ break;
4181
+ if (typeof entry.chainId === "number" && registryEvmIds.has(entry.chainId)) {
4182
+ popularEvmIds.push(entry.chainId);
4183
+ } else if (!solanaIsPopular && hasSolana && entry.name.toLowerCase() === "solana") {
4184
+ solanaIsPopular = true;
4185
+ }
4186
+ }
4187
+ const popularIdSet = new Set(popularEvmIds);
4033
4188
  for (const chain of chains) {
4034
4189
  const chainId = Number(chain.chainId ?? chain.id);
4035
- if (POPULAR_CHAIN_IDS.has(chainId)) {
4190
+ if (popularIdSet.has(chainId) || solanaIsPopular && normalizeChainType2(chain) === "solana") {
4036
4191
  popular.push(chain);
4037
4192
  } else {
4038
4193
  other.push(chain);
4039
4194
  }
4040
4195
  }
4041
- const popularOrder = [1, 137, 8453];
4042
4196
  popular.sort((a, b) => {
4043
4197
  const aId = Number(a.chainId ?? a.id);
4044
4198
  const bId = Number(b.chainId ?? b.id);
4045
- return popularOrder.indexOf(aId) - popularOrder.indexOf(bId);
4199
+ const aRank = popularEvmIds.indexOf(aId);
4200
+ const bRank = popularEvmIds.indexOf(bId);
4201
+ return (aRank === -1 ? 999 : aRank) - (bRank === -1 ? 999 : bRank);
4046
4202
  });
4203
+ other.sort(
4204
+ (a, b) => resolveChainLabel(a).localeCompare(resolveChainLabel(b))
4205
+ );
4047
4206
  return { popularChains: popular, otherChains: other };
4048
4207
  }, [chains]);
4049
4208
  return {
@@ -4055,20 +4214,16 @@ function useChains() {
4055
4214
  error
4056
4215
  };
4057
4216
  }
4058
- var POPULAR_CHAIN_IDS;
4217
+ var POPULAR_CHAINS_BY_TVL, POPULAR_LIMIT;
4059
4218
  var init_useChains = __esm({
4060
4219
  "src/core/useChains.ts"() {
4061
4220
  "use strict";
4062
4221
  init_registryClient();
4063
4222
  init_chainHelpers();
4064
- POPULAR_CHAIN_IDS = /* @__PURE__ */ new Set([
4065
- 1,
4066
- // Ethereum Mainnet
4067
- 137,
4068
- // Polygon
4069
- 8453
4070
- // Base
4071
- ]);
4223
+ init_utils();
4224
+ init_popularChains();
4225
+ POPULAR_CHAINS_BY_TVL = popularChains_default.byTvl;
4226
+ POPULAR_LIMIT = popularChains_default.popularLimit;
4072
4227
  }
4073
4228
  });
4074
4229
 
@@ -4213,10 +4368,32 @@ function compareChainPopularity(a, b) {
4213
4368
  if (rankA === null && rankB !== null) return 1;
4214
4369
  return 0;
4215
4370
  }
4216
- function sortTokensByPopularity(tokens) {
4371
+ function sortTokensByPopularity(tokens, options) {
4372
+ const nativeSet = options?.nativeAddresses ?? /* @__PURE__ */ new Set();
4373
+ const nativeSymbolSet = options?.nativeSymbols ?? /* @__PURE__ */ new Set();
4374
+ const featuredMap = options?.featuredAddresses ?? /* @__PURE__ */ new Map();
4375
+ const featuredSymMap = options?.featuredSymbols ?? /* @__PURE__ */ new Map();
4376
+ const getMajorRank = (token) => {
4377
+ const addr = normalizeAddress2(token.address);
4378
+ const sym = normalizeSymbol(token.symbol);
4379
+ if (nativeSet.has(addr)) return 0;
4380
+ if (nativeSymbolSet.has(sym)) return 0;
4381
+ if (featuredMap.has(addr)) return 1;
4382
+ if (featuredSymMap.has(sym)) return 1;
4383
+ return getGroupRank(token) + 2;
4384
+ };
4385
+ const getFeaturedOrder = (token) => {
4386
+ const byAddr = featuredMap.get(normalizeAddress2(token.address));
4387
+ if (byAddr !== void 0) return byAddr;
4388
+ return featuredSymMap.get(normalizeSymbol(token.symbol)) ?? 0;
4389
+ };
4217
4390
  return tokens.map((token, index) => ({ token, index })).sort((a, b) => {
4218
- const rankDiff = getGroupRank(a.token) - getGroupRank(b.token);
4219
- if (rankDiff !== 0) return rankDiff;
4391
+ const majorA = getMajorRank(a.token);
4392
+ const majorB = getMajorRank(b.token);
4393
+ if (majorA !== majorB) return majorA - majorB;
4394
+ if (majorA === 1) {
4395
+ return getFeaturedOrder(a.token) - getFeaturedOrder(b.token);
4396
+ }
4220
4397
  const chainPopularityDiff = compareChainPopularity(a.token, b.token);
4221
4398
  if (chainPopularityDiff !== 0) return chainPopularityDiff;
4222
4399
  const symbolDiff = compareText(a.token.symbol, b.token.symbol);
@@ -4275,8 +4452,1223 @@ var init_tokenPopularity = __esm({
4275
4452
  }
4276
4453
  });
4277
4454
 
4455
+ // src/widget/data/featuredAssets.json
4456
+ var featuredAssets_default;
4457
+ var init_featuredAssets = __esm({
4458
+ "src/widget/data/featuredAssets.json"() {
4459
+ featuredAssets_default = {
4460
+ "1": {
4461
+ nativeAsset: {
4462
+ symbol: "ETH",
4463
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4464
+ },
4465
+ top: [
4466
+ {
4467
+ symbol: "AAVE",
4468
+ address: "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9"
4469
+ },
4470
+ {
4471
+ symbol: "LINK",
4472
+ address: "0x514910771af9ca656af840dff83e8264ecf986ca"
4473
+ },
4474
+ {
4475
+ symbol: "UNI",
4476
+ address: "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"
4477
+ },
4478
+ {
4479
+ symbol: "CRV",
4480
+ address: "0xd533a949740bb3306d119cc777fa900ba034cd52"
4481
+ },
4482
+ {
4483
+ symbol: "LDO",
4484
+ address: "0x5a98fcbea516cf06857215779fd812ca3bef1b32"
4485
+ },
4486
+ {
4487
+ symbol: "GRT",
4488
+ address: "0xc944e90c64b2c07662a292be6244bdf05cda44a7"
4489
+ },
4490
+ {
4491
+ symbol: "RENDER",
4492
+ address: "0x6de037ef9ad2725eb40118bb1702ebb27e4aeb24"
4493
+ },
4494
+ {
4495
+ symbol: "PENDLE",
4496
+ address: "0x808507121b80c02388fad14726482e061b8da827"
4497
+ },
4498
+ {
4499
+ symbol: "MKR",
4500
+ address: "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"
4501
+ },
4502
+ {
4503
+ symbol: "COMP",
4504
+ address: "0xc00e94cb662c3520282e6f5717214004a7f26888"
4505
+ },
4506
+ {
4507
+ symbol: "1INCH",
4508
+ address: "0x111111111117dc0aa78b770fa6a738034120c302"
4509
+ },
4510
+ {
4511
+ symbol: "BAL",
4512
+ address: "0xba100000625a3754423978a60c9317c58a424e3d"
4513
+ },
4514
+ {
4515
+ symbol: "SUSHI",
4516
+ address: "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2"
4517
+ },
4518
+ {
4519
+ symbol: "CAKE",
4520
+ address: "0x152649ea73beab28c5b49b26eb48f7ead6d4c898"
4521
+ },
4522
+ {
4523
+ symbol: "YFI",
4524
+ address: "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e"
4525
+ }
4526
+ ],
4527
+ stables: [
4528
+ {
4529
+ symbol: "USDT",
4530
+ address: "0xdac17f958d2ee523a2206206994597c13d831ec7"
4531
+ },
4532
+ {
4533
+ symbol: "USDC",
4534
+ address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
4535
+ },
4536
+ {
4537
+ symbol: "DAI",
4538
+ address: "0x6b175474e89094c44da98b954eedeac495271d0f"
4539
+ },
4540
+ {
4541
+ symbol: "USDe",
4542
+ address: "0x4c9edd5852cd905f086c759e8383e09bff1e68b3"
4543
+ },
4544
+ {
4545
+ symbol: "PYUSD",
4546
+ address: "0x6c3ea9036406852006290770bedfcaba0e23a0e8"
4547
+ },
4548
+ {
4549
+ symbol: "FDUSD",
4550
+ address: "0xc5f0f7b66764f6ec8c8dff7ba683102295e16409"
4551
+ },
4552
+ {
4553
+ symbol: "USDS",
4554
+ address: "0xdc035d45d973e3ec169d2276ddab16f1e407384f"
4555
+ },
4556
+ {
4557
+ symbol: "EURC",
4558
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c"
4559
+ },
4560
+ {
4561
+ symbol: "crvUSD",
4562
+ address: "0xf939e0a03fb07f59a73314e73794be0e57ac1b4e"
4563
+ },
4564
+ {
4565
+ symbol: "TUSD",
4566
+ address: "0x0000000000085d4780b73119b644ae5ecd22b376"
4567
+ }
4568
+ ]
4569
+ },
4570
+ "10": {
4571
+ nativeAsset: {
4572
+ symbol: "ETH",
4573
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4574
+ },
4575
+ top: [
4576
+ {
4577
+ symbol: "AAVE",
4578
+ address: "0x76fb31fb4af56892a25e32cfc43de717950c9278"
4579
+ },
4580
+ {
4581
+ symbol: "LINK",
4582
+ address: "0x350a791bfc2c21f9ed5d10980dad2e2638ffa7f6"
4583
+ },
4584
+ {
4585
+ symbol: "CRV",
4586
+ address: "0x0994206dfe8de6ec6920ff4d779b0d950605fb53"
4587
+ },
4588
+ {
4589
+ symbol: "LDO",
4590
+ address: "0xfdb794692724153d1488ccdbe0c56c252596735f"
4591
+ },
4592
+ {
4593
+ symbol: "ZRO",
4594
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
4595
+ },
4596
+ {
4597
+ symbol: "STG",
4598
+ address: "0x296f55f8fb28e498b858d0bcda06d955b2cb3f97"
4599
+ },
4600
+ {
4601
+ symbol: "OP",
4602
+ address: "0x4200000000000000000000000000000000000042"
4603
+ }
4604
+ ],
4605
+ stables: [
4606
+ {
4607
+ symbol: "USDT",
4608
+ address: "0x94b008aa00579c1307b0ef2c499ad98a8ce58e58"
4609
+ },
4610
+ {
4611
+ symbol: "USDC",
4612
+ address: "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
4613
+ },
4614
+ {
4615
+ symbol: "DAI",
4616
+ address: "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"
4617
+ },
4618
+ {
4619
+ symbol: "FRAX",
4620
+ address: "0x2e3d870790dc77a83dd1d18184acc7439a53f475"
4621
+ },
4622
+ {
4623
+ symbol: "LUSD",
4624
+ address: "0xc40f949f8a4e094d1b49a23ea9241d289b7b2819"
4625
+ },
4626
+ {
4627
+ symbol: "MIM",
4628
+ address: "0xb153fb3d196a8eb25522705560ac152eeec57901"
4629
+ },
4630
+ {
4631
+ symbol: "sUSD",
4632
+ address: "0x8c6f28f2f1a3c87f0f938b96d27520d9751ec8d9"
4633
+ }
4634
+ ]
4635
+ },
4636
+ "100": {
4637
+ nativeAsset: {
4638
+ symbol: "XDAI",
4639
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4640
+ },
4641
+ top: [],
4642
+ stables: [
4643
+ {
4644
+ symbol: "USDT",
4645
+ address: "0x4ecaba5870353805a9f068101a40e0f32ed605c6"
4646
+ },
4647
+ {
4648
+ symbol: "USDC",
4649
+ address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83"
4650
+ }
4651
+ ]
4652
+ },
4653
+ "1284": {
4654
+ nativeAsset: {
4655
+ symbol: "GLMR",
4656
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4657
+ },
4658
+ top: [
4659
+ {
4660
+ symbol: "WELL",
4661
+ address: "0x511ab53f793683763e5a8829738301368a2411e3"
4662
+ }
4663
+ ],
4664
+ stables: [
4665
+ {
4666
+ symbol: "xcUSDC",
4667
+ address: "0xffffffff7d2b0b761af01ca8e25242976ac0ad7d"
4668
+ },
4669
+ {
4670
+ symbol: "FRAX",
4671
+ address: "0x322e86852e492a7ee17f28a78c663da38fb33bfb"
4672
+ }
4673
+ ]
4674
+ },
4675
+ "13371": {
4676
+ nativeAsset: {
4677
+ symbol: "IMX",
4678
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4679
+ },
4680
+ top: [],
4681
+ stables: [
4682
+ {
4683
+ symbol: "USDT",
4684
+ address: "0x68bcc7f1190af20e7b572bcfb431c3ac10a936ab"
4685
+ },
4686
+ {
4687
+ symbol: "USDC",
4688
+ address: "0x6de8acc0d406837030ce4dd28e7c08c5a96a30d2"
4689
+ }
4690
+ ]
4691
+ },
4692
+ "137": {
4693
+ nativeAsset: {
4694
+ symbol: "POL",
4695
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4696
+ },
4697
+ top: [
4698
+ {
4699
+ symbol: "AAVE",
4700
+ address: "0xd6df932a45c0f255f85145f286ea0b292b21c90b"
4701
+ },
4702
+ {
4703
+ symbol: "LINK",
4704
+ address: "0x53e0bca35ec356bd5dddfebbd1fc0fd03fabad39"
4705
+ },
4706
+ {
4707
+ symbol: "UNI",
4708
+ address: "0xb33eaad8d922b1083446dc23f610c2567fb5180f"
4709
+ },
4710
+ {
4711
+ symbol: "CRV",
4712
+ address: "0x172370d5cd63279efa6d502dab29171933a610af"
4713
+ },
4714
+ {
4715
+ symbol: "LDO",
4716
+ address: "0xc3c7d422809852031b44ab29eec9f1eff2a58756"
4717
+ },
4718
+ {
4719
+ symbol: "GRT",
4720
+ address: "0x5fe2b58c013d7601147dcdd68c143a77499f5531"
4721
+ },
4722
+ {
4723
+ symbol: "RENDER",
4724
+ address: "0x61299774020da444af134c82fa83e3810b309991"
4725
+ },
4726
+ {
4727
+ symbol: "ZRO",
4728
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
4729
+ },
4730
+ {
4731
+ symbol: "STG",
4732
+ address: "0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590"
4733
+ },
4734
+ {
4735
+ symbol: "MANA",
4736
+ address: "0xa1c57f48f0deb89f569dfbe6e2b7f46d33606fd4"
4737
+ },
4738
+ {
4739
+ symbol: "TEL",
4740
+ address: "0xdf7837de1f2fa4631d716cf2502f8b230f1dcc32"
4741
+ },
4742
+ {
4743
+ symbol: "BONK",
4744
+ address: "0xe5b49820e5a1063f6f4ddf851327b5e8b2301048"
4745
+ }
4746
+ ],
4747
+ stables: [
4748
+ {
4749
+ symbol: "USDT",
4750
+ address: "0xc2132d05d31c914a87c6611c10748aeb04b58e8f"
4751
+ },
4752
+ {
4753
+ symbol: "USDC",
4754
+ address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359"
4755
+ },
4756
+ {
4757
+ symbol: "DAI",
4758
+ address: "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063"
4759
+ },
4760
+ {
4761
+ symbol: "CRVUSD",
4762
+ address: "0xc4ce1d6f5d98d65ee25cf85e9f2e9dcfee6cb5d6"
4763
+ }
4764
+ ]
4765
+ },
4766
+ "143": {
4767
+ nativeAsset: {
4768
+ symbol: "MON",
4769
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4770
+ },
4771
+ top: [],
4772
+ stables: [
4773
+ {
4774
+ symbol: "USDC",
4775
+ address: "0x754704bc059f8c67012fed69bc8a327a5aafb603"
4776
+ }
4777
+ ]
4778
+ },
4779
+ "146": {
4780
+ nativeAsset: {
4781
+ symbol: "S",
4782
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4783
+ },
4784
+ top: [],
4785
+ stables: [
4786
+ {
4787
+ symbol: "USDT",
4788
+ address: "0x6047828dc181963ba44974801ff68e538da5eaf9"
4789
+ },
4790
+ {
4791
+ symbol: "USDC",
4792
+ address: "0x29219dd400f2bf60e5a23d13be72b486d4038894"
4793
+ }
4794
+ ]
4795
+ },
4796
+ "1868": {
4797
+ nativeAsset: {
4798
+ symbol: "ETH",
4799
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4800
+ },
4801
+ top: [],
4802
+ stables: [
4803
+ {
4804
+ symbol: "USDT",
4805
+ address: "0x3a337a6ada9d885b6ad95ec48f9b75f197b5ae35"
4806
+ }
4807
+ ]
4808
+ },
4809
+ "2222": {
4810
+ nativeAsset: {
4811
+ symbol: "KAVA",
4812
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4813
+ },
4814
+ top: [],
4815
+ stables: [
4816
+ {
4817
+ symbol: "USDt",
4818
+ address: "0x919c1c267bc06a7039e03fcc2ef738525769109c"
4819
+ },
4820
+ {
4821
+ symbol: "MIM",
4822
+ address: "0x471ee749ba270eb4c1165b5ad95e614947f6fceb"
4823
+ }
4824
+ ]
4825
+ },
4826
+ "250": {
4827
+ nativeAsset: {
4828
+ symbol: "FTM",
4829
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4830
+ },
4831
+ top: [
4832
+ {
4833
+ symbol: "STG",
4834
+ address: "0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590"
4835
+ }
4836
+ ],
4837
+ stables: [
4838
+ {
4839
+ symbol: "MIM",
4840
+ address: "0x82f0b8b456c1a451378467398982d4834b6829c1"
4841
+ }
4842
+ ]
4843
+ },
4844
+ "252": {
4845
+ nativeAsset: {
4846
+ symbol: "FRAX",
4847
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4848
+ },
4849
+ top: [
4850
+ {
4851
+ symbol: "CRV",
4852
+ address: "0x331b9182088e2a7d6d3fe4742aba1fb231aecc56"
4853
+ }
4854
+ ],
4855
+ stables: [
4856
+ {
4857
+ symbol: "frxUSD",
4858
+ address: "0xfc00000000000000000000000000000000000001"
4859
+ }
4860
+ ]
4861
+ },
4862
+ "295": {
4863
+ nativeAsset: {
4864
+ symbol: "HBAR",
4865
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4866
+ },
4867
+ top: [],
4868
+ stables: [
4869
+ {
4870
+ symbol: "USDC",
4871
+ address: "0x000000000000000000000000000000000006f89a"
4872
+ }
4873
+ ]
4874
+ },
4875
+ "314": {
4876
+ nativeAsset: {
4877
+ symbol: "FIL",
4878
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4879
+ },
4880
+ top: [],
4881
+ stables: [
4882
+ {
4883
+ symbol: "ceUSDC",
4884
+ address: "0x2421db204968a367cc2c866cd057fa754cb84edf"
4885
+ }
4886
+ ]
4887
+ },
4888
+ "3338": {
4889
+ nativeAsset: {
4890
+ symbol: "PEAQ",
4891
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4892
+ },
4893
+ top: [],
4894
+ stables: [
4895
+ {
4896
+ symbol: "USDT",
4897
+ address: "0xf4d9235269a96aadafc9adae454a0618ebe37949"
4898
+ },
4899
+ {
4900
+ symbol: "USDC",
4901
+ address: "0xbba60da06c2c5424f03f7434542280fcad453d10"
4902
+ }
4903
+ ]
4904
+ },
4905
+ "42161": {
4906
+ nativeAsset: {
4907
+ symbol: "ETH",
4908
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
4909
+ },
4910
+ top: [
4911
+ {
4912
+ symbol: "AAVE",
4913
+ address: "0xba5ddd1f9d7f570dc94a51479a000e3bce967196"
4914
+ },
4915
+ {
4916
+ symbol: "LINK",
4917
+ address: "0xf97f4df75117a78c1a5a0dbb814af92458539fb4"
4918
+ },
4919
+ {
4920
+ symbol: "UNI",
4921
+ address: "0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0"
4922
+ },
4923
+ {
4924
+ symbol: "CRV",
4925
+ address: "0x11cdb42b0eb46d95f990bedd4695a6e3fa034978"
4926
+ },
4927
+ {
4928
+ symbol: "GRT",
4929
+ address: "0x9623063377ad1b27544c965ccd7342f7ea7e88c7"
4930
+ },
4931
+ {
4932
+ symbol: "PENDLE",
4933
+ address: "0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8"
4934
+ },
4935
+ {
4936
+ symbol: "SUSHI",
4937
+ address: "0xd4d42f0b6def4ce0383636770ef773390d85c61a"
4938
+ },
4939
+ {
4940
+ symbol: "CAKE",
4941
+ address: "0x1b896893dfc86bb67cf57767298b9073d2c1ba2c"
4942
+ },
4943
+ {
4944
+ symbol: "ZRO",
4945
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
4946
+ },
4947
+ {
4948
+ symbol: "STG",
4949
+ address: "0x6694340fc020c5e6b96567843da2df01b2ce1eb6"
4950
+ },
4951
+ {
4952
+ symbol: "ARB",
4953
+ address: "0x912ce59144191c1204e64559fe8253a0e49e6548"
4954
+ },
4955
+ {
4956
+ symbol: "cbBTC",
4957
+ address: "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf"
4958
+ },
4959
+ {
4960
+ symbol: "BONK",
4961
+ address: "0x09199d9a5f4448d0848e4395d065e1ad9c4a1f74"
4962
+ }
4963
+ ],
4964
+ stables: [
4965
+ {
4966
+ symbol: "USDT",
4967
+ address: "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"
4968
+ },
4969
+ {
4970
+ symbol: "USDC",
4971
+ address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831"
4972
+ },
4973
+ {
4974
+ symbol: "DAI",
4975
+ address: "0xda10009cbd5d07dd0cecc66161fc93d7c9000da1"
4976
+ },
4977
+ {
4978
+ symbol: "PYUSD",
4979
+ address: "0x46850ad61c2b7d64d08c9c754f45254596696984"
4980
+ },
4981
+ {
4982
+ symbol: "USDD",
4983
+ address: "0x680447595e8b7b3aa1b43beb9f6098c79ac2ab3f"
4984
+ },
4985
+ {
4986
+ symbol: "FRAX",
4987
+ address: "0x17fc002b466eec40dae837fc4be5c67993ddbd6f"
4988
+ },
4989
+ {
4990
+ symbol: "LUSD",
4991
+ address: "0x93b346b6bc2548da6a1e7d98e9a421b42541425b"
4992
+ },
4993
+ {
4994
+ symbol: "MIM",
4995
+ address: "0xfea7a6a0b346362bf88a9e4a88416b77a57d6c2a"
4996
+ }
4997
+ ]
4998
+ },
4999
+ "42220": {
5000
+ nativeAsset: {
5001
+ symbol: "CELO",
5002
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5003
+ },
5004
+ top: [],
5005
+ stables: [
5006
+ {
5007
+ symbol: "USDT",
5008
+ address: "0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e"
5009
+ },
5010
+ {
5011
+ symbol: "USDC",
5012
+ address: "0xceba9300f2b948710d2653dd7b07f33a8b32118c"
5013
+ }
5014
+ ]
5015
+ },
5016
+ "43114": {
5017
+ nativeAsset: {
5018
+ symbol: "AVAX",
5019
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5020
+ },
5021
+ top: [
5022
+ {
5023
+ symbol: "PENDLE",
5024
+ address: "0xfb98b335551a418cd0737375a2ea0ded62ea213b"
5025
+ },
5026
+ {
5027
+ symbol: "ZRO",
5028
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
5029
+ },
5030
+ {
5031
+ symbol: "STG",
5032
+ address: "0x2f6f07cdcf3588944bf4c42ac74ff24bf56e7590"
5033
+ }
5034
+ ],
5035
+ stables: [
5036
+ {
5037
+ symbol: "USDT",
5038
+ address: "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7"
5039
+ },
5040
+ {
5041
+ symbol: "USDC",
5042
+ address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e"
5043
+ },
5044
+ {
5045
+ symbol: "EURC",
5046
+ address: "0xc891eb4cbdeff6e073e859e987815ed1505c2acd"
5047
+ },
5048
+ {
5049
+ symbol: "FRAX",
5050
+ address: "0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64"
5051
+ },
5052
+ {
5053
+ symbol: "MIM",
5054
+ address: "0x130966628846bfd36ff31a822705796e8cb8c18d"
5055
+ }
5056
+ ]
5057
+ },
5058
+ "5000": {
5059
+ nativeAsset: {
5060
+ symbol: "MNT",
5061
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5062
+ },
5063
+ top: [],
5064
+ stables: [
5065
+ {
5066
+ symbol: "USDT",
5067
+ address: "0x201eba5cc46d216ce6dc03f6a759e8e766e956ae"
5068
+ },
5069
+ {
5070
+ symbol: "USDC",
5071
+ address: "0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9"
5072
+ },
5073
+ {
5074
+ symbol: "mUSD",
5075
+ address: "0xab575258d37eaa5c8956efabe71f4ee8f6397cf3"
5076
+ }
5077
+ ]
5078
+ },
5079
+ "534352": {
5080
+ nativeAsset: {
5081
+ symbol: "ETH",
5082
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5083
+ },
5084
+ top: [],
5085
+ stables: [
5086
+ {
5087
+ symbol: "USDT",
5088
+ address: "0xf55bec9cafdbe8730f096aa55dad6d22d44099df"
5089
+ },
5090
+ {
5091
+ symbol: "USDC",
5092
+ address: "0x06efdbff2a14a7c8e15944d1f4a48f9f95f663a4"
5093
+ }
5094
+ ]
5095
+ },
5096
+ "56": {
5097
+ nativeAsset: {
5098
+ symbol: "BNB",
5099
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5100
+ },
5101
+ top: [
5102
+ {
5103
+ symbol: "AAVE",
5104
+ address: "0xfb6115445bff7b52feb98650c87f44907e58f802"
5105
+ },
5106
+ {
5107
+ symbol: "LINK",
5108
+ address: "0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd"
5109
+ },
5110
+ {
5111
+ symbol: "UNI",
5112
+ address: "0xbf5140a22578168fd562dccf235e5d43a02ce9b1"
5113
+ },
5114
+ {
5115
+ symbol: "PENDLE",
5116
+ address: "0xb3ed0a426155b79b898849803e3b36552f7ed507"
5117
+ },
5118
+ {
5119
+ symbol: "COMP",
5120
+ address: "0x52ce071bd9b1c4b00a0b92d298c512478cad67e8"
5121
+ },
5122
+ {
5123
+ symbol: "CAKE",
5124
+ address: "0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82"
5125
+ },
5126
+ {
5127
+ symbol: "ZRO",
5128
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
5129
+ },
5130
+ {
5131
+ symbol: "STG",
5132
+ address: "0xb0d502e938ed5f4df2e681fe6e419ff29631d62b"
5133
+ },
5134
+ {
5135
+ symbol: "AXS",
5136
+ address: "0x715d400f88c167884bbcc41c5fea407ed4d2f8a0"
5137
+ },
5138
+ {
5139
+ symbol: "BONK",
5140
+ address: "0xa697e272a73744b343528c3bc4702f2565b2f422"
5141
+ }
5142
+ ],
5143
+ stables: [
5144
+ {
5145
+ symbol: "USDT",
5146
+ address: "0x55d398326f99059ff775485246999027b3197955"
5147
+ },
5148
+ {
5149
+ symbol: "USDC",
5150
+ address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"
5151
+ },
5152
+ {
5153
+ symbol: "FDUSD",
5154
+ address: "0xc5f0f7b66764f6ec8c8dff7ba683102295e16409"
5155
+ },
5156
+ {
5157
+ symbol: "TUSD",
5158
+ address: "0x40af3827f39d0eacbf4a168f8d4ee67c121d11c9"
5159
+ }
5160
+ ]
5161
+ },
5162
+ "59144": {
5163
+ nativeAsset: {
5164
+ symbol: "ETH",
5165
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5166
+ },
5167
+ top: [
5168
+ {
5169
+ symbol: "Cake",
5170
+ address: "0x0d1e753a25ebda689453309112904807625befbe"
5171
+ }
5172
+ ],
5173
+ stables: [
5174
+ {
5175
+ symbol: "USDC",
5176
+ address: "0x176211869ca2b568f2a7d4ee941e073a821ee1ff"
5177
+ }
5178
+ ]
5179
+ },
5180
+ "80094": {
5181
+ nativeAsset: {
5182
+ symbol: "BERA",
5183
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5184
+ },
5185
+ top: [],
5186
+ stables: [
5187
+ {
5188
+ symbol: "MIM",
5189
+ address: "0x5b82028cfc477c4e7dda7ff33d59a23fa7be002a"
5190
+ }
5191
+ ]
5192
+ },
5193
+ "8453": {
5194
+ nativeAsset: {
5195
+ symbol: "ETH",
5196
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5197
+ },
5198
+ top: [
5199
+ {
5200
+ symbol: "AAVE",
5201
+ address: "0x63706e401c06ac8513145b7687a14804d17f814b"
5202
+ },
5203
+ {
5204
+ symbol: "PENDLE",
5205
+ address: "0xa99f6e6785da0f5d6fb42495fe424bce029eeb3e"
5206
+ },
5207
+ {
5208
+ symbol: "COMP",
5209
+ address: "0x9e1028f5f1d5ede59748ffcee5532509976840e0"
5210
+ },
5211
+ {
5212
+ symbol: "CAKE",
5213
+ address: "0x3055913c90fcc1a6ce9a358911721eeb942013a1"
5214
+ },
5215
+ {
5216
+ symbol: "YFI",
5217
+ address: "0x9eaf8c1e34f05a589eda6bafdf391cf6ad3cb239"
5218
+ },
5219
+ {
5220
+ symbol: "ZRO",
5221
+ address: "0x6985884c4392d348587b19cb9eaaf157f13271cd"
5222
+ },
5223
+ {
5224
+ symbol: "STG",
5225
+ address: "0xe3b53af74a4bf62ae5511055290838050bf764df"
5226
+ },
5227
+ {
5228
+ symbol: "cbBTC",
5229
+ address: "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf"
5230
+ },
5231
+ {
5232
+ symbol: "AERO",
5233
+ address: "0x940181a94a35a4569e4529a3cdfb74e38fd98631"
5234
+ },
5235
+ {
5236
+ symbol: "VIRTUAL",
5237
+ address: "0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b"
5238
+ },
5239
+ {
5240
+ symbol: "MORPHO",
5241
+ address: "0xbaa5cc21fd487b8fcc2f632f3f4e8d37262a0842"
5242
+ },
5243
+ {
5244
+ symbol: "BRETT",
5245
+ address: "0x532f27101965dd16442e59d40670faf5ebb142e4"
5246
+ },
5247
+ {
5248
+ symbol: "DEGEN",
5249
+ address: "0x4ed4e862860bed51a9570b96d89af5e1b0efefed"
5250
+ },
5251
+ {
5252
+ symbol: "WELL",
5253
+ address: "0xa88594d404727625a9437c3f886c7643872296ae"
5254
+ },
5255
+ {
5256
+ symbol: "ZORA",
5257
+ address: "0x1111111111166b7fe7bd91427724b487980afc69"
5258
+ }
5259
+ ],
5260
+ stables: [
5261
+ {
5262
+ symbol: "USDC",
5263
+ address: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
5264
+ },
5265
+ {
5266
+ symbol: "DAI",
5267
+ address: "0x50c5725949a6f0c72e6c4a641f24049a917db0cb"
5268
+ },
5269
+ {
5270
+ symbol: "USDS",
5271
+ address: "0x820c137fa70c8691f0e44dc420a5e53c168921dc"
5272
+ },
5273
+ {
5274
+ symbol: "EURC",
5275
+ address: "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42"
5276
+ }
5277
+ ]
5278
+ },
5279
+ "999": {
5280
+ nativeAsset: {
5281
+ symbol: "HYPE",
5282
+ address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
5283
+ },
5284
+ top: [
5285
+ {
5286
+ symbol: "AXL",
5287
+ address: "0xc4dc717136b8fd754df181d122914c2866f11a79"
5288
+ }
5289
+ ],
5290
+ stables: [
5291
+ {
5292
+ symbol: "USDC",
5293
+ address: "0xb88339cb7199b77e23db6e890353e22632ba630f"
5294
+ }
5295
+ ]
5296
+ },
5297
+ "agoric-3": {
5298
+ top: [],
5299
+ stables: [
5300
+ {
5301
+ symbol: "USDC",
5302
+ address: "ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9"
5303
+ }
5304
+ ]
5305
+ },
5306
+ "archway-1": {
5307
+ top: [],
5308
+ stables: [
5309
+ {
5310
+ symbol: "USDC",
5311
+ address: "ibc/43897B9739BD63E3A08A88191999C632E052724AB96BD4C74AE31375C991F48D"
5312
+ }
5313
+ ]
5314
+ },
5315
+ "axelar-dojo-1": {
5316
+ top: [
5317
+ {
5318
+ symbol: "AXL",
5319
+ address: "uaxl"
5320
+ }
5321
+ ],
5322
+ stables: [
5323
+ {
5324
+ symbol: "USDe",
5325
+ address: "usde-wei"
5326
+ }
5327
+ ]
5328
+ },
5329
+ "core-1": {
5330
+ top: [],
5331
+ stables: [
5332
+ {
5333
+ symbol: "USDT",
5334
+ address: "ibc/C559977F5797BDC1D74C0836A10C379C991D664166CB60D776A83029852431B4"
5335
+ },
5336
+ {
5337
+ symbol: "USDC",
5338
+ address: "ibc/B3792E4A62DF4A934EF2DF5968556DB56F5776ED25BDE11188A4F58A7DD406F0"
5339
+ }
5340
+ ]
5341
+ },
5342
+ "cosmoshub-4": {
5343
+ top: [],
5344
+ stables: [
5345
+ {
5346
+ symbol: "USDC",
5347
+ address: "ibc/F663521BF1836B00F5F177680F74BFB9A8B5654A694D0D2BC249E03CF2509013"
5348
+ }
5349
+ ]
5350
+ },
5351
+ "crescent-1": {
5352
+ top: [
5353
+ {
5354
+ symbol: "AXL",
5355
+ address: "ibc/0634D0993744740D675AD01E81156EAC945AEAAE17C074918DC7FF52F41B263E"
5356
+ }
5357
+ ],
5358
+ stables: []
5359
+ },
5360
+ "dydx-mainnet-1": {
5361
+ top: [],
5362
+ stables: [
5363
+ {
5364
+ symbol: "USDC",
5365
+ address: "ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5"
5366
+ }
5367
+ ]
5368
+ },
5369
+ "dymension_1100-1": {
5370
+ top: [],
5371
+ stables: [
5372
+ {
5373
+ symbol: "USDC",
5374
+ address: "ibc/B3504E092456BA618CC28AC671A71FB08C6CA0FD0BE7C8A5B5A3E2DD933CC9E4"
5375
+ }
5376
+ ]
5377
+ },
5378
+ "elys-1": {
5379
+ top: [
5380
+ {
5381
+ symbol: "LINK",
5382
+ address: "ibc/2A20C613F2BA256BE9FAD791B0743FBC4FE3C998EDF9234D969172F7D42FB8E7"
5383
+ }
5384
+ ],
5385
+ stables: [
5386
+ {
5387
+ symbol: "USDC",
5388
+ address: "ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349"
5389
+ }
5390
+ ]
5391
+ },
5392
+ "juno-1": {
5393
+ top: [
5394
+ {
5395
+ symbol: "AXL",
5396
+ address: "ibc/EBE900AED8FF6BB2E186B17B066138F647CDD9647EF4FBE2DE6C8D4013A2C990"
5397
+ }
5398
+ ],
5399
+ stables: [
5400
+ {
5401
+ symbol: "USDC",
5402
+ address: "ibc/4A482FA914A4B9B05801ED81C33713899F322B24F76A06F4B8FE872485EA22FF"
5403
+ }
5404
+ ]
5405
+ },
5406
+ "kaiyo-1": {
5407
+ top: [
5408
+ {
5409
+ symbol: "AXL",
5410
+ address: "ibc/C01154C2547F4CB10A985EA78E7CD4BA891C1504360703A37E1D7043F06B5E1F"
5411
+ }
5412
+ ],
5413
+ stables: [
5414
+ {
5415
+ symbol: "USDC",
5416
+ address: "ibc/FE98AAD68F02F03565E9FA39A5E627946699B2B07115889ED812D8BA639576A9"
5417
+ }
5418
+ ]
5419
+ },
5420
+ "kava_2222-10": {
5421
+ top: [],
5422
+ stables: [
5423
+ {
5424
+ symbol: "USDT",
5425
+ address: "erc20/tether/usdt"
5426
+ }
5427
+ ]
5428
+ },
5429
+ "lava-mainnet-1": {
5430
+ top: [
5431
+ {
5432
+ symbol: "OPaxl",
5433
+ address: "ibc/8F54CE650A35D2B04630DD57F91D6552E7FCA9002DBF1CFBA1254675C194C8C8"
5434
+ }
5435
+ ],
5436
+ stables: []
5437
+ },
5438
+ "migaloo-1": {
5439
+ top: [],
5440
+ stables: [
5441
+ {
5442
+ symbol: "USDC",
5443
+ address: "ibc/BC5C0BAFD19A5E4133FDA0F3E04AE1FBEE75A4A226554B2CBB021089FF2E1F8A"
5444
+ }
5445
+ ]
5446
+ },
5447
+ "neutron-1": {
5448
+ top: [
5449
+ {
5450
+ symbol: "AXL",
5451
+ address: "ibc/C0E66D1C81D8AAF0E6896E05190FDFBC222367148F86AC3EA679C28327A763CD"
5452
+ }
5453
+ ],
5454
+ stables: [
5455
+ {
5456
+ symbol: "USDC",
5457
+ address: "ibc/B559A80D62249C8AA07A380E2A2BEA6E5CA9A6F079C912C3A9E9B494105E4F81"
5458
+ }
5459
+ ]
5460
+ },
5461
+ "noble-1": {
5462
+ top: [],
5463
+ stables: [
5464
+ {
5465
+ symbol: "USDC",
5466
+ address: "uusdc"
5467
+ },
5468
+ {
5469
+ symbol: "USDY",
5470
+ address: "ausdy"
5471
+ }
5472
+ ]
5473
+ },
5474
+ "osmosis-1": {
5475
+ top: [
5476
+ {
5477
+ symbol: "AXL",
5478
+ address: "ibc/903A61A498756EA560B85A85132D3AEE21B5DEDD41213725D22ABF276EA6945E"
5479
+ }
5480
+ ],
5481
+ stables: [
5482
+ {
5483
+ symbol: "USDT",
5484
+ address: "ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB"
5485
+ },
5486
+ {
5487
+ symbol: "USDC",
5488
+ address: "ibc/498A0751C798A0D9A389AA3691123DADA57DAA4FE165D5C75894505B876BA6E4"
5489
+ },
5490
+ {
5491
+ symbol: "USDY",
5492
+ address: "ibc/23104D411A6EB6031FA92FB75F227422B84989969E91DCAD56A535DD7FF0A373"
5493
+ }
5494
+ ]
5495
+ },
5496
+ "phoenix-1": {
5497
+ top: [],
5498
+ stables: [
5499
+ {
5500
+ symbol: "USDC",
5501
+ address: "ibc/2C962DAB9F57FE0921435426AE75196009FAA1981BF86991203C8411F8980FDB"
5502
+ }
5503
+ ]
5504
+ },
5505
+ solana: {
5506
+ nativeAsset: {
5507
+ symbol: "SOL",
5508
+ address: "So11111111111111111111111111111111111111111"
5509
+ },
5510
+ top: [
5511
+ {
5512
+ symbol: "RENDER",
5513
+ address: "rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof"
5514
+ },
5515
+ {
5516
+ symbol: "SUSHI",
5517
+ address: "ChVzxWRmrTeSgwd3Ui3UumcN8KX7VK3WaD4KGeSKpypj"
5518
+ },
5519
+ {
5520
+ symbol: "ARB",
5521
+ address: "8LH3QMo7xkMJx85Kg4pfiQY1g1ZgiVEe1KktSpaT89mP"
5522
+ },
5523
+ {
5524
+ symbol: "cbBTC",
5525
+ address: "cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"
5526
+ },
5527
+ {
5528
+ symbol: "Bonk",
5529
+ address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
5530
+ }
5531
+ ],
5532
+ stables: [
5533
+ {
5534
+ symbol: "USDT",
5535
+ address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
5536
+ },
5537
+ {
5538
+ symbol: "USDC",
5539
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
5540
+ },
5541
+ {
5542
+ symbol: "USDe",
5543
+ address: "DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"
5544
+ },
5545
+ {
5546
+ symbol: "PYUSD",
5547
+ address: "2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"
5548
+ },
5549
+ {
5550
+ symbol: "FDUSD",
5551
+ address: "9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u"
5552
+ },
5553
+ {
5554
+ symbol: "USDS",
5555
+ address: "USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA"
5556
+ },
5557
+ {
5558
+ symbol: "EURC",
5559
+ address: "HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr"
5560
+ },
5561
+ {
5562
+ symbol: "USDP",
5563
+ address: "HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM"
5564
+ },
5565
+ {
5566
+ symbol: "USDY",
5567
+ address: "A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6"
5568
+ }
5569
+ ]
5570
+ },
5571
+ "ssc-1": {
5572
+ top: [
5573
+ {
5574
+ symbol: "UNI",
5575
+ address: "ibc/E4859520008F30CAB8A6548A390BC10C45F667A26A5A22D8891A79589DF57C41"
5576
+ }
5577
+ ],
5578
+ stables: [
5579
+ {
5580
+ symbol: "USDT",
5581
+ address: "ibc/B5F6DCC4FEF6BBBC356C67C46072AB3C01443FB5E3D19538C52A3CD439BE6BE3"
5582
+ },
5583
+ {
5584
+ symbol: "USDC",
5585
+ address: "ibc/37EF240838413BD7D3496183213F7F0F483EC7A330328F16AD901A1AC1450F72"
5586
+ },
5587
+ {
5588
+ symbol: "USDe",
5589
+ address: "ibc/23B8A6E4D4AD864A4DF7FBBC40818473691395EF9B6D8B8277037D536417768E"
5590
+ },
5591
+ {
5592
+ symbol: "USDY",
5593
+ address: "ibc/2115CC1B823DE5CC635692CB95E50E1C601A9B432703F7A611B4E492A914D968"
5594
+ }
5595
+ ]
5596
+ },
5597
+ "stargaze-1": {
5598
+ top: [],
5599
+ stables: [
5600
+ {
5601
+ symbol: "USDC",
5602
+ address: "ibc/4A1C18CA7F50544760CF306189B810CE4C1CB156C7FC870143D401FE7280E591"
5603
+ }
5604
+ ]
5605
+ },
5606
+ "umee-1": {
5607
+ top: [
5608
+ {
5609
+ symbol: "AXL",
5610
+ address: "ibc/D1CB2804AA5EB64D503F28E8DF3552F8A4D642802B66EFE50DE432B755F37AE1"
5611
+ }
5612
+ ],
5613
+ stables: []
5614
+ },
5615
+ "xion-mainnet-1": {
5616
+ top: [],
5617
+ stables: [
5618
+ {
5619
+ symbol: "USDC",
5620
+ address: "ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349"
5621
+ }
5622
+ ]
5623
+ },
5624
+ "solana-mainnet-beta": {
5625
+ nativeAsset: {
5626
+ symbol: "SOL",
5627
+ address: "So11111111111111111111111111111111111111111"
5628
+ },
5629
+ stables: [
5630
+ {
5631
+ symbol: "USDC",
5632
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
5633
+ },
5634
+ {
5635
+ symbol: "USDT",
5636
+ address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
5637
+ }
5638
+ ],
5639
+ top: [
5640
+ {
5641
+ symbol: "JUP",
5642
+ address: "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
5643
+ },
5644
+ {
5645
+ symbol: "BONK",
5646
+ address: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
5647
+ },
5648
+ {
5649
+ symbol: "WIF",
5650
+ address: "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm"
5651
+ },
5652
+ {
5653
+ symbol: "PYTH",
5654
+ address: "HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3"
5655
+ },
5656
+ {
5657
+ symbol: "RAY",
5658
+ address: "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"
5659
+ },
5660
+ {
5661
+ symbol: "JITO",
5662
+ address: "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"
5663
+ }
5664
+ ]
5665
+ }
5666
+ };
5667
+ }
5668
+ });
5669
+
4278
5670
  // src/core/useTokens.ts
4279
- import { useState as useState2, useEffect as useEffect3, useMemo as useMemo2 } from "react";
5671
+ import { useState as useState2, useEffect as useEffect3, useMemo as useMemo2, startTransition } from "react";
4280
5672
  function mapTokenDefToToken(tokenDef) {
4281
5673
  return {
4282
5674
  address: tokenDef.address,
@@ -4338,20 +5730,40 @@ function useTokens(chainId) {
4338
5730
  const filtered2 = tokenDefs.filter(
4339
5731
  (item) => chainMap.has(item.chainId.toString())
4340
5732
  );
4341
- setTokens(filtered2.map(mapTokenDefToToken));
5733
+ const mapped2 = filtered2.map(mapTokenDefToToken);
5734
+ startTransition(() => {
5735
+ setTokens(mapped2);
5736
+ });
5737
+ return;
5738
+ }
5739
+ if (!queryDependency) {
5740
+ await registry.ensureLoaded();
5741
+ if (cancelled) return;
5742
+ const tokenDefs = registry.tokens(chainId);
5743
+ const filtered2 = tokenDefs.filter(
5744
+ (item) => chainMap.has(item.chainId.toString())
5745
+ );
5746
+ const mapped2 = filtered2.map(mapTokenDefToToken);
5747
+ startTransition(() => {
5748
+ setTokens(mapped2);
5749
+ setHasNextPage(false);
5750
+ });
4342
5751
  return;
4343
5752
  }
4344
5753
  const page = await registry.tokensPage(chainId, {
4345
- q: queryDependency || void 0,
5754
+ q: queryDependency,
4346
5755
  limit: DEFAULT_PAGE_LIMIT
4347
5756
  });
4348
5757
  if (cancelled) return;
4349
5758
  const filtered = page.data.filter(
4350
5759
  (item) => chainMap.has(item.chainId.toString())
4351
5760
  );
4352
- setTokens(filtered.map(mapTokenDefToToken));
4353
- setNextCursor(page.pageInfo.nextCursor);
4354
- setHasNextPage(page.pageInfo.hasNextPage);
5761
+ const mapped = filtered.map(mapTokenDefToToken);
5762
+ startTransition(() => {
5763
+ setTokens(mapped);
5764
+ setNextCursor(page.pageInfo.nextCursor);
5765
+ setHasNextPage(page.pageInfo.hasNextPage);
5766
+ });
4355
5767
  } catch (err) {
4356
5768
  if (!cancelled) {
4357
5769
  const message = err instanceof Error ? err.message : "Failed to load tokens";
@@ -4397,13 +5809,68 @@ function useTokens(chainId) {
4397
5809
  setIsLoadingMore(false);
4398
5810
  }
4399
5811
  };
5812
+ const chainFeatured = useMemo2(() => {
5813
+ const key = chainId?.toString() ?? "";
5814
+ return FEATURED[key] ?? null;
5815
+ }, [chainId]);
5816
+ const nativeAddresses = useMemo2(() => {
5817
+ const set = new Set(BASE_NATIVE_ADDRESSES);
5818
+ if (chainFeatured?.nativeAsset?.address) {
5819
+ set.add(chainFeatured.nativeAsset.address.toLowerCase());
5820
+ }
5821
+ return set;
5822
+ }, [chainFeatured]);
5823
+ const nativeSymbols = useMemo2(() => {
5824
+ const symbols = /* @__PURE__ */ new Set();
5825
+ if (chainFeatured?.nativeAsset?.symbol) {
5826
+ symbols.add(chainFeatured.nativeAsset.symbol.toUpperCase());
5827
+ }
5828
+ if (chainId) {
5829
+ const chainDef = chainMap.get(chainId.toString());
5830
+ const sym = chainDef?.nativeCurrency?.symbol;
5831
+ if (sym) symbols.add(sym.toUpperCase());
5832
+ }
5833
+ return symbols;
5834
+ }, [chainId, chainMap, chainFeatured]);
5835
+ const featuredAddresses = useMemo2(() => {
5836
+ if (!chainFeatured) return /* @__PURE__ */ new Map();
5837
+ const map = /* @__PURE__ */ new Map();
5838
+ let order = 0;
5839
+ for (const s of chainFeatured.stables)
5840
+ map.set(s.address.toLowerCase(), order++);
5841
+ for (const t of chainFeatured.top)
5842
+ map.set(t.address.toLowerCase(), order++);
5843
+ return map;
5844
+ }, [chainFeatured]);
5845
+ const featuredSymbols = useMemo2(() => {
5846
+ if (!chainFeatured) return /* @__PURE__ */ new Map();
5847
+ const map = /* @__PURE__ */ new Map();
5848
+ let order = 0;
5849
+ for (const s of chainFeatured.stables)
5850
+ map.set(s.symbol.toUpperCase(), order++);
5851
+ for (const t of chainFeatured.top) map.set(t.symbol.toUpperCase(), order++);
5852
+ return map;
5853
+ }, [chainFeatured]);
4400
5854
  const filteredTokens = useMemo2(() => {
4401
5855
  const query = searchQuery.toLowerCase().trim();
4402
5856
  const source = query.length === 0 || tokensPaginationEnabled ? tokens : tokens.filter(
4403
5857
  (token) => token.symbol.toLowerCase().includes(query) || token.name.toLowerCase().includes(query) || token.address.toLowerCase().includes(query)
4404
5858
  );
4405
- return sortTokensByPopularity(source);
4406
- }, [tokens, searchQuery, tokensPaginationEnabled]);
5859
+ return sortTokensByPopularity(source, {
5860
+ nativeAddresses,
5861
+ nativeSymbols,
5862
+ featuredAddresses,
5863
+ featuredSymbols
5864
+ });
5865
+ }, [
5866
+ tokens,
5867
+ searchQuery,
5868
+ tokensPaginationEnabled,
5869
+ nativeAddresses,
5870
+ nativeSymbols,
5871
+ featuredAddresses,
5872
+ featuredSymbols
5873
+ ]);
4407
5874
  return {
4408
5875
  tokens,
4409
5876
  filteredTokens,
@@ -4416,7 +5883,7 @@ function useTokens(chainId) {
4416
5883
  isLoadingMore
4417
5884
  };
4418
5885
  }
4419
- var DEFAULT_PAGE_LIMIT;
5886
+ var FEATURED, BASE_NATIVE_ADDRESSES, DEFAULT_PAGE_LIMIT;
4420
5887
  var init_useTokens = __esm({
4421
5888
  "src/core/useTokens.ts"() {
4422
5889
  "use strict";
@@ -4424,6 +5891,15 @@ var init_useTokens = __esm({
4424
5891
  init_useChains();
4425
5892
  init_tokenPopularity();
4426
5893
  init_store();
5894
+ init_chainHelpers();
5895
+ init_featuredAssets();
5896
+ FEATURED = featuredAssets_default;
5897
+ BASE_NATIVE_ADDRESSES = /* @__PURE__ */ new Set([
5898
+ NATIVE_EVM2.toLowerCase(),
5899
+ NATIVE_SOLANA2.toLowerCase(),
5900
+ // Some EVM chains (e.g. ZKsync) use the zero address for the native token
5901
+ "0x0000000000000000000000000000000000000000"
5902
+ ]);
4427
5903
  DEFAULT_PAGE_LIMIT = 100;
4428
5904
  }
4429
5905
  });
@@ -4575,7 +6051,7 @@ function resolveConfig(input) {
4575
6051
  ...input.routes.options
4576
6052
  }
4577
6053
  };
4578
- const theme = deepMerge(DEFAULT_THEME, input.theme);
6054
+ const theme = input.theme ?? "system";
4579
6055
  const messages = deepMerge(DEFAULT_MESSAGES, input.messages);
4580
6056
  const retry = {
4581
6057
  autoRetry: input.retry?.autoRetry ?? DEFAULT_RETRY_CONFIG.autoRetry,
@@ -4653,10 +6129,7 @@ var init_store = __esm({
4653
6129
  ...this._cfg,
4654
6130
  ...patch,
4655
6131
  routes: { ...this._cfg.routes, ...patch.routes ?? {} },
4656
- theme: {
4657
- ...this._cfg.theme,
4658
- ...patch.theme ?? {}
4659
- },
6132
+ theme: patch.theme ?? this._cfg.theme,
4660
6133
  messages: {
4661
6134
  ...this._cfg.messages,
4662
6135
  ...patch.messages ?? {}