diff --git a/src/containers/ChainOverview/Stats.tsx b/src/containers/ChainOverview/Stats.tsx index fe40b34d3..19b9d9f8f 100644 --- a/src/containers/ChainOverview/Stats.tsx +++ b/src/containers/ChainOverview/Stats.tsx @@ -344,12 +344,12 @@ export const Stats = memo(function Stats(props: IStatsProps) { {formattedNum(props.dexs.total24h, true)}
Volume (7d) {formattedNum(props.dexs.total7d, true)}
- ) : null} + )} {props.dexs.change_7dover7d != null && (Weekly Change @@ -362,12 +362,12 @@ export const Stats = memo(function Stats(props: IStatsProps) {
)} - {props.dexs.dexsDominance != null ? ( + {props.dexs.dexsDominance != null && (DEX vs CEX dominance {props.dexs.dexsDominance}%
- ) : null} + )}Weekly Change = 0 ? '+' : ''}${props.perps.change_7dover7d}%`}
- ) : null} + )} + {props.perps.dexsDominance != null && ( ++ DEX vs CEX dominance + {props.perps.dexsDominance}% +
+ )} ) : null} diff --git a/src/containers/ChainOverview/queries.server.tsx b/src/containers/ChainOverview/queries.server.tsx index f79b6f7b2..3e9f12ab5 100644 --- a/src/containers/ChainOverview/queries.server.tsx +++ b/src/containers/ChainOverview/queries.server.tsx @@ -111,7 +111,7 @@ export async function getChainOverviewData({ chain }: { chain: string }): Promis IAdapterSummary | null, IAdapterSummary | null, IAdapterOverview | null, - number | null, + { spotVolume: number | null; derivativeVolume: number | null } | null, Array<[number, number]> | null, Array<[number, number]> | null, Array<[number, { tvl: number; borrowed?: number; staking?: number; doublecounted?: number }]> | null, @@ -562,13 +562,19 @@ export async function getChainOverviewData({ chain }: { chain: string }): Promis total7d: dexs?.total7d ?? null, change_7dover7d: dexs?.change_7dover7d ?? null, dexsDominance: - cexVolume && dexs?.total24h ? +((dexs.total24h / (cexVolume + dexs.total24h)) * 100).toFixed(2) : null, + cexVolume && dexs?.total24h + ? +((dexs.total24h / (cexVolume.spotVolume + dexs.total24h)) * 100).toFixed(2) + : null, chart: dexs ? dexs.totalDataChart.slice(-14).map((x) => [x[0] * 1000, x[1]]) : null }, perps: { total24h: perps?.total24h ?? null, total7d: perps?.total7d ?? null, - change_7dover7d: perps?.change_7dover7d ?? null + change_7dover7d: perps?.change_7dover7d ?? null, + dexsDominance: + cexVolume && perps?.total24h + ? +((perps.total24h / (cexVolume.derivativeVolume + perps.total24h)) * 100).toFixed(2) + : null }, users: { activeUsers, newUsers, transactions: transactions ? +transactions : null }, inflows: inflowsData, diff --git a/src/containers/ChainOverview/types.ts b/src/containers/ChainOverview/types.ts index bbb4ec87c..2f7704560 100644 --- a/src/containers/ChainOverview/types.ts +++ b/src/containers/ChainOverview/types.ts @@ -79,7 +79,12 @@ export interface IChainOverviewData { dexsDominance: number | null chart: Array<[number, number]> | null } - perps: { total24h: number | null; total7d: number | null; change_7dover7d: number | null } + perps: { + total24h: number | null + total7d: number | null + change_7dover7d: number | null + dexsDominance: number | null + } users: { activeUsers: number | null; newUsers: number | null; transactions: number | null } inflows: { netInflows: number | null } | null treasury: { tvl: number | null; tokenBreakdowns: Record