@trustware/sdk-staging 1.1.8-staging.7 → 1.1.9-staging.1

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