diff --git a/dexs/sushiswap/swap.ts b/dexs/sushiswap/swap.ts index 9564f6bc4b..293a11f1f4 100644 --- a/dexs/sushiswap/swap.ts +++ b/dexs/sushiswap/swap.ts @@ -1,9 +1,9 @@ -import axios from "axios"; import { FetchResultV2, FetchV2 } from "../../adapters/types"; import { CHAIN } from "../../helpers/chains"; import { httpGet } from "../../utils/fetchURL"; -const ROUTE_EVENT = 'event Route(address indexed from, address to, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOutMin,uint256 amountOut)' +const ROUTE_RP45_EVENT = 'event Route(address indexed from, address to, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOutMin,uint256 amountOut)' +const ROUTE_RP6_EVENT = 'event Route(address indexed from, address to, address indexed tokenIn, address tokenOut, uint256 amountIn, uint256 amountOutMin, uint256 amountOut, int256 slippage, uint32 indexed referralCode)' const CHAIN_ID = { [CHAIN.ETHEREUM]: 1, @@ -126,6 +126,48 @@ const RP5_ADDRESS = { [CHAIN.ZKLINK]: '0x9e55e562D40FD01f38cD4057e632352fE0758F16', [CHAIN.APECHAIN]: '0xf2614A233c7C3e7f08b1F887Ba133a13f1eb2c55', } +const RP6_ADDRESS = { + [CHAIN.ETHEREUM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ARBITRUM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.OPTIMISM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BASE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.POLYGON]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.AVAX]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BSC]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.LINEA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ARBITRUM_NOVA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.XDAI]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.FANTOM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BITTORRENT]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.CELO]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.FILECOIN]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.HAQQ]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.KAVA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.METIS]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.THUNDERCORE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.SCROLL]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ZETA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.MOONBEAM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.MOONRIVER]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.POLYGON_ZKEVM]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.FUSE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.HARMONY]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.TELOS]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BOBA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BOBA_BNB]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.CORE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.CRONOS]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.BLAST]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.SKALE_EUROPA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ROOTSTOCK]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ERA]: '0xE6fD46600A97CE06703b58333B9C2399F4bF6FEc', + [CHAIN.MANTLE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.MANTA]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.MODE]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.TAIKO]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', + [CHAIN.ZKLINK]: '0xE6fD46600A97CE06703b58333B9C2399F4bF6FEc', + [CHAIN.APECHAIN]: '0x85CD07Ea01423b1E937929B44E4Ad8c40BbB5E71', +} const WNATIVE_ADDRESS = { [CHAIN.ETHEREUM]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', @@ -176,11 +218,12 @@ const useSushiAPIPrice = (chain) => [ CHAIN.MOONRIVER ].includes(chain) -const fetch: FetchV2 = async ({ getLogs, createBalances, chain, }): Promise => { +const fetch: FetchV2 = async ({ getLogs, createBalances, chain }): Promise => { const logs = await Promise.all([ - getLogs({ target: RP4_ADDRESS[chain], eventAbi: ROUTE_EVENT }), - getLogs({ target: RP5_ADDRESS[chain], eventAbi: ROUTE_EVENT }) - ]).then(([rp4Logs, rp5Logs]) => [...rp4Logs, ...rp5Logs]) + getLogs({ target: RP4_ADDRESS[chain], eventAbi: ROUTE_RP45_EVENT }), + getLogs({ target: RP5_ADDRESS[chain], eventAbi: ROUTE_RP45_EVENT }), + getLogs({ target: RP6_ADDRESS[chain], eventAbi: ROUTE_RP6_EVENT }), + ]).then(([rp4Logs, rp5Logs, rp6logs]) => [...rp4Logs, ...rp5Logs, ...rp6logs]) if (useSushiAPIPrice(chain)) { const dailyVolume = createBalances()