|
| 1 | +import { Chain } from "@defillama/sdk/build/general"; |
| 2 | +import { FetchOptions, FetchResultVolume, SimpleAdapter } from "../../adapters/types"; |
| 3 | +import { CHAIN } from "../../helpers/chains"; |
| 4 | +import fetchURL from "../../utils/fetchURL"; |
| 5 | + |
| 6 | +type IContract = { |
| 7 | + [c: string | Chain]: { |
| 8 | + id: string; |
| 9 | + startTime: string; |
| 10 | + } |
| 11 | +} |
| 12 | + |
| 13 | +const contract: IContract = { |
| 14 | + [CHAIN.ABSTRACT]: { |
| 15 | + id: '0xde6A2171959d7b82aAD8e8B14cc84684C3a186AC', |
| 16 | + startTime: '2025-01-15' |
| 17 | + }, |
| 18 | + [CHAIN.APECHAIN]: { |
| 19 | + id: '0xEe80aaE1e39b1d25b9FC99c8edF02bCd81f9eA30', |
| 20 | + startTime: '2025-01-20' |
| 21 | + }, |
| 22 | + [CHAIN.ARBITRUM]: { |
| 23 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 24 | + startTime: '2023-08-21' |
| 25 | + }, |
| 26 | + [CHAIN.AURORA]: { |
| 27 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 28 | + startTime: '2022-10-21' |
| 29 | + }, |
| 30 | + [CHAIN.AVAX]: { |
| 31 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 32 | + startTime: '2022-10-18' |
| 33 | + }, |
| 34 | + [CHAIN.BASE]: { |
| 35 | + id: '0x0A6d96E7f4D7b96CFE42185DF61E64d255c12DFf', |
| 36 | + startTime: '2023-08-15' |
| 37 | + }, |
| 38 | + [CHAIN.BERACHAIN]: { |
| 39 | + id: '0x070EC43b4222E0f17EEcD2C839cb9D1D5adeF73c', |
| 40 | + startTime: '2025-02-12' |
| 41 | + }, |
| 42 | + // [CHAIN.BITCOIN]: { |
| 43 | + // id: '20000000000001', |
| 44 | + // startTime: '2023-03-11' |
| 45 | + // }, |
| 46 | + [CHAIN.BLAST]: { |
| 47 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 48 | + startTime: '2024-05-17' |
| 49 | + }, |
| 50 | + [CHAIN.BOBA]: { |
| 51 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 52 | + startTime: '2022-10-21' |
| 53 | + }, |
| 54 | + [CHAIN.BSC]: { |
| 55 | + id: '0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9', |
| 56 | + startTime: '2023-07-21' |
| 57 | + }, |
| 58 | + [CHAIN.CELO]: { |
| 59 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 60 | + startTime: '2022-10-18' |
| 61 | + }, |
| 62 | + [CHAIN.CRONOS]: { |
| 63 | + id: '0x11d40Dc8Ff0CE92F54A315aD8e674a55a866cBEe', |
| 64 | + startTime: '2023-10-19' |
| 65 | + }, |
| 66 | + [CHAIN.EVMOS]: { |
| 67 | + id: '0xB49EaD76FE09967D7CA0dbCeF3C3A06eb3Aa0cB4', |
| 68 | + startTime: '2022-10-24' |
| 69 | + }, |
| 70 | + [CHAIN.ERA]: { |
| 71 | + id: '0x8dBf6f59187b2EB36B980F3D8F4cFC6DC4E4642e', |
| 72 | + startTime: '2023-07-13' |
| 73 | + }, |
| 74 | + [CHAIN.ETHEREUM]: { |
| 75 | + id: '0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9', |
| 76 | + startTime: '2023-07-27' |
| 77 | + }, |
| 78 | + [CHAIN.FANTOM]: { |
| 79 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 80 | + startTime: '2022-10-18' |
| 81 | + }, |
| 82 | + [CHAIN.FRAXTAL]: { |
| 83 | + id: '0x7956280Ec4B4d651C4083Ca737a1fa808b5319D8', |
| 84 | + startTime: '2024-06-27' |
| 85 | + }, |
| 86 | + [CHAIN.FUSE]: { |
| 87 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 88 | + startTime: '2023-10-19' |
| 89 | + }, |
| 90 | + [CHAIN.GRAVITY]: { |
| 91 | + id: '0x79540403cdE176Ca5f1fb95bE84A7ec91fFDEF76', |
| 92 | + startTime: '2024-07-30' |
| 93 | + }, |
| 94 | + [CHAIN.INK]: { |
| 95 | + id: '0x8295805320853d6B28778fC8f5199327e62e3d87', |
| 96 | + startTime: '2025-01-22' |
| 97 | + }, |
| 98 | + [CHAIN.LINEA]: { |
| 99 | + id: '0xA4A24BdD4608D7dFC496950850f9763B674F0DB2', |
| 100 | + startTime: '2023-08-28' |
| 101 | + }, |
| 102 | + [CHAIN.LISK]: { |
| 103 | + id: '0x50D5a8aCFAe13Dceb217E9a071F6c6Bd5bDB4155', |
| 104 | + startTime: '2024-12-09' |
| 105 | + }, |
| 106 | + [CHAIN.MANTLE]: { |
| 107 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 108 | + startTime: '2024-05-13' |
| 109 | + }, |
| 110 | + [CHAIN.METIS]: { |
| 111 | + id: '0x27f0e36dE6B1BA8232f6c2e87E00A50731048C6B', |
| 112 | + startTime: '2024-02-03' |
| 113 | + }, |
| 114 | + [CHAIN.MODE]: { |
| 115 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 116 | + startTime: '2024-04-15' |
| 117 | + }, |
| 118 | + [CHAIN.MOONBEAM]: { |
| 119 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 120 | + startTime: '2022-10-18' |
| 121 | + }, |
| 122 | + [CHAIN.MOONRIVER]: { |
| 123 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 124 | + startTime: '2023-10-18' |
| 125 | + }, |
| 126 | + [CHAIN.OP_BNB]: { |
| 127 | + id: '0x6A2420650139854F17964b8C3Bb60248470aB57E', |
| 128 | + startTime: '2023-10-24' |
| 129 | + }, |
| 130 | + [CHAIN.OPTIMISM]: { |
| 131 | + id: '0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9', |
| 132 | + startTime: '2023-07-25' |
| 133 | + }, |
| 134 | + [CHAIN.POLYGON]: { |
| 135 | + id: '0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9', |
| 136 | + startTime: '2023-07-20' |
| 137 | + }, |
| 138 | + [CHAIN.POLYGON_ZKEVM]: { |
| 139 | + id: '0xB49EaD76FE09967D7CA0dbCeF3C3A06eb3Aa0cB4', |
| 140 | + startTime: '2023-06-01' |
| 141 | + }, |
| 142 | + [CHAIN.ROOTSTOCK]: { |
| 143 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 144 | + startTime: '2024-05-27' |
| 145 | + }, |
| 146 | + [CHAIN.SCROLL]: { |
| 147 | + id: '0xF048e5816B0C7951AC179f656C5B86e5a79Bd7b5', |
| 148 | + startTime: '2024-02-06' |
| 149 | + }, |
| 150 | + [CHAIN.SEI]: { |
| 151 | + id: '0x7956280Ec4B4d651C4083Ca737a1fa808b5319D8', |
| 152 | + startTime: '2024-05-27' |
| 153 | + }, |
| 154 | + // [CHAIN.SOLANA]: { |
| 155 | + // id: '1151111081099710', |
| 156 | + // startTime: '2024-01-01' |
| 157 | + // }, |
| 158 | + [CHAIN.SONEIUM]: { |
| 159 | + id: '0x8295805320853d6B28778fC8f5199327e62e3d87', |
| 160 | + startTime: '2025-02-17' |
| 161 | + }, |
| 162 | + [CHAIN.SONIC]: { |
| 163 | + id: '0xaFb8cC8fCd71cd768Ce117C11eB723119FCDb1f8', |
| 164 | + startTime: '2025-01-22' |
| 165 | + }, |
| 166 | + [CHAIN.SUPERPOSITION]: { |
| 167 | + id: '0x15b9Cf781B4A79C00E4dB7b49d8Bf67359a87Fd2', |
| 168 | + startTime: '2025-04-24' |
| 169 | + }, |
| 170 | + [CHAIN.SWELLCHAIN]: { |
| 171 | + id: '0x5d9C68B76809B33317d869FF6034929F4458913c', |
| 172 | + startTime: '2025-04-23' |
| 173 | + }, |
| 174 | + [CHAIN.TAIKO]: { |
| 175 | + id: '0xDd8A081efC90DFFD79940948a1528C51793C4B03', |
| 176 | + startTime: '2024-08-15' |
| 177 | + }, |
| 178 | + [CHAIN.UNICHAIN]: { |
| 179 | + id: '0x8295805320853d6B28778fC8f5199327e62e3d87', |
| 180 | + startTime: '2025-02-12' |
| 181 | + }, |
| 182 | + [CHAIN.VELAS]: { |
| 183 | + id: '0xB0210dE78E28e2633Ca200609D9f528c13c26cD9', |
| 184 | + startTime: '2022-10-20' |
| 185 | + }, |
| 186 | + [CHAIN.XDAI]: { |
| 187 | + id: '0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9', |
| 188 | + startTime: '2023-07-24' |
| 189 | + } |
| 190 | +} |
| 191 | + |
| 192 | +const FeeCollectedEvent = "event FeesCollected(address indexed _token, address indexed _integrator, uint256 _integratorFee, uint256 _lifiFee)" |
| 193 | + |
| 194 | +const fetch = async (options: FetchOptions) => { |
| 195 | + const dailyFees = options.createBalances(); |
| 196 | + const data: any[] = await options.getLogs({ |
| 197 | + target: contract[options.chain].id, |
| 198 | + topic: '0x28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea', |
| 199 | + eventAbi: FeeCollectedEvent, |
| 200 | + }); |
| 201 | + // 0x0000000000000000000000000000000000000000 is the gas token for all chains, we already handle it in the Balances |
| 202 | + data.forEach((log: any) => { |
| 203 | + dailyFees.add(log._token, log._integratorFee); |
| 204 | + }); |
| 205 | + |
| 206 | + return { dailyFees, dailyRevenue: dailyFees } as any; |
| 207 | +}; |
| 208 | + |
| 209 | +const adapter: SimpleAdapter = { |
| 210 | + version: 2, |
| 211 | + adapter: Object.keys(contract).reduce((acc, chain) => { |
| 212 | + return { |
| 213 | + ...acc, |
| 214 | + [chain]: { |
| 215 | + fetch, |
| 216 | + start: contract[chain].startTime |
| 217 | + } |
| 218 | + } |
| 219 | + }, {}) |
| 220 | +}; |
| 221 | + |
| 222 | +export default adapter; |
0 commit comments