@@ -8,7 +8,7 @@ import { L2GatewayRouter__factory } from '@arbitrum/sdk/dist/lib/abi/factories/L
88
99import { ArbTokenList , GraphTokenResult } from './types' ;
1010import path from 'path' ;
11- import { tokenListIsValid } from './validateTokenList' ;
11+ import { tokenInfoIsValid , tokenListIsValid } from './validateTokenList' ;
1212import {
1313 l2ToL1GatewayAddresses ,
1414 l2ToL1GatewayAddressesNova ,
@@ -246,31 +246,31 @@ export const getTokenListObjFromLocalPath = async (path: string) => {
246246export const removeInvalidTokensFromList = (
247247 tokenList : ArbTokenList | TokenList ,
248248) : ArbTokenList | TokenList => {
249- // Quick check: if valid, return immediately
250- if ( tokenListIsValid ( tokenList ) ) {
249+ if ( tokenListIsValid ( tokenList , { logErrors : false } ) ) {
251250 return tokenList ;
252251 }
253252
254- console . log ( 'Invalid token list detected, filtering invalid tokens...' ) ;
253+ let removedCount = 0 ;
254+ let loggedInvalidList = false ;
255255
256- // Validate each token individually
257256 const validTokens = tokenList . tokens . filter ( ( token ) => {
258- const singleTokenList = {
259- ...tokenList ,
260- tokens : [ token ] ,
261- } ;
262-
263- const isValid = tokenListIsValid ( singleTokenList ) ;
257+ const isValid = tokenInfoIsValid ( token ) ;
264258
265259 if ( ! isValid ) {
260+ if ( ! loggedInvalidList ) {
261+ console . log ( 'Invalid token list detected, filtering invalid tokens...' ) ;
262+ loggedInvalidList = true ;
263+ }
264+ removedCount ++ ;
266265 console . log ( 'Removing invalid token:' , token . name || token . address ) ;
267266 }
268267
269268 return isValid ;
270269 } ) ;
271270
272- const removedCount = tokenList . tokens . length - validTokens . length ;
273- console . log ( `Removed ${ removedCount } invalid token(s)` ) ;
271+ if ( removedCount > 0 ) {
272+ console . log ( `Removed ${ removedCount } invalid token(s)` ) ;
273+ }
274274
275275 // Create cleaned list
276276 const cleanedList = {
0 commit comments