@metamask/assets-controllers 31.0.0 → 33.0.0

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 (172) hide show
  1. package/CHANGELOG.md +68 -1
  2. package/dist/AccountTrackerController.js +2 -2
  3. package/dist/AccountTrackerController.mjs +1 -1
  4. package/dist/AssetsContractController.js +6 -6
  5. package/dist/AssetsContractController.mjs +5 -5
  6. package/dist/CurrencyRateController.js +3 -3
  7. package/dist/CurrencyRateController.mjs +2 -2
  8. package/dist/NftController.js +3 -3
  9. package/dist/NftController.mjs +2 -2
  10. package/dist/NftDetectionController.js +2 -2
  11. package/dist/NftDetectionController.mjs +1 -1
  12. package/dist/RatesController/RatesController.js +3 -3
  13. package/dist/RatesController/RatesController.mjs +2 -2
  14. package/dist/RatesController/index.js +3 -3
  15. package/dist/RatesController/index.mjs +2 -2
  16. package/dist/Standards/ERC20Standard.js +3 -3
  17. package/dist/Standards/ERC20Standard.mjs +2 -2
  18. package/dist/Standards/NftStandards/ERC1155/ERC1155Standard.js +3 -3
  19. package/dist/Standards/NftStandards/ERC1155/ERC1155Standard.mjs +2 -2
  20. package/dist/Standards/NftStandards/ERC721/ERC721Standard.js +3 -3
  21. package/dist/Standards/NftStandards/ERC721/ERC721Standard.mjs +2 -2
  22. package/dist/TokenBalancesController.js +2 -2
  23. package/dist/TokenBalancesController.mjs +1 -1
  24. package/dist/TokenDetectionController.js +3 -3
  25. package/dist/TokenDetectionController.mjs +2 -2
  26. package/dist/TokenListController.js +4 -4
  27. package/dist/TokenListController.mjs +3 -3
  28. package/dist/TokenRatesController.js +9 -5
  29. package/dist/TokenRatesController.mjs +10 -6
  30. package/dist/TokensController.js +6 -6
  31. package/dist/TokensController.mjs +5 -5
  32. package/dist/assetsUtil.js +2 -2
  33. package/dist/assetsUtil.mjs +1 -1
  34. package/dist/chunk-2IIQTSLV.mjs +236 -0
  35. package/dist/chunk-2IIQTSLV.mjs.map +1 -0
  36. package/dist/chunk-354SINOH.js +236 -0
  37. package/dist/chunk-354SINOH.js.map +1 -0
  38. package/dist/{chunk-MR6EF4B7.mjs → chunk-3K3LE2CZ.mjs} +14 -2
  39. package/dist/chunk-3K3LE2CZ.mjs.map +1 -0
  40. package/dist/{chunk-5W5OO2Q5.mjs → chunk-47CRHAUE.mjs} +2 -2
  41. package/dist/chunk-47CRHAUE.mjs.map +1 -0
  42. package/dist/{chunk-65PB33TE.mjs → chunk-526TATMH.mjs} +25 -17
  43. package/dist/chunk-526TATMH.mjs.map +1 -0
  44. package/dist/{chunk-D3K5MPMW.mjs → chunk-56O7BVZV.mjs} +2 -2
  45. package/dist/{chunk-B5YY22QQ.js → chunk-6PPM4ETZ.js} +3 -3
  46. package/dist/{chunk-CGLUTXI7.js → chunk-7JWDWDXT.js} +190 -107
  47. package/dist/chunk-7JWDWDXT.js.map +1 -0
  48. package/dist/{chunk-JUI3XNEF.js → chunk-7OZL6IDY.js} +16 -9
  49. package/dist/chunk-7OZL6IDY.js.map +1 -0
  50. package/dist/{chunk-GU53EI7A.js → chunk-AZ6SRJVI.js} +24 -16
  51. package/dist/chunk-AZ6SRJVI.js.map +1 -0
  52. package/dist/{chunk-YIFA2HXH.js → chunk-F6L3DFOZ.js} +5 -3
  53. package/dist/chunk-F6L3DFOZ.js.map +1 -0
  54. package/dist/{chunk-UEDNQBJN.js → chunk-FGAZXVKS.js} +200 -104
  55. package/dist/chunk-FGAZXVKS.js.map +1 -0
  56. package/dist/{chunk-B6W4CQOR.mjs → chunk-HJ5GXVDT.mjs} +2 -2
  57. package/dist/chunk-HJ5GXVDT.mjs.map +1 -0
  58. package/dist/{chunk-BOTVAG4A.js → chunk-JBF4XEGR.js} +5 -5
  59. package/dist/{chunk-ASA5RLBY.mjs → chunk-JEIAMJGS.mjs} +2 -2
  60. package/dist/{chunk-CNKVITJO.mjs → chunk-JTXPJ6TK.mjs} +4 -2
  61. package/dist/chunk-JTXPJ6TK.mjs.map +1 -0
  62. package/dist/{chunk-U3DJJN4X.js → chunk-LBJTMJFA.js} +4 -4
  63. package/dist/{chunk-IBK6AXPP.js → chunk-NWVMFCSC.js} +1 -1
  64. package/dist/{chunk-IBK6AXPP.js.map → chunk-NWVMFCSC.js.map} +1 -1
  65. package/dist/{chunk-NEXY7SE2.js → chunk-NYVA7ZTQ.js} +2 -2
  66. package/dist/chunk-NYVA7ZTQ.js.map +1 -0
  67. package/dist/{chunk-WCCLSUOI.mjs → chunk-OEEFNXR7.mjs} +1 -1
  68. package/dist/{chunk-WCCLSUOI.mjs.map → chunk-OEEFNXR7.mjs.map} +1 -1
  69. package/dist/{chunk-E4ECCGJV.mjs → chunk-P3O5CVAH.mjs} +195 -99
  70. package/dist/chunk-P3O5CVAH.mjs.map +1 -0
  71. package/dist/{chunk-4AC3X2U5.js → chunk-RJBYLTY5.js} +29 -14
  72. package/dist/chunk-RJBYLTY5.js.map +1 -0
  73. package/dist/{chunk-B5YVX5IO.mjs → chunk-SBWPU4VT.mjs} +4 -2
  74. package/dist/chunk-SBWPU4VT.mjs.map +1 -0
  75. package/dist/{chunk-ELSMS5S7.js → chunk-T5ZX5BV7.js} +3 -3
  76. package/dist/{chunk-ELSMS5S7.js.map → chunk-T5ZX5BV7.js.map} +1 -1
  77. package/dist/{chunk-HLCGZGPA.mjs → chunk-TWR6P5WG.mjs} +11 -7
  78. package/dist/chunk-TWR6P5WG.mjs.map +1 -0
  79. package/dist/{chunk-73F3SN5O.mjs → chunk-UVE4XY5Y.mjs} +23 -8
  80. package/dist/chunk-UVE4XY5Y.mjs.map +1 -0
  81. package/dist/{chunk-LZ5ZGQEX.mjs → chunk-UYH6NWKB.mjs} +2 -2
  82. package/dist/{chunk-Z6TBQQE5.js → chunk-V6DNVROD.js} +4 -4
  83. package/dist/chunk-V6DNVROD.js.map +1 -0
  84. package/dist/{chunk-Q5JRBGWO.mjs → chunk-VELPHITE.mjs} +2 -2
  85. package/dist/chunk-VELPHITE.mjs.map +1 -0
  86. package/dist/{chunk-HDI4L2DD.js → chunk-VZF43NDM.js} +17 -5
  87. package/dist/chunk-VZF43NDM.js.map +1 -0
  88. package/dist/{chunk-62T7RKU3.mjs → chunk-W57QXOHJ.mjs} +188 -105
  89. package/dist/chunk-W57QXOHJ.mjs.map +1 -0
  90. package/dist/{chunk-PYMUBJQX.js → chunk-X4RMS365.js} +3 -3
  91. package/dist/chunk-X4RMS365.js.map +1 -0
  92. package/dist/{chunk-Y35SM7TO.mjs → chunk-XQO3EG4J.mjs} +4 -4
  93. package/dist/chunk-XQO3EG4J.mjs.map +1 -0
  94. package/dist/{chunk-QHWKLZUC.js → chunk-XSNGD5US.js} +14 -10
  95. package/dist/chunk-XSNGD5US.js.map +1 -0
  96. package/dist/{chunk-A2DDWXMS.mjs → chunk-Y45HQET7.mjs} +12 -5
  97. package/dist/chunk-Y45HQET7.mjs.map +1 -0
  98. package/dist/{chunk-WB6KJX4N.js → chunk-ZG5MS2TO.js} +4 -2
  99. package/dist/chunk-ZG5MS2TO.js.map +1 -0
  100. package/dist/crypto-compare-service/crypto-compare.js +2 -2
  101. package/dist/crypto-compare-service/crypto-compare.mjs +1 -1
  102. package/dist/crypto-compare-service/index.js +2 -2
  103. package/dist/crypto-compare-service/index.mjs +1 -1
  104. package/dist/index.js +21 -19
  105. package/dist/index.mjs +21 -19
  106. package/dist/token-prices-service/codefi-v2.js +2 -2
  107. package/dist/token-prices-service/codefi-v2.mjs +1 -1
  108. package/dist/token-prices-service/index.js +2 -2
  109. package/dist/token-prices-service/index.mjs +1 -1
  110. package/dist/token-service.js +3 -3
  111. package/dist/token-service.mjs +2 -2
  112. package/dist/tsconfig.build.tsbuildinfo +1 -1
  113. package/dist/types/AccountTrackerController.d.ts +13 -12
  114. package/dist/types/AccountTrackerController.d.ts.map +1 -1
  115. package/dist/types/AssetsContractController.d.ts.map +1 -1
  116. package/dist/types/CurrencyRateController.d.ts.map +1 -1
  117. package/dist/types/NftController.d.ts +4 -5
  118. package/dist/types/NftController.d.ts.map +1 -1
  119. package/dist/types/NftDetectionController.d.ts +7 -18
  120. package/dist/types/NftDetectionController.d.ts.map +1 -1
  121. package/dist/types/RatesController/RatesController.d.ts.map +1 -1
  122. package/dist/types/TokenBalancesController.d.ts.map +1 -1
  123. package/dist/types/TokenDetectionController.d.ts.map +1 -1
  124. package/dist/types/TokenListController.d.ts.map +1 -1
  125. package/dist/types/TokenRatesController.d.ts +72 -65
  126. package/dist/types/TokenRatesController.d.ts.map +1 -1
  127. package/dist/types/TokensController.d.ts.map +1 -1
  128. package/dist/types/assetsUtil.d.ts.map +1 -1
  129. package/dist/types/crypto-compare-service/crypto-compare.d.ts.map +1 -1
  130. package/dist/types/index.d.ts +2 -2
  131. package/dist/types/index.d.ts.map +1 -1
  132. package/dist/types/token-prices-service/abstract-token-prices-service.d.ts +0 -1
  133. package/dist/types/token-prices-service/abstract-token-prices-service.d.ts.map +1 -1
  134. package/dist/types/token-prices-service/codefi-v2.d.ts +1 -1
  135. package/dist/types/token-prices-service/codefi-v2.d.ts.map +1 -1
  136. package/dist/types/token-service.d.ts.map +1 -1
  137. package/package.json +16 -16
  138. package/dist/chunk-4AC3X2U5.js.map +0 -1
  139. package/dist/chunk-543CC74T.mjs +0 -253
  140. package/dist/chunk-543CC74T.mjs.map +0 -1
  141. package/dist/chunk-5W5OO2Q5.mjs.map +0 -1
  142. package/dist/chunk-62T7RKU3.mjs.map +0 -1
  143. package/dist/chunk-65PB33TE.mjs.map +0 -1
  144. package/dist/chunk-73F3SN5O.mjs.map +0 -1
  145. package/dist/chunk-A2DDWXMS.mjs.map +0 -1
  146. package/dist/chunk-B5YVX5IO.mjs.map +0 -1
  147. package/dist/chunk-B6W4CQOR.mjs.map +0 -1
  148. package/dist/chunk-CGLUTXI7.js.map +0 -1
  149. package/dist/chunk-CNKVITJO.mjs.map +0 -1
  150. package/dist/chunk-E4ECCGJV.mjs.map +0 -1
  151. package/dist/chunk-GU53EI7A.js.map +0 -1
  152. package/dist/chunk-HDI4L2DD.js.map +0 -1
  153. package/dist/chunk-HLCGZGPA.mjs.map +0 -1
  154. package/dist/chunk-JUI3XNEF.js.map +0 -1
  155. package/dist/chunk-MR6EF4B7.mjs.map +0 -1
  156. package/dist/chunk-NEXY7SE2.js.map +0 -1
  157. package/dist/chunk-PYMUBJQX.js.map +0 -1
  158. package/dist/chunk-Q5JRBGWO.mjs.map +0 -1
  159. package/dist/chunk-QFDTOEYR.js +0 -253
  160. package/dist/chunk-QFDTOEYR.js.map +0 -1
  161. package/dist/chunk-QHWKLZUC.js.map +0 -1
  162. package/dist/chunk-UEDNQBJN.js.map +0 -1
  163. package/dist/chunk-WB6KJX4N.js.map +0 -1
  164. package/dist/chunk-Y35SM7TO.mjs.map +0 -1
  165. package/dist/chunk-YIFA2HXH.js.map +0 -1
  166. package/dist/chunk-Z6TBQQE5.js.map +0 -1
  167. /package/dist/{chunk-D3K5MPMW.mjs.map → chunk-56O7BVZV.mjs.map} +0 -0
  168. /package/dist/{chunk-B5YY22QQ.js.map → chunk-6PPM4ETZ.js.map} +0 -0
  169. /package/dist/{chunk-BOTVAG4A.js.map → chunk-JBF4XEGR.js.map} +0 -0
  170. /package/dist/{chunk-ASA5RLBY.mjs.map → chunk-JEIAMJGS.mjs.map} +0 -0
  171. /package/dist/{chunk-U3DJJN4X.js.map → chunk-LBJTMJFA.js.map} +0 -0
  172. /package/dist/{chunk-LZ5ZGQEX.mjs.map → chunk-UYH6NWKB.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  compareNftMetadata,
3
3
  getFormattedIpfsUrl
4
- } from "./chunk-Q5JRBGWO.mjs";
4
+ } from "./chunk-VELPHITE.mjs";
5
5
  import {
6
6
  __privateAdd,
7
7
  __privateGet,
@@ -44,14 +44,13 @@ var getDefaultNftControllerState = () => ({
44
44
  allNfts: {},
45
45
  ignoredNfts: []
46
46
  });
47
- var _mutex, _selectedAddress, _chainId, _ipfsGateway, _openSeaEnabled, _useIpfsSubdomains, _isIpfsGatewayEnabled, _getERC721AssetName, _getERC721AssetSymbol, _getERC721TokenURI, _getERC721OwnerOf, _getERC1155BalanceOf, _getERC1155TokenURI, _onNftAdded, _onNetworkControllerNetworkDidChange, onNetworkControllerNetworkDidChange_fn, _onPreferencesControllerStateChange, onPreferencesControllerStateChange_fn, _updateNestedNftState, updateNestedNftState_fn, _getNftInformationFromApi, getNftInformationFromApi_fn, _getNftInformationFromTokenURI, getNftInformationFromTokenURI_fn, _getNftURIAndStandard, getNftURIAndStandard_fn, _getNftInformation, getNftInformation_fn, _getNftContractInformationFromContract, getNftContractInformationFromContract_fn, _getNftContractInformation, getNftContractInformation_fn, _addIndividualNft, addIndividualNft_fn, _addNftContract, addNftContract_fn, _removeAndIgnoreIndividualNft, removeAndIgnoreIndividualNft_fn, _removeIndividualNft, removeIndividualNft_fn, _removeNftContract, removeNftContract_fn, _validateWatchNft, validateWatchNft_fn, _getCorrectChainId, getCorrectChainId_fn;
47
+ var _mutex, _selectedAccountId, _chainId, _ipfsGateway, _openSeaEnabled, _useIpfsSubdomains, _isIpfsGatewayEnabled, _getERC721AssetName, _getERC721AssetSymbol, _getERC721TokenURI, _getERC721OwnerOf, _getERC1155BalanceOf, _getERC1155TokenURI, _onNftAdded, _onNetworkControllerNetworkDidChange, onNetworkControllerNetworkDidChange_fn, _onPreferencesControllerStateChange, onPreferencesControllerStateChange_fn, _onSelectedAccountChange, onSelectedAccountChange_fn, _updateNestedNftState, updateNestedNftState_fn, _getNftInformationFromApi, getNftInformationFromApi_fn, _getNftInformationFromTokenURI, getNftInformationFromTokenURI_fn, _getNftURIAndStandard, getNftURIAndStandard_fn, _getNftInformation, getNftInformation_fn, _getNftContractInformationFromContract, getNftContractInformationFromContract_fn, _getNftContractInformation, getNftContractInformation_fn, _addIndividualNft, addIndividualNft_fn, _addNftContract, addNftContract_fn, _removeAndIgnoreIndividualNft, removeAndIgnoreIndividualNft_fn, _removeIndividualNft, removeIndividualNft_fn, _removeNftContract, removeNftContract_fn, _validateWatchNft, validateWatchNft_fn, _getCorrectChainId, getCorrectChainId_fn, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn, _updateNftUpdateForAccount, updateNftUpdateForAccount_fn;
48
48
  var NftController = class extends BaseController {
49
49
  /**
50
50
  * Creates an NftController instance.
51
51
  *
52
52
  * @param options - The controller options.
53
53
  * @param options.chainId - The chain ID of the current network.
54
- * @param options.selectedAddress - The currently selected address.
55
54
  * @param options.ipfsGateway - The configured IPFS gateway.
56
55
  * @param options.openSeaEnabled - Controls whether the OpenSea API is used.
57
56
  * @param options.useIpfsSubdomains - Controls whether IPFS subdomains are used.
@@ -69,7 +68,6 @@ var NftController = class extends BaseController {
69
68
  */
70
69
  constructor({
71
70
  chainId: initialChainId,
72
- selectedAddress = "",
73
71
  ipfsGateway = IPFS_DEFAULT_GATEWAY_URL,
74
72
  openSeaEnabled = false,
75
73
  useIpfsSubdomains = true,
@@ -102,12 +100,16 @@ var NftController = class extends BaseController {
102
100
  /**
103
101
  * Handles the state change of the preference controller.
104
102
  * @param preferencesState - The new state of the preference controller.
105
- * @param preferencesState.selectedAddress - The current selected address.
106
103
  * @param preferencesState.ipfsGateway - The configured IPFS gateway.
107
104
  * @param preferencesState.openSeaEnabled - Controls whether the OpenSea API is used.
108
105
  * @param preferencesState.isIpfsGatewayEnabled - Controls whether IPFS is enabled or not.
109
106
  */
110
107
  __privateAdd(this, _onPreferencesControllerStateChange);
108
+ /**
109
+ * Handles the selected account change on the accounts controller.
110
+ * @param internalAccount - The new selected account.
111
+ */
112
+ __privateAdd(this, _onSelectedAccountChange);
111
113
  /**
112
114
  * Helper method to update nested state for allNfts and allNftContracts.
113
115
  *
@@ -229,8 +231,10 @@ var NftController = class extends BaseController {
229
231
  // temporary method to get the correct chainId until we remove chainId from the config & the chainId arg from the detection logic
230
232
  // Just a helper method to prefer the networkClient chainId first then the chainId argument and then finally the config chainId
231
233
  __privateAdd(this, _getCorrectChainId);
234
+ __privateAdd(this, _getAddressOrSelectedAddress);
235
+ __privateAdd(this, _updateNftUpdateForAccount);
232
236
  __privateAdd(this, _mutex, new Mutex());
233
- __privateAdd(this, _selectedAddress, void 0);
237
+ __privateAdd(this, _selectedAccountId, void 0);
234
238
  __privateAdd(this, _chainId, void 0);
235
239
  __privateAdd(this, _ipfsGateway, void 0);
236
240
  __privateAdd(this, _openSeaEnabled, void 0);
@@ -243,7 +247,9 @@ var NftController = class extends BaseController {
243
247
  __privateAdd(this, _getERC1155BalanceOf, void 0);
244
248
  __privateAdd(this, _getERC1155TokenURI, void 0);
245
249
  __privateAdd(this, _onNftAdded, void 0);
246
- __privateSet(this, _selectedAddress, selectedAddress);
250
+ __privateSet(this, _selectedAccountId, this.messagingSystem.call(
251
+ "AccountsController:getSelectedAccount"
252
+ ).id);
247
253
  __privateSet(this, _chainId, initialChainId);
248
254
  __privateSet(this, _ipfsGateway, ipfsGateway);
249
255
  __privateSet(this, _openSeaEnabled, openSeaEnabled);
@@ -258,12 +264,20 @@ var NftController = class extends BaseController {
258
264
  __privateSet(this, _onNftAdded, onNftAdded);
259
265
  this.messagingSystem.subscribe(
260
266
  "PreferencesController:stateChange",
267
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
268
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
261
269
  __privateMethod(this, _onPreferencesControllerStateChange, onPreferencesControllerStateChange_fn).bind(this)
262
270
  );
263
271
  this.messagingSystem.subscribe(
264
272
  "NetworkController:networkDidChange",
265
273
  __privateMethod(this, _onNetworkControllerNetworkDidChange, onNetworkControllerNetworkDidChange_fn).bind(this)
266
274
  );
275
+ this.messagingSystem.subscribe(
276
+ "AccountsController:selectedEvmAccountChange",
277
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
278
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
279
+ __privateMethod(this, _onSelectedAccountChange, onSelectedAccountChange_fn).bind(this)
280
+ );
267
281
  }
268
282
  getNftApi() {
269
283
  return `${NFT_API_BASE_URL}/tokens`;
@@ -284,11 +298,13 @@ var NftController = class extends BaseController {
284
298
  */
285
299
  async watchNft(asset, type, origin, {
286
300
  networkClientId,
287
- userAddress = __privateGet(this, _selectedAddress)
288
- } = {
289
- userAddress: __privateGet(this, _selectedAddress)
290
- }) {
291
- await __privateMethod(this, _validateWatchNft, validateWatchNft_fn).call(this, asset, type, userAddress);
301
+ userAddress
302
+ } = {}) {
303
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
304
+ if (!addressToSearch) {
305
+ return;
306
+ }
307
+ await __privateMethod(this, _validateWatchNft, validateWatchNft_fn).call(this, asset, type, addressToSearch);
292
308
  const nftMetadata = await __privateMethod(this, _getNftInformation, getNftInformation_fn).call(this, asset.address, asset.tokenId, networkClientId);
293
309
  if (nftMetadata.standard && nftMetadata.standard !== type) {
294
310
  throw rpcErrors.invalidInput(
@@ -300,7 +316,7 @@ var NftController = class extends BaseController {
300
316
  type,
301
317
  id: random(),
302
318
  time: Date.now(),
303
- interactingAddress: userAddress,
319
+ interactingAddress: addressToSearch,
304
320
  origin
305
321
  };
306
322
  await this._requestApproval(suggestedNftMeta);
@@ -365,20 +381,19 @@ var NftController = class extends BaseController {
365
381
  * @param options.source - Whether the NFT was detected, added manually or suggested by a dapp.
366
382
  */
367
383
  async addNftVerifyOwnership(address, tokenId, {
368
- userAddress = __privateGet(this, _selectedAddress),
384
+ userAddress,
369
385
  networkClientId,
370
386
  source
371
- } = {
372
- userAddress: __privateGet(this, _selectedAddress)
373
- }) {
374
- if (!await this.isNftOwner(userAddress, address, tokenId, {
387
+ } = {}) {
388
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
389
+ if (!await this.isNftOwner(addressToSearch, address, tokenId, {
375
390
  networkClientId
376
391
  })) {
377
392
  throw new Error("This NFT is not owned by the user");
378
393
  }
379
394
  await this.addNft(address, tokenId, {
380
395
  networkClientId,
381
- userAddress,
396
+ userAddress: addressToSearch,
382
397
  source
383
398
  });
384
399
  }
@@ -396,16 +411,20 @@ var NftController = class extends BaseController {
396
411
  */
397
412
  async addNft(tokenAddress, tokenId, {
398
413
  nftMetadata,
399
- userAddress = __privateGet(this, _selectedAddress),
414
+ userAddress,
400
415
  source = "custom" /* Custom */,
401
416
  networkClientId
402
- } = { userAddress: __privateGet(this, _selectedAddress) }) {
417
+ } = {}) {
418
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
419
+ if (!addressToSearch) {
420
+ return;
421
+ }
403
422
  const checksumHexAddress = toChecksumHexAddress(tokenAddress);
404
423
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
405
424
  nftMetadata = nftMetadata || await __privateMethod(this, _getNftInformation, getNftInformation_fn).call(this, checksumHexAddress, tokenId, networkClientId);
406
425
  const newNftContracts = await __privateMethod(this, _addNftContract, addNftContract_fn).call(this, {
407
426
  tokenAddress: checksumHexAddress,
408
- userAddress,
427
+ userAddress: addressToSearch,
409
428
  networkClientId,
410
429
  source,
411
430
  nftMetadata
@@ -414,7 +433,7 @@ var NftController = class extends BaseController {
414
433
  (contract) => contract.address.toLowerCase() === checksumHexAddress.toLowerCase()
415
434
  );
416
435
  if (nftContract) {
417
- await __privateMethod(this, _addIndividualNft, addIndividualNft_fn).call(this, checksumHexAddress, tokenId, nftMetadata, nftContract, chainId, userAddress, source);
436
+ await __privateMethod(this, _addIndividualNft, addIndividualNft_fn).call(this, checksumHexAddress, tokenId, nftMetadata, nftContract, chainId, addressToSearch, source);
418
437
  }
419
438
  }
420
439
  /**
@@ -427,46 +446,52 @@ var NftController = class extends BaseController {
427
446
  */
428
447
  async updateNftMetadata({
429
448
  nfts,
430
- userAddress = __privateGet(this, _selectedAddress),
449
+ userAddress,
431
450
  networkClientId
432
451
  }) {
433
- const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
434
- const nftsWithChecksumAdr = nfts.map((nft) => {
435
- return {
436
- ...nft,
437
- address: toChecksumHexAddress(nft.address)
438
- };
439
- });
440
- const nftMetadataResults = await Promise.all(
441
- nftsWithChecksumAdr.map(async (nft) => {
442
- const resMetadata = await __privateMethod(this, _getNftInformation, getNftInformation_fn).call(this, nft.address, nft.tokenId, networkClientId);
452
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
453
+ const releaseLock = await __privateGet(this, _mutex).acquire();
454
+ try {
455
+ const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
456
+ const nftsWithChecksumAdr = nfts.map((nft) => {
443
457
  return {
444
- nft,
445
- newMetadata: resMetadata
458
+ ...nft,
459
+ address: toChecksumHexAddress(nft.address)
446
460
  };
447
- })
448
- );
449
- const nftsWithDifferentMetadata = [];
450
- const { allNfts } = this.state;
451
- const stateNfts = allNfts[userAddress]?.[chainId] || [];
452
- nftMetadataResults.forEach((singleNft) => {
453
- const existingEntry = stateNfts.find(
454
- (nft) => nft.address.toLowerCase() === singleNft.nft.address.toLowerCase() && nft.tokenId === singleNft.nft.tokenId
461
+ });
462
+ const nftMetadataResults = await Promise.all(
463
+ nftsWithChecksumAdr.map(async (nft) => {
464
+ const resMetadata = await __privateMethod(this, _getNftInformation, getNftInformation_fn).call(this, nft.address, nft.tokenId, networkClientId);
465
+ return {
466
+ nft,
467
+ newMetadata: resMetadata
468
+ };
469
+ })
455
470
  );
456
- if (existingEntry) {
457
- const differentMetadata = compareNftMetadata(
458
- singleNft.newMetadata,
459
- existingEntry
471
+ const nftsWithDifferentMetadata = [];
472
+ const { allNfts } = this.state;
473
+ const stateNfts = allNfts[addressToSearch]?.[chainId] || [];
474
+ nftMetadataResults.forEach((singleNft) => {
475
+ const existingEntry = stateNfts.find(
476
+ (nft) => nft.address.toLowerCase() === singleNft.nft.address.toLowerCase() && nft.tokenId === singleNft.nft.tokenId
460
477
  );
461
- if (differentMetadata) {
462
- nftsWithDifferentMetadata.push(singleNft);
478
+ if (existingEntry) {
479
+ const differentMetadata = compareNftMetadata(
480
+ singleNft.newMetadata,
481
+ existingEntry
482
+ );
483
+ if (differentMetadata) {
484
+ nftsWithDifferentMetadata.push(singleNft);
485
+ }
463
486
  }
487
+ });
488
+ if (nftsWithDifferentMetadata.length !== 0) {
489
+ nftsWithDifferentMetadata.forEach(
490
+ (elm) => this.updateNft(elm.nft, elm.newMetadata, addressToSearch, chainId)
491
+ );
464
492
  }
465
- });
466
- if (nftsWithDifferentMetadata.length !== 0) {
467
- nftsWithDifferentMetadata.forEach(
468
- (elm) => this.updateNft(elm.nft, elm.newMetadata, userAddress, chainId)
469
- );
493
+ } finally {
494
+ releaseLock();
470
495
  }
471
496
  }
472
497
  /**
@@ -480,23 +505,25 @@ var NftController = class extends BaseController {
480
505
  */
481
506
  removeNft(address, tokenId, {
482
507
  networkClientId,
483
- userAddress = __privateGet(this, _selectedAddress)
484
- } = {
485
- userAddress: __privateGet(this, _selectedAddress)
486
- }) {
508
+ userAddress
509
+ } = {}) {
510
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
487
511
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
488
512
  const checksumHexAddress = toChecksumHexAddress(address);
489
513
  __privateMethod(this, _removeIndividualNft, removeIndividualNft_fn).call(this, checksumHexAddress, tokenId, {
490
514
  chainId,
491
- userAddress
515
+ userAddress: addressToSearch
492
516
  });
493
517
  const { allNfts } = this.state;
494
- const nfts = allNfts[userAddress]?.[chainId] || [];
518
+ const nfts = allNfts[addressToSearch]?.[chainId] || [];
495
519
  const remainingNft = nfts.find(
496
520
  (nft) => nft.address.toLowerCase() === checksumHexAddress.toLowerCase()
497
521
  );
498
522
  if (!remainingNft) {
499
- __privateMethod(this, _removeNftContract, removeNftContract_fn).call(this, checksumHexAddress, { chainId, userAddress });
523
+ __privateMethod(this, _removeNftContract, removeNftContract_fn).call(this, checksumHexAddress, {
524
+ chainId,
525
+ userAddress: addressToSearch
526
+ });
500
527
  }
501
528
  }
502
529
  /**
@@ -510,23 +537,25 @@ var NftController = class extends BaseController {
510
537
  */
511
538
  removeAndIgnoreNft(address, tokenId, {
512
539
  networkClientId,
513
- userAddress = __privateGet(this, _selectedAddress)
514
- } = {
515
- userAddress: __privateGet(this, _selectedAddress)
516
- }) {
540
+ userAddress
541
+ } = {}) {
542
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
517
543
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
518
544
  const checksumHexAddress = toChecksumHexAddress(address);
519
545
  __privateMethod(this, _removeAndIgnoreIndividualNft, removeAndIgnoreIndividualNft_fn).call(this, checksumHexAddress, tokenId, {
520
546
  chainId,
521
- userAddress
547
+ userAddress: addressToSearch
522
548
  });
523
549
  const { allNfts } = this.state;
524
- const nfts = allNfts[userAddress]?.[chainId] || [];
550
+ const nfts = allNfts[addressToSearch]?.[chainId] || [];
525
551
  const remainingNft = nfts.find(
526
552
  (nft) => nft.address.toLowerCase() === checksumHexAddress.toLowerCase()
527
553
  );
528
554
  if (!remainingNft) {
529
- __privateMethod(this, _removeNftContract, removeNftContract_fn).call(this, checksumHexAddress, { chainId, userAddress });
555
+ __privateMethod(this, _removeNftContract, removeNftContract_fn).call(this, checksumHexAddress, {
556
+ chainId,
557
+ userAddress: addressToSearch
558
+ });
530
559
  }
531
560
  }
532
561
  /**
@@ -549,16 +578,15 @@ var NftController = class extends BaseController {
549
578
  * @returns the NFT with the updated isCurrentlyOwned value
550
579
  */
551
580
  async checkAndUpdateSingleNftOwnershipStatus(nft, batch, {
552
- userAddress = __privateGet(this, _selectedAddress),
581
+ userAddress,
553
582
  networkClientId
554
- } = {
555
- userAddress: __privateGet(this, _selectedAddress)
556
- }) {
583
+ } = {}) {
584
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
557
585
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
558
586
  const { address, tokenId } = nft;
559
587
  let isOwned = nft.isCurrentlyOwned;
560
588
  try {
561
- isOwned = await this.isNftOwner(userAddress, address, tokenId, {
589
+ isOwned = await this.isNftOwner(addressToSearch, address, tokenId, {
562
590
  networkClientId
563
591
  });
564
592
  } catch {
@@ -571,23 +599,23 @@ var NftController = class extends BaseController {
571
599
  return updatedNft;
572
600
  }
573
601
  const { allNfts } = this.state;
574
- const nfts = [...allNfts[userAddress]?.[chainId] || []];
602
+ const nfts = [...allNfts[addressToSearch]?.[chainId] || []];
575
603
  const indexToUpdate = nfts.findIndex(
576
604
  (item) => item.tokenId === tokenId && item.address.toLowerCase() === address.toLowerCase()
577
605
  );
578
606
  if (indexToUpdate !== -1) {
579
607
  nfts[indexToUpdate] = updatedNft;
580
608
  this.update((state) => {
581
- state.allNfts[userAddress] = Object.assign(
609
+ state.allNfts[addressToSearch] = Object.assign(
582
610
  {},
583
- state.allNfts[userAddress],
611
+ state.allNfts[addressToSearch],
584
612
  {
585
613
  [chainId]: nfts
586
614
  }
587
615
  );
588
616
  });
589
617
  __privateMethod(this, _updateNestedNftState, updateNestedNftState_fn).call(this, nfts, ALL_NFTS_STATE_KEY, {
590
- userAddress,
618
+ userAddress: addressToSearch,
591
619
  chainId
592
620
  });
593
621
  }
@@ -602,13 +630,12 @@ var NftController = class extends BaseController {
602
630
  */
603
631
  async checkAndUpdateAllNftsOwnershipStatus({
604
632
  networkClientId,
605
- userAddress = __privateGet(this, _selectedAddress)
606
- } = {
607
- userAddress: __privateGet(this, _selectedAddress)
608
- }) {
633
+ userAddress
634
+ } = {}) {
635
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
609
636
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
610
637
  const { allNfts } = this.state;
611
- const nfts = allNfts[userAddress]?.[chainId] || [];
638
+ const nfts = allNfts[addressToSearch]?.[chainId] || [];
612
639
  const updatedNfts = await Promise.all(
613
640
  nfts.map(async (nft) => {
614
641
  return await this.checkAndUpdateSingleNftOwnershipStatus(nft, true, {
@@ -618,7 +645,7 @@ var NftController = class extends BaseController {
618
645
  })
619
646
  );
620
647
  __privateMethod(this, _updateNestedNftState, updateNestedNftState_fn).call(this, updatedNfts, ALL_NFTS_STATE_KEY, {
621
- userAddress,
648
+ userAddress: addressToSearch,
622
649
  chainId
623
650
  });
624
651
  }
@@ -634,13 +661,12 @@ var NftController = class extends BaseController {
634
661
  */
635
662
  updateNftFavoriteStatus(address, tokenId, favorite, {
636
663
  networkClientId,
637
- userAddress = __privateGet(this, _selectedAddress)
638
- } = {
639
- userAddress: __privateGet(this, _selectedAddress)
640
- }) {
664
+ userAddress
665
+ } = {}) {
666
+ const addressToSearch = __privateMethod(this, _getAddressOrSelectedAddress, getAddressOrSelectedAddress_fn).call(this, userAddress);
641
667
  const chainId = __privateMethod(this, _getCorrectChainId, getCorrectChainId_fn).call(this, { networkClientId });
642
668
  const { allNfts } = this.state;
643
- const nfts = [...allNfts[userAddress]?.[chainId] || []];
669
+ const nfts = [...allNfts[addressToSearch]?.[chainId] || []];
644
670
  const index = nfts.findIndex(
645
671
  (nft) => nft.address === address && nft.tokenId === tokenId
646
672
  );
@@ -654,7 +680,7 @@ var NftController = class extends BaseController {
654
680
  nfts[index] = updatedNft;
655
681
  __privateMethod(this, _updateNestedNftState, updateNestedNftState_fn).call(this, nfts, ALL_NFTS_STATE_KEY, {
656
682
  chainId,
657
- userAddress
683
+ userAddress: addressToSearch
658
684
  });
659
685
  }
660
686
  /**
@@ -768,7 +794,7 @@ var NftController = class extends BaseController {
768
794
  }
769
795
  };
770
796
  _mutex = new WeakMap();
771
- _selectedAddress = new WeakMap();
797
+ _selectedAccountId = new WeakMap();
772
798
  _chainId = new WeakMap();
773
799
  _ipfsGateway = new WeakMap();
774
800
  _openSeaEnabled = new WeakMap();
@@ -795,31 +821,36 @@ onNetworkControllerNetworkDidChange_fn = function({
795
821
  };
796
822
  _onPreferencesControllerStateChange = new WeakSet();
797
823
  onPreferencesControllerStateChange_fn = async function({
798
- selectedAddress,
799
824
  ipfsGateway,
800
825
  openSeaEnabled,
801
826
  isIpfsGatewayEnabled
802
827
  }) {
803
- __privateSet(this, _selectedAddress, selectedAddress);
828
+ const selectedAccount = this.messagingSystem.call(
829
+ "AccountsController:getSelectedAccount"
830
+ );
831
+ __privateSet(this, _selectedAccountId, selectedAccount.id);
804
832
  __privateSet(this, _ipfsGateway, ipfsGateway);
805
833
  __privateSet(this, _openSeaEnabled, openSeaEnabled);
806
834
  __privateSet(this, _isIpfsGatewayEnabled, isIpfsGatewayEnabled);
807
835
  const needsUpdateNftMetadata = isIpfsGatewayEnabled && ipfsGateway !== "" || openSeaEnabled;
836
+ if (needsUpdateNftMetadata && selectedAccount) {
837
+ await __privateMethod(this, _updateNftUpdateForAccount, updateNftUpdateForAccount_fn).call(this, selectedAccount);
838
+ }
839
+ };
840
+ _onSelectedAccountChange = new WeakSet();
841
+ onSelectedAccountChange_fn = async function(internalAccount) {
842
+ const oldSelectedAccountId = __privateGet(this, _selectedAccountId);
843
+ __privateSet(this, _selectedAccountId, internalAccount.id);
844
+ const needsUpdateNftMetadata = (__privateGet(this, _isIpfsGatewayEnabled) && __privateGet(this, _ipfsGateway) !== "" || __privateGet(this, _openSeaEnabled)) && oldSelectedAccountId !== internalAccount.id;
808
845
  if (needsUpdateNftMetadata) {
809
- const nfts = this.state.allNfts[selectedAddress]?.[__privateGet(this, _chainId)] ?? [];
810
- const nftsToUpdate = nfts.filter(
811
- (singleNft) => !singleNft.name && !singleNft.description && !singleNft.image
812
- );
813
- if (nftsToUpdate.length !== 0) {
814
- await this.updateNftMetadata({
815
- nfts: nftsToUpdate,
816
- userAddress: selectedAddress
817
- });
818
- }
846
+ await __privateMethod(this, _updateNftUpdateForAccount, updateNftUpdateForAccount_fn).call(this, internalAccount);
819
847
  }
820
848
  };
821
849
  _updateNestedNftState = new WeakSet();
822
850
  updateNestedNftState_fn = function(newCollection, baseStateKey, { userAddress, chainId }) {
851
+ if (!userAddress) {
852
+ return;
853
+ }
823
854
  this.update((state) => {
824
855
  const oldState = state[baseStateKey];
825
856
  const addressState = oldState[userAddress] || {};
@@ -985,7 +1016,7 @@ getNftInformation_fn = async function(contractAddress, tokenId, networkClientId)
985
1016
  ...nftApiMetadata,
986
1017
  name: blockchainMetadata?.name ?? nftApiMetadata?.name ?? null,
987
1018
  description: blockchainMetadata?.description ?? nftApiMetadata?.description ?? null,
988
- image: blockchainMetadata?.image ?? nftApiMetadata?.image ?? null,
1019
+ image: nftApiMetadata?.image ?? blockchainMetadata?.image ?? null,
989
1020
  standard: blockchainMetadata?.standard ?? nftApiMetadata?.standard ?? null,
990
1021
  tokenURI: blockchainMetadata?.tokenURI ?? null
991
1022
  };
@@ -1011,9 +1042,13 @@ getNftContractInformation_fn = async function(contractAddress, nftMetadataFromAp
1011
1042
  return {
1012
1043
  address: contractAddress,
1013
1044
  ...blockchainContractData,
1045
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1046
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1014
1047
  schema_name: nftMetadataFromApi?.standard ?? null,
1015
1048
  collection: {
1016
1049
  name: null,
1050
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1051
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1017
1052
  image_url: nftMetadataFromApi?.collection?.image ?? nftMetadataFromApi?.collection?.imageUrl ?? null,
1018
1053
  tokenCount: nftMetadataFromApi?.collection?.tokenCount ?? null,
1019
1054
  ...nftMetadataFromApi?.collection,
@@ -1023,13 +1058,25 @@ getNftContractInformation_fn = async function(contractAddress, nftMetadataFromAp
1023
1058
  }
1024
1059
  return {
1025
1060
  address: contractAddress,
1061
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1062
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1026
1063
  asset_contract_type: null,
1064
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1065
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1027
1066
  created_date: null,
1067
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1068
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1028
1069
  schema_name: null,
1029
1070
  symbol: null,
1071
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1072
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1030
1073
  total_supply: null,
1031
1074
  description: null,
1075
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1076
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1032
1077
  external_link: null,
1078
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1079
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1033
1080
  collection: { name: null, image_url: null }
1034
1081
  };
1035
1082
  };
@@ -1111,12 +1158,22 @@ addNftContract_fn = async function({
1111
1158
  }
1112
1159
  const contractInformation = await __privateMethod(this, _getNftContractInformation, getNftContractInformation_fn).call(this, checksumHexAddress, nftMetadata, networkClientId);
1113
1160
  const {
1161
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1162
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1114
1163
  asset_contract_type,
1164
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1165
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1115
1166
  created_date,
1116
1167
  symbol,
1117
1168
  description,
1169
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1170
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1118
1171
  external_link,
1172
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1173
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1119
1174
  schema_name,
1175
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1176
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1120
1177
  collection: { name, image_url, tokenCount }
1121
1178
  } = contractInformation;
1122
1179
  if (source === "detected" /* Detected */ && "address" in contractInformation && typeof contractInformation.address === "string" && "collection" in contractInformation && contractInformation.collection.name === null && "image_url" in contractInformation.collection && contractInformation.collection.image_url === null && Object.entries(contractInformation).every(([key, value]) => {
@@ -1209,6 +1266,8 @@ validateWatchNft_fn = async function(asset, type, userAddress, { networkClientId
1209
1266
  }
1210
1267
  if (type !== ERC721 && type !== ERC1155) {
1211
1268
  throw rpcErrors.invalidParams(
1269
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
1270
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
1212
1271
  `Non NFT asset type ${type} not supported by watchNft`
1213
1272
  );
1214
1273
  }
@@ -1255,6 +1314,30 @@ getCorrectChainId_fn = function({
1255
1314
  }
1256
1315
  return __privateGet(this, _chainId);
1257
1316
  };
1317
+ _getAddressOrSelectedAddress = new WeakSet();
1318
+ getAddressOrSelectedAddress_fn = function(address) {
1319
+ if (address) {
1320
+ return address;
1321
+ }
1322
+ const selectedAccount = this.messagingSystem.call(
1323
+ "AccountsController:getAccount",
1324
+ __privateGet(this, _selectedAccountId)
1325
+ );
1326
+ return selectedAccount?.address || "";
1327
+ };
1328
+ _updateNftUpdateForAccount = new WeakSet();
1329
+ updateNftUpdateForAccount_fn = async function(account) {
1330
+ const nfts = this.state.allNfts[account.address]?.[__privateGet(this, _chainId)] ?? [];
1331
+ const nftsToUpdate = nfts.filter(
1332
+ (singleNft) => !singleNft.name && !singleNft.description && !singleNft.image
1333
+ );
1334
+ if (nftsToUpdate.length !== 0) {
1335
+ await this.updateNftMetadata({
1336
+ nfts: nftsToUpdate,
1337
+ userAddress: account.address
1338
+ });
1339
+ }
1340
+ };
1258
1341
  var NftController_default = NftController;
1259
1342
 
1260
1343
  export {
@@ -1262,4 +1345,4 @@ export {
1262
1345
  NftController,
1263
1346
  NftController_default
1264
1347
  };
1265
- //# sourceMappingURL=chunk-62T7RKU3.mjs.map
1348
+ //# sourceMappingURL=chunk-W57QXOHJ.mjs.map