diff --git a/fees/WarpFinance/index.ts b/fees/WarpFinance/index.ts new file mode 100644 index 0000000000..3ebc66f2d7 --- /dev/null +++ b/fees/WarpFinance/index.ts @@ -0,0 +1,34 @@ +import { FetchOptions, SimpleAdapter } from "../../adapters/types"; +import { CHAIN } from "../../helpers/chains"; + +const FeeCollectedEvent = "event FeesCollected(address indexed _token, address indexed _integrator, uint256 _integratorFee, uint256 _lifiFee)" + +const WARPFeeCollector = '0x86A74536f7C5548EFE9e935863eA7bE333380288'; + +const fetch = async (options: FetchOptions) => { + const dailyFees = options.createBalances(); + const data: any[] = await options.getLogs({ + target: WARPFeeCollector, + eventAbi: FeeCollectedEvent, + }); + data.forEach((log: any) => { + dailyFees.add(log._token, log._integratorFee); + }); + return { dailyFees, dailyRevenue: dailyFees, dailyProtocolRevenue: dailyFees }; +}; + +const methodology = { + Fees: 'There is no fees in creating tokens. Creators pay Network fees only.', + Revenue: 'Revenue is generated via V3 Uniswap buy/sell 50% creators & 50% to Warp Finance.', + ProtocolRevenue: 'V3 Trading Fees are distributed to Warp Finance.', +} + +const adapter: SimpleAdapter = { + version: 2, + fetch, + chains: [CHAIN.ETHEREUM], + start: '2023-07-27', + methodology +} + +export default adapter; \ No newline at end of file