Skip to content

Commit

Permalink
refactor: use prices api for dao fees
Browse files Browse the repository at this point in the history
  • Loading branch information
Alunara committed Jan 25, 2025
1 parent 881edea commit 8477034
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const CrvStats: React.FC = () => {
}
}, [veCrvData.totalCrv, veCrvData.fetchStatus, getVeCrvData, provider])

const veCrvApr = aprLoading ? 0 : calculateApr(veCrvFees.fees[1].fees_usd, veCrvData.totalVeCrv, crv)
const veCrvApr = aprLoading ? 0 : calculateApr(veCrvFees.fees[1].feesUsd, veCrvData.totalVeCrv, crv)

const loading = Boolean(provider && veCrvLoading)
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { BarChart, Bar, Cell, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveCo
import { formatNumber } from 'ui/src/utils'

import FeesBarChartTooltip from './FeesBarChartTooltip'
import { VeCrvFee } from '@dao/types/dao.types'
import type { Distribution } from '@curvefi/prices-api/revenue'

type FeesBarChartProps = {
data: VeCrvFee[]
data: Distribution[]
height?: number
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ const VeCrcFees: React.FC = () => {
{item.timestamp > currentTime && <span> {t`(in progress)`}</span>}
</FeeDate>
<FeeData>
{formatNumber(item.fees_usd, {
{formatNumber(item.feesUsd, {
currency: 'USD',
notation: 'compact',
})}
Expand Down
32 changes: 7 additions & 25 deletions apps/main/src/dao/store/createAnalyticsSlice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ import { contractVeCRV, contractCrv } from '@dao/store/contracts'
import { abiVeCrv } from '@dao/store/abis'
import { convertToLocaleTimestamp, formatDateFromTimestamp } from 'ui/src/utils'
import {
VeCrvFeeRes,
VeCrvFee,
VeCrvFeesRes,
VeCrvDailyLock,
VeCrvDailyLockRes,
VeCrvHolder,
Expand All @@ -18,12 +15,13 @@ import {
TopHoldersSortBy,
AllHoldersSortBy,
} from '@dao/types/dao.types'
import { type Distribution, getDistributions } from '@curvefi/prices-api/revenue'

type StateKey = keyof typeof DEFAULT_STATE

type SliceState = {
veCrvFees: {
fees: VeCrvFee[]
fees: (Distribution & { date: string })[]
veCrvTotalFees: number
fetchStatus: FetchingState
}
Expand Down Expand Up @@ -123,28 +121,12 @@ const createAnalyticsSlice = (set: SetState<State>, get: GetState<State>): Analy
})

try {
let page = 1
const pagination = 100
let results: VeCrvFeeRes[] = []

while (true) {
const veCrvFeesRes = await fetch(
`https://prices.curve.fi/v1/dao/fees/distributions?page=${page}&per_page=${pagination}`,
)
const data: VeCrvFeesRes = await veCrvFeesRes.json()
results = results.concat(data.distributions)
if (data.distributions.length < pagination) {
break
}
page++
}

const feesFormatted: VeCrvFee[] = results.map((item) => ({
...item,
timestamp: convertToLocaleTimestamp(new Date(item.timestamp).getTime() / 1000),
date: formatDateFromTimestamp(convertToLocaleTimestamp(new Date(item.timestamp).getTime() / 1000)),
const distributions = await getDistributions()
const feesFormatted = distributions.map((dist) => ({
...dist,
date: formatDateFromTimestamp(dist.timestamp),
}))
const totalFees = feesFormatted.reduce((acc, item) => acc + item.fees_usd, 0)
const totalFees = feesFormatted.reduce((acc, item) => acc + item.feesUsd, 0)

get()[sliceKey].setStateByKey('veCrvFees', {
fees: feesFormatted,
Expand Down
15 changes: 0 additions & 15 deletions apps/main/src/dao/types/dao.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -333,21 +333,6 @@ export type ActiveProposal = {
startTimestamp: number
endTimestamp: number
}
export type VeCrvFeeRes = {
fees_usd: number
timestamp: string
}
export type VeCrvFee = {
fees_usd: number
timestamp: number
date: string
}

export interface VeCrvFeesRes {
distributions: VeCrvFeeRes[]
page: number
count: number
}

export type VeCrvDailyLock = {
day: string
Expand Down

0 comments on commit 8477034

Please sign in to comment.