From 7e4d3d5c6966cfce602aa004dfe4157603c38868 Mon Sep 17 00:00:00 2001 From: marsclimber0109 Date: Thu, 9 Jan 2025 16:00:52 +0900 Subject: [PATCH 1/4] feat: add eisen fee tracking on defillama --- fees/eisen.ts | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 fees/eisen.ts diff --git a/fees/eisen.ts b/fees/eisen.ts new file mode 100644 index 0000000000..3f28468220 --- /dev/null +++ b/fees/eisen.ts @@ -0,0 +1,66 @@ +import { + ChainBlocks, + FetchOptions, + FetchResultFees, + SimpleAdapter, +} from "../adapters/types"; +import { CHAIN } from "../helpers/chains"; +import { Chain } from "@defillama/sdk/build/general"; + +const event_swap = + "event EisenSwapCompleted(address sender, address fromAssetId, address toAssetId, address receiver, uint256 fromAmount, uint256 toAmount, uint256 expectedToAmount, uint256 fee);"; + +type ROUTER = { + [c: string]: string[]; +}; +const ROUTER_ADDRESS: ROUTER = { + [CHAIN.BASE]: ["0x14C3B68e5855B60263b10eC0fCE54DE3e28AD880"], + [CHAIN.BLAST]: ["0xd57Ed7F46D64Ec7b6f04E4A8409D88C55Ef8AA3b"], + [CHAIN.CORE]: ["0x6bD912872B9e704a70f10226ab01A2Db87D0dd1C"], + [CHAIN.MODE]: ["0x37Cb37b752DBDcd08A872e7dfec256A216C7144C"], + [CHAIN.LINEA]: ["0x206168f099013b9eAb979d3520cA00aAD453De55"], + [CHAIN.MANTLE]: ["0x31d6F212142D3B222EF11c9eBB6AF3569b8442EE"], + [CHAIN.SCROLL]: ["0xA06568773A247657E7b89BBA465014CF85702093"], + [CHAIN.TAIKO]: ["0xFA0e9251503DaE51670d10288e6962d63191731d"], + [CHAIN.ZIRCUIT]: ["0x6bD912872B9e704a70f10226ab01A2Db87D0dd1C"], +}; + +const graph = (chain: Chain): any => { + return async ( + timestamp: number, + _: ChainBlocks, + { getLogs, createBalances }: FetchOptions + ): Promise => { + const router = ROUTER_ADDRESS[chain]; + const dailyFees = createBalances(); + const logs = await getLogs({ + targets: router, + eventAbi: event_swap, + }); + logs.forEach((i) => dailyFees.add(i.toAssetId, i.fee)); + + return { + dailyFees: dailyFees, + dailyRevenue: dailyFees, + dailyHoldersRevenue: 0, + dailySupplySideRevenue: 0, + timestamp, + }; + }; +}; + +const adapter: SimpleAdapter = { + adapter: { + [CHAIN.BASE]: { fetch: graph(CHAIN.BASE), start: "2024-11-23" }, + [CHAIN.BLAST]: { fetch: graph(CHAIN.BLAST), start: "2024-05-10" }, + [CHAIN.CORE]: { fetch: graph(CHAIN.CORE), start: "2024-10-01" }, + [CHAIN.MODE]: { fetch: graph(CHAIN.MODE), start: "2024-03-17" }, + [CHAIN.LINEA]: { fetch: graph(CHAIN.LINEA), start: "2024-06-18" }, + [CHAIN.MANTLE]: { fetch: graph(CHAIN.MANTLE), start: "2024-05-24" }, + [CHAIN.SCROLL]: { fetch: graph(CHAIN.SCROLL), start: "2023-10-16" }, + [CHAIN.TAIKO]: { fetch: graph(CHAIN.TAIKO), start: "2024-10-01" }, + [CHAIN.ZIRCUIT]: { fetch: graph(CHAIN.ZIRCUIT), start: "2024-12-06" }, + }, +}; + +export default adapter; From 90fd5deb6546481765ac9acc4d59d217d003c620 Mon Sep 17 00:00:00 2001 From: marsclimber0109 Date: Thu, 9 Jan 2025 16:03:33 +0900 Subject: [PATCH 2/4] fix: typo for event --- fees/eisen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fees/eisen.ts b/fees/eisen.ts index 3f28468220..a10d23f754 100644 --- a/fees/eisen.ts +++ b/fees/eisen.ts @@ -8,7 +8,7 @@ import { CHAIN } from "../helpers/chains"; import { Chain } from "@defillama/sdk/build/general"; const event_swap = - "event EisenSwapCompleted(address sender, address fromAssetId, address toAssetId, address receiver, uint256 fromAmount, uint256 toAmount, uint256 expectedToAmount, uint256 fee);"; + "event EisenSwapCompleted(address sender, address fromAssetId, address toAssetId, address receiver, uint256 fromAmount, uint256 toAmount, uint256 expectedToAmount, uint256 fee)"; type ROUTER = { [c: string]: string[]; From b4e3059cb30bb4a8b733a98f9a49224e25da0d92 Mon Sep 17 00:00:00 2001 From: g1nt0ki <99907941+g1nt0ki@users.noreply.github.com> Date: Fri, 10 Jan 2025 07:51:13 +0100 Subject: [PATCH 3/4] bugfix --- fees/eisen.ts | 56 +++++++++++++++++++++------------------------------ 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/fees/eisen.ts b/fees/eisen.ts index a10d23f754..4df03b3203 100644 --- a/fees/eisen.ts +++ b/fees/eisen.ts @@ -1,14 +1,11 @@ import { - ChainBlocks, FetchOptions, - FetchResultFees, SimpleAdapter, } from "../adapters/types"; import { CHAIN } from "../helpers/chains"; -import { Chain } from "@defillama/sdk/build/general"; const event_swap = - "event EisenSwapCompleted(address sender, address fromAssetId, address toAssetId, address receiver, uint256 fromAmount, uint256 toAmount, uint256 expectedToAmount, uint256 fee)"; + "event EisenSwapCompleted(address indexed sender, address indexed fromAssetId, address indexed toAssetId, address receiver, uint256 fromAmount, uint256 toAmount, uint256 expectedToAmount, uint256 fee)" type ROUTER = { [c: string]: string[]; @@ -25,41 +22,34 @@ const ROUTER_ADDRESS: ROUTER = { [CHAIN.ZIRCUIT]: ["0x6bD912872B9e704a70f10226ab01A2Db87D0dd1C"], }; -const graph = (chain: Chain): any => { - return async ( - timestamp: number, - _: ChainBlocks, - { getLogs, createBalances }: FetchOptions - ): Promise => { - const router = ROUTER_ADDRESS[chain]; - const dailyFees = createBalances(); - const logs = await getLogs({ - targets: router, - eventAbi: event_swap, - }); - logs.forEach((i) => dailyFees.add(i.toAssetId, i.fee)); +const fetch = async ({ getLogs, createBalances, chain }: FetchOptions) => { + const router = ROUTER_ADDRESS[chain]; + const dailyFees = createBalances(); + const logs = await getLogs({ + targets: router, + eventAbi: event_swap, + }); - return { - dailyFees: dailyFees, - dailyRevenue: dailyFees, - dailyHoldersRevenue: 0, - dailySupplySideRevenue: 0, - timestamp, - }; + logs.forEach((i) => dailyFees.add(i.toAssetId, i.fee)); + + return { + dailyFees: dailyFees, + dailyRevenue: dailyFees, }; }; const adapter: SimpleAdapter = { + version: 2, adapter: { - [CHAIN.BASE]: { fetch: graph(CHAIN.BASE), start: "2024-11-23" }, - [CHAIN.BLAST]: { fetch: graph(CHAIN.BLAST), start: "2024-05-10" }, - [CHAIN.CORE]: { fetch: graph(CHAIN.CORE), start: "2024-10-01" }, - [CHAIN.MODE]: { fetch: graph(CHAIN.MODE), start: "2024-03-17" }, - [CHAIN.LINEA]: { fetch: graph(CHAIN.LINEA), start: "2024-06-18" }, - [CHAIN.MANTLE]: { fetch: graph(CHAIN.MANTLE), start: "2024-05-24" }, - [CHAIN.SCROLL]: { fetch: graph(CHAIN.SCROLL), start: "2023-10-16" }, - [CHAIN.TAIKO]: { fetch: graph(CHAIN.TAIKO), start: "2024-10-01" }, - [CHAIN.ZIRCUIT]: { fetch: graph(CHAIN.ZIRCUIT), start: "2024-12-06" }, + [CHAIN.BASE]: { fetch, start: "2024-11-23" }, + [CHAIN.BLAST]: { fetch, start: "2024-05-10" }, + [CHAIN.CORE]: { fetch, start: "2024-10-01" }, + [CHAIN.MODE]: { fetch, start: "2024-03-17" }, + [CHAIN.LINEA]: { fetch, start: "2024-06-18" }, + [CHAIN.MANTLE]: { fetch, start: "2024-05-24" }, + [CHAIN.SCROLL]: { fetch, start: "2023-10-16" }, + [CHAIN.TAIKO]: { fetch, start: "2024-10-01" }, + [CHAIN.ZIRCUIT]: { fetch, start: "2024-12-06" }, }, }; From 00ceae714e9f75d1befe7109e59412d99e3839fe Mon Sep 17 00:00:00 2001 From: marsclimber0109 Date: Sat, 8 Feb 2025 23:54:42 +0900 Subject: [PATCH 4/4] feat: add berachain on eisen --- aggregators/eisen/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aggregators/eisen/index.ts b/aggregators/eisen/index.ts index a97591649e..c2ae37c16b 100644 --- a/aggregators/eisen/index.ts +++ b/aggregators/eisen/index.ts @@ -9,6 +9,7 @@ type TPool = { }; const FEE_COLLECTORS: TPool = { + [CHAIN.BERACHAIN]: ["0xE53744A85a12FCC38005d180c18f04F8EF0FB719"], [CHAIN.SCROLL]: ["0xA06568773A247657E7b89BBA465014CF85702093"], [CHAIN.ZIRCUIT]: ["0x6bD912872B9e704a70f10226ab01A2Db87D0dd1C"], [CHAIN.LINEA]: ["0x206168f099013b9eAb979d3520cA00aAD453De55"], @@ -34,6 +35,7 @@ const START_BLOCKS = { [CHAIN.CRONOS]: 1704067200, [CHAIN.TAIKO]: 1704067200, [CHAIN.MODE]: 1704067200, + [CHAIN.BERACHAIN]: 1704067200, }; async function fetch({ getLogs, createBalances, chain }: FetchOptions) {