@metamask/assets-controllers 11.1.0 → 13.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 +50 -3
- package/dist/AssetsContractController.d.ts +70 -18
- package/dist/AssetsContractController.d.ts.map +1 -1
- package/dist/AssetsContractController.js +121 -73
- package/dist/AssetsContractController.js.map +1 -1
- package/dist/NftDetectionController.d.ts +1 -2
- package/dist/NftDetectionController.d.ts.map +1 -1
- package/dist/NftDetectionController.js.map +1 -1
- package/dist/TokensController.d.ts +33 -18
- package/dist/TokensController.d.ts.map +1 -1
- package/dist/TokensController.js +53 -29
- package/dist/TokensController.js.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [13.0.0]
|
|
10
|
+
### Changed
|
|
11
|
+
- **BREAKING**: `TokensController` now expects `getNetworkClientById` in constructor options ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
12
|
+
- **BREAKING**: `TokensController.addToken` now accepts a single options object ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
13
|
+
```
|
|
14
|
+
{
|
|
15
|
+
address: string;
|
|
16
|
+
symbol: string;
|
|
17
|
+
decimals: number;
|
|
18
|
+
name?: string;
|
|
19
|
+
image?: string;
|
|
20
|
+
interactingAddress?: string;
|
|
21
|
+
networkClientId?: NetworkClientId;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
- **BREAKING**: Bump peer dependency on `@metamask/network-controller` to ^13.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633))
|
|
25
|
+
- **CHANGED**: `TokensController.addToken` will use the chain ID value derived from state for `networkClientId` if provided ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
26
|
+
- **CHANGED**: `TokensController.addTokens` now accepts an optional `networkClientId` as the last parameter ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
27
|
+
- **CHANGED**: `TokensController.addTokens` will use the chain ID value derived from state for `networkClientId` if provided ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
28
|
+
- **CHANGED**: `TokensController.watchAsset` options now accepts optional `networkClientId` which is used to get the ERC-20 token name if provided ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
29
|
+
- Bump dependency on `@metamask/controller-utils` to ^5.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633))
|
|
30
|
+
- Bump dependency on `@metamask/preferences-controller` to ^4.4.1 ([#1676](https://github.com/MetaMask/core/pull/1676))
|
|
31
|
+
|
|
32
|
+
## [12.0.0]
|
|
33
|
+
### Added
|
|
34
|
+
- Add `AssetsContractController` methods `getProvider`, `getChainId`, `getERC721Standard`, and `getERC1155Standard` ([#1638](https://github.com/MetaMask/core/pull/1638))
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- **BREAKING**: Add `getNetworkClientById` to `AssetsContractController` constructor options ([#1638](https://github.com/MetaMask/core/pull/1638))
|
|
38
|
+
- Add optional `networkClientId` parameter to various `AssetContractController` methods ([#1638](https://github.com/MetaMask/core/pull/1638))
|
|
39
|
+
- The affected methods are:
|
|
40
|
+
- `getERC20BalanceOf`
|
|
41
|
+
- `getERC20TokenDecimals`
|
|
42
|
+
- `getERC20TokenName`
|
|
43
|
+
- `getERC721NftTokenId`
|
|
44
|
+
- `getTokenStandardAndDetails`
|
|
45
|
+
- `getERC721TokenURI`
|
|
46
|
+
- `getERC721AssetName`
|
|
47
|
+
- `getERC721AssetSymbol`
|
|
48
|
+
- `getERC721OwnerOf`
|
|
49
|
+
- `getERC1155TokenURI`
|
|
50
|
+
- `getERC1155BalanceOf`
|
|
51
|
+
- `transferSingleERC1155`
|
|
52
|
+
- `getBalancesInSingleCall`
|
|
53
|
+
|
|
9
54
|
## [11.1.0]
|
|
10
55
|
### Added
|
|
11
56
|
- Add `tokenURI` to `NftMetadata` type ([#1577](https://github.com/MetaMask/core/pull/1577))
|
|
@@ -56,7 +101,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
56
101
|
- The `getERC20TokenName` method is used to get the token name for tokens added via `wallet_watchAsset`
|
|
57
102
|
- The `onTokenListStateChange` method is used to trigger a name update when the token list changes. On each change, token names are copied from the token list if they're missing from token controller state.
|
|
58
103
|
- **BREAKING:** The signature of the tokens controller method `addToken` has changed
|
|
59
|
-
- The fourth and fifth positional parameters (`image` and `interactingAddress`) have been replaced by an `options` object
|
|
104
|
+
- The fourth and fifth positional parameters (`image` and `interactingAddress`) have been replaced by an `options` object
|
|
60
105
|
- The new options parameter includes the `image` and `interactingAddress` properties, and a new `name` property
|
|
61
106
|
- The token detection controller now sets the token name when new tokens are detected ([#1127](https://github.com/MetaMask/core/pull/1127))
|
|
62
107
|
- The `Token` type now includes an optional `name` field ([#1127](https://github.com/MetaMask/core/pull/1127))
|
|
@@ -135,7 +180,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
135
180
|
- **BREAKING:** Remove the `networkType` configuration option from the NFT detection controller, NFT controller, and tokens controller ([#1360](https://github.com/MetaMask/core/pull/1360), [#1359](https://github.com/MetaMask/core/pull/1359))
|
|
136
181
|
- **BREAKING:** Remove the `SuggestedAssetMeta` and `SuggestedAssetMetaBase` types from the token controller ([#1268](https://github.com/MetaMask/core/pull/1268))
|
|
137
182
|
- **BREAKING:** Remove the `acceptWatchAsset` and `rejectWatchAsset` methods from the token controller ([#1268](https://github.com/MetaMask/core/pull/1268))
|
|
138
|
-
- Suggested assets can be accepted or rejected using the approval controller instead
|
|
183
|
+
- Suggested assets can be accepted or rejected using the approval controller instead
|
|
139
184
|
|
|
140
185
|
## [7.0.0]
|
|
141
186
|
### Changed
|
|
@@ -226,7 +271,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
226
271
|
### Changed
|
|
227
272
|
- Use Ethers for AssetsContractController ([#845](https://github.com/MetaMask/core/pull/845))
|
|
228
273
|
|
|
229
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@
|
|
274
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@13.0.0...HEAD
|
|
275
|
+
[13.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@12.0.0...@metamask/assets-controllers@13.0.0
|
|
276
|
+
[12.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@11.1.0...@metamask/assets-controllers@12.0.0
|
|
230
277
|
[11.1.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@11.0.1...@metamask/assets-controllers@11.1.0
|
|
231
278
|
[11.0.1]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@11.0.0...@metamask/assets-controllers@11.0.1
|
|
232
279
|
[11.0.0]: https://github.com/MetaMask/core/compare/@metamask/assets-controllers@10.0.0...@metamask/assets-controllers@11.0.0
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
|
+
import { Web3Provider } from '@ethersproject/providers';
|
|
2
3
|
import type { BaseConfig, BaseState } from '@metamask/base-controller';
|
|
3
4
|
import { BaseController } from '@metamask/base-controller';
|
|
4
|
-
import type { NetworkState } from '@metamask/network-controller';
|
|
5
|
+
import type { NetworkClientId, NetworkState, NetworkController } from '@metamask/network-controller';
|
|
5
6
|
import type { PreferencesState } from '@metamask/preferences-controller';
|
|
6
7
|
import type { Hex } from '@metamask/utils';
|
|
7
8
|
import type { BN } from 'ethereumjs-util';
|
|
9
|
+
import { ERC20Standard } from './Standards/ERC20Standard';
|
|
10
|
+
import { ERC1155Standard } from './Standards/NftStandards/ERC1155/ERC1155Standard';
|
|
11
|
+
import { ERC721Standard } from './Standards/NftStandards/ERC721/ERC721Standard';
|
|
8
12
|
/**
|
|
9
13
|
* Check if token detection is enabled for certain networks
|
|
10
14
|
*
|
|
@@ -38,13 +42,11 @@ export interface BalanceMap {
|
|
|
38
42
|
*/
|
|
39
43
|
export declare class AssetsContractController extends BaseController<AssetsContractConfig, BaseState> {
|
|
40
44
|
private _provider?;
|
|
41
|
-
private erc721Standard?;
|
|
42
|
-
private erc1155Standard?;
|
|
43
|
-
private erc20Standard?;
|
|
44
45
|
/**
|
|
45
46
|
* Name of this controller used during composition
|
|
46
47
|
*/
|
|
47
48
|
name: string;
|
|
49
|
+
private readonly getNetworkClientById;
|
|
48
50
|
/**
|
|
49
51
|
* Creates a AssetsContractController instance.
|
|
50
52
|
*
|
|
@@ -52,13 +54,15 @@ export declare class AssetsContractController extends BaseController<AssetsContr
|
|
|
52
54
|
* @param options.chainId - The chain ID of the current network.
|
|
53
55
|
* @param options.onPreferencesStateChange - Allows subscribing to preference controller state changes.
|
|
54
56
|
* @param options.onNetworkStateChange - Allows subscribing to network controller state changes.
|
|
57
|
+
* @param options.getNetworkClientById - Gets the network client with the given id from the NetworkController.
|
|
55
58
|
* @param config - Initial options used to configure this controller.
|
|
56
59
|
* @param state - Initial state to set on this controller.
|
|
57
60
|
*/
|
|
58
|
-
constructor({ chainId: initialChainId, onPreferencesStateChange, onNetworkStateChange, }: {
|
|
61
|
+
constructor({ chainId: initialChainId, onPreferencesStateChange, onNetworkStateChange, getNetworkClientById, }: {
|
|
59
62
|
chainId: Hex;
|
|
60
63
|
onPreferencesStateChange: (listener: (preferencesState: PreferencesState) => void) => void;
|
|
61
64
|
onNetworkStateChange: (listener: (networkState: NetworkState) => void) => void;
|
|
65
|
+
getNetworkClientById: NetworkController['getNetworkClientById'];
|
|
62
66
|
}, config?: Partial<AssetsContractConfig>, state?: Partial<BaseState>);
|
|
63
67
|
/**
|
|
64
68
|
* Sets a new provider.
|
|
@@ -69,46 +73,86 @@ export declare class AssetsContractController extends BaseController<AssetsContr
|
|
|
69
73
|
*/
|
|
70
74
|
set provider(provider: any);
|
|
71
75
|
get provider(): any;
|
|
76
|
+
/**
|
|
77
|
+
* Get the relevant provider instance.
|
|
78
|
+
*
|
|
79
|
+
* @param networkClientId - Network Client ID.
|
|
80
|
+
* @returns Web3Provider instance.
|
|
81
|
+
*/
|
|
82
|
+
getProvider(networkClientId?: NetworkClientId): Web3Provider;
|
|
83
|
+
/**
|
|
84
|
+
* Get the relevant chain ID.
|
|
85
|
+
*
|
|
86
|
+
* @param networkClientId - Network Client ID used to get the provider.
|
|
87
|
+
* @returns Hex chain ID.
|
|
88
|
+
*/
|
|
89
|
+
getChainId(networkClientId?: NetworkClientId): Hex;
|
|
90
|
+
/**
|
|
91
|
+
* Get a ERC20Standard instance using the relevant provider instance.
|
|
92
|
+
*
|
|
93
|
+
* @param networkClientId - Network Client ID used to get the provider.
|
|
94
|
+
* @returns ERC20Standard instance.
|
|
95
|
+
*/
|
|
96
|
+
getERC20Standard(networkClientId?: NetworkClientId): ERC20Standard;
|
|
97
|
+
/**
|
|
98
|
+
* Get a ERC721Standard instance using the relevant provider instance.
|
|
99
|
+
*
|
|
100
|
+
* @param networkClientId - Network Client ID used to get the provider.
|
|
101
|
+
* @returns ERC721Standard instance.
|
|
102
|
+
*/
|
|
103
|
+
getERC721Standard(networkClientId?: NetworkClientId): ERC721Standard;
|
|
104
|
+
/**
|
|
105
|
+
* Get a ERC1155Standard instance using the relevant provider instance.
|
|
106
|
+
*
|
|
107
|
+
* @param networkClientId - Network Client ID used to get the provider.
|
|
108
|
+
* @returns ERC1155Standard instance.
|
|
109
|
+
*/
|
|
110
|
+
getERC1155Standard(networkClientId?: NetworkClientId): ERC1155Standard;
|
|
72
111
|
/**
|
|
73
112
|
* Get balance or count for current account on specific asset contract.
|
|
74
113
|
*
|
|
75
114
|
* @param address - Asset ERC20 contract address.
|
|
76
115
|
* @param selectedAddress - Current account public address.
|
|
116
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
77
117
|
* @returns Promise resolving to BN object containing balance for current account on specific asset contract.
|
|
78
118
|
*/
|
|
79
|
-
getERC20BalanceOf(address: string, selectedAddress: string): Promise<BN>;
|
|
119
|
+
getERC20BalanceOf(address: string, selectedAddress: string, networkClientId?: NetworkClientId): Promise<BN>;
|
|
80
120
|
/**
|
|
81
121
|
* Query for the decimals for a given ERC20 asset.
|
|
82
122
|
*
|
|
83
123
|
* @param address - ERC20 asset contract address.
|
|
124
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
84
125
|
* @returns Promise resolving to the 'decimals'.
|
|
85
126
|
*/
|
|
86
|
-
getERC20TokenDecimals(address: string): Promise<string>;
|
|
127
|
+
getERC20TokenDecimals(address: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
87
128
|
/**
|
|
88
129
|
* Query for the name for a given ERC20 asset.
|
|
89
130
|
*
|
|
90
131
|
* @param address - ERC20 asset contract address.
|
|
132
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
91
133
|
* @returns Promise resolving to the 'decimals'.
|
|
92
134
|
*/
|
|
93
|
-
getERC20TokenName(address: string): Promise<string>;
|
|
135
|
+
getERC20TokenName(address: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
94
136
|
/**
|
|
95
137
|
* Enumerate assets assigned to an owner.
|
|
96
138
|
*
|
|
97
139
|
* @param address - ERC721 asset contract address.
|
|
98
140
|
* @param selectedAddress - Current account public address.
|
|
99
141
|
* @param index - An NFT counter less than `balanceOf(selectedAddress)`.
|
|
142
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
100
143
|
* @returns Promise resolving to token identifier for the 'index'th asset assigned to 'selectedAddress'.
|
|
101
144
|
*/
|
|
102
|
-
getERC721NftTokenId(address: string, selectedAddress: string, index: number): Promise<string>;
|
|
145
|
+
getERC721NftTokenId(address: string, selectedAddress: string, index: number, networkClientId?: NetworkClientId): Promise<string>;
|
|
103
146
|
/**
|
|
104
147
|
* Enumerate assets assigned to an owner.
|
|
105
148
|
*
|
|
106
149
|
* @param tokenAddress - ERC721 asset contract address.
|
|
107
150
|
* @param userAddress - Current account public address.
|
|
108
151
|
* @param tokenId - ERC721 asset identifier.
|
|
152
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
109
153
|
* @returns Promise resolving to an object containing the token standard and a set of details which depend on which standard the token supports.
|
|
110
154
|
*/
|
|
111
|
-
getTokenStandardAndDetails(tokenAddress: string, userAddress?: string, tokenId?: string): Promise<{
|
|
155
|
+
getTokenStandardAndDetails(tokenAddress: string, userAddress?: string, tokenId?: string, networkClientId?: NetworkClientId): Promise<{
|
|
112
156
|
standard: string;
|
|
113
157
|
tokenURI?: string | undefined;
|
|
114
158
|
symbol?: string | undefined;
|
|
@@ -121,48 +165,54 @@ export declare class AssetsContractController extends BaseController<AssetsContr
|
|
|
121
165
|
*
|
|
122
166
|
* @param address - ERC721 asset contract address.
|
|
123
167
|
* @param tokenId - ERC721 asset identifier.
|
|
168
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
124
169
|
* @returns Promise resolving to the 'tokenURI'.
|
|
125
170
|
*/
|
|
126
|
-
getERC721TokenURI(address: string, tokenId: string): Promise<string>;
|
|
171
|
+
getERC721TokenURI(address: string, tokenId: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
127
172
|
/**
|
|
128
173
|
* Query for name for a given asset.
|
|
129
174
|
*
|
|
130
175
|
* @param address - ERC721 or ERC20 asset contract address.
|
|
176
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
131
177
|
* @returns Promise resolving to the 'name'.
|
|
132
178
|
*/
|
|
133
|
-
getERC721AssetName(address: string): Promise<string>;
|
|
179
|
+
getERC721AssetName(address: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
134
180
|
/**
|
|
135
181
|
* Query for symbol for a given asset.
|
|
136
182
|
*
|
|
137
183
|
* @param address - ERC721 or ERC20 asset contract address.
|
|
184
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
138
185
|
* @returns Promise resolving to the 'symbol'.
|
|
139
186
|
*/
|
|
140
|
-
getERC721AssetSymbol(address: string): Promise<string>;
|
|
187
|
+
getERC721AssetSymbol(address: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
141
188
|
/**
|
|
142
189
|
* Query for owner for a given ERC721 asset.
|
|
143
190
|
*
|
|
144
191
|
* @param address - ERC721 asset contract address.
|
|
145
192
|
* @param tokenId - ERC721 asset identifier.
|
|
193
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
146
194
|
* @returns Promise resolving to the owner address.
|
|
147
195
|
*/
|
|
148
|
-
getERC721OwnerOf(address: string, tokenId: string): Promise<string>;
|
|
196
|
+
getERC721OwnerOf(address: string, tokenId: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
149
197
|
/**
|
|
150
198
|
* Query for tokenURI for a given asset.
|
|
151
199
|
*
|
|
152
200
|
* @param address - ERC1155 asset contract address.
|
|
153
201
|
* @param tokenId - ERC1155 asset identifier.
|
|
202
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
154
203
|
* @returns Promise resolving to the 'tokenURI'.
|
|
155
204
|
*/
|
|
156
|
-
getERC1155TokenURI(address: string, tokenId: string): Promise<string>;
|
|
205
|
+
getERC1155TokenURI(address: string, tokenId: string, networkClientId?: NetworkClientId): Promise<string>;
|
|
157
206
|
/**
|
|
158
207
|
* Query for balance of a given ERC 1155 token.
|
|
159
208
|
*
|
|
160
209
|
* @param userAddress - Wallet public address.
|
|
161
210
|
* @param nftAddress - ERC1155 asset contract address.
|
|
162
211
|
* @param nftId - ERC1155 asset identifier.
|
|
212
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
163
213
|
* @returns Promise resolving to the 'balanceOf'.
|
|
164
214
|
*/
|
|
165
|
-
getERC1155BalanceOf(userAddress: string, nftAddress: string, nftId: string): Promise<BN>;
|
|
215
|
+
getERC1155BalanceOf(userAddress: string, nftAddress: string, nftId: string, networkClientId?: NetworkClientId): Promise<BN>;
|
|
166
216
|
/**
|
|
167
217
|
* Transfer single ERC1155 token.
|
|
168
218
|
*
|
|
@@ -171,18 +221,20 @@ export declare class AssetsContractController extends BaseController<AssetsContr
|
|
|
171
221
|
* @param recipientAddress - ERC1155 token recipient.
|
|
172
222
|
* @param nftId - ERC1155 token id.
|
|
173
223
|
* @param qty - Quantity of tokens to be sent.
|
|
224
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
174
225
|
* @returns Promise resolving to the 'transferSingle' ERC1155 token.
|
|
175
226
|
*/
|
|
176
|
-
transferSingleERC1155(nftAddress: string, senderAddress: string, recipientAddress: string, nftId: string, qty: string): Promise<void>;
|
|
227
|
+
transferSingleERC1155(nftAddress: string, senderAddress: string, recipientAddress: string, nftId: string, qty: string, networkClientId?: NetworkClientId): Promise<void>;
|
|
177
228
|
/**
|
|
178
229
|
* Get the token balance for a list of token addresses in a single call. Only non-zero balances
|
|
179
230
|
* are returned.
|
|
180
231
|
*
|
|
181
232
|
* @param selectedAddress - The address to check token balances for.
|
|
182
233
|
* @param tokensToDetect - The token addresses to detect balances for.
|
|
234
|
+
* @param networkClientId - Network Client ID to fetch the provider with.
|
|
183
235
|
* @returns The list of non-zero token balances.
|
|
184
236
|
*/
|
|
185
|
-
getBalancesInSingleCall(selectedAddress: string, tokensToDetect: string[]): Promise<BalanceMap>;
|
|
237
|
+
getBalancesInSingleCall(selectedAddress: string, tokensToDetect: string[], networkClientId?: NetworkClientId): Promise<BalanceMap>;
|
|
186
238
|
}
|
|
187
239
|
export default AssetsContractController;
|
|
188
240
|
//# sourceMappingURL=AssetsContractController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsContractController.d.ts","sourceRoot":"","sources":["../src/AssetsContractController.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AssetsContractController.d.ts","sourceRoot":"","sources":["../src/AssetsContractController.ts"],"names":[],"mappings":"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"}
|