From 399a4d7806d4fd8a9d203e9ef8bf730b2888dce9 Mon Sep 17 00:00:00 2001 From: Darruma Date: Thu, 22 Aug 2024 21:39:12 +0100 Subject: [PATCH] add fees for bcraft clans and mines --- fees/bcraft.ts | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 fees/bcraft.ts diff --git a/fees/bcraft.ts b/fees/bcraft.ts new file mode 100644 index 0000000000..e44d628cc3 --- /dev/null +++ b/fees/bcraft.ts @@ -0,0 +1,47 @@ +import { Adapter, FetchV2 } from "../adapters/types"; +import { CHAIN } from "../helpers/chains"; + +const adapter: Adapter = { + adapter: { + [CHAIN.BASE]: { + fetch: (async ({ getLogs, createBalances }) => { + const dailyFees = createBalances(); + const dailyRevenue = createBalances(); + const coinBuyLogs = await getLogs({ + target: "0x7BaEA50509d5d742909592CF045101526b306bE4", + eventAbi: + "event MineUpgraded(address indexed user, uint256 newLevel, uint256 cost)", + }); + coinBuyLogs.map((e: any) => { + dailyFees.addGasToken(e.cost); + dailyRevenue.addGasToken(e.cost); + }); + const buySharesLogs = await getLogs({ + target: "0x0De0D0cF717af57D2101F6Be0962fA890c1FBeC6", + eventAbi: + "event BuyClanShare(address indexed buyer, uint256 indexed clanId, uint256 amount, uint256 price, uint256 protocolFee, uint256 subjectFee)", + }); + buySharesLogs.map((e: any) => { + dailyFees.addGasToken(e.protocolFee); + dailyRevenue.addGasToken(e.protocolFee); + }); + + const sellSharesLogs = await getLogs({ + target: "0x0De0D0cF717af57D2101F6Be0962fA890c1FBeC6", + eventAbi: + "event SellClanShare(address indexed seller, uint256 indexed clanId, uint256 amount, uint256 price, uint256 protocolFee, uint256 subjectFee)", + }); + sellSharesLogs.map((e: any) => { + dailyFees.addGasToken(e.protocolFee); + dailyRevenue.addGasToken(e.protocolFee); + }); + + return { dailyFees, dailyRevenue }; + }) as FetchV2, + start: 18607509, + }, + }, + version: 2, +}; + +export default adapter;