@metamask-previews/assets-controllers 59.0.0-preview-71c2f67 → 59.0.0-preview-83a6970d

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.
@@ -63,7 +63,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
63
63
  * @param options.state - Initial state to set on this controller.
64
64
  * @param options.messenger - The messenger.
65
65
  */
66
- constructor({ chainId: initialChainId, provider, state, messenger, }: {
66
+ constructor({ provider, state, messenger, }: {
67
67
  chainId: Hex;
68
68
  provider: Provider;
69
69
  state?: Partial<TokensControllerState>;
@@ -89,7 +89,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
89
89
  name?: string;
90
90
  image?: string;
91
91
  interactingAddress?: string;
92
- networkClientId?: NetworkClientId;
92
+ networkClientId: NetworkClientId;
93
93
  }): Promise<Token[]>;
94
94
  /**
95
95
  * Add a batch of tokens.
@@ -97,14 +97,14 @@ export declare class TokensController extends BaseController<typeof controllerNa
97
97
  * @param tokensToImport - Array of tokens to import.
98
98
  * @param networkClientId - Optional network client ID used to determine interacting chain ID.
99
99
  */
100
- addTokens(tokensToImport: Token[], networkClientId?: NetworkClientId): Promise<void>;
100
+ addTokens(tokensToImport: Token[], networkClientId: NetworkClientId): Promise<void>;
101
101
  /**
102
102
  * Ignore a batch of tokens.
103
103
  *
104
104
  * @param tokenAddressesToIgnore - Array of token addresses to ignore.
105
105
  * @param networkClientId - Optional network client ID used to determine interacting chain ID.
106
106
  */
107
- ignoreTokens(tokenAddressesToIgnore: string[], networkClientId?: NetworkClientId): void;
107
+ ignoreTokens(tokenAddressesToIgnore: string[], networkClientId: NetworkClientId): void;
108
108
  /**
109
109
  * Adds a batch of detected tokens to the stored token list.
110
110
  *
@@ -113,8 +113,8 @@ export declare class TokensController extends BaseController<typeof controllerNa
113
113
  * @param detectionDetails.selectedAddress - the account address on which the incomingDetectedTokens were detected.
114
114
  * @param detectionDetails.chainId - the chainId on which the incomingDetectedTokens were detected.
115
115
  */
116
- addDetectedTokens(incomingDetectedTokens: Token[], detectionDetails?: {
117
- selectedAddress: string;
116
+ addDetectedTokens(incomingDetectedTokens: Token[], detectionDetails: {
117
+ selectedAddress?: string;
118
118
  chainId: Hex;
119
119
  }): Promise<void>;
120
120
  /**
@@ -122,9 +122,10 @@ export declare class TokensController extends BaseController<typeof controllerNa
122
122
  * were previously added which do not yet had isERC721 field.
123
123
  *
124
124
  * @param tokenAddress - The contract address of the token requiring the isERC721 field added.
125
+ * @param networkClientId - The network client ID of the network on which the token is detected.
125
126
  * @returns The new token object with the added isERC721 field.
126
127
  */
127
- updateTokenType(tokenAddress: string): Promise<{
128
+ updateTokenType(tokenAddress: string, networkClientId: NetworkClientId): Promise<{
128
129
  isERC721: any;
129
130
  address: string;
130
131
  decimals: number;
@@ -149,7 +150,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
149
150
  asset: Token;
150
151
  type: string;
151
152
  interactingAddress?: string;
152
- networkClientId?: NetworkClientId;
153
+ networkClientId: NetworkClientId;
153
154
  }): Promise<void>;
154
155
  /**
155
156
  * Removes all tokens from the ignored list.
@@ -1 +1 @@
1
- {"version":3,"file":"TokensController.d.cts","sourceRoot":"","sources":["../src/TokensController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokensController.d.cts","sourceRoot":"","sources":["../src/TokensController.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
63
63
  * @param options.state - Initial state to set on this controller.
64
64
  * @param options.messenger - The messenger.
65
65
  */
66
- constructor({ chainId: initialChainId, provider, state, messenger, }: {
66
+ constructor({ provider, state, messenger, }: {
67
67
  chainId: Hex;
68
68
  provider: Provider;
69
69
  state?: Partial<TokensControllerState>;
@@ -89,7 +89,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
89
89
  name?: string;
90
90
  image?: string;
91
91
  interactingAddress?: string;
92
- networkClientId?: NetworkClientId;
92
+ networkClientId: NetworkClientId;
93
93
  }): Promise<Token[]>;
94
94
  /**
95
95
  * Add a batch of tokens.
@@ -97,14 +97,14 @@ export declare class TokensController extends BaseController<typeof controllerNa
97
97
  * @param tokensToImport - Array of tokens to import.
98
98
  * @param networkClientId - Optional network client ID used to determine interacting chain ID.
99
99
  */
100
- addTokens(tokensToImport: Token[], networkClientId?: NetworkClientId): Promise<void>;
100
+ addTokens(tokensToImport: Token[], networkClientId: NetworkClientId): Promise<void>;
101
101
  /**
102
102
  * Ignore a batch of tokens.
103
103
  *
104
104
  * @param tokenAddressesToIgnore - Array of token addresses to ignore.
105
105
  * @param networkClientId - Optional network client ID used to determine interacting chain ID.
106
106
  */
107
- ignoreTokens(tokenAddressesToIgnore: string[], networkClientId?: NetworkClientId): void;
107
+ ignoreTokens(tokenAddressesToIgnore: string[], networkClientId: NetworkClientId): void;
108
108
  /**
109
109
  * Adds a batch of detected tokens to the stored token list.
110
110
  *
@@ -113,8 +113,8 @@ export declare class TokensController extends BaseController<typeof controllerNa
113
113
  * @param detectionDetails.selectedAddress - the account address on which the incomingDetectedTokens were detected.
114
114
  * @param detectionDetails.chainId - the chainId on which the incomingDetectedTokens were detected.
115
115
  */
116
- addDetectedTokens(incomingDetectedTokens: Token[], detectionDetails?: {
117
- selectedAddress: string;
116
+ addDetectedTokens(incomingDetectedTokens: Token[], detectionDetails: {
117
+ selectedAddress?: string;
118
118
  chainId: Hex;
119
119
  }): Promise<void>;
120
120
  /**
@@ -122,9 +122,10 @@ export declare class TokensController extends BaseController<typeof controllerNa
122
122
  * were previously added which do not yet had isERC721 field.
123
123
  *
124
124
  * @param tokenAddress - The contract address of the token requiring the isERC721 field added.
125
+ * @param networkClientId - The network client ID of the network on which the token is detected.
125
126
  * @returns The new token object with the added isERC721 field.
126
127
  */
127
- updateTokenType(tokenAddress: string): Promise<{
128
+ updateTokenType(tokenAddress: string, networkClientId: NetworkClientId): Promise<{
128
129
  isERC721: any;
129
130
  address: string;
130
131
  decimals: number;
@@ -149,7 +150,7 @@ export declare class TokensController extends BaseController<typeof controllerNa
149
150
  asset: Token;
150
151
  type: string;
151
152
  interactingAddress?: string;
152
- networkClientId?: NetworkClientId;
153
+ networkClientId: NetworkClientId;
153
154
  }): Promise<void>;
154
155
  /**
155
156
  * Removes all tokens from the ignored list.
@@ -1 +1 @@
1
- {"version":3,"file":"TokensController.d.mts","sourceRoot":"","sources":["../src/TokensController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokensController.d.mts","sourceRoot":"","sources":["../src/TokensController.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _TokensController_instances, _TokensController_mutex, _TokensController_chainId, _TokensController_selectedAccountId, _TokensController_provider, _TokensController_abortController, _TokensController_onNetworkDidChange, _TokensController_onNetworkStateChange, _TokensController_onSelectedAccountChange, _TokensController_fetchTokenMetadata, _TokensController_detectIsERC721, _TokensController_getProvider, _TokensController_createEthersContract, _TokensController_generateRandomId, _TokensController_getNewAllTokensState, _TokensController_getAddressOrSelectedAddress, _TokensController_requestApproval, _TokensController_getSelectedAccount, _TokensController_getSelectedAddress;
12
+ var _TokensController_instances, _TokensController_mutex, _TokensController_selectedAccountId, _TokensController_provider, _TokensController_abortController, _TokensController_onNetworkStateChange, _TokensController_onSelectedAccountChange, _TokensController_fetchTokenMetadata, _TokensController_detectIsERC721, _TokensController_getProvider, _TokensController_createEthersContract, _TokensController_generateRandomId, _TokensController_getNewAllTokensState, _TokensController_getAddressOrSelectedAddress, _TokensController_requestApproval, _TokensController_getSelectedAccount, _TokensController_getSelectedAddress;
13
13
  function $importDefault(module) {
14
14
  if (module?.__esModule) {
15
15
  return module.default;
@@ -66,7 +66,7 @@ export class TokensController extends BaseController {
66
66
  * @param options.state - Initial state to set on this controller.
67
67
  * @param options.messenger - The messenger.
68
68
  */
69
- constructor({ chainId: initialChainId, provider, state, messenger, }) {
69
+ constructor({ provider, state, messenger, }) {
70
70
  super({
71
71
  name: controllerName,
72
72
  metadata,
@@ -78,17 +78,14 @@ export class TokensController extends BaseController {
78
78
  });
79
79
  _TokensController_instances.add(this);
80
80
  _TokensController_mutex.set(this, new Mutex());
81
- _TokensController_chainId.set(this, void 0);
82
81
  _TokensController_selectedAccountId.set(this, void 0);
83
82
  _TokensController_provider.set(this, void 0);
84
83
  _TokensController_abortController.set(this, void 0);
85
- __classPrivateFieldSet(this, _TokensController_chainId, initialChainId, "f");
86
84
  __classPrivateFieldSet(this, _TokensController_provider, provider, "f");
87
85
  __classPrivateFieldSet(this, _TokensController_selectedAccountId, __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAccount).call(this).id, "f");
88
86
  __classPrivateFieldSet(this, _TokensController_abortController, new AbortController(), "f");
89
87
  this.messagingSystem.registerActionHandler(`${controllerName}:addDetectedTokens`, this.addDetectedTokens.bind(this));
90
88
  this.messagingSystem.subscribe('AccountsController:selectedEvmAccountChange', __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_onSelectedAccountChange).bind(this));
91
- this.messagingSystem.subscribe('NetworkController:networkDidChange', __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_onNetworkDidChange).bind(this));
92
89
  this.messagingSystem.subscribe('NetworkController:stateChange', __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_onNetworkStateChange).bind(this));
93
90
  this.messagingSystem.subscribe('TokenListController:stateChange', ({ tokensChainsCache }) => {
94
91
  const { allTokens } = this.state;
@@ -132,37 +129,28 @@ export class TokensController extends BaseController {
132
129
  * @returns Current token list.
133
130
  */
134
131
  async addToken({ address, symbol, decimals, name, image, interactingAddress, networkClientId, }) {
135
- // TODO: remove this once this method is fully parameterized by chainId
136
- const chainId = __classPrivateFieldGet(this, _TokensController_chainId, "f");
137
132
  const releaseLock = await __classPrivateFieldGet(this, _TokensController_mutex, "f").acquire();
138
133
  const { allTokens, allIgnoredTokens, allDetectedTokens } = this.state;
139
- let currentChainId = chainId;
140
- if (networkClientId) {
141
- currentChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
142
- }
134
+ const chainIdToUse = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
143
135
  const accountAddress = __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getAddressOrSelectedAddress).call(this, interactingAddress);
144
136
  try {
145
137
  address = toChecksumHexAddress(address);
146
- const tokens = allTokens[currentChainId]?.[accountAddress] || [];
147
- const ignoredTokens = allIgnoredTokens[currentChainId]?.[accountAddress] || [];
148
- const detectedTokens = allDetectedTokens[currentChainId]?.[accountAddress] || [];
138
+ const tokens = allTokens[chainIdToUse]?.[accountAddress] || [];
139
+ const ignoredTokens = allIgnoredTokens[chainIdToUse]?.[accountAddress] || [];
140
+ const detectedTokens = allDetectedTokens[chainIdToUse]?.[accountAddress] || [];
149
141
  const newTokens = [...tokens];
150
142
  const [isERC721, tokenMetadata] = await Promise.all([
151
143
  __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_detectIsERC721).call(this, address, networkClientId),
152
144
  // TODO parameterize the token metadata fetch by networkClientId
153
- __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_fetchTokenMetadata).call(this, address),
145
+ __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_fetchTokenMetadata).call(this, address, chainIdToUse),
154
146
  ]);
155
- // TODO remove this once this method is fully parameterized by networkClientId
156
- if (!networkClientId && currentChainId !== __classPrivateFieldGet(this, _TokensController_chainId, "f")) {
157
- throw new Error('TokensController Error: Switched networks while adding token');
158
- }
159
147
  const newEntry = {
160
148
  address,
161
149
  symbol,
162
150
  decimals,
163
151
  image: image ||
164
152
  formatIconUrlWithProxy({
165
- chainId: currentChainId,
153
+ chainId: chainIdToUse,
166
154
  tokenAddress: address,
167
155
  }),
168
156
  isERC721,
@@ -183,7 +171,7 @@ export class TokensController extends BaseController {
183
171
  newIgnoredTokens,
184
172
  newDetectedTokens,
185
173
  interactingAddress: accountAddress,
186
- interactingChainId: currentChainId,
174
+ interactingChainId: chainIdToUse,
187
175
  });
188
176
  const newState = {
189
177
  allTokens: newAllTokens,
@@ -209,10 +197,7 @@ export class TokensController extends BaseController {
209
197
  const releaseLock = await __classPrivateFieldGet(this, _TokensController_mutex, "f").acquire();
210
198
  const { allTokens, allIgnoredTokens, allDetectedTokens } = this.state;
211
199
  const importedTokensMap = {};
212
- let interactingChainId = __classPrivateFieldGet(this, _TokensController_chainId, "f");
213
- if (networkClientId) {
214
- interactingChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
215
- }
200
+ const interactingChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
216
201
  // Used later to dedupe imported tokens
217
202
  const newTokensMap = [
218
203
  ...(allTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAccount).call(this).address] ||
@@ -239,7 +224,7 @@ export class TokensController extends BaseController {
239
224
  return formattedToken;
240
225
  });
241
226
  const newTokens = Object.values(newTokensMap);
242
- const newIgnoredTokens = allIgnoredTokens[interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)]?.filter((tokenAddress) => !newTokensMap[tokenAddress.toLowerCase()]);
227
+ const newIgnoredTokens = allIgnoredTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)]?.filter((tokenAddress) => !newTokensMap[tokenAddress.toLowerCase()]);
243
228
  const detectedTokensForGivenChain = interactingChainId
244
229
  ? allDetectedTokens?.[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)]
245
230
  : [];
@@ -267,16 +252,13 @@ export class TokensController extends BaseController {
267
252
  * @param networkClientId - Optional network client ID used to determine interacting chain ID.
268
253
  */
269
254
  ignoreTokens(tokenAddressesToIgnore, networkClientId) {
270
- let interactingChainId = __classPrivateFieldGet(this, _TokensController_chainId, "f");
271
- if (networkClientId) {
272
- interactingChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
273
- }
255
+ const interactingChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
274
256
  const { allTokens, allDetectedTokens, allIgnoredTokens } = this.state;
275
257
  const ignoredTokensMap = {};
276
- const ignoredTokens = allIgnoredTokens[interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
258
+ const ignoredTokens = allIgnoredTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
277
259
  let newIgnoredTokens = [...ignoredTokens];
278
- const tokens = allTokens[interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
279
- const detectedTokens = allDetectedTokens[interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
260
+ const tokens = allTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
261
+ const detectedTokens = allDetectedTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this)] || [];
280
262
  const checksummedTokenAddresses = tokenAddressesToIgnore.map((address) => {
281
263
  const checksumAddress = toChecksumHexAddress(address);
282
264
  ignoredTokensMap[address.toLowerCase()] = true;
@@ -307,7 +289,7 @@ export class TokensController extends BaseController {
307
289
  */
308
290
  async addDetectedTokens(incomingDetectedTokens, detectionDetails) {
309
291
  const releaseLock = await __classPrivateFieldGet(this, _TokensController_mutex, "f").acquire();
310
- const chainId = detectionDetails?.chainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f");
292
+ const { chainId } = detectionDetails;
311
293
  // Previously selectedAddress could be an empty string. This is to preserve the behaviour
312
294
  const accountAddress = detectionDetails?.selectedAddress ?? __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this);
313
295
  const { allTokens, allDetectedTokens, allIgnoredTokens } = this.state;
@@ -357,9 +339,9 @@ export class TokensController extends BaseController {
357
339
  // We may be detecting tokens on a different chain/account pair than are currently configured.
358
340
  // Re-point `tokens` and `detectedTokens` to keep them referencing the current chain/account.
359
341
  const selectedAddress = __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this);
360
- newTokens = newAllTokens?.[__classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[selectedAddress] || [];
342
+ newTokens = newAllTokens?.[chainId]?.[selectedAddress] || [];
361
343
  newDetectedTokens =
362
- newAllDetectedTokens?.[__classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[selectedAddress] || [];
344
+ newAllDetectedTokens?.[chainId]?.[selectedAddress] || [];
363
345
  this.update((state) => {
364
346
  state.allTokens = newAllTokens;
365
347
  state.allDetectedTokens = newAllDetectedTokens;
@@ -374,20 +356,21 @@ export class TokensController extends BaseController {
374
356
  * were previously added which do not yet had isERC721 field.
375
357
  *
376
358
  * @param tokenAddress - The contract address of the token requiring the isERC721 field added.
359
+ * @param networkClientId - The network client ID of the network on which the token is detected.
377
360
  * @returns The new token object with the added isERC721 field.
378
361
  */
379
- async updateTokenType(tokenAddress) {
380
- const isERC721 = await __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_detectIsERC721).call(this, tokenAddress);
381
- const chainId = __classPrivateFieldGet(this, _TokensController_chainId, "f");
362
+ async updateTokenType(tokenAddress, networkClientId) {
363
+ const chainIdToUse = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
364
+ const isERC721 = await __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_detectIsERC721).call(this, tokenAddress, networkClientId);
382
365
  const accountAddress = __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAddress).call(this);
383
- const tokens = [...this.state.allTokens[chainId][accountAddress]];
366
+ const tokens = [...this.state.allTokens[chainIdToUse][accountAddress]];
384
367
  const tokenIndex = tokens.findIndex((token) => {
385
368
  return token.address.toLowerCase() === tokenAddress.toLowerCase();
386
369
  });
387
370
  const updatedToken = { ...tokens[tokenIndex], isERC721 };
388
371
  tokens[tokenIndex] = updatedToken;
389
372
  this.update((state) => {
390
- state.allTokens[chainId][accountAddress] = tokens;
373
+ state.allTokens[chainIdToUse][accountAddress] = tokens;
391
374
  });
392
375
  return updatedToken;
393
376
  }
@@ -511,13 +494,7 @@ export class TokensController extends BaseController {
511
494
  });
512
495
  }
513
496
  }
514
- _TokensController_mutex = new WeakMap(), _TokensController_chainId = new WeakMap(), _TokensController_selectedAccountId = new WeakMap(), _TokensController_provider = new WeakMap(), _TokensController_abortController = new WeakMap(), _TokensController_instances = new WeakSet(), _TokensController_onNetworkDidChange = function _TokensController_onNetworkDidChange({ selectedNetworkClientId }) {
515
- const selectedNetworkClient = this.messagingSystem.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
516
- const { chainId } = selectedNetworkClient.configuration;
517
- __classPrivateFieldGet(this, _TokensController_abortController, "f").abort();
518
- __classPrivateFieldSet(this, _TokensController_abortController, new AbortController(), "f");
519
- __classPrivateFieldSet(this, _TokensController_chainId, chainId, "f");
520
- }, _TokensController_onNetworkStateChange = function _TokensController_onNetworkStateChange(_, patches) {
497
+ _TokensController_mutex = new WeakMap(), _TokensController_selectedAccountId = new WeakMap(), _TokensController_provider = new WeakMap(), _TokensController_abortController = new WeakMap(), _TokensController_instances = new WeakSet(), _TokensController_onNetworkStateChange = function _TokensController_onNetworkStateChange(_, patches) {
521
498
  // Remove state for deleted networks
522
499
  for (const patch of patches) {
523
500
  if (patch.op === 'remove' &&
@@ -537,11 +514,12 @@ _TokensController_mutex = new WeakMap(), _TokensController_chainId = new WeakMap
537
514
  * Fetch metadata for a token.
538
515
  *
539
516
  * @param tokenAddress - The address of the token.
517
+ * @param chainId - The chain ID of the network on which the token is detected.
540
518
  * @returns The token metadata.
541
519
  */
542
- async function _TokensController_fetchTokenMetadata(tokenAddress) {
520
+ async function _TokensController_fetchTokenMetadata(tokenAddress, chainId) {
543
521
  try {
544
- const token = await fetchTokenMetadata(__classPrivateFieldGet(this, _TokensController_chainId, "f"), tokenAddress, __classPrivateFieldGet(this, _TokensController_abortController, "f").signal);
522
+ const token = await fetchTokenMetadata(chainId, tokenAddress, __classPrivateFieldGet(this, _TokensController_abortController, "f").signal);
545
523
  return token;
546
524
  }
547
525
  catch (error) {
@@ -595,53 +573,52 @@ async function _TokensController_detectIsERC721(tokenAddress, networkClientId) {
595
573
  const { newTokens, newIgnoredTokens, newDetectedTokens, interactingAddress, interactingChainId, } = params;
596
574
  const { allTokens, allIgnoredTokens, allDetectedTokens } = this.state;
597
575
  const userAddressToAddTokens = __classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getAddressOrSelectedAddress).call(this, interactingAddress);
598
- const chainIdToAddTokens = interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f");
599
576
  let newAllTokens = allTokens;
600
577
  if (newTokens?.length ||
601
578
  (newTokens &&
602
579
  allTokens &&
603
- allTokens[chainIdToAddTokens] &&
604
- allTokens[chainIdToAddTokens][userAddressToAddTokens])) {
605
- const networkTokens = allTokens[chainIdToAddTokens];
580
+ allTokens[interactingChainId] &&
581
+ allTokens[interactingChainId][userAddressToAddTokens])) {
582
+ const networkTokens = allTokens[interactingChainId];
606
583
  const newNetworkTokens = {
607
584
  ...networkTokens,
608
585
  ...{ [userAddressToAddTokens]: newTokens },
609
586
  };
610
587
  newAllTokens = {
611
588
  ...allTokens,
612
- ...{ [chainIdToAddTokens]: newNetworkTokens },
589
+ ...{ [interactingChainId]: newNetworkTokens },
613
590
  };
614
591
  }
615
592
  let newAllIgnoredTokens = allIgnoredTokens;
616
593
  if (newIgnoredTokens?.length ||
617
594
  (newIgnoredTokens &&
618
595
  allIgnoredTokens &&
619
- allIgnoredTokens[chainIdToAddTokens] &&
620
- allIgnoredTokens[chainIdToAddTokens][userAddressToAddTokens])) {
621
- const networkIgnoredTokens = allIgnoredTokens[chainIdToAddTokens];
596
+ allIgnoredTokens[interactingChainId] &&
597
+ allIgnoredTokens[interactingChainId][userAddressToAddTokens])) {
598
+ const networkIgnoredTokens = allIgnoredTokens[interactingChainId];
622
599
  const newIgnoredNetworkTokens = {
623
600
  ...networkIgnoredTokens,
624
601
  ...{ [userAddressToAddTokens]: newIgnoredTokens },
625
602
  };
626
603
  newAllIgnoredTokens = {
627
604
  ...allIgnoredTokens,
628
- ...{ [chainIdToAddTokens]: newIgnoredNetworkTokens },
605
+ ...{ [interactingChainId]: newIgnoredNetworkTokens },
629
606
  };
630
607
  }
631
608
  let newAllDetectedTokens = allDetectedTokens;
632
609
  if (newDetectedTokens?.length ||
633
610
  (newDetectedTokens &&
634
611
  allDetectedTokens &&
635
- allDetectedTokens[chainIdToAddTokens] &&
636
- allDetectedTokens[chainIdToAddTokens][userAddressToAddTokens])) {
637
- const networkDetectedTokens = allDetectedTokens[chainIdToAddTokens];
612
+ allDetectedTokens[interactingChainId] &&
613
+ allDetectedTokens[interactingChainId][userAddressToAddTokens])) {
614
+ const networkDetectedTokens = allDetectedTokens[interactingChainId];
638
615
  const newDetectedNetworkTokens = {
639
616
  ...networkDetectedTokens,
640
617
  ...{ [userAddressToAddTokens]: newDetectedTokens },
641
618
  };
642
619
  newAllDetectedTokens = {
643
620
  ...allDetectedTokens,
644
- ...{ [chainIdToAddTokens]: newDetectedNetworkTokens },
621
+ ...{ [interactingChainId]: newDetectedNetworkTokens },
645
622
  };
646
623
  }
647
624
  return { newAllTokens, newAllIgnoredTokens, newAllDetectedTokens };