Skip to content

Commit 6ebd3c2

Browse files
authored
fix: remove includeDuplicateSymbolAssets filter (#4768)
## Explanation What motivates this change is this user report MetaMask/metamask-extension#27614 Based on discussions we had with teams; seems like initially, we added the `includeDuplicateSymbolAssets` because there were concerns around duplicate symbols being scammy and the increased size of tokenList. For the duplicate symbols being scammy concern; i think our usage of `occurrencesFloor=3` is helping us filter out any scam tokens. Having tokens with the same symbol is not unusual and it does not necessarily mean that the token is a scam. For the tokenList size; we thought that; today; the tokenList we get without `includeDuplicateSymbolAssets` has around 4500 tokens. With the `includeDuplicateSymbolAssets` it has around 4000. Which does not seem like it should have a huge impact. We thought that token the tokenList size would increase regardless in future, and if users add their tokens to lists and expect to see them we should not be filtering them out even if they have duplicates. ## References <!-- Are there any issues that this pull request is tied to? Are there other links that reviewers should consult to understand these changes better? Are there client or consumer pull requests to adopt any breaking changes? For example: * Fixes #12345 * Related to #67890 --> ## Changelog <!-- If you're making any consumer-facing changes, list those changes here as if you were updating a changelog, using the template below as a guide. (CATEGORY is one of BREAKING, ADDED, CHANGED, DEPRECATED, REMOVED, or FIXED. For security-related issues, follow the Security Advisory process.) Please take care to name the exact pieces of the API you've added or changed (e.g. types, interfaces, functions, or methods). If there are any breaking changes, make sure to offer a solution for consumers to follow once they upgrade to the changes. Finally, if you're only making changes to development scripts or tests, you may replace the template below with "None". --> ### `@metamask/assets-controllers` - **Removed**: Removed param `includeDuplicateSymbolAssets` in our api call to token-api. ## Checklist - [ ] I've updated the test suite for new or updated code as appropriate - [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate - [ ] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
1 parent e0d921a commit 6ebd3c2

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

packages/assets-controllers/src/TokenDetectionController.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2247,7 +2247,7 @@ function getTokensPath(chainId: Hex) {
22472247
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
22482248
return `/tokens/${convertHexToDecimal(
22492249
chainId,
2250-
)}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false`;
2250+
)}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false`;
22512251
}
22522252

22532253
type WithControllerCallback<ReturnValue> = ({

packages/assets-controllers/src/TokenListController.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1363,5 +1363,5 @@ function getTokensPath(chainId: Hex) {
13631363
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
13641364
return `/tokens/${convertHexToDecimal(
13651365
chainId,
1366-
)}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`;
1366+
)}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`;
13671367
}

packages/assets-controllers/src/token-service.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ describe('Token service', () => {
243243
const { signal } = new AbortController();
244244
nock(TOKEN_END_POINT_API)
245245
.get(
246-
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
246+
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
247247
)
248248
.reply(200, sampleTokenList)
249249
.persist();
@@ -260,7 +260,7 @@ describe('Token service', () => {
260260

261261
nock(TOKEN_END_POINT_API)
262262
.get(
263-
`/tokens/${lineaChainId}?occurrenceFloor=1&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
263+
`/tokens/${lineaChainId}?occurrenceFloor=1&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
264264
)
265265
.reply(200, sampleTokenListLinea)
266266
.persist();
@@ -274,7 +274,7 @@ describe('Token service', () => {
274274
const abortController = new AbortController();
275275
nock(TOKEN_END_POINT_API)
276276
.get(
277-
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
277+
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
278278
)
279279
// well beyond time it will take to abort
280280
.delay(ONE_SECOND_IN_MILLISECONDS)
@@ -294,7 +294,7 @@ describe('Token service', () => {
294294
const { signal } = new AbortController();
295295
nock(TOKEN_END_POINT_API)
296296
.get(
297-
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
297+
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
298298
)
299299
.replyWithError('Example network error')
300300
.persist();
@@ -308,7 +308,7 @@ describe('Token service', () => {
308308
const { signal } = new AbortController();
309309
nock(TOKEN_END_POINT_API)
310310
.get(
311-
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
311+
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
312312
)
313313
.reply(500)
314314
.persist();
@@ -322,7 +322,7 @@ describe('Token service', () => {
322322
const { signal } = new AbortController();
323323
nock(TOKEN_END_POINT_API)
324324
.get(
325-
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
325+
`/tokens/${sampleDecimalChainId}?occurrenceFloor=3&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`,
326326
)
327327
// well beyond timeout
328328
.delay(ONE_SECOND_IN_MILLISECONDS)

packages/assets-controllers/src/token-service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function getTokensURL(chainId: Hex) {
2323
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
2424
return `${TOKEN_END_POINT_API}/tokens/${convertHexToDecimal(
2525
chainId,
26-
)}?occurrenceFloor=${occurrenceFloor}&includeNativeAssets=false&includeDuplicateSymbolAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`;
26+
)}?occurrenceFloor=${occurrenceFloor}&includeNativeAssets=false&includeTokenFees=false&includeAssetType=false&includeERC20Permit=false&includeStorage=false`;
2727
}
2828

2929
/**

0 commit comments

Comments
 (0)