thirdweb 5.88.6-nightly-b182302f590e75c9881cebd0ca1cc8b1425d50b8-20250218000338 → 5.88.7

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 (34) hide show
  1. package/dist/cjs/adapters/viem.js +110 -0
  2. package/dist/cjs/adapters/viem.js.map +1 -1
  3. package/dist/cjs/chains/chain-definitions/arbitrum-nova.js +1 -1
  4. package/dist/cjs/chains/chain-definitions/arbitrum-nova.js.map +1 -1
  5. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +6 -15
  6. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  7. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.js +36 -5
  8. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.js.map +1 -1
  9. package/dist/cjs/version.js +1 -1
  10. package/dist/cjs/version.js.map +1 -1
  11. package/dist/esm/adapters/viem.js +110 -0
  12. package/dist/esm/adapters/viem.js.map +1 -1
  13. package/dist/esm/chains/chain-definitions/arbitrum-nova.js +1 -1
  14. package/dist/esm/chains/chain-definitions/arbitrum-nova.js.map +1 -1
  15. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +6 -15
  16. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  17. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.js +36 -5
  18. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.js.map +1 -1
  19. package/dist/esm/version.js +1 -1
  20. package/dist/esm/version.js.map +1 -1
  21. package/dist/types/adapters/viem.d.ts +65 -1
  22. package/dist/types/adapters/viem.d.ts.map +1 -1
  23. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.d.ts +1 -0
  24. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.d.ts.map +1 -1
  25. package/dist/types/version.d.ts +1 -1
  26. package/dist/types/version.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/adapters/viem-legacy.test.ts +159 -0
  29. package/src/adapters/viem.test.ts +30 -14
  30. package/src/adapters/viem.ts +132 -1
  31. package/src/chains/chain-definitions/arbitrum-nova.ts +1 -1
  32. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +7 -21
  33. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/TokenSelectorScreen.tsx +96 -31
  34. package/src/version.ts +1 -1
