Skip to content

Commit

Permalink
fix unibot fees
Browse files Browse the repository at this point in the history
  • Loading branch information
dtmkeng committed Jul 3, 2023
1 parent 50f6046 commit c22cb8d
Showing 1 changed file with 47 additions and 1 deletion.
48 changes: 47 additions & 1 deletion fees/unibot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,60 @@ const fetch = async (timestamp: number): Promise<FetchResultFees> => {
AND to_address = '\\xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
AND block_time BETWEEN ${dayAgo.toISOString()} AND ${now.toISOString()};
`;

const revFromToken: IData[] = await sql`
SELECT
block_number,
block_time,
"value" / 1e18 as eth_value,
encode(transaction_hash, 'hex') AS HASH,
encode(to_address, 'hex') AS to_address
FROM
ethereum.traces
WHERE
block_number > 17277183
AND from_address = '\\xf819d9cb1c2a819fd991781a822de3ca8607c3c9'
AND block_time BETWEEN ${dayAgo.toISOString()} AND ${now.toISOString()}
UNION ALL
SELECT
block_number,
block_time,
"value" / 1e18 as eth_value,
encode(transaction_hash, 'hex') AS HASH,
encode(to_address, 'hex') AS to_address
FROM
ethereum.traces
WHERE
block_number > 17277183
AND from_address = '\\xf819d9cb1c2a819fd991781a822de3ca8607c3c9'
and to_address = '\\xdc3d4e12ab9eee060dc4de6b3d0b8fbf129d7dad'
AND block_time BETWEEN ${dayAgo.toISOString()} AND ${now.toISOString()}
UNION ALL
SELECT
block_number,
block_time,
"value" / 1e18 as eth_value,
encode(transaction_hash, 'hex') AS HASH,
encode(to_address, 'hex') AS to_address
FROM
ethereum.traces
WHERE
block_number > 17277183
AND from_address = '\\xf819d9cb1c2a819fd991781a822de3ca8607c3c9'
and to_address = '\\xd1b46363b778dc01704c74ef77e8b451046cccc9'
AND block_time BETWEEN ${dayAgo.toISOString()} AND ${now.toISOString()};
`

const rev_gen_token: number = revFromToken.reduce((a: number, transaction: IData) => a+Number(transaction.eth_value), 0)
const transactions: IData[] = [...router_v2, ...router_v3] as IData[]
const amount = transactions.reduce((a: number, transaction: IData) => a+Number(transaction.eth_value), 0)

const ethAddress = "ethereum:0x0000000000000000000000000000000000000000";
const ethPrice = (await getPrices([ethAddress], todaysTimestamp))[ethAddress].price;
const amountUSD = amount * ethPrice;
// ref https://dune.com/queries/2621049/4349967
const dailyFees = amountUSD * 0.01;
const tokenRev = rev_gen_token * ethPrice;
const dailyFees = ((amountUSD * 0.01) * 0.4) + tokenRev;
const dailyRevenue = dailyFees;
await sql.end({ timeout: 3 })
return {
Expand Down

0 comments on commit c22cb8d

Please sign in to comment.