@metamask/assets-controllers 53.1.1 → 55.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 +21 -1
- package/dist/AccountTrackerController.d.cts +2 -2
- package/dist/AccountTrackerController.d.mts +2 -2
- package/dist/CurrencyRateController.d.cts +2 -2
- package/dist/CurrencyRateController.d.mts +2 -2
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.cts +2 -2
- package/dist/MultichainAssetsRatesController/MultichainAssetsRatesController.d.mts +2 -2
- package/dist/NftController.cjs +8 -3
- package/dist/NftController.cjs.map +1 -1
- package/dist/NftController.d.cts +5 -1
- package/dist/NftController.d.cts.map +1 -1
- package/dist/NftController.d.mts +5 -1
- package/dist/NftController.d.mts.map +1 -1
- package/dist/NftController.mjs +9 -4
- package/dist/NftController.mjs.map +1 -1
- package/dist/NftDetectionController.cjs +43 -26
- package/dist/NftDetectionController.cjs.map +1 -1
- package/dist/NftDetectionController.d.cts +5 -4
- package/dist/NftDetectionController.d.cts.map +1 -1
- package/dist/NftDetectionController.d.mts +5 -4
- package/dist/NftDetectionController.d.mts.map +1 -1
- package/dist/NftDetectionController.mjs +44 -27
- package/dist/NftDetectionController.mjs.map +1 -1
- package/dist/TokenBalancesController.d.cts +2 -2
- package/dist/TokenBalancesController.d.mts +2 -2
- package/dist/TokenDetectionController.d.cts +2 -2
- package/dist/TokenDetectionController.d.mts +2 -2
- package/dist/TokenListController.d.cts +2 -2
- package/dist/TokenListController.d.mts +2 -2
- package/dist/TokenRatesController.cjs +1 -1
- package/dist/TokenRatesController.cjs.map +1 -1
- package/dist/TokenRatesController.d.cts +2 -2
- package/dist/TokenRatesController.d.cts.map +1 -1
- package/dist/TokenRatesController.d.mts +2 -2
- package/dist/TokenRatesController.d.mts.map +1 -1
- package/dist/TokenRatesController.mjs +2 -2
- package/dist/TokenRatesController.mjs.map +1 -1
- package/dist/assetsUtil.cjs +1 -0
- package/dist/assetsUtil.cjs.map +1 -1
- package/dist/assetsUtil.d.cts.map +1 -1
- package/dist/assetsUtil.d.mts.map +1 -1
- package/dist/assetsUtil.mjs +1 -0
- package/dist/assetsUtil.mjs.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [55.0.0]
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **BREAKING:** Bump peer dependency `@metamask/accounts-controller` to `^27.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
15
|
+
- **BREAKING:** Bump peer dependency `@metamask/network-controller` to `^23.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
16
|
+
- Bump `@metamask/polling-controller` to `^13.0.0` ([#5507](https://github.com/MetaMask/core/pull/5507))
|
|
17
|
+
|
|
18
|
+
## [54.0.0]
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **BREAKING**: The `detectNfts` method in the `NftDetectionController` now accepts chain IDs directly instead of networkClientId, enabling NFT detection across multiple chains simultaneously ([#5448](https://github.com/MetaMask/core/pull/5448))
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Fixed token address conversion in the `TokenRatesController` to correctly preserve the checksum address format without unnecessary hex conversion ([#5490](https://github.com/MetaMask/core/pull/5490))
|
|
27
|
+
|
|
10
28
|
## [53.1.1]
|
|
11
29
|
|
|
12
30
|
### Fixed
|
|
@@ -1468,7 +1486,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1468
1486
|
|
|
1469
1487
|
- Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845))
|
|
1470
1488
|
|
|
1471
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@
|
|
1489
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@55.0.0...HEAD
|
|
1490
|
+
[55.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@54.0.0...@metamask/assets-controllers@55.0.0
|
|
1491
|
+
[54.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.1.1...@metamask/assets-controllers@54.0.0
|
|
1472
1492
|
[53.1.1]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.1.0...@metamask/assets-controllers@53.1.1
|
|
1473
1493
|
[53.1.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@53.0.0...@metamask/assets-controllers@53.1.0
|
|
1474
1494
|
[53.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@52.0.0...@metamask/assets-controllers@53.0.0
|
|
@@ -65,8 +65,8 @@ type AccountTrackerPollingInput = {
|
|
|
65
65
|
networkClientId: NetworkClientId;
|
|
66
66
|
};
|
|
67
67
|
declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
|
|
68
|
-
readonly "__#
|
|
69
|
-
"__#
|
|
68
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
69
|
+
"__#14@#intervalLength": number | undefined;
|
|
70
70
|
setIntervalLength(intervalLength: number): void;
|
|
71
71
|
getIntervalLength(): number | undefined;
|
|
72
72
|
_startPolling(input: AccountTrackerPollingInput): void; /**
|
|
@@ -65,8 +65,8 @@ type AccountTrackerPollingInput = {
|
|
|
65
65
|
networkClientId: NetworkClientId;
|
|
66
66
|
};
|
|
67
67
|
declare const AccountTrackerController_base: (abstract new (...args: any[]) => {
|
|
68
|
-
readonly "__#
|
|
69
|
-
"__#
|
|
68
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
69
|
+
"__#14@#intervalLength": number | undefined;
|
|
70
70
|
setIntervalLength(intervalLength: number): void;
|
|
71
71
|
getIntervalLength(): number | undefined;
|
|
72
72
|
_startPolling(input: AccountTrackerPollingInput): void; /**
|
|
@@ -29,8 +29,8 @@ type CurrencyRatePollingInput = {
|
|
|
29
29
|
nativeCurrencies: string[];
|
|
30
30
|
};
|
|
31
31
|
declare const CurrencyRateController_base: (abstract new (...args: any[]) => {
|
|
32
|
-
readonly "__#
|
|
33
|
-
"__#
|
|
32
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
33
|
+
"__#14@#intervalLength": number | undefined;
|
|
34
34
|
setIntervalLength(intervalLength: number): void;
|
|
35
35
|
getIntervalLength(): number | undefined;
|
|
36
36
|
_startPolling(input: CurrencyRatePollingInput): void;
|
|
@@ -29,8 +29,8 @@ type CurrencyRatePollingInput = {
|
|
|
29
29
|
nativeCurrencies: string[];
|
|
30
30
|
};
|
|
31
31
|
declare const CurrencyRateController_base: (abstract new (...args: any[]) => {
|
|
32
|
-
readonly "__#
|
|
33
|
-
"__#
|
|
32
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
33
|
+
"__#14@#intervalLength": number | undefined;
|
|
34
34
|
setIntervalLength(intervalLength: number): void;
|
|
35
35
|
getIntervalLength(): number | undefined;
|
|
36
36
|
_startPolling(input: CurrencyRatePollingInput): void;
|
|
@@ -67,8 +67,8 @@ export type MultichainAssetsRatesPollingInput = {
|
|
|
67
67
|
accountId: string;
|
|
68
68
|
};
|
|
69
69
|
declare const MultichainAssetsRatesController_base: (abstract new (...args: any[]) => {
|
|
70
|
-
readonly "__#
|
|
71
|
-
"__#
|
|
70
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
71
|
+
"__#14@#intervalLength": number | undefined;
|
|
72
72
|
setIntervalLength(intervalLength: number): void;
|
|
73
73
|
getIntervalLength(): number | undefined;
|
|
74
74
|
_startPolling(input: MultichainAssetsRatesPollingInput): void;
|
|
@@ -67,8 +67,8 @@ export type MultichainAssetsRatesPollingInput = {
|
|
|
67
67
|
accountId: string;
|
|
68
68
|
};
|
|
69
69
|
declare const MultichainAssetsRatesController_base: (abstract new (...args: any[]) => {
|
|
70
|
-
readonly "__#
|
|
71
|
-
"__#
|
|
70
|
+
readonly "__#14@#intervalIds": Record<string, NodeJS.Timeout>;
|
|
71
|
+
"__#14@#intervalLength": number | undefined;
|
|
72
72
|
setIntervalLength(intervalLength: number): void;
|
|
73
73
|
getIntervalLength(): number | undefined;
|
|
74
74
|
_startPolling(input: MultichainAssetsRatesPollingInput): void;
|
package/dist/NftController.cjs
CHANGED
|
@@ -223,15 +223,16 @@ class NftController extends base_controller_1.BaseController {
|
|
|
223
223
|
* @param options.userAddress - The address of the current user.
|
|
224
224
|
* @param options.source - Whether the NFT was detected, added manually or suggested by a dapp.
|
|
225
225
|
* @param options.networkClientId - The networkClientId that can be used to identify the network client to use for this request.
|
|
226
|
+
* @param options.chainId - The chain ID to add the NFT to.
|
|
226
227
|
* @returns Promise resolving to the current NFT list.
|
|
227
228
|
*/
|
|
228
|
-
async addNft(tokenAddress, tokenId, { nftMetadata, userAddress, source = constants_1.Source.Custom, networkClientId, } = {}) {
|
|
229
|
+
async addNft(tokenAddress, tokenId, { nftMetadata, userAddress, source = constants_1.Source.Custom, networkClientId, chainId, } = {}) {
|
|
229
230
|
const addressToSearch = __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_getAddressOrSelectedAddress).call(this, userAddress);
|
|
230
231
|
if (!addressToSearch) {
|
|
231
232
|
return;
|
|
232
233
|
}
|
|
233
234
|
const checksumHexAddress = (0, controller_utils_1.toChecksumHexAddress)(tokenAddress);
|
|
234
|
-
const
|
|
235
|
+
const chainIdToAddTo = chainId || __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_getCorrectChainId).call(this, { networkClientId });
|
|
235
236
|
nftMetadata =
|
|
236
237
|
nftMetadata ||
|
|
237
238
|
(await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_getNftInformation).call(this, checksumHexAddress, tokenId, networkClientId));
|
|
@@ -244,9 +245,13 @@ class NftController extends base_controller_1.BaseController {
|
|
|
244
245
|
});
|
|
245
246
|
// If NFT contract was not added, do not add individual NFT
|
|
246
247
|
const nftContract = newNftContracts.find((contract) => contract.address.toLowerCase() === checksumHexAddress.toLowerCase());
|
|
248
|
+
// This is the case when the NFT is added manually and not detected automatically
|
|
249
|
+
if (!nftMetadata.chainId) {
|
|
250
|
+
nftMetadata.chainId = (0, controller_utils_1.convertHexToDecimal)(chainIdToAddTo);
|
|
251
|
+
}
|
|
247
252
|
// If NFT contract information, add individual NFT
|
|
248
253
|
if (nftContract) {
|
|
249
|
-
await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_addIndividualNft).call(this, checksumHexAddress, tokenId, nftMetadata, nftContract,
|
|
254
|
+
await __classPrivateFieldGet(this, _NftController_instances, "m", _NftController_addIndividualNft).call(this, checksumHexAddress, tokenId, nftMetadata, nftContract, chainIdToAddTo, addressToSearch, source);
|
|
250
255
|
}
|
|
251
256
|
}
|
|
252
257
|
/**
|