Skip to content

Commit ea4c5b8

Browse files
committed
Fix typing, excess properties from legacy token list
1 parent c5709b8 commit ea4c5b8

2 files changed

Lines changed: 16 additions & 21 deletions

File tree

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

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1845,17 +1845,12 @@ describe('TokenDetectionController', () => {
18451845
expect(callActionSpy).toHaveBeenLastCalledWith(
18461846
'TokensController:addDetectedTokens',
18471847
Object.values(STATIC_MAINNET_TOKEN_LIST).map((token) => {
1848-
const newToken = {
1849-
...token,
1848+
const { iconUrl, ...tokenMetadata } = token;
1849+
return {
1850+
...tokenMetadata,
18501851
image: token.iconUrl,
18511852
isERC721: false,
18521853
};
1853-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1854-
delete (newToken as any).erc20;
1855-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1856-
delete (newToken as any).erc721;
1857-
delete newToken.iconUrl;
1858-
return newToken;
18591854
}),
18601855
{
18611856
selectedAddress,

packages/assets-controllers/src/TokenDetectionController.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ import type { AssetsContractController } from './AssetsContractController';
3232
import { isTokenDetectionSupportedForNetwork } from './assetsUtil';
3333
import type {
3434
GetTokenListState,
35+
TokenListMap,
3536
TokenListStateChange,
36-
TokenListToken,
3737
} from './TokenListController';
3838
import type { Token } from './TokenRatesController';
3939
import type {
@@ -63,25 +63,23 @@ export function isEqualCaseInsensitive(
6363
return value1.toLowerCase() === value2.toLowerCase();
6464
}
6565

66-
type LegacyToken = Omit<
67-
Token,
68-
'aggregators' | 'image' | 'balanceError' | 'isERC721'
69-
> & {
66+
type LegacyToken = {
7067
name: string;
71-
logo: string;
68+
logo: `${string}.svg`;
69+
symbol: string;
70+
decimals: number;
7271
erc20?: boolean;
7372
erc721?: boolean;
7473
};
7574

75+
type TokenDetectionMap = {
76+
[P in keyof TokenListMap]: Omit<TokenListMap[P], 'occurrences'>;
77+
};
78+
7679
export const STATIC_MAINNET_TOKEN_LIST = Object.entries<LegacyToken>(
7780
contractMap,
78-
).reduce<
79-
Record<
80-
string,
81-
Partial<TokenListToken> & Pick<Token, 'address' | 'symbol' | 'decimals'>
82-
>
83-
>((acc, [base, contract]) => {
84-
const { logo, ...tokenMetadata } = contract;
81+
).reduce<TokenDetectionMap>((acc, [base, contract]) => {
82+
const { logo, erc20, erc721, ...tokenMetadata } = contract;
8583
return {
8684
...acc,
8785
[base.toLowerCase()]: {
@@ -168,6 +166,8 @@ export class TokenDetectionController extends StaticIntervalPollingController<
168166

169167
#networkClientIdAgainstWhichToDetect: NetworkClientId;
170168

169+
#tokenList: TokenDetectionMap = {};
170+
171171
#disabled: boolean;
172172

173173
#isUnlocked: boolean;

0 commit comments

Comments
 (0)