@metamask/assets-controllers 93.0.0 → 94.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.
- package/CHANGELOG.md +36 -1
- package/dist/AccountTrackerController.cjs.map +1 -1
- package/dist/AccountTrackerController.d.cts +2 -2
- package/dist/AccountTrackerController.d.cts.map +1 -1
- package/dist/AccountTrackerController.d.mts +2 -2
- package/dist/AccountTrackerController.d.mts.map +1 -1
- package/dist/AccountTrackerController.mjs.map +1 -1
- package/dist/AssetsContractController.cjs.map +1 -1
- package/dist/AssetsContractController.d.cts +1 -1
- package/dist/AssetsContractController.d.cts.map +1 -1
- package/dist/AssetsContractController.d.mts +1 -1
- package/dist/AssetsContractController.d.mts.map +1 -1
- package/dist/AssetsContractController.mjs.map +1 -1
- package/dist/CurrencyRateController.cjs +16 -5
- package/dist/CurrencyRateController.cjs.map +1 -1
- package/dist/CurrencyRateController.d.cts.map +1 -1
- package/dist/CurrencyRateController.d.mts.map +1 -1
- package/dist/CurrencyRateController.mjs +16 -5
- package/dist/CurrencyRateController.mjs.map +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.cjs.map +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.cts +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.cts.map +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.mts +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.d.mts.map +1 -1
- package/dist/DeFiPositionsController/DeFiPositionsController.mjs.map +1 -1
- package/dist/DeFiPositionsController/group-defi-positions.cjs.map +1 -1
- package/dist/DeFiPositionsController/group-defi-positions.mjs.map +1 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.cjs.map +1 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.d.cts +2 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.d.cts.map +1 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.d.mts +2 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.d.mts.map +1 -1
- package/dist/MultichainAssetsController/MultichainAssetsController.mjs.map +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs +14 -9
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.cjs.map +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts.map +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts.map +1 -1
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs +14 -9
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.mjs.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.cjs.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.cts +2 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.cts.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.mts +2 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.d.mts.map +1 -1
- package/dist/MultichainBalancesController/MultichainBalancesController.mjs.map +1 -1
- package/dist/NftController.cjs +68 -19
- package/dist/NftController.cjs.map +1 -1
- package/dist/NftController.d.cts +21 -28
- package/dist/NftController.d.cts.map +1 -1
- package/dist/NftController.d.mts +21 -28
- package/dist/NftController.d.mts.map +1 -1
- package/dist/NftController.mjs +69 -20
- package/dist/NftController.mjs.map +1 -1
- package/dist/NftDetectionController.cjs +26 -19
- package/dist/NftDetectionController.cjs.map +1 -1
- package/dist/NftDetectionController.d.cts +11 -6
- package/dist/NftDetectionController.d.cts.map +1 -1
- package/dist/NftDetectionController.d.mts +11 -6
- package/dist/NftDetectionController.d.mts.map +1 -1
- package/dist/NftDetectionController.mjs +27 -20
- package/dist/NftDetectionController.mjs.map +1 -1
- package/dist/RatesController/RatesController.cjs.map +1 -1
- package/dist/RatesController/RatesController.d.cts.map +1 -1
- package/dist/RatesController/RatesController.d.mts.map +1 -1
- package/dist/RatesController/RatesController.mjs.map +1 -1
- package/dist/Standards/NftStandards/ERC721/ERC721Standard.cjs +1 -1
- package/dist/Standards/NftStandards/ERC721/ERC721Standard.cjs.map +1 -1
- package/dist/Standards/NftStandards/ERC721/ERC721Standard.mjs +1 -1
- package/dist/Standards/NftStandards/ERC721/ERC721Standard.mjs.map +1 -1
- package/dist/TokenBalancesController.cjs +1 -1
- package/dist/TokenBalancesController.cjs.map +1 -1
- package/dist/TokenBalancesController.d.cts.map +1 -1
- package/dist/TokenBalancesController.d.mts.map +1 -1
- package/dist/TokenBalancesController.mjs +1 -1
- package/dist/TokenBalancesController.mjs.map +1 -1
- package/dist/TokenDetectionController.cjs.map +1 -1
- package/dist/TokenDetectionController.mjs.map +1 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.cjs.map +1 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.cts +2 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.cts.map +1 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.mts +2 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.d.mts.map +1 -1
- package/dist/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.mjs.map +1 -1
- package/dist/TokensController.cjs.map +1 -1
- package/dist/TokensController.d.cts +1 -1
- package/dist/TokensController.d.cts.map +1 -1
- package/dist/TokensController.d.mts +1 -1
- package/dist/TokensController.d.mts.map +1 -1
- package/dist/TokensController.mjs.map +1 -1
- package/dist/assetsUtil.cjs.map +1 -1
- package/dist/assetsUtil.d.cts +1 -1
- package/dist/assetsUtil.d.cts.map +1 -1
- package/dist/assetsUtil.d.mts +1 -1
- package/dist/assetsUtil.d.mts.map +1 -1
- package/dist/assetsUtil.mjs.map +1 -1
- package/dist/balances.cjs +1 -3
- package/dist/balances.cjs.map +1 -1
- package/dist/balances.d.cts.map +1 -1
- package/dist/balances.d.mts.map +1 -1
- package/dist/balances.mjs +1 -3
- package/dist/balances.mjs.map +1 -1
- package/dist/crypto-compare-service/crypto-compare.cjs.map +1 -1
- package/dist/crypto-compare-service/crypto-compare.d.cts.map +1 -1
- package/dist/crypto-compare-service/crypto-compare.d.mts.map +1 -1
- package/dist/crypto-compare-service/crypto-compare.mjs.map +1 -1
- package/dist/multi-chain-accounts-service/api-balance-fetcher.cjs.map +1 -1
- package/dist/multi-chain-accounts-service/api-balance-fetcher.d.cts.map +1 -1
- package/dist/multi-chain-accounts-service/api-balance-fetcher.d.mts.map +1 -1
- package/dist/multi-chain-accounts-service/api-balance-fetcher.mjs.map +1 -1
- package/dist/multicall.cjs +4 -0
- package/dist/multicall.cjs.map +1 -1
- package/dist/multicall.d.cts.map +1 -1
- package/dist/multicall.d.mts.map +1 -1
- package/dist/multicall.mjs +4 -0
- package/dist/multicall.mjs.map +1 -1
- package/dist/rpc-service/rpc-balance-fetcher.cjs +2 -6
- package/dist/rpc-service/rpc-balance-fetcher.cjs.map +1 -1
- package/dist/rpc-service/rpc-balance-fetcher.d.cts.map +1 -1
- package/dist/rpc-service/rpc-balance-fetcher.d.mts.map +1 -1
- package/dist/rpc-service/rpc-balance-fetcher.mjs +2 -6
- package/dist/rpc-service/rpc-balance-fetcher.mjs.map +1 -1
- package/dist/selectors/stringify-balance.cjs.map +1 -1
- package/dist/selectors/stringify-balance.d.cts +1 -1
- package/dist/selectors/stringify-balance.d.cts.map +1 -1
- package/dist/selectors/stringify-balance.d.mts +1 -1
- package/dist/selectors/stringify-balance.d.mts.map +1 -1
- package/dist/selectors/stringify-balance.mjs.map +1 -1
- package/dist/selectors/token-selectors.cjs.map +1 -1
- package/dist/selectors/token-selectors.d.cts +1 -1
- package/dist/selectors/token-selectors.d.cts.map +1 -1
- package/dist/selectors/token-selectors.d.mts +1 -1
- package/dist/selectors/token-selectors.d.mts.map +1 -1
- package/dist/selectors/token-selectors.mjs.map +1 -1
- package/dist/token-service.cjs +2 -2
- package/dist/token-service.cjs.map +1 -1
- package/dist/token-service.mjs +2 -2
- package/dist/token-service.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftController.d.cts","sourceRoot":"","sources":["../src/NftController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,+CAA+C,EAC/C,kCAAkC,EAClC,0CAA0C,EAC3C,sCAAsC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,sCAAsC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"NftController.d.cts","sourceRoot":"","sources":["../src/NftController.ts"],"names":[],"mappings":"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"}
|
package/dist/NftController.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AccountsControllerSelectedEvmAccountChangeEvent, AccountsControllerGetAccountAction, AccountsControllerGetSelectedAccountAction } from "@metamask/accounts-controller";
|
|
2
2
|
import type { AddApprovalRequest } from "@metamask/approval-controller";
|
|
3
|
-
import { BaseController
|
|
3
|
+
import { BaseController } from "@metamask/base-controller";
|
|
4
|
+
import type { ControllerStateChangeEvent, ControllerGetStateAction } from "@metamask/base-controller";
|
|
4
5
|
import type { Messenger } from "@metamask/messenger";
|
|
5
6
|
import type { NetworkClientId, NetworkControllerGetNetworkClientByIdAction } from "@metamask/network-controller";
|
|
6
7
|
import type { PhishingControllerBulkScanUrlsAction } from "@metamask/phishing-controller";
|
|
@@ -287,6 +288,24 @@ export declare class NftController extends BaseController<typeof controllerName,
|
|
|
287
288
|
userAddress?: string;
|
|
288
289
|
source?: Source;
|
|
289
290
|
}): Promise<void>;
|
|
291
|
+
/**
|
|
292
|
+
* Adds multiple NFTs and respective NFT contracts to the stored NFT and NFT contracts lists.
|
|
293
|
+
*
|
|
294
|
+
* @param nfts - An array of NFT objects to add.
|
|
295
|
+
* @param nfts[].tokenAddress - Hex address of the NFT contract.
|
|
296
|
+
* @param nfts[].tokenId - The NFT identifier.
|
|
297
|
+
* @param nfts[].nftMetadata - NFT metadata including chainId.
|
|
298
|
+
* @param userAddress - The address of the current user.
|
|
299
|
+
* @param source - Whether the NFT was detected, added manually or suggested by a dapp. Defaults to Source.Custom.
|
|
300
|
+
* @returns Promise resolving to the current NFT list.
|
|
301
|
+
*/
|
|
302
|
+
addNfts(nfts: {
|
|
303
|
+
tokenAddress: string;
|
|
304
|
+
tokenId: string;
|
|
305
|
+
nftMetadata: NftMetadata & {
|
|
306
|
+
chainId: number;
|
|
307
|
+
};
|
|
308
|
+
}[], userAddress: string, source?: Source): Promise<void>;
|
|
290
309
|
/**
|
|
291
310
|
* Refetches NFT metadata and updates the state
|
|
292
311
|
*
|
|
@@ -339,33 +358,7 @@ export declare class NftController extends BaseController<typeof controllerName,
|
|
|
339
358
|
*/
|
|
340
359
|
checkAndUpdateSingleNftOwnershipStatus(nft: Nft, batch: boolean, networkClientId: NetworkClientId, { userAddress }?: {
|
|
341
360
|
userAddress?: string;
|
|
342
|
-
}): Promise<
|
|
343
|
-
isCurrentlyOwned: boolean | undefined;
|
|
344
|
-
tokenId: string;
|
|
345
|
-
address: string;
|
|
346
|
-
name: string | null;
|
|
347
|
-
description: string | null;
|
|
348
|
-
image: string | null;
|
|
349
|
-
standard: string | null;
|
|
350
|
-
favorite?: boolean | undefined;
|
|
351
|
-
numberOfSales?: number | undefined;
|
|
352
|
-
backgroundColor?: string | undefined;
|
|
353
|
-
imagePreview?: string | undefined;
|
|
354
|
-
imageThumbnail?: string | undefined;
|
|
355
|
-
imageOriginal?: string | undefined;
|
|
356
|
-
animation?: string | undefined;
|
|
357
|
-
animationOriginal?: string | undefined;
|
|
358
|
-
externalLink?: string | undefined;
|
|
359
|
-
creator?: string | undefined;
|
|
360
|
-
transactionId?: string | undefined;
|
|
361
|
-
tokenURI?: string | null | undefined;
|
|
362
|
-
collection?: Collection | undefined;
|
|
363
|
-
attributes?: Attributes[] | undefined;
|
|
364
|
-
lastSale?: LastSale | undefined;
|
|
365
|
-
rarityRank?: string | undefined;
|
|
366
|
-
topBid?: TopBid | undefined;
|
|
367
|
-
chainId?: number | undefined;
|
|
368
|
-
}>;
|
|
361
|
+
}): Promise<Nft>;
|
|
369
362
|
/**
|
|
370
363
|
* Checks whether NFTs associated with current selectedAddress/chainId combination are still owned by the user
|
|
371
364
|
* And updates the isCurrentlyOwned value on each accordingly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftController.d.mts","sourceRoot":"","sources":["../src/NftController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,+CAA+C,EAC/C,kCAAkC,EAClC,0CAA0C,EAC3C,sCAAsC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,sCAAsC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"NftController.d.mts","sourceRoot":"","sources":["../src/NftController.ts"],"names":[],"mappings":"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"}
|
package/dist/NftController.mjs
CHANGED
|
@@ -26,7 +26,7 @@ import { Mutex } from "async-mutex";
|
|
|
26
26
|
import $BN from "bn.js";
|
|
27
27
|
const BN = $importDefault($BN);
|
|
28
28
|
import { v4 as random } from "uuid";
|
|
29
|
-
import { compareNftMetadata, getFormattedIpfsUrl, hasNewCollectionFields } from "./assetsUtil.mjs";
|
|
29
|
+
import { compareNftMetadata, getFormattedIpfsUrl, hasNewCollectionFields, reduceInBatchesSerially } from "./assetsUtil.mjs";
|
|
30
30
|
import { Source } from "./constants.mjs";
|
|
31
31
|
const nftControllerMetadata = {
|
|
32
32
|
allNftContracts: {
|
|
@@ -253,6 +253,42 @@ export class NftController extends BaseController {
|
|
|
253
253
|
await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_addIndividualNft).call(this, checksumHexAddress, tokenId, nftMetadata, nftContract, chainId, addressToSearch, source);
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Adds multiple NFTs and respective NFT contracts to the stored NFT and NFT contracts lists.
|
|
258
|
+
*
|
|
259
|
+
* @param nfts - An array of NFT objects to add.
|
|
260
|
+
* @param nfts[].tokenAddress - Hex address of the NFT contract.
|
|
261
|
+
* @param nfts[].tokenId - The NFT identifier.
|
|
262
|
+
* @param nfts[].nftMetadata - NFT metadata including chainId.
|
|
263
|
+
* @param userAddress - The address of the current user.
|
|
264
|
+
* @param source - Whether the NFT was detected, added manually or suggested by a dapp. Defaults to Source.Custom.
|
|
265
|
+
* @returns Promise resolving to the current NFT list.
|
|
266
|
+
*/
|
|
267
|
+
async addNfts(nfts, userAddress, source = Source.Custom) {
|
|
268
|
+
const addressToSearch = __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_getAddressOrSelectedAddress).call(this, userAddress);
|
|
269
|
+
if (!addressToSearch) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
// Remember max number of urls this allows is 250
|
|
273
|
+
const sanitizedNftMetadata = await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_bulkSanitizeNftMetadata).call(this, nfts.map((nft) => nft.nftMetadata));
|
|
274
|
+
for (const [index, nft] of nfts.entries()) {
|
|
275
|
+
const checksumHexAddress = toChecksumHexAddress(nft.tokenAddress);
|
|
276
|
+
const hexChainId = toHex(nft.nftMetadata.chainId);
|
|
277
|
+
const networkClientId = this.messenger.call('NetworkController:findNetworkClientIdByChainId', hexChainId);
|
|
278
|
+
const newNftContracts = await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_addNftContract).call(this, networkClientId, {
|
|
279
|
+
tokenAddress: checksumHexAddress,
|
|
280
|
+
userAddress: addressToSearch,
|
|
281
|
+
source,
|
|
282
|
+
nftMetadata: sanitizedNftMetadata[index],
|
|
283
|
+
});
|
|
284
|
+
// If NFT contract was not added, do not add individual NFT
|
|
285
|
+
const nftContract = newNftContracts.find((contract) => contract.address.toLowerCase() === checksumHexAddress.toLowerCase());
|
|
286
|
+
// If NFT contract information, add individual NFT
|
|
287
|
+
if (nftContract) {
|
|
288
|
+
await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_addIndividualNft).call(this, checksumHexAddress, nft.tokenId, sanitizedNftMetadata[index], nftContract, hexChainId, addressToSearch, source);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
256
292
|
/**
|
|
257
293
|
* Refetches NFT metadata and updates the state
|
|
258
294
|
*
|
|
@@ -1215,27 +1251,40 @@ async function _NftController_bulkSanitizeNftMetadata(metadataList) {
|
|
|
1215
1251
|
return sanitizedMetadataList;
|
|
1216
1252
|
}
|
|
1217
1253
|
try {
|
|
1218
|
-
//
|
|
1219
|
-
const
|
|
1220
|
-
//
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
}
|
|
1233
|
-
}
|
|
1234
|
-
else {
|
|
1235
|
-
delete sanitizedMetadataList[metadataIndex][fieldName];
|
|
1254
|
+
// PhishingController has a 250 URL limit, so batch if needed
|
|
1255
|
+
const MAX_URLS_PER_BATCH = 250;
|
|
1256
|
+
// Process URLs in batches serially
|
|
1257
|
+
const blockedUrls = await reduceInBatchesSerially({
|
|
1258
|
+
values: urlsToCheck,
|
|
1259
|
+
batchSize: MAX_URLS_PER_BATCH,
|
|
1260
|
+
eachBatch: async (workingBlockedUrls, batch) => {
|
|
1261
|
+
// Use bulkScanUrls to check this batch
|
|
1262
|
+
const bulkScanResponse = await this.messenger.call('PhishingController:bulkScanUrls', batch);
|
|
1263
|
+
// Collect blocked URLs from this batch
|
|
1264
|
+
Object.entries(bulkScanResponse.results).forEach(([url, result]) => {
|
|
1265
|
+
if (result.recommendedAction === RecommendedAction.Block) {
|
|
1266
|
+
// Type assertion is safe here as we always initialize with a Set and return a Set
|
|
1267
|
+
workingBlockedUrls.add(url);
|
|
1236
1268
|
}
|
|
1237
1269
|
});
|
|
1238
|
-
|
|
1270
|
+
return workingBlockedUrls;
|
|
1271
|
+
},
|
|
1272
|
+
initialResult: new Set(),
|
|
1273
|
+
});
|
|
1274
|
+
// Apply scan results to all metadata objects
|
|
1275
|
+
blockedUrls.forEach((url) => {
|
|
1276
|
+
urlMap[url].forEach(({ metadataIndex, fieldName }) => {
|
|
1277
|
+
if (fieldName === 'collection.externalLink' &&
|
|
1278
|
+
sanitizedMetadataList[metadataIndex].collection) {
|
|
1279
|
+
const { collection } = sanitizedMetadataList[metadataIndex];
|
|
1280
|
+
if (collection && 'externalLink' in collection) {
|
|
1281
|
+
delete collection.externalLink;
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
else {
|
|
1285
|
+
delete sanitizedMetadataList[metadataIndex][fieldName];
|
|
1286
|
+
}
|
|
1287
|
+
});
|
|
1239
1288
|
});
|
|
1240
1289
|
}
|
|
1241
1290
|
catch (error) {
|