@@ -51,46 +51,38 @@ export const useChartData = (markets: Array<IMarket>) =>
5151 useQuery < IChartData [ ] > ( {
5252 queryKey : [ `chart-${ markets . map ( ( { marketId } ) => marketId ) . join ( "-" ) } ` ] ,
5353 queryFn : async ( ) => {
54- return await Promise . all (
55- markets . map ( async ( market ) => {
56- const { marketId, maxValue, name, underlyingToken } = market ;
57- const params = new URLSearchParams ( ) ;
58- params . append ( "marketId" , marketId ) ;
59- params . append ( "chainId" , "100" ) ;
60-
61- const rawData : IReturn = await fetch (
62- `/api/market-chart?${ params . toString ( ) } ` ,
63- ) . then ( ( res ) => res . json ( ) ) ;
64-
65- const processed : IChartData [ "" ] [ "data" ] = rawData [ 1 ] . map (
66- ( dataPoint ) => {
67- let token0Price = dataPoint . token0Price ;
68- let token1Price = dataPoint . token1Price ;
69- const sqrtPrice = dataPoint . sqrtPrice ;
70- if (
71- token0Price === "0" &&
72- token1Price === "0" &&
73- sqrtPrice &&
74- sqrtPrice !== "0"
75- ) {
76- ( { token0Price, token1Price } = getSqrtPrices ( sqrtPrice ) ) ;
77- }
78- return {
79- timestamp : dataPoint . periodStartUnix ,
80- value :
81- parseFloat (
82- ( dataPoint . pool . token0 . id . toLowerCase ( ) ===
83- underlyingToken . toLowerCase ( )
84- ? token0Price
85- : token1Price
86- ) . slice ( 0 , 9 ) ,
87- ) * maxValue ,
88- } ;
89- } ,
90- ) ;
91-
92- return { [ name ] : { market, data : processed } } ;
93- } ) ,
94- ) ;
54+ const { data } : { data : IReturn [ ] } = await fetch ( "api/market-chart" , {
55+ next : { revalidate : 300 } ,
56+ } ) . then ( ( res ) => res . json ( ) ) ;
57+ return data . map ( ( rawData : IReturn , i : number ) => {
58+ const market = markets [ i ] ;
59+ const processed : IChartData [ "" ] [ "data" ] = rawData [ 1 ] . map (
60+ ( dataPoint ) => {
61+ let token0Price = dataPoint . token0Price ;
62+ let token1Price = dataPoint . token1Price ;
63+ const sqrtPrice = dataPoint . sqrtPrice ;
64+ if (
65+ token0Price === "0" &&
66+ token1Price === "0" &&
67+ sqrtPrice &&
68+ sqrtPrice !== "0"
69+ ) {
70+ ( { token0Price, token1Price } = getSqrtPrices ( sqrtPrice ) ) ;
71+ }
72+ return {
73+ timestamp : dataPoint . periodStartUnix ,
74+ value :
75+ parseFloat (
76+ ( dataPoint . pool . token0 . id . toLowerCase ( ) ===
77+ market . underlyingToken . toLowerCase ( )
78+ ? token0Price
79+ : token1Price
80+ ) . slice ( 0 , 9 ) ,
81+ ) * market . maxValue ,
82+ } ;
83+ } ,
84+ ) ;
85+ return { [ market . name ] : { market, data : processed } } ;
86+ } ) ;
9587 } ,
9688 } ) ;
0 commit comments