From e515b30256d02465681273d7ffe7ad04626872d7 Mon Sep 17 00:00:00 2001 From: maxwell-1999 Date: Fri, 26 Jul 2024 13:06:48 +0530 Subject: [PATCH] Added USDC_V5 pool fee & revenue --- fees/buffer/index.ts | 44 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/fees/buffer/index.ts b/fees/buffer/index.ts index a41ec83207..d2da616c39 100644 --- a/fees/buffer/index.ts +++ b/fees/buffer/index.ts @@ -1,60 +1,46 @@ import { CHAIN } from "../../helpers/chains"; import { request, gql } from "graphql-request"; -import type { ChainEndpoints } from "../../adapters/types" -import { Chain } from '@defillama/sdk/build/general'; +import type { ChainEndpoints } from "../../adapters/types"; +import { Chain } from "@defillama/sdk/build/general"; import BigNumber from "bignumber.js"; -import { Adapter } from "../../adapters/types" +import { Adapter } from "../../adapters/types"; const endpoints = { - [CHAIN.ARBITRUM]: "https://subgraph.satsuma-prod.com/e66b06ce96d2/bufferfinance/v2.5-arbitrum-mainnet/api" -} + [CHAIN.ARBITRUM]: "https://satsuma-dump.buffer.finance/", +}; export function _getDayId(timestamp: number): string { let dayTimestamp = Math.floor((timestamp - 16 * 3600) / 86400); return dayTimestamp.toString(); } -const graphs = (graphUrls: ChainEndpoints) => { +const graphs = (baseUrls: ChainEndpoints) => { return (chain: Chain) => { return async (timestamp: number) => { const dateId = _getDayId(timestamp); - const graphQuery = gql - `{ - defillamaFeeStat(id: ${dateId}) { - fee - } - }`; - - const graphRes = await request(graphUrls[chain], graphQuery); - - const dailyFee = new BigNumber(graphRes.defillamaFeeStat.fee).div(1000000); - // const protocolRev = new BigNumber(graphRes.dailyRevenueAndFee.settlementFee).div(1000000).times(0.05); - // const userHolderRev = new BigNumber(graphRes.dailyRevenueAndFee.settlementFee).div(1000000).times(0.4); - // const supplySideRev = new BigNumber(graphRes.dailyRevenueAndFee.settlementFee).div(1000000).times(0.55); - const dailyRev = new BigNumber(graphRes.defillamaFeeStat.fee).div(1000000); + const url = new URL(baseUrls[chain]); + url.searchParams.append("day", dateId); + const response = await fetch(url); + const dailyFee = (await response.json()).fee / 1000000; return { timestamp, dailyFees: dailyFee.toString(), - // dailyProtocolRevenue: protocolRev.toString(), - // dailyUserHolderRevenue: userHolderRev.toString(), - // dailySupplySideRevenue: supplySideRev.toString(), - dailyRevenue: dailyRev.toString() + dailyRevenue: dailyFee.toString(), }; }; }; }; - const adapter: Adapter = { adapter: { [CHAIN.ARBITRUM]: { - fetch: graphs(endpoints)(CHAIN.ARBITRUM), - start: 1674950400 , + fetch: graphs(endpoints)(CHAIN.ARBITRUM), + start: 1674950400, }, }, - version: 1 -} + version: 1, +}; export default adapter;