11
22import { FetchOptions , SimpleAdapter } from "../../adapters/types" ;
33import { CHAIN } from "../../helpers/chains" ;
4+ import { getDefaultDexTokensBlacklisted } from "../../helpers/lists" ;
5+ import { formatAddress } from "../../utils/utils" ;
46
57const event_swap = 'event Swap (address sender, uint256 inputAmount, address inputToken, uint256 amountOut, address outputToken, int256 slippage, uint32 referralCode)' ;
68const event_multiswap = 'event SwapMulti(address sender, uint256[] amountsIn, address[] tokensIn, uint256[] amountsOut, address[] tokensOut, uint32 referralCode)' ;
@@ -34,12 +36,16 @@ const ODOS_V2_ROUTERS: TPool = {
3436
3537async function fetch ( { getLogs, createBalances, chain } : FetchOptions ) {
3638 const routers = ODOS_V2_ROUTERS [ chain ] ;
39+ const blacklistedTokens = getDefaultDexTokensBlacklisted ( chain )
40+ const isBlacklisted = ( token : string ) => blacklistedTokens . includes ( formatAddress ( token ) )
3741
3842 const dailyVolume = createBalances ( )
3943 const dailyFees = createBalances ( )
4044
41- const logs = await getLogs ( { targets : routers , eventAbi : event_swap , } )
42- const multiswapLogs = await getLogs ( { targets : routers , eventAbi : event_multiswap , } )
45+ let logs = ( await getLogs ( { targets : routers , eventAbi : event_swap , } ) )
46+ . filter ( i => ! isBlacklisted ( i . outputToken ) && ! isBlacklisted ( i . inputToken ) )
47+ let multiswapLogs = ( await getLogs ( { targets : routers , eventAbi : event_multiswap , } ) )
48+ . filter ( i => ! i . tokensIn . some ( isBlacklisted ) && ! i . tokensOut . some ( isBlacklisted ) )
4349
4450 // add volume
4551 logs . forEach ( i => dailyVolume . add ( i . outputToken , i . amountOut ) )
@@ -49,8 +55,10 @@ async function fetch({ getLogs, createBalances, chain }: FetchOptions) {
4955 logs . forEach ( i => dailyFees . add ( i . outputToken , Number ( i . slippage ) > 0 ? i . slippage : 0 ) )
5056 multiswapLogs . forEach ( i => dailyFees . add ( i . tokensOut , i . amountsOut . map ( ( a : any ) => Number ( a ) * .01 / 100 ) ) ) // 0.01% fixed fee
5157
52- const logs_v3 = await getLogs ( { targets : [ ODOS_ROUTER_V3 ] , eventAbi : event_swap_v3 , } )
53- const multiswapLogs_v3 = await getLogs ( { targets : [ ODOS_ROUTER_V3 ] , eventAbi : event_multiswap_v3 , } )
58+ let logs_v3 = ( await getLogs ( { targets : [ ODOS_ROUTER_V3 ] , eventAbi : event_swap_v3 , } ) )
59+ . filter ( i => ! isBlacklisted ( i . outputToken ) && ! isBlacklisted ( i . inputToken ) )
60+ let multiswapLogs_v3 = ( await getLogs ( { targets : [ ODOS_ROUTER_V3 ] , eventAbi : event_multiswap_v3 , } ) )
61+ . filter ( i => ! i . tokensIn . some ( isBlacklisted ) && ! i . tokensOut . some ( isBlacklisted ) )
5462
5563 // add v3 volume
5664 logs_v3 . forEach ( i => dailyVolume . add ( i . outputToken , i . amountOut ) )
0 commit comments