@@ -1,2 +1,2 @@
1
- export declare const version = "5.88.6-nightly-b182302f590e75c9881cebd0ca1cc8b1425d50b8-20250218000338";
1
+ export declare const version = "5.88.7";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,2EAA2E,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.88.6-nightly-b182302f590e75c9881cebd0ca1cc8b1425d50b8-20250218000338",
3
+ "version": "5.88.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -0,0 +1,159 @@
1
+ import type { Account as ViemAccount } from "viem";
2
+ import { privateKeyToAccount as viemPrivateKeyToAccount } from "viem/accounts";
3
+ import { beforeAll, describe, expect, test } from "vitest";
4
+ import { USDT_ABI } from "~test/abis/usdt.js";
5
+ import {
6
+ USDT_CONTRACT_ADDRESS,
7
+ USDT_CONTRACT_WITH_ABI,
8
+ } from "~test/test-contracts.js";
9
+ import { ANVIL_PKEY_A, TEST_ACCOUNT_B } from "~test/test-wallets.js";
10
+ import { typedData } from "~test/typed-data.js";
11
+
12
+ import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js";
13
+ import { TEST_CLIENT } from "../../test/src/test-clients.js";
14
+ import { randomBytesBuffer } from "../utils/random.js";
15
+ import { privateKeyToAccount } from "../wallets/private-key.js";
16
+ import { toViemContract, viemAdapter } from "./viem.js";
17
+
18
+ const account = privateKeyToAccount({
19
+ privateKey: ANVIL_PKEY_A,
20
+ client: TEST_CLIENT,
21
+ });
22
+
23
+ describe("walletClient.toViem", () => {
24
+ let walletClient: ReturnType<typeof viemAdapter.walletClient.toViem>;
25
+
26
+ beforeAll(() => {
27
+ walletClient = viemAdapter.walletClient.toViem({
28
+ client: TEST_CLIENT,
29
+ account,
30
+ chain: ANVIL_CHAIN,
31
+ });
32
+ });
33
+
34
+ test("should return an viem wallet client", async () => {
35
+ expect(walletClient).toBeDefined();
36
+ expect(walletClient.signMessage).toBeDefined();
37
+ });
38
+
39
+ test("should sign message", async () => {
40
+ if (!walletClient.account) {
41
+ throw new Error("Account not found");
42
+ }
43
+ const expectedSig = await account.signMessage({ message: "hello world" });
44
+ const sig = await walletClient.signMessage({
45
+ account: walletClient.account,
46
+ message: "hello world",
47
+ });
48
+ expect(sig).toBe(expectedSig);
49
+ });
50
+
51
+ test("should sign raw message", async () => {
52
+ if (!walletClient.account) {
53
+ throw new Error("Account not found");
54
+ }
55
+ const bytes = randomBytesBuffer(32);
56
+ const expectedSig = await account.signMessage({ message: { raw: bytes } });
57
+ const sig = await walletClient.signMessage({
58
+ account: walletClient.account,
59
+ message: { raw: bytes },
60
+ });
61
+ expect(sig).toBe(expectedSig);
62
+ });
63
+
64
+ test("should sign typed data", async () => {
65
+ expect(walletClient.signTypedData).toBeDefined();
66
+
67
+ if (!walletClient.account) {
68
+ throw new Error("Account not found");
69
+ }
70
+
71
+ const signature = await walletClient.signTypedData({
72
+ ...typedData.basic,
73
+ primaryType: "Mail",
74
+ account: walletClient.account,
75
+ });
76
+
77
+ expect(signature).toMatchInlineSnapshot(
78
+ `"0x32f3d5975ba38d6c2fba9b95d5cbed1febaa68003d3d588d51f2de522ad54117760cfc249470a75232552e43991f53953a3d74edf6944553c6bef2469bb9e5921b"`,
79
+ );
80
+ });
81
+
82
+ test("should contain a json-rpc account", async () => {
83
+ expect(walletClient.account?.type).toBe("json-rpc");
84
+ });
85
+
86
+ test("should send a transaction", async () => {
87
+ if (!walletClient.account) {
88
+ throw new Error("Account not found");
89
+ }
90
+
91
+ const txHash = await walletClient.sendTransaction({
92
+ account: walletClient.account,
93
+ chain: {
94
+ id: ANVIL_CHAIN.id,
95
+ name: ANVIL_CHAIN.name || "",
96
+ rpcUrls: {
97
+ default: { http: [ANVIL_CHAIN.rpc] },
98
+ },
99
+ nativeCurrency: {
100
+ name: ANVIL_CHAIN.nativeCurrency?.name || "Ether",
101
+ symbol: ANVIL_CHAIN.nativeCurrency?.symbol || "ETH",
102
+ decimals: ANVIL_CHAIN.nativeCurrency?.decimals || 18,
103
+ },
104
+ },
105
+ to: TEST_ACCOUNT_B.address,
106
+ value: 10n,
107
+ });
108
+ expect(txHash).toBeDefined();
109
+ expect(txHash.slice(0, 2)).toBe("0x");
110
+ });
111
+
112
+ test("should get address on live chain", async () => {
113
+ walletClient = viemAdapter.walletClient.toViem({
114
+ client: TEST_CLIENT,
115
+ account,
116
+ chain: FORKED_ETHEREUM_CHAIN,
117
+ });
118
+
119
+ const address = await walletClient.getAddresses();
120
+ expect(address[0]).toBeDefined();
121
+ expect(address[0]).toBe(account.address);
122
+ });
123
+
124
+ test("should match thirdweb account signature", async () => {
125
+ const message = "testing123";
126
+
127
+ const rawViemAccount = viemPrivateKeyToAccount(ANVIL_PKEY_A);
128
+ const twSignature = await account.signMessage({ message });
129
+ const viemTwSignature = await walletClient.signMessage({
130
+ message,
131
+ account: walletClient.account as ViemAccount,
132
+ });
133
+ const viemSignature = await rawViemAccount.signMessage({ message });
134
+
135
+ expect(viemSignature).toEqual(twSignature);
136
+ expect(viemTwSignature).toEqual(twSignature);
137
+ });
138
+
139
+ test("should convert thirdweb contract to viem contract", async () => {
140
+ const result = await toViemContract({
141
+ thirdwebContract: USDT_CONTRACT_WITH_ABI,
142
+ });
143
+ expect(result.abi).toEqual(USDT_ABI);
144
+ expect(result.address).toBe(USDT_CONTRACT_ADDRESS);
145
+ });
146
+
147
+ test("should throw when switching chain", async () => {
148
+ await expect(
149
+ walletClient.switchChain({
150
+ id: FORKED_ETHEREUM_CHAIN.id,
151
+ }),
152
+ ).rejects.toThrowErrorMatchingInlineSnapshot(`
153
+ [UnknownRpcError: An unknown RPC error occurred.
154
+
155
+ Details: Can't switch chains because only an account was passed to 'viemAdapter.walletClient.toViem()', please pass a connected wallet instance instead.
156
+ Version: viem@2.22.17]
157
+ `);
158
+ });
159
+ });
@@ -6,27 +6,26 @@ import {
6
6
  USDT_CONTRACT_ADDRESS,
7
7
  USDT_CONTRACT_WITH_ABI,
8
8
  } from "~test/test-contracts.js";
9
- import { ANVIL_PKEY_A, TEST_ACCOUNT_B } from "~test/test-wallets.js";
9
+ import {
10
+ ANVIL_PKEY_A,
11
+ TEST_ACCOUNT_B,
12
+ TEST_IN_APP_WALLET_A,
13
+ } from "~test/test-wallets.js";
10
14
  import { typedData } from "~test/typed-data.js";
11
-
12
15
  import { ANVIL_CHAIN, FORKED_ETHEREUM_CHAIN } from "../../test/src/chains.js";
13
16
  import { TEST_CLIENT } from "../../test/src/test-clients.js";
14
17
  import { randomBytesBuffer } from "../utils/random.js";
15
- import { privateKeyToAccount } from "../wallets/private-key.js";
16
18
  import { toViemContract, viemAdapter } from "./viem.js";
17
19
 
18
- const account = privateKeyToAccount({
19
- privateKey: ANVIL_PKEY_A,
20
- client: TEST_CLIENT,
21
- });
20
+ const wallet = TEST_IN_APP_WALLET_A;
22
21
 
23
22
  describe("walletClient.toViem", () => {
24
- let walletClient: ReturnType<typeof viemAdapter.walletClient.toViem>;
23
+ let walletClient: ReturnType<typeof viemAdapter.wallet.toViem>;
25
24
 
26
25
  beforeAll(() => {
27
- walletClient = viemAdapter.walletClient.toViem({
26
+ walletClient = viemAdapter.wallet.toViem({
28
27
  client: TEST_CLIENT,
29
- account,
28
+ wallet,
30
29
  chain: ANVIL_CHAIN,
31
30
  });
32
31
  });
@@ -37,7 +36,8 @@ describe("walletClient.toViem", () => {
37
36
  });
38
37
 
39
38
  test("should sign message", async () => {
40
- if (!walletClient.account) {
39
+ const account = wallet.getAccount();
40
+ if (!walletClient.account || !account) {
41
41
  throw new Error("Account not found");
42
42
  }
43
43
  const expectedSig = await account.signMessage({ message: "hello world" });
@@ -49,7 +49,8 @@ describe("walletClient.toViem", () => {
49
49
  });
50
50
 
51
51
  test("should sign raw message", async () => {
52
- if (!walletClient.account) {
52
+ const account = wallet.getAccount();
53
+ if (!walletClient.account || !account) {
53
54
  throw new Error("Account not found");
54
55
  }
55
56
  const bytes = randomBytesBuffer(32);
@@ -110,12 +111,16 @@ describe("walletClient.toViem", () => {
110
111
  });
111
112
 
112
113
  test("should get address on live chain", async () => {
113
- walletClient = viemAdapter.walletClient.toViem({
114
+ walletClient = viemAdapter.wallet.toViem({
114
115
  client: TEST_CLIENT,
115
- account,
116
+ wallet,
116
117
  chain: FORKED_ETHEREUM_CHAIN,
117
118
  });
118
119
 
120
+ const account = wallet.getAccount();
121
+ if (!walletClient.account || !account) {
122
+ throw new Error("Account not found");
123
+ }
119
124
  const address = await walletClient.getAddresses();
120
125
  expect(address[0]).toBeDefined();
121
126
  expect(address[0]).toBe(account.address);
@@ -123,6 +128,10 @@ describe("walletClient.toViem", () => {
123
128
 
124
129
  test("should match thirdweb account signature", async () => {
125
130
  const message = "testing123";
131
+ const account = wallet.getAccount();
132
+ if (!walletClient.account || !account) {
133
+ throw new Error("Account not found");
134
+ }
126
135
 
127
136
  const rawViemAccount = viemPrivateKeyToAccount(ANVIL_PKEY_A);
128
137
  const twSignature = await account.signMessage({ message });
@@ -143,4 +152,11 @@ describe("walletClient.toViem", () => {
143
152
  expect(result.abi).toEqual(USDT_ABI);
144
153
  expect(result.address).toBe(USDT_CONTRACT_ADDRESS);
145
154
  });
155
+
156
+ test("should switch chain", async () => {
157
+ await walletClient.switchChain({
158
+ id: FORKED_ETHEREUM_CHAIN.id,
159
+ });
160
+ expect(await walletClient.getChainId()).toBe(FORKED_ETHEREUM_CHAIN.id);
161
+ });
146
162
  });
@@ -20,7 +20,9 @@ import { estimateGas } from "../transaction/actions/estimate-gas.js";
20
20
  import { sendTransaction } from "../transaction/actions/send-transaction.js";
21
21
  import { prepareTransaction } from "../transaction/prepare-transaction.js";
22
22
  import { getAddress } from "../utils/address.js";
23
- import type { Account } from "../wallets/interfaces/wallet.js";
23
+ import type { Account, Wallet } from "../wallets/interfaces/wallet.js";
24
+ import { fromProvider } from "./eip1193/from-eip1193.js";
25
+ import { toProvider } from "./eip1193/to-eip1193.js";
24
26
 
25
27
  /**
26
28
  * Converts thirdweb accounts and contracts to viem wallet clients and contract objects or the other way around.
@@ -149,6 +151,7 @@ export const viemAdapter = {
149
151
  * walletClient,
150
152
  * });
151
153
  * ```
154
+ * @deprecated use viemAdapter.wallet instead
152
155
  */
153
156
  walletClient: {
154
157
  /**
@@ -161,6 +164,7 @@ export const viemAdapter = {
161
164
  * import { viemAdapter } from "thirdweb/adapters";
162
165
  * const walletClient = viemAdapter.walletClient.toViem({ account, client, chain });
163
166
  * ```
167
+ * @deprecated use viemAdapter.wallet instead
164
168
  */
165
169
  toViem: toViemWalletClient,
166
170
  /**
@@ -173,9 +177,62 @@ export const viemAdapter = {
173
177
  * import { viemAdapter } from "thirdweb/adapters";
174
178
  * const account = viemAdapter.walletClient.fromViem({ walletClient });
175
179
  * ```
180
+ * @deprecated use viemAdapter.wallet instead
176
181
  */
177
182
  fromViem: fromViemWalletClient,
178
183
  },
184
+ /**
185
+ * Converts a thirdweb account to a Viem Wallet client or the other way around.
186
+ * @param options - The options for creating the Viem Wallet client.
187
+ * @returns The Viem Wallet client.
188
+ * @example
189
+ *
190
+ * ### toViem
191
+ * ```ts
192
+ * import { viemAdapter } from "thirdweb/adapters/viem";
193
+ *
194
+ * const walletClient = viemAdapter.wallet.toViem({
195
+ * wallet,
196
+ * client,
197
+ * chain: ethereum,
198
+ * });
199
+ * ```
200
+ *
201
+ * ### fromViem
202
+ * ```ts
203
+ * import { viemAdapter } from "thirdweb/adapters";
204
+ *
205
+ * const wallet = viemAdapter.wallet.fromViem({
206
+ * walletClient,
207
+ * });
208
+ * ```
209
+ */
210
+ wallet: {
211
+ /**
212
+ * Converts a Thirdweb wallet to a Viem wallet client.
213
+ * @param options - The options for converting a Thirdweb wallet to a Viem wallet client.
214
+ * @param options.wallet - The Thirdweb wallet to convert.
215
+ * @returns A Promise that resolves to a Viem wallet client.
216
+ * @example
217
+ * ```ts
218
+ * import { viemAdapter } from "thirdweb/adapters";
219
+ * const walletClient = viemAdapter.wallet.toViem({ wallet, client, chain });
220
+ * ```
221
+ */
222
+ toViem: walletToViem,
223
+ /**
224
+ * Converts a Viem wallet client to a Thirdweb wallet.
225
+ * @param options - The options for converting a Viem wallet client to a Thirdweb wallet.
226
+ * @param options.walletClient - The Viem wallet client to convert.
227
+ * @returns A Promise that resolves to a Thirdweb wallet.
228
+ * @example
229
+ * ```ts
230
+ * import { viemAdapter } from "thirdweb/adapters";
231
+ * const wallet = viemAdapter.wallet.fromViem({ walletClient });
232
+ * ```
233
+ */
234
+ fromViem: walletFromViem,
235
+ },
179
236
  };
180
237
 
181
238
  type FromViemContractOptions<TAbi extends Abi> = {
@@ -247,6 +304,7 @@ type ToViemWalletClientOptions = {
247
304
  chain: Chain;
248
305
  };
249
306
 
307
+ // DEPRECATED
250
308
  function toViemWalletClient(options: ToViemWalletClientOptions): WalletClient {
251
309
  const { account, chain, client } = options;
252
310
  if (!account) {
@@ -305,6 +363,14 @@ function toViemWalletClient(options: ToViemWalletClientOptions): WalletClient {
305
363
  if (request.method === "eth_accounts") {
306
364
  return [account.address];
307
365
  }
366
+ if (
367
+ request.method === "wallet_switchEthereumChain" ||
368
+ request.method === "wallet_addEthereumChain"
369
+ ) {
370
+ throw new Error(
371
+ "Can't switch chains because only an account was passed to 'viemAdapter.walletClient.toViem()', please pass a connected wallet instance instead.",
372
+ );
373
+ }
308
374
  return rpcClient(request);
309
375
  },
310
376
  });
@@ -317,6 +383,7 @@ function toViemWalletClient(options: ToViemWalletClientOptions): WalletClient {
317
383
  });
318
384
  }
319
385
 
386
+ // DEPRECATED
320
387
  function fromViemWalletClient(options: {
321
388
  walletClient: WalletClient;
322
389
  }): Account {
@@ -355,3 +422,67 @@ function fromViemWalletClient(options: {
355
422
  },
356
423
  };
357
424
  }
425
+
426
+ type WalletToViemOptions = {
427
+ client: ThirdwebClient;
428
+ chain: Chain;
429
+ wallet: Wallet;
430
+ };
431
+
432
+ function walletToViem(options: WalletToViemOptions): WalletClient {
433
+ const { wallet, chain, client } = options;
434
+
435
+ if (!wallet.getAccount()) {
436
+ throw new Error("Wallet is not connected.");
437
+ }
438
+
439
+ const rpcUrl = getRpcUrlForChain({ chain, client });
440
+ const viemChain: ViemChain = {
441
+ id: chain.id,
442
+ name: chain.name || "",
443
+ rpcUrls: {
444
+ default: { http: [rpcUrl] },
445
+ },
446
+ nativeCurrency: {
447
+ name: chain.nativeCurrency?.name || "Ether",
448
+ symbol: chain.nativeCurrency?.symbol || "ETH",
449
+ decimals: chain.nativeCurrency?.decimals || 18,
450
+ },
451
+ };
452
+
453
+ const eip1193Provider = toProvider({
454
+ chain,
455
+ client,
456
+ wallet,
457
+ });
458
+ return createWalletClient({
459
+ transport: custom({
460
+ request: (request) => eip1193Provider.request(request),
461
+ }),
462
+ account: wallet.getAccount()?.address,
463
+ chain: viemChain,
464
+ key: "thirdweb-wallet",
465
+ });
466
+ }
467
+
468
+ function walletFromViem(options: {
469
+ walletClient: WalletClient;
470
+ }): Wallet {
471
+ const viemAccount = options.walletClient.account;
472
+ if (!viemAccount) {
473
+ throw new Error(
474
+ "Account not found in walletClient, please pass it explicitly.",
475
+ );
476
+ }
477
+
478
+ const wallet = fromProvider({
479
+ provider: {
480
+ request: (request) => options.walletClient.request(request),
481
+ on: () => {},
482
+ removeListener: () => {},
483
+ },
484
+ walletId: "adapter",
485
+ });
486
+
487
+ return wallet;
488
+ }
@@ -10,7 +10,7 @@ export const arbitrumNova = /* @__PURE__ */ defineChain({
10
10
  blockExplorers: [
11
11
  {
12
12
  name: "Arbiscan",
13
- url: "https://nova-explorer.arbitrum.io/",
13
+ url: "https://nova.arbiscan.io/",
14
14
  },
15
15
  ],
16
16
  });
@@ -558,6 +558,7 @@ function BuyScreenContent(props: BuyScreenContentProps) {
558
558
  supportedSourcesQuery.data &&
559
559
  sourceSupportedTokens && (
560
560
  <TokenSelectorScreen
561
+ fiatSupported={props.payOptions.buyWithFiat !== false}
561
562
  client={props.client}
562
563
  sourceTokens={sourceSupportedTokens}
563
564
  sourceSupportedTokens={sourceSupportedTokens}
@@ -635,11 +636,7 @@ function SelectedTokenInfo(props: {
635
636
  placeholder="0"
636
637
  type="text"
637
638
  data-placeholder={props.tokenAmount === ""}
638
- value={
639
- props.tokenAmount
640
- ? formatNumber(Number(props.tokenAmount), 5)
641
- : "0"
642
- }
639
+ value={props.tokenAmount || "0"}
643
640
  disabled={props.disabled}
644
641
  onClick={(e) => {
645
642
  // put cursor at the end of the input
@@ -936,13 +933,15 @@ function createSupportedTokens(
936
933
  payOptions: PayUIOptions,
937
934
  supportedTokensOverrides?: SupportedTokens,
938
935
  ): SupportedTokens {
939
- const tokens: SupportedTokens = {};
936
+ // dev override
937
+ if (supportedTokensOverrides) {
938
+ return supportedTokensOverrides;
939
+ }
940
940
 
941
+ const tokens: SupportedTokens = {};
941
942
  const isBuyWithFiatDisabled = payOptions.buyWithFiat === false;
942
943
  const isBuyWithCryptoDisabled = payOptions.buyWithCrypto === false;
943
944
 
944
- // FIXME (pay) when buywithFiat is disabled, missing a bunch of tokens on base??
945
-
946
945
  for (const x of data) {
947
946
  tokens[x.chain.id] = x.tokens.filter((t) => {
948
947
  // for source tokens, data is not provided, so we include all of them
@@ -970,19 +969,6 @@ function createSupportedTokens(
970
969
  return true; // include the token
971
970
  });
972
971
  }
973
-
974
- // override with props.supportedTokens
975
- if (supportedTokensOverrides) {
976
- for (const k in supportedTokensOverrides) {
977
- const key = Number(k);
978
- const tokenList = supportedTokensOverrides[key];
979
-
980
- if (tokenList) {
981
- tokens[key] = tokenList;
982
- }
983
- }
984
- }
985
-
986
972
  return tokens;
987
973
  }
988
974