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