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