diff --git a/fees/yieldnest.ts b/fees/yieldnest.ts index 77f48dfa2b..aa799745db 100644 --- a/fees/yieldnest.ts +++ b/fees/yieldnest.ts @@ -1,55 +1,30 @@ -import { CHAIN } from "../helpers/chains"; -import type { - FetchOptions, - FetchResult, - SimpleAdapter, -} from "../adapters/types"; +import { CHAIN } from '../helpers/chains'; +import type { FetchOptions, FetchResult, SimpleAdapter } from '../adapters/types'; +import { addTokensReceived, getETHReceived } from '../helpers/token'; -const contracts: { [chain: string]: string } = { - [CHAIN.ETHEREUM]: "0x40d5ff3e218f54f4982661a0464a298cf6652351", -}; -const fetch = async ( - timestamp: number, - _1: any, - options: FetchOptions -): Promise => { +const feeCollectors = '0xC92Dd1837EBcb0365eB0a8795f9c8E474f8B6183'; + +const fetch = async (options: FetchOptions): Promise => { const dailyFees = options.createBalances(); - const dailyRevenue = options.createBalances(); - const dailySupplySideRevenue = options.createBalances(); - const logs = await options.getLogs({ - target: contracts[options.chain], - eventAbi: - "event RewardsProcessed(uint256 totalRewards,uint256 elRewards,uint256 clRewards,uint256 netRewards,uint256 fees)", - }); - logs.forEach((log) => { - dailyFees.addGasToken(log.fees + log.netRewards); - dailyRevenue.addGasToken(log.fees); - dailySupplySideRevenue.addGasToken(log.netRewards); - }); + await addTokensReceived({ options, target: feeCollectors, balances: dailyFees }); + await getETHReceived({ options, target: feeCollectors, balances: dailyFees }); + + return { dailyFees, dailyRevenue: dailyFees, dailyProtocolRevenue: dailyFees }; +}; - return { - timestamp, - dailyFees, - dailyRevenue, - dailySupplySideRevenue, - dailyProtocolRevenue: dailyRevenue, - }; +const methodology = { + Fees: 'Amount of fees collected by YieldNest.', + Revenue: 'Amount of fees collected by YieldNest.', + ProtocolRevenue: 'Amount of fees collected by YieldNest.', }; const adapter: SimpleAdapter = { - adapter: { - [CHAIN.ETHEREUM]: { - fetch: fetch, - start: "2020-12-19", - }, - }, - methodology: { - Fees: 'All yield generated from staking assets.', - Revenue: 'Amount of fees collected by YieldNest.', - ProtocolRevenue: 'Amount of fees collected by YieldNest.', - SupplySideRevenue: 'Amount of fees distributed to asset stakers.', - } + version: 2, + fetch, + chains: [CHAIN.ETHEREUM, CHAIN.BASE, CHAIN.BSC], + start: '2025-05-02', + methodology, }; export default adapter;