Commit 77c4e74f authored by cartcrom's avatar cartcrom Committed by GitHub

feat: adding timeline to explore price chart (#4292)

* added timeline & time options selector functionality to price chart
parent bb2e67fc
...@@ -6,7 +6,7 @@ import styled from 'styled-components/macro' ...@@ -6,7 +6,7 @@ import styled from 'styled-components/macro'
import { LinkStyledButton } from 'theme' import { LinkStyledButton } from 'theme'
const CopyIcon = styled(LinkStyledButton)` const CopyIcon = styled(LinkStyledButton)`
color: ${({ color, theme }) => color || theme.deprecated_text3}; color: ${({ color, theme }) => color || theme.accentAction};
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
text-decoration: none; text-decoration: none;
...@@ -14,7 +14,7 @@ const CopyIcon = styled(LinkStyledButton)` ...@@ -14,7 +14,7 @@ const CopyIcon = styled(LinkStyledButton)`
:active, :active,
:focus { :focus {
text-decoration: none; text-decoration: none;
color: ${({ color, theme }) => color || theme.deprecated_text2}; color: ${({ color, theme }) => color || theme.accentAction};
} }
` `
const StyledText = styled.span` const StyledText = styled.span`
......
import { AxisBottom, TickFormatter } from '@visx/axis'
import { localPoint } from '@visx/event' import { localPoint } from '@visx/event'
import { EventType } from '@visx/event/lib/types' import { EventType } from '@visx/event/lib/types'
import { GlyphCircle } from '@visx/glyph' import { GlyphCircle } from '@visx/glyph'
import { Group } from '@visx/group' import { Group } from '@visx/group'
import { Line, LinePath } from '@visx/shape' import { Line, LinePath } from '@visx/shape'
import { bisect, scaleLinear } from 'd3' import { bisect, curveBasis, NumberValue, scaleLinear } from 'd3'
import { radius } from 'd3-curve-circlecorners' import { radius } from 'd3-curve-circlecorners'
import { useActiveLocale } from 'hooks/useActiveLocale'
import useTheme from 'hooks/useTheme' import useTheme from 'hooks/useTheme'
import { TimePeriod } from 'hooks/useTopTokens'
import { useCallback, useState } from 'react' import { useCallback, useState } from 'react'
import { ArrowDownRight, ArrowUpRight } from 'react-feather' import { ArrowDownRight, ArrowUpRight } from 'react-feather'
import styled from 'styled-components/macro' import styled from 'styled-components/macro'
import {
dayHourFormatter,
hourFormatter,
monthDayFormatter,
monthFormatter,
monthYearDayFormatter,
monthYearFormatter,
weekFormatter,
} from 'utils/formatChartTimes'
import data from './data.json' import data from './data.json'
const TIME_DISPLAYS: [TimePeriod, string][] = [
[TimePeriod.hour, '1H'],
[TimePeriod.day, '1D'],
[TimePeriod.week, '1W'],
[TimePeriod.month, '1M'],
[TimePeriod.year, '1Y'],
[TimePeriod.all, 'ALL'],
]
type PricePoint = { value: number; timestamp: number } type PricePoint = { value: number; timestamp: number }
function getPriceBounds(pricePoints: PricePoint[]): [number, number] { function getPriceBounds(pricePoints: PricePoint[]): [number, number] {
...@@ -43,6 +64,7 @@ function getDelta(start: number, current: number) { ...@@ -43,6 +64,7 @@ function getDelta(start: number, current: number) {
export const ChartWrapper = styled.div` export const ChartWrapper = styled.div`
position: relative; position: relative;
overflow: visible;
` `
export const ChartHeader = styled.div` export const ChartHeader = styled.div`
...@@ -62,6 +84,55 @@ const ArrowCell = styled.div` ...@@ -62,6 +84,55 @@ const ArrowCell = styled.div`
padding-left: 2px; padding-left: 2px;
display: flex; display: flex;
` `
export const TimeOptionsContainer = styled.div`
display: flex;
justify-content: flex-end;
margin-top: 4px;
gap: 4px;
`
const TimeButton = styled.button<{ active: boolean }>`
background-color: ${({ theme, active }) => (active ? theme.accentActive : 'transparent')};
font-size: 14px;
width: 36px;
height: 36px;
border-radius: 12px;
border: none;
cursor: pointer;
color: ${({ theme }) => theme.textPrimary};
`
function getTicks(startTimestamp: number, endTimestamp: number, numTicks = 5) {
return Array.from(
{ length: numTicks },
(v, i) => endTimestamp - ((endTimestamp - startTimestamp) / (numTicks + 1)) * (i + 1)
)
}
function tickFormat(
startTimestamp: number,
endTimestamp: number,
activeTimePeriod: TimePeriod,
locale: string
): [TickFormatter<NumberValue>, (v: number) => string, number[]] {
switch (activeTimePeriod) {
case TimePeriod.hour:
return [hourFormatter(locale), dayHourFormatter(locale), getTicks(startTimestamp, endTimestamp)]
case TimePeriod.day:
return [hourFormatter(locale), dayHourFormatter(locale), getTicks(startTimestamp, endTimestamp)]
case TimePeriod.week:
return [weekFormatter(locale), dayHourFormatter(locale), getTicks(startTimestamp, endTimestamp, 6)]
case TimePeriod.month:
return [monthDayFormatter(locale), dayHourFormatter(locale), getTicks(startTimestamp, endTimestamp)]
case TimePeriod.year:
return [monthFormatter(locale), monthYearDayFormatter(locale), getTicks(startTimestamp, endTimestamp)]
case TimePeriod.all:
return [monthYearFormatter(locale), monthYearDayFormatter(locale), getTicks(startTimestamp, endTimestamp)]
}
}
const margin = { top: 86, bottom: 32, crosshair: 72 }
const timeOptionsHeight = 44
const crosshairDateOverhang = 80
interface PriceChartProps { interface PriceChartProps {
width: number width: number
...@@ -69,37 +140,39 @@ interface PriceChartProps { ...@@ -69,37 +140,39 @@ interface PriceChartProps {
} }
export function PriceChart({ width, height }: PriceChartProps) { export function PriceChart({ width, height }: PriceChartProps) {
const margin = { top: 80, bottom: 20, crosshair: 72 } const [activeTimePeriod, setTimePeriod] = useState(TimePeriod.hour)
// defining inner measurements const locale = useActiveLocale()
const innerHeight = height - margin.top - margin.bottom
const theme = useTheme() const theme = useTheme()
const pricePoints = data.priceHistory /* TODO: Implement API calls & cache to use here */
const pricePoints = data[activeTimePeriod]
const startingPrice = pricePoints[0] const startingPrice = pricePoints[0]
const endingPrice = pricePoints[pricePoints.length - 1] const endingPrice = pricePoints[pricePoints.length - 1]
const initialState = { pricePoint: endingPrice, xCoordinate: null } const initialState = { pricePoint: endingPrice, xCoordinate: null }
const [selected, setSelected] = useState<{ pricePoint: PricePoint; xCoordinate: number | null }>(initialState) const [selected, setSelected] = useState<{ pricePoint: PricePoint; xCoordinate: number | null }>(initialState)
const graphWidth = width + crosshairDateOverhang
const graphHeight = height - timeOptionsHeight
const graphInnerHeight = graphHeight - margin.top - margin.bottom
// Defining scales // Defining scales
// x scale // x scale
const timeScale = scaleLinear().domain([startingPrice.timestamp, endingPrice.timestamp]).range([0, width]) const timeScale = scaleLinear().domain([startingPrice.timestamp, endingPrice.timestamp]).range([0, width])
// y scale // y scale
const rdScale = scaleLinear().domain(getPriceBounds(pricePoints)).range([innerHeight, 0]) const rdScale = scaleLinear().domain(getPriceBounds(pricePoints)).range([graphInnerHeight, 0])
const handleHover = useCallback( const handleHover = useCallback(
(event: Element | EventType) => { (event: Element | EventType) => {
const { x } = localPoint(event) || { x: 0 } const { x } = localPoint(event) || { x: 0 }
const x0 = timeScale.invert(x) // get timestamp from the scale const x0 = timeScale.invert(x) // get timestamp from the scale
const index = bisect( const index = bisect(
data.priceHistory.map((x) => x.timestamp), pricePoints.map((x) => x.timestamp),
x0, x0,
1 1
) )
const d0 = data.priceHistory[index - 1] const d0 = pricePoints[index - 1]
const d1 = data.priceHistory[index] const d1 = pricePoints[index]
let pricePoint = d0 let pricePoint = d0
const hasPreviousData = d1 && d1.timestamp const hasPreviousData = d1 && d1.timestamp
...@@ -107,12 +180,20 @@ export function PriceChart({ width, height }: PriceChartProps) { ...@@ -107,12 +180,20 @@ export function PriceChart({ width, height }: PriceChartProps) {
pricePoint = x0.valueOf() - d0.timestamp.valueOf() > d1.timestamp.valueOf() - x0.valueOf() ? d1 : d0 pricePoint = x0.valueOf() - d0.timestamp.valueOf() > d1.timestamp.valueOf() - x0.valueOf() ? d1 : d0
} }
setSelected({ pricePoint, xCoordinate: x }) setSelected({ pricePoint, xCoordinate: timeScale(pricePoint.timestamp) })
}, },
[timeScale] [timeScale, pricePoints]
) )
const [tickFormatter, crosshairDateFormatter, ticks] = tickFormat(
startingPrice.timestamp,
endingPrice.timestamp,
activeTimePeriod,
locale
)
const [delta, arrow] = getDelta(startingPrice.value, selected.pricePoint.value) const [delta, arrow] = getDelta(startingPrice.value, selected.pricePoint.value)
const crosshairEdgeMax = width * 0.97
const crosshairAtEdge = !!selected.xCoordinate && selected.xCoordinate > crosshairEdgeMax
return ( return (
<ChartWrapper> <ChartWrapper>
...@@ -123,13 +204,38 @@ export function PriceChart({ width, height }: PriceChartProps) { ...@@ -123,13 +204,38 @@ export function PriceChart({ width, height }: PriceChartProps) {
<ArrowCell>{arrow}</ArrowCell> <ArrowCell>{arrow}</ArrowCell>
</DeltaContainer> </DeltaContainer>
</ChartHeader> </ChartHeader>
<svg width={width} height={height}> <svg width={graphWidth} height={graphHeight}>
{selected.xCoordinate && ( <AxisBottom
scale={timeScale}
stroke={theme.backgroundOutline}
tickFormat={tickFormatter}
tickStroke={theme.backgroundOutline}
tickLength={4}
tickTransform={'translate(0 -5)'}
tickValues={ticks}
top={graphHeight - 1}
tickLabelProps={() => ({
fill: theme.textSecondary,
fontSize: 12,
textAnchor: 'middle',
transform: 'translate(0 -24)',
})}
/>
{selected.xCoordinate !== null && (
<g> <g>
<text
x={selected.xCoordinate + (crosshairAtEdge ? -4 : 4)}
y={margin.crosshair + 10}
textAnchor={crosshairAtEdge ? 'end' : 'start'}
fontSize={12}
fill={theme.textSecondary}
>
{crosshairDateFormatter(selected.pricePoint.timestamp)}
</text>
<Line <Line
from={{ x: selected.xCoordinate, y: margin.crosshair }} from={{ x: selected.xCoordinate, y: margin.crosshair }}
to={{ x: selected.xCoordinate, y: height }} to={{ x: selected.xCoordinate, y: graphHeight }}
stroke={'#99A1BD3D'} stroke={theme.backgroundOutline}
strokeWidth={1} strokeWidth={1}
pointerEvents="none" pointerEvents="none"
strokeDasharray="4,4" strokeDasharray="4,4"
...@@ -138,14 +244,15 @@ export function PriceChart({ width, height }: PriceChartProps) { ...@@ -138,14 +244,15 @@ export function PriceChart({ width, height }: PriceChartProps) {
)} )}
<Group top={margin.top}> <Group top={margin.top}>
<LinePath <LinePath
curve={radius(1)} /* ALL chart renders poorly using circle corners; use d3 curve for ALL instead */
curve={activeTimePeriod === TimePeriod.all ? curveBasis : radius(0.25)}
stroke={theme.accentActive} stroke={theme.accentActive}
strokeWidth={2} strokeWidth={2}
data={data.priceHistory} data={pricePoints}
x={(d: PricePoint) => timeScale(d.timestamp) ?? 0} x={(d: PricePoint) => timeScale(d.timestamp) ?? 0}
y={(d: PricePoint) => rdScale(d.value) ?? 0} y={(d: PricePoint) => rdScale(d.value) ?? 0}
/> />
{selected.xCoordinate && ( {selected.xCoordinate !== null && (
<g> <g>
<GlyphCircle <GlyphCircle
left={selected.xCoordinate} left={selected.xCoordinate}
...@@ -162,7 +269,7 @@ export function PriceChart({ width, height }: PriceChartProps) { ...@@ -162,7 +269,7 @@ export function PriceChart({ width, height }: PriceChartProps) {
x={0} x={0}
y={0} y={0}
width={width} width={width}
height={height} height={graphHeight}
fill={'transparent'} fill={'transparent'}
onTouchStart={handleHover} onTouchStart={handleHover}
onTouchMove={handleHover} onTouchMove={handleHover}
...@@ -170,6 +277,13 @@ export function PriceChart({ width, height }: PriceChartProps) { ...@@ -170,6 +277,13 @@ export function PriceChart({ width, height }: PriceChartProps) {
onMouseLeave={() => setSelected(initialState)} onMouseLeave={() => setSelected(initialState)}
/> />
</svg> </svg>
<TimeOptionsContainer>
{TIME_DISPLAYS.map(([value, display]) => (
<TimeButton key={display} active={activeTimePeriod === value} onClick={() => setTimePeriod(value)}>
{display}
</TimeButton>
))}
</TimeOptionsContainer>
</ChartWrapper> </ChartWrapper>
) )
} }
......
{ {
"priceHistory": [ "hour": [
{ { "timestamp": 1659640859, "value": 1608.522 },
"timestamp": 1658782873, { "timestamp": 1659641159, "value": 1606.183 },
"value": 1525.9201755187335 { "timestamp": 1659641365, "value": 1606.775 },
}, { "timestamp": 1659641723, "value": 1603.701 },
{ { "timestamp": 1659641982, "value": 1596.957 },
"timestamp": 1658786491, { "timestamp": 1659642323, "value": 1595.045 },
"value": 1519.8295371691217 { "timestamp": 1659642595, "value": 1595.147 },
}, { "timestamp": 1659642957, "value": 1594.495 },
{ { "timestamp": 1659643243, "value": 1594.435 },
"timestamp": 1658790066, { "timestamp": 1659643495, "value": 1595.243 },
"value": 1483.5590930942979 { "timestamp": 1659643853, "value": 1596.581 },
}, { "timestamp": 1659644126, "value": 1598.047 },
{ { "timestamp": 1659644392, "value": 1595.599 }
"timestamp": 1658793633, ],
"value": 1450.4822852139405 "day": [
}, { "timestamp": 1659558139, "value": 1650.466 },
{ { "timestamp": 1659558490, "value": 1649.227 },
"timestamp": 1658797330, { "timestamp": 1659558762, "value": 1646.552 },
"value": 1420.792145662317 { "timestamp": 1659559044, "value": 1641.134 },
}, { "timestamp": 1659559277, "value": 1641.705 },
{ { "timestamp": 1659559544, "value": 1642.187 },
"timestamp": 1658800857, { "timestamp": 1659559867, "value": 1643.994 },
"value": 1423.5078080124129 { "timestamp": 1659560193, "value": 1644.173 },
}, { "timestamp": 1659560450, "value": 1643.243 },
{ { "timestamp": 1659560823, "value": 1647.342 },
"timestamp": 1658804474, { "timestamp": 1659561135, "value": 1646.5 },
"value": 1422.6763937046176 { "timestamp": 1659561357, "value": 1644.284 },
}, { "timestamp": 1659561730, "value": 1643.557 },
{ { "timestamp": 1659561964, "value": 1644.056 },
"timestamp": 1658808024, { "timestamp": 1659562245, "value": 1644.253 },
"value": 1434.3617035058262 { "timestamp": 1659562621, "value": 1646.692 },
}, { "timestamp": 1659562767, "value": 1646.739 },
{ { "timestamp": 1659563172, "value": 1647.653 },
"timestamp": 1658811615, { "timestamp": 1659563378, "value": 1647.281 },
"value": 1431.2771658285428 { "timestamp": 1659563743, "value": 1646.14 },
}, { "timestamp": 1659564053, "value": 1642.773 },
{ { "timestamp": 1659564405, "value": 1639.673 },
"timestamp": 1658815299, { "timestamp": 1659564719, "value": 1639.104 },
"value": 1428.2600217406002 { "timestamp": 1659564941, "value": 1638.904 },
}, { "timestamp": 1659565217, "value": 1637.495 },
{ { "timestamp": 1659565493, "value": 1636.628 },
"timestamp": 1658818900, { "timestamp": 1659565777, "value": 1631.573 },
"value": 1418.5922298226747 { "timestamp": 1659566211, "value": 1630.684 },
}, { "timestamp": 1659566418, "value": 1630.55 },
{ { "timestamp": 1659566743, "value": 1629.209 },
"timestamp": 1658822493, { "timestamp": 1659566979, "value": 1626.307 },
"value": 1413.8693295479209 { "timestamp": 1659567389, "value": 1625.22 },
}, { "timestamp": 1659567561, "value": 1624.139 },
{ { "timestamp": 1659567911, "value": 1623.86 },
"timestamp": 1658826054, { "timestamp": 1659568266, "value": 1613.962 },
"value": 1416.2538720991788 { "timestamp": 1659568504, "value": 1613.631 },
}, { "timestamp": 1659568870, "value": 1614.637 },
{ { "timestamp": 1659569101, "value": 1614.787 },
"timestamp": 1658829639, { "timestamp": 1659569470, "value": 1615.272 },
"value": 1423.7205417844457 { "timestamp": 1659569695, "value": 1617.14 },
}, { "timestamp": 1659570045, "value": 1616.841 },
{ { "timestamp": 1659570316, "value": 1618.184 },
"timestamp": 1658833239, { "timestamp": 1659570607, "value": 1619.695 },
"value": 1413.3042696484272 { "timestamp": 1659570911, "value": 1621.341 },
}, { "timestamp": 1659571238, "value": 1621.572 },
{ { "timestamp": 1659571495, "value": 1620.467 },
"timestamp": 1658836851, { "timestamp": 1659571864, "value": 1621.362 },
"value": 1413.1643118077432 { "timestamp": 1659572226, "value": 1621.646 },
}, { "timestamp": 1659572358, "value": 1622.645 },
{ { "timestamp": 1659572707, "value": 1626.411 },
"timestamp": 1658840434, { "timestamp": 1659573065, "value": 1629.633 },
"value": 1393.0468880056253 { "timestamp": 1659573357, "value": 1632.635 },
}, { "timestamp": 1659573664, "value": 1633.403 },
{ { "timestamp": 1659573937, "value": 1639.926 },
"timestamp": 1658844078, { "timestamp": 1659574284, "value": 1637.856 },
"value": 1389.1088471860737 { "timestamp": 1659574564, "value": 1638.972 },
}, { "timestamp": 1659574847, "value": 1640.806 },
{ { "timestamp": 1659575222, "value": 1645.825 },
"timestamp": 1658847682, { "timestamp": 1659575481, "value": 1647.249 },
"value": 1390.3399193455411 { "timestamp": 1659575818, "value": 1648.801 },
}, { "timestamp": 1659576058, "value": 1650.03 },
{ { "timestamp": 1659576358, "value": 1649.191 },
"timestamp": 1658851301, { "timestamp": 1659576605, "value": 1647.033 },
"value": 1372.3903885322657 { "timestamp": 1659576956, "value": 1649.853 },
}, { "timestamp": 1659577274, "value": 1654.58 },
{ { "timestamp": 1659577491, "value": 1655.675 },
"timestamp": 1658854898, { "timestamp": 1659577862, "value": 1653.708 },
"value": 1378.752061518675 { "timestamp": 1659578114, "value": 1651.968 },
}, { "timestamp": 1659578435, "value": 1651.058 },
{ { "timestamp": 1659578749, "value": 1651.473 },
"timestamp": 1658858467, { "timestamp": 1659578968, "value": 1651.009 },
"value": 1383.4425675355733 { "timestamp": 1659579322, "value": 1648.699 },
}, { "timestamp": 1659579650, "value": 1649.747 },
{ { "timestamp": 1659579911, "value": 1652.567 },
"timestamp": 1658862125, { "timestamp": 1659580260, "value": 1653.57 },
"value": 1374.810072223161 { "timestamp": 1659580562, "value": 1654.525 },
}, { "timestamp": 1659580853, "value": 1654.73 },
{ { "timestamp": 1659581057, "value": 1652.98 },
"timestamp": 1658865709, { "timestamp": 1659581348, "value": 1652.788 },
"value": 1367.9330311429242 { "timestamp": 1659581685, "value": 1654.153 },
}, { "timestamp": 1659582041, "value": 1654.684 },
{ { "timestamp": 1659582312, "value": 1654.308 },
"timestamp": 1658869311, { "timestamp": 1659582681, "value": 1650.166 },
"value": 1379.6979185860337 { "timestamp": 1659582963, "value": 1649.623 },
}, { "timestamp": 1659583185, "value": 1650.594 },
{ { "timestamp": 1659583516, "value": 1650.553 },
"timestamp": 1658872957, { "timestamp": 1659583791, "value": 1650.137 },
"value": 1379.1902350117707 { "timestamp": 1659584191, "value": 1647.963 },
}, { "timestamp": 1659584458, "value": 1650.882 },
{ { "timestamp": 1659584714, "value": 1649.926 },
"timestamp": 1658876454, { "timestamp": 1659584968, "value": 1649.831 },
"value": 1407.5842076237182 { "timestamp": 1659585285, "value": 1651.735 },
}, { "timestamp": 1659585600, "value": 1650.17 },
{ { "timestamp": 1659585866, "value": 1652.364 },
"timestamp": 1658880105, { "timestamp": 1659586195, "value": 1654.411 },
"value": 1445.7282048859022 { "timestamp": 1659586606, "value": 1655.883 },
}, { "timestamp": 1659586804, "value": 1654.176 },
{ { "timestamp": 1659587167, "value": 1651.57 },
"timestamp": 1658883717, { "timestamp": 1659587464, "value": 1653.82 },
"value": 1439.5606799925856 { "timestamp": 1659587698, "value": 1653.053 },
}, { "timestamp": 1659588004, "value": 1655.486 },
{ { "timestamp": 1659588374, "value": 1656.463 },
"timestamp": 1658887328, { "timestamp": 1659588645, "value": 1656.645 },
"value": 1435.8974758296513 { "timestamp": 1659588906, "value": 1656.133 },
}, { "timestamp": 1659589249, "value": 1656.92 },
{ { "timestamp": 1659589560, "value": 1661.443 },
"timestamp": 1658890916, { "timestamp": 1659589860, "value": 1657.212 },
"value": 1438.1636783089357 { "timestamp": 1659590151, "value": 1657.951 },
}, { "timestamp": 1659590471, "value": 1657.453 },
{ { "timestamp": 1659590747, "value": 1653.268 },
"timestamp": 1658894455, { "timestamp": 1659590993, "value": 1651.454 },
"value": 1425.3821586063548 { "timestamp": 1659591304, "value": 1650.58 },
}, { "timestamp": 1659591605, "value": 1650.814 },
{ { "timestamp": 1659591904, "value": 1650.225 },
"timestamp": 1658898044, { "timestamp": 1659592236, "value": 1651.843 },
"value": 1437.5009616628586 { "timestamp": 1659592521, "value": 1653.261 },
}, { "timestamp": 1659592781, "value": 1651.454 },
{ { "timestamp": 1659593123, "value": 1649.898 },
"timestamp": 1658901712, { "timestamp": 1659593409, "value": 1651.151 },
"value": 1453.9488959474504 { "timestamp": 1659593762, "value": 1646.845 },
}, { "timestamp": 1659594016, "value": 1639.992 },
{ { "timestamp": 1659594330, "value": 1625.638 },
"timestamp": 1658905242, { "timestamp": 1659594599, "value": 1622.912 },
"value": 1451.345745271787 { "timestamp": 1659594904, "value": 1622.375 },
}, { "timestamp": 1659595204, "value": 1625.257 },
{ { "timestamp": 1659595506, "value": 1623.867 },
"timestamp": 1658908825, { "timestamp": 1659595822, "value": 1625.823 },
"value": 1463.04463442291 { "timestamp": 1659596108, "value": 1626.438 },
}, { "timestamp": 1659596455, "value": 1625.218 },
{ { "timestamp": 1659596688, "value": 1626.129 },
"timestamp": 1658912493, { "timestamp": 1659596960, "value": 1628.077 },
"value": 1466.9815210024062 { "timestamp": 1659597271, "value": 1632.873 },
}, { "timestamp": 1659597650, "value": 1630.918 },
{ { "timestamp": 1659597899, "value": 1632.44 },
"timestamp": 1658916065, { "timestamp": 1659598238, "value": 1632.795 },
"value": 1460.8901718141108 { "timestamp": 1659598503, "value": 1633.809 },
}, { "timestamp": 1659598813, "value": 1632.286 },
{ { "timestamp": 1659599138, "value": 1632.227 },
"timestamp": 1658919670, { "timestamp": 1659599406, "value": 1630.876 },
"value": 1461.3577381747023 { "timestamp": 1659599731, "value": 1630.272 },
}, { "timestamp": 1659600019, "value": 1627.44 },
{ { "timestamp": 1659600306, "value": 1626.701 },
"timestamp": 1658923242, { "timestamp": 1659600599, "value": 1625.401 },
"value": 1466.4111347109824 { "timestamp": 1659600905, "value": 1623.784 },
}, { "timestamp": 1659601189, "value": 1625.235 },
{ { "timestamp": 1659601520, "value": 1622.713 },
"timestamp": 1658926957, { "timestamp": 1659601834, "value": 1626.029 },
"value": 1480.310794051447 { "timestamp": 1659602083, "value": 1627.581 },
}, { "timestamp": 1659602393, "value": 1624.755 },
{ { "timestamp": 1659602711, "value": 1625.143 },
"timestamp": 1658930459, { "timestamp": 1659603045, "value": 1623.681 },
"value": 1491.8949421945376 { "timestamp": 1659603363, "value": 1620.893 },
}, { "timestamp": 1659603521, "value": 1620.809 },
{ { "timestamp": 1659604069, "value": 1619.727 },
"timestamp": 1658934083, { "timestamp": 1659604226, "value": 1620.242 },
"value": 1492.01598554772 { "timestamp": 1659604616, "value": 1622.191 },
}, { "timestamp": 1659604838, "value": 1623.301 },
{ { "timestamp": 1659605085, "value": 1623.003 },
"timestamp": 1658937666, { "timestamp": 1659605440, "value": 1623.857 },
"value": 1489.4233830835992 { "timestamp": 1659605761, "value": 1621.699 },
}, { "timestamp": 1659606010, "value": 1620.602 },
{ { "timestamp": 1659606329, "value": 1621.216 },
"timestamp": 1658941251, { "timestamp": 1659606635, "value": 1621.018 },
"value": 1500.0252631106548 { "timestamp": 1659606891, "value": 1622.025 },
}, { "timestamp": 1659607200, "value": 1621.828 },
{ { "timestamp": 1659607479, "value": 1625.076 },
"timestamp": 1658944907, { "timestamp": 1659607807, "value": 1628.79 },
"value": 1502.2792018134394 { "timestamp": 1659608102, "value": 1628.433 },
}, { "timestamp": 1659608319, "value": 1628.646 },
{ { "timestamp": 1659608695, "value": 1628.902 },
"timestamp": 1658948537, { "timestamp": 1659609037, "value": 1627.678 },
"value": 1574.81503876036 { "timestamp": 1659609292, "value": 1628.239 },
}, { "timestamp": 1659609581, "value": 1627.963 },
{ { "timestamp": 1659609911, "value": 1625.916 },
"timestamp": 1658952060, { "timestamp": 1659610148, "value": 1623.422 },
"value": 1588.4019278854032 { "timestamp": 1659610492, "value": 1620.968 },
}, { "timestamp": 1659610878, "value": 1619.583 },
{ { "timestamp": 1659611118, "value": 1618.064 },
"timestamp": 1658955719, { "timestamp": 1659611431, "value": 1619.571 },
"value": 1603.0725259676824 { "timestamp": 1659611687, "value": 1616.545 },
}, { "timestamp": 1659612024, "value": 1616.529 },
{ { "timestamp": 1659612364, "value": 1615.71 },
"timestamp": 1658959326, { "timestamp": 1659612620, "value": 1617.152 },
"value": 1609.7670645389308 { "timestamp": 1659612914, "value": 1618.813 },
}, { "timestamp": 1659613194, "value": 1616.816 },
{ { "timestamp": 1659613502, "value": 1622.113 },
"timestamp": 1658962806, { "timestamp": 1659613763, "value": 1620.635 },
"value": 1626.0144460099953 { "timestamp": 1659614163, "value": 1619.553 },
}, { "timestamp": 1659614414, "value": 1620.637 },
{ { "timestamp": 1659614699, "value": 1622.784 },
"timestamp": 1658966430, { "timestamp": 1659615003, "value": 1622.858 },
"value": 1636.9491814677851 { "timestamp": 1659615269, "value": 1621.067 },
}, { "timestamp": 1659615574, "value": 1619.197 },
{ { "timestamp": 1659615902, "value": 1618.256 },
"timestamp": 1658970066, { "timestamp": 1659616204, "value": 1612.987 },
"value": 1617.2751296328988 { "timestamp": 1659616459, "value": 1616.611 },
}, { "timestamp": 1659616793, "value": 1617.518 },
{ { "timestamp": 1659617114, "value": 1615.89 },
"timestamp": 1658973675, { "timestamp": 1659617458, "value": 1617.427 },
"value": 1614.9644510511373 { "timestamp": 1659617769, "value": 1620.75 },
}, { "timestamp": 1659617957, "value": 1619.823 },
{ { "timestamp": 1659618252, "value": 1619.144 },
"timestamp": 1658977302, { "timestamp": 1659618591, "value": 1617.741 },
"value": 1667.687165929466 { "timestamp": 1659618956, "value": 1625.233 },
}, { "timestamp": 1659619178, "value": 1619.172 },
{ { "timestamp": 1659619522, "value": 1622.332 },
"timestamp": 1658980874, { "timestamp": 1659619854, "value": 1621.491 },
"value": 1648.3956682162782 { "timestamp": 1659620129, "value": 1619.969 },
}, { "timestamp": 1659620442, "value": 1622.551 },
{ { "timestamp": 1659620766, "value": 1626.83 },
"timestamp": 1658984493, { "timestamp": 1659620969, "value": 1630.005 },
"value": 1637.5197791538285 { "timestamp": 1659621346, "value": 1630.41 },
}, { "timestamp": 1659621661, "value": 1631.063 },
{ { "timestamp": 1659621917, "value": 1636.271 },
"timestamp": 1658988065, { "timestamp": 1659622192, "value": 1636.057 },
"value": 1647.04528851572 { "timestamp": 1659622502, "value": 1632.197 },
}, { "timestamp": 1659622842, "value": 1623.35 },
{ { "timestamp": 1659623087, "value": 1613.643 },
"timestamp": 1658991686, { "timestamp": 1659623463, "value": 1612.855 },
"value": 1639.555191525111 { "timestamp": 1659623746, "value": 1609.063 },
}, { "timestamp": 1659624051, "value": 1607.663 },
{ { "timestamp": 1659624282, "value": 1606.552 },
"timestamp": 1658995241, { "timestamp": 1659624650, "value": 1612.281 },
"value": 1618.5590870637554 { "timestamp": 1659624907, "value": 1610.511 },
}, { "timestamp": 1659625222, "value": 1612.767 },
{ { "timestamp": 1659625535, "value": 1612.828 },
"timestamp": 1658998876, { "timestamp": 1659625814, "value": 1613.16 },
"value": 1626.733798561607 { "timestamp": 1659626119, "value": 1610.674 },
}, { "timestamp": 1659626379, "value": 1611.713 },
{ { "timestamp": 1659626700, "value": 1613.128 },
"timestamp": 1659002491, { "timestamp": 1659627021, "value": 1612.143 },
"value": 1617.723872882873 { "timestamp": 1659627402, "value": 1614.393 },
}, { "timestamp": 1659627607, "value": 1609.749 },
{ { "timestamp": 1659627954, "value": 1609.213 },
"timestamp": 1659006017, { "timestamp": 1659628268, "value": 1611.52 },
"value": 1624.2509761249412 { "timestamp": 1659628456, "value": 1612.987 },
}, { "timestamp": 1659628792, "value": 1613.194 },
{ { "timestamp": 1659629154, "value": 1617.107 },
"timestamp": 1659009713, { "timestamp": 1659629400, "value": 1618.299 },
"value": 1637.9171561898722 { "timestamp": 1659629746, "value": 1621.872 },
}, { "timestamp": 1659630013, "value": 1621.516 },
{ { "timestamp": 1659630298, "value": 1621.683 },
"timestamp": 1659013289, { "timestamp": 1659630613, "value": 1620.775 },
"value": 1634.3081519264022 { "timestamp": 1659630866, "value": 1619.073 },
}, { "timestamp": 1659631268, "value": 1617.603 },
{ { "timestamp": 1659631473, "value": 1616.041 },
"timestamp": 1659016876, { "timestamp": 1659631819, "value": 1605.752 },
"value": 1619.654599458442 { "timestamp": 1659632098, "value": 1602.437 },
}, { "timestamp": 1659632428, "value": 1598.204 },
{ { "timestamp": 1659632691, "value": 1600.376 },
"timestamp": 1659020478, { "timestamp": 1659632999, "value": 1601.23 },
"value": 1645.6351548789594 { "timestamp": 1659633293, "value": 1594.486 },
}, { "timestamp": 1659633647, "value": 1595.444 },
{ { "timestamp": 1659633867, "value": 1592.638 },
"timestamp": 1659024085, { "timestamp": 1659634217, "value": 1595.213 },
"value": 1728.9127994491312 { "timestamp": 1659634536, "value": 1595.828 },
}, { "timestamp": 1659634794, "value": 1595.42 },
{ { "timestamp": 1659635078, "value": 1596.954 },
"timestamp": 1659027649, { "timestamp": 1659635352, "value": 1597.302 },
"value": 1727.2419770211789 { "timestamp": 1659635692, "value": 1597.863 },
}, { "timestamp": 1659635965, "value": 1598.371 },
{ { "timestamp": 1659636365, "value": 1597.495 },
"timestamp": 1659031296, { "timestamp": 1659636620, "value": 1595.781 },
"value": 1747.723790854222 { "timestamp": 1659636864, "value": 1592.914 },
}, { "timestamp": 1659637188, "value": 1596.625 },
{ { "timestamp": 1659637486, "value": 1598.505 },
"timestamp": 1659034886, { "timestamp": 1659637876, "value": 1603.964 },
"value": 1724.4682037331775 { "timestamp": 1659638076, "value": 1609.241 },
}, { "timestamp": 1659638433, "value": 1607.24 },
{ { "timestamp": 1659638729, "value": 1602.51 },
"timestamp": 1659038416, { "timestamp": 1659639006, "value": 1600.046 },
"value": 1724.3985295332625 { "timestamp": 1659639266, "value": 1601.801 },
}, { "timestamp": 1659639612, "value": 1601.837 },
{ { "timestamp": 1659640000, "value": 1601.483 },
"timestamp": 1659042059, { "timestamp": 1659640212, "value": 1602.053 },
"value": 1759.4960202713903 { "timestamp": 1659640467, "value": 1606.113 },
}, { "timestamp": 1659640859, "value": 1608.522 },
{ { "timestamp": 1659641159, "value": 1606.183 },
"timestamp": 1659045667, { "timestamp": 1659641365, "value": 1606.775 },
"value": 1739.5188454302136 { "timestamp": 1659641723, "value": 1603.701 },
}, { "timestamp": 1659641982, "value": 1596.957 },
{ { "timestamp": 1659642323, "value": 1595.045 },
"timestamp": 1659049362, { "timestamp": 1659642595, "value": 1595.147 },
"value": 1745.7650110588763 { "timestamp": 1659642957, "value": 1594.495 },
}, { "timestamp": 1659643243, "value": 1594.435 },
{ { "timestamp": 1659643495, "value": 1595.243 },
"timestamp": 1659052895, { "timestamp": 1659643853, "value": 1596.581 },
"value": 1725.577697180815 { "timestamp": 1659644126, "value": 1598.047 },
}, { "timestamp": 1659644313, "value": 1596.419 }
{ ],
"timestamp": 1659056497, "week": [
"value": 1725.582484862776 { "timestamp": 1659042059, "value": 1759.496 },
}, { "timestamp": 1659045667, "value": 1739.518 },
{ { "timestamp": 1659049362, "value": 1745.765 },
"timestamp": 1659060077, { "timestamp": 1659052895, "value": 1725.577 },
"value": 1710.9037186176313 { "timestamp": 1659056497, "value": 1725.582 },
}, { "timestamp": 1659060077, "value": 1710.903 },
{ { "timestamp": 1659063685, "value": 1711.839 },
"timestamp": 1659063685, { "timestamp": 1659067265, "value": 1726.606 },
"value": 1711.8391109264646 { "timestamp": 1659070897, "value": 1740.335 },
}, { "timestamp": 1659074455, "value": 1732.5 },
{ { "timestamp": 1659078055, "value": 1724.352 },
"timestamp": 1659067265, { "timestamp": 1659081669, "value": 1719.582 },
"value": 1726.6068635745162 { "timestamp": 1659085305, "value": 1720.298 },
}, { "timestamp": 1659088865, "value": 1724.043 },
{ { "timestamp": 1659092531, "value": 1726.657 },
"timestamp": 1659070897, { "timestamp": 1659096109, "value": 1683.924 },
"value": 1740.335556931605 { "timestamp": 1659099693, "value": 1669.147 },
}, { "timestamp": 1659103225, "value": 1700.953 },
{ { "timestamp": 1659106827, "value": 1733.436 },
"timestamp": 1659074455, { "timestamp": 1659110456, "value": 1723.99 },
"value": 1732.500123876767 { "timestamp": 1659114043, "value": 1688.129 },
}, { "timestamp": 1659117661, "value": 1696.744 },
{ { "timestamp": 1659121335, "value": 1725.498 },
"timestamp": 1659078055, { "timestamp": 1659124804, "value": 1722.882 },
"value": 1724.3521214949503 { "timestamp": 1659128500, "value": 1729.347 },
}, { "timestamp": 1659132077, "value": 1713.796 },
{ { "timestamp": 1659135724, "value": 1740.671 },
"timestamp": 1659081669, { "timestamp": 1659139323, "value": 1732.437 },
"value": 1719.5827492915225 { "timestamp": 1659142812, "value": 1731.328 },
}, { "timestamp": 1659146422, "value": 1702.275 },
{ { "timestamp": 1659150077, "value": 1714.114 },
"timestamp": 1659085305, { "timestamp": 1659153731, "value": 1708.163 },
"value": 1720.2981607194665 { "timestamp": 1659157303, "value": 1704.15 },
}, { "timestamp": 1659160873, "value": 1705.772 },
{ { "timestamp": 1659164460, "value": 1714.011 },
"timestamp": 1659088865, { "timestamp": 1659168054, "value": 1716.362 },
"value": 1724.0430661128873 { "timestamp": 1659171671, "value": 1713.389 },
}, { "timestamp": 1659175324, "value": 1705.115 },
{ { "timestamp": 1659178928, "value": 1689.005 },
"timestamp": 1659092531, { "timestamp": 1659182453, "value": 1709.102 },
"value": 1726.6573807560105 { "timestamp": 1659186029, "value": 1712.718 },
}, { "timestamp": 1659189698, "value": 1730.194 },
{ { "timestamp": 1659193336, "value": 1720.921 },
"timestamp": 1659096109, { "timestamp": 1659196895, "value": 1738.495 },
"value": 1683.9249162304673 { "timestamp": 1659200563, "value": 1734.053 },
}, { "timestamp": 1659204128, "value": 1726.251 },
{ { "timestamp": 1659207696, "value": 1727.177 },
"timestamp": 1659099693, { "timestamp": 1659211292, "value": 1708.204 },
"value": 1669.1474476097915 { "timestamp": 1659214869, "value": 1701.238 },
}, { "timestamp": 1659218420, "value": 1703.203 },
{ { "timestamp": 1659222021, "value": 1700.289 },
"timestamp": 1659103225, { "timestamp": 1659225620, "value": 1697.216 },
"value": 1700.953986672358 { "timestamp": 1659229243, "value": 1704.377 },
}, { "timestamp": 1659232842, "value": 1700.42 },
{ { "timestamp": 1659236437, "value": 1696.591 },
"timestamp": 1659106827, { "timestamp": 1659240035, "value": 1694.448 },
"value": 1733.436973728088 { "timestamp": 1659243620, "value": 1703.322 },
}, { "timestamp": 1659247307, "value": 1697.842 },
{ { "timestamp": 1659250903, "value": 1700.822 },
"timestamp": 1659110456, { "timestamp": 1659254466, "value": 1699.787 },
"value": 1723.9903646371772 { "timestamp": 1659258143, "value": 1693.668 },
}, { "timestamp": 1659261688, "value": 1699.242 },
{ { "timestamp": 1659265245, "value": 1703.615 },
"timestamp": 1659114043, { "timestamp": 1659268916, "value": 1713.321 },
"value": 1688.1297030770547 { "timestamp": 1659272415, "value": 1718.6 },
}, { "timestamp": 1659276010, "value": 1710.908 },
{ { "timestamp": 1659279659, "value": 1706.933 },
"timestamp": 1659117661, { "timestamp": 1659283294, "value": 1712.356 },
"value": 1696.7445002961126 { "timestamp": 1659286891, "value": 1709.674 },
}, { "timestamp": 1659290469, "value": 1707.322 },
{ { "timestamp": 1659294046, "value": 1699.34 },
"timestamp": 1659121335, { "timestamp": 1659297738, "value": 1719.407 },
"value": 1725.4984460435912 { "timestamp": 1659301320, "value": 1720.942 },
}, { "timestamp": 1659304851, "value": 1705.189 },
{ { "timestamp": 1659308495, "value": 1674.732 },
"timestamp": 1659124804, { "timestamp": 1659312067, "value": 1682.011 },
"value": 1722.8827814456286 { "timestamp": 1659315639, "value": 1692.47 },
}, { "timestamp": 1659319336, "value": 1694.566 },
{ { "timestamp": 1659322868, "value": 1696.698 },
"timestamp": 1659128500, { "timestamp": 1659326448, "value": 1690.529 },
"value": 1729.347919095565 { "timestamp": 1659330161, "value": 1695.878 },
}, { "timestamp": 1659333699, "value": 1689.94 },
{ { "timestamp": 1659337283, "value": 1685.7 },
"timestamp": 1659132077, { "timestamp": 1659340802, "value": 1692.395 },
"value": 1713.7962501224094 { "timestamp": 1659344497, "value": 1684.902 },
}, { "timestamp": 1659348121, "value": 1689.45 },
{ { "timestamp": 1659351735, "value": 1658.705 },
"timestamp": 1659135724, { "timestamp": 1659355290, "value": 1669.347 },
"value": 1740.6711356450423 { "timestamp": 1659358832, "value": 1661.187 },
}, { "timestamp": 1659362418, "value": 1657.214 },
{ { "timestamp": 1659366157, "value": 1686.397 },
"timestamp": 1659139323, { "timestamp": 1659369717, "value": 1673.691 },
"value": 1732.43794687956 { "timestamp": 1659373225, "value": 1656.568 },
}, { "timestamp": 1659376826, "value": 1629.019 },
{ { "timestamp": 1659380552, "value": 1622.517 },
"timestamp": 1659142812, { "timestamp": 1659384162, "value": 1623.398 },
"value": 1731.3289938389023 { "timestamp": 1659387656, "value": 1620.999 },
}, { "timestamp": 1659391213, "value": 1623.053 },
{ { "timestamp": 1659394872, "value": 1630.678 },
"timestamp": 1659146422, { "timestamp": 1659398537, "value": 1633.577 },
"value": 1702.2753395122602 { "timestamp": 1659402136, "value": 1634.16 },
}, { "timestamp": 1659405674, "value": 1609.357 },
{ { "timestamp": 1659409266, "value": 1589.437 },
"timestamp": 1659150077, { "timestamp": 1659413028, "value": 1578.492 },
"value": 1714.1140812298127 { "timestamp": 1659416448, "value": 1577.382 },
}, { "timestamp": 1659420034, "value": 1585.736 },
{ { "timestamp": 1659423660, "value": 1589.84 },
"timestamp": 1659153731, { "timestamp": 1659427290, "value": 1593.987 },
"value": 1708.1639368133017 { "timestamp": 1659430810, "value": 1585.512 },
}, { "timestamp": 1659434441, "value": 1575.56 },
{ { "timestamp": 1659438045, "value": 1584.936 },
"timestamp": 1659157303, { "timestamp": 1659441720, "value": 1594.658 },
"value": 1704.1503028631896 { "timestamp": 1659445249, "value": 1574.008 },
}, { "timestamp": 1659448878, "value": 1580.606 },
{ { "timestamp": 1659452489, "value": 1617.474 },
"timestamp": 1659160873, { "timestamp": 1659456096, "value": 1631.672 },
"value": 1705.7727071686102 { "timestamp": 1659459884, "value": 1670.892 },
}, { "timestamp": 1659463329, "value": 1647.969 },
{ { "timestamp": 1659466874, "value": 1650.074 },
"timestamp": 1659164460, { "timestamp": 1659470520, "value": 1646.072 },
"value": 1714.0119624118752 { "timestamp": 1659474117, "value": 1649.702 },
}, { "timestamp": 1659477619, "value": 1651.301 },
{ { "timestamp": 1659481273, "value": 1650.165 },
"timestamp": 1659168054, { "timestamp": 1659484850, "value": 1638.378 },
"value": 1716.362808637293 { "timestamp": 1659488455, "value": 1599.442 },
}, { "timestamp": 1659492063, "value": 1613.25 },
{ { "timestamp": 1659495665, "value": 1610.318 },
"timestamp": 1659171671, { "timestamp": 1659499236, "value": 1617.872 },
"value": 1713.3896984979494 { "timestamp": 1659502819, "value": 1617.561 },
}, { "timestamp": 1659506442, "value": 1630.4 },
{ { "timestamp": 1659510078, "value": 1635.987 },
"timestamp": 1659175324, { "timestamp": 1659513671, "value": 1632.103 },
"value": 1705.1150624871284 { "timestamp": 1659517279, "value": 1645.568 },
}, { "timestamp": 1659520879, "value": 1657.139 },
{ { "timestamp": 1659524448, "value": 1659.004 },
"timestamp": 1659178928, { "timestamp": 1659528020, "value": 1664.018 },
"value": 1689.0055673338316 { "timestamp": 1659531734, "value": 1660.216 },
}, { "timestamp": 1659535233, "value": 1665.715 },
{ { "timestamp": 1659538845, "value": 1654.035 },
"timestamp": 1659182453, { "timestamp": 1659542464, "value": 1657.587 },
"value": 1709.1029480994125 { "timestamp": 1659546033, "value": 1663.832 },
}, { "timestamp": 1659549762, "value": 1662.594 },
{ { "timestamp": 1659553219, "value": 1669.885 },
"timestamp": 1659186029, { "timestamp": 1659556991, "value": 1658.09 },
"value": 1712.7188068035068 { "timestamp": 1659560418, "value": 1644.173 },
}, { "timestamp": 1659564050, "value": 1646.14 },
{ { "timestamp": 1659567611, "value": 1624.139 },
"timestamp": 1659189698, { "timestamp": 1659571308, "value": 1621.572 },
"value": 1730.1945219069557 { "timestamp": 1659574871, "value": 1638.972 },
}, { "timestamp": 1659578484, "value": 1651.058 },
{ { "timestamp": 1659582145, "value": 1654.684 },
"timestamp": 1659193336, { "timestamp": 1659585650, "value": 1650.17 },
"value": 1720.921650298128 { "timestamp": 1659589325, "value": 1656.92 },
}, { "timestamp": 1659592906, "value": 1651.454 },
{ { "timestamp": 1659596477, "value": 1626.438 },
"timestamp": 1659196895, { "timestamp": 1659600093, "value": 1627.44 },
"value": 1738.4957818565333 { "timestamp": 1659603893, "value": 1620.809 },
}, { "timestamp": 1659607215, "value": 1622.025 },
{ { "timestamp": 1659610916, "value": 1619.583 },
"timestamp": 1659200563, { "timestamp": 1659614451, "value": 1620.637 },
"value": 1734.0532077448488 { "timestamp": 1659618034, "value": 1619.823 },
}, { "timestamp": 1659621661, "value": 1630.41 },
{ { "timestamp": 1659625248, "value": 1612.767 },
"timestamp": 1659204128, { "timestamp": 1659628840, "value": 1613.194 },
"value": 1726.2511965293515 { "timestamp": 1659632510, "value": 1598.204 },
}, { "timestamp": 1659636013, "value": 1598.371 },
{ { "timestamp": 1659639674, "value": 1601.837 },
"timestamp": 1659207696, { "timestamp": 1659643305, "value": 1594.435 },
"value": 1727.1774604904306 { "timestamp": 1659643321, "value": 1593.43 }
}, ],
{ "month": [
"timestamp": 1659211292, { "timestamp": 1656964849, "value": 1121.792 },
"value": 1708.2040569339322 { "timestamp": 1656968526, "value": 1122.215 },
}, { "timestamp": 1656972129, "value": 1135.127 },
{ { "timestamp": 1656975688, "value": 1140.252 },
"timestamp": 1659214869, { "timestamp": 1656979290, "value": 1152.06 },
"value": 1701.2385000283969 { "timestamp": 1656982864, "value": 1154.609 },
}, { "timestamp": 1656986514, "value": 1151.231 },
{ { "timestamp": 1656990059, "value": 1144.37 },
"timestamp": 1659218420, { "timestamp": 1656993707, "value": 1152.594 },
"value": 1703.2036428777258 { "timestamp": 1656997237, "value": 1149.984 },
}, { "timestamp": 1657000854, "value": 1159.383 },
{ { "timestamp": 1657004507, "value": 1164.568 },
"timestamp": 1659222021, { "timestamp": 1657008062, "value": 1159.203 },
"value": 1700.2895560492104 { "timestamp": 1657011702, "value": 1138.673 },
}, { "timestamp": 1657015345, "value": 1128.307 },
{ { "timestamp": 1657018855, "value": 1129.359 },
"timestamp": 1659225620, { "timestamp": 1657022450, "value": 1114.175 },
"value": 1697.2163951060672 { "timestamp": 1657026101, "value": 1098.554 },
}, { "timestamp": 1657029750, "value": 1097.491 },
{ { "timestamp": 1657033346, "value": 1093.971 },
"timestamp": 1659229243, { "timestamp": 1657036834, "value": 1092.081 },
"value": 1704.3775021114698 { "timestamp": 1657040491, "value": 1096.291 },
}, { "timestamp": 1657044028, "value": 1103.696 },
{ { "timestamp": 1657047722, "value": 1125.276 },
"timestamp": 1659232842, { "timestamp": 1657051339, "value": 1145.852 },
"value": 1700.4204754876303 { "timestamp": 1657054885, "value": 1155.942 },
}, { "timestamp": 1657058545, "value": 1151.185 },
{ { "timestamp": 1657062047, "value": 1147.027 },
"timestamp": 1659236437, { "timestamp": 1657065678, "value": 1134.481 },
"value": 1696.5914252859611 { "timestamp": 1657069261, "value": 1146.233 },
}, { "timestamp": 1657072939, "value": 1116.768 },
{ { "timestamp": 1657076490, "value": 1120.566 },
"timestamp": 1659240035, { "timestamp": 1657080062, "value": 1130.272 },
"value": 1694.4481830011448 { "timestamp": 1657083657, "value": 1133.893 },
}, { "timestamp": 1657087229, "value": 1131.203 },
{ { "timestamp": 1657090907, "value": 1135.031 },
"timestamp": 1659243620, { "timestamp": 1657094497, "value": 1139.517 },
"value": 1703.3224446414056 { "timestamp": 1657098063, "value": 1140.095 },
}, { "timestamp": 1657101737, "value": 1144.508 },
{ { "timestamp": 1657105247, "value": 1138.532 },
"timestamp": 1659247307, { "timestamp": 1657108935, "value": 1134.312 },
"value": 1697.8424772021297 { "timestamp": 1657112451, "value": 1136.031 },
}, { "timestamp": 1657116141, "value": 1139.754 },
{ { "timestamp": 1657119662, "value": 1137.821 },
"timestamp": 1659250903, { "timestamp": 1657123291, "value": 1132.965 },
"value": 1700.8224587969446 { "timestamp": 1657126916, "value": 1145.372 },
}, { "timestamp": 1657130517, "value": 1141.377 },
{ { "timestamp": 1657134175, "value": 1161.862 },
"timestamp": 1659254466, { "timestamp": 1657137698, "value": 1152.896 },
"value": 1699.7873428170249 { "timestamp": 1657141330, "value": 1163.297 },
}, { "timestamp": 1657144908, "value": 1161.571 },
{ { "timestamp": 1657148440, "value": 1190.777 },
"timestamp": 1659258143, { "timestamp": 1657152178, "value": 1188.725 },
"value": 1693.6685599914267 { "timestamp": 1657155682, "value": 1185.381 },
}, { "timestamp": 1657159299, "value": 1185.339 },
{ { "timestamp": 1657162835, "value": 1170.877 },
"timestamp": 1659261688, { "timestamp": 1657166434, "value": 1175.41 },
"value": 1699.2427714792027 { "timestamp": 1657170093, "value": 1171.395 },
}, { "timestamp": 1657173655, "value": 1168.795 },
{ { "timestamp": 1657177216, "value": 1168.961 },
"timestamp": 1659265245, { "timestamp": 1657180909, "value": 1176.76 },
"value": 1703.6152066934699 { "timestamp": 1657184564, "value": 1185.018 },
}, { "timestamp": 1657188085, "value": 1185.374 },
{ { "timestamp": 1657191680, "value": 1184.751 },
"timestamp": 1659268916, { "timestamp": 1657195251, "value": 1182.745 },
"value": 1713.3214096347672 { "timestamp": 1657198855, "value": 1186.932 },
}, { "timestamp": 1657202537, "value": 1197.111 },
{ { "timestamp": 1657206053, "value": 1225.751 },
"timestamp": 1659272415, { "timestamp": 1657209641, "value": 1219.34 },
"value": 1718.6008570600566 { "timestamp": 1657213352, "value": 1235.103 },
}, { "timestamp": 1657216938, "value": 1222.011 },
{ { "timestamp": 1657220416, "value": 1232.725 },
"timestamp": 1659276010, { "timestamp": 1657224050, "value": 1251.165 },
"value": 1710.908943989972 { "timestamp": 1657227664, "value": 1235.083 },
}, { "timestamp": 1657231243, "value": 1237.554 },
{ { "timestamp": 1657234876, "value": 1226.758 },
"timestamp": 1659279659, { "timestamp": 1657238561, "value": 1240.378 },
"value": 1706.9337136493657 { "timestamp": 1657242115, "value": 1240.668 },
}, { "timestamp": 1657245632, "value": 1260.456 },
{ { "timestamp": 1657249223, "value": 1251.131 },
"timestamp": 1659283294, { "timestamp": 1657252984, "value": 1258.335 },
"value": 1712.3564006340769 { "timestamp": 1657256529, "value": 1254.666 },
}, { "timestamp": 1657260147, "value": 1247.983 },
{ { "timestamp": 1657263634, "value": 1243.859 },
"timestamp": 1659286891, { "timestamp": 1657267302, "value": 1242.143 },
"value": 1709.6740674282 { "timestamp": 1657270855, "value": 1225.086 },
}, { "timestamp": 1657274511, "value": 1214.624 },
{ { "timestamp": 1657278130, "value": 1219.636 },
"timestamp": 1659290469, { "timestamp": 1657281617, "value": 1223.512 },
"value": 1707.3229025436356 { "timestamp": 1657285275, "value": 1210.422 },
}, { "timestamp": 1657288894, "value": 1201.654 },
{ { "timestamp": 1657292451, "value": 1226.883 },
"timestamp": 1659294046, { "timestamp": 1657296149, "value": 1235.974 },
"value": 1699.3406158125497 { "timestamp": 1657299657, "value": 1222.759 },
}, { "timestamp": 1657303224, "value": 1226.014 },
{ { "timestamp": 1657306919, "value": 1231.565 },
"timestamp": 1659297738, { "timestamp": 1657310562, "value": 1240.967 },
"value": 1719.4076152711061 { "timestamp": 1657314048, "value": 1243.871 },
}, { "timestamp": 1657317717, "value": 1235.511 },
{ { "timestamp": 1657321383, "value": 1231.518 },
"timestamp": 1659301320, { "timestamp": 1657324882, "value": 1224.219 },
"value": 1720.9427440142197 { "timestamp": 1657328473, "value": 1215.099 },
}, { "timestamp": 1657332153, "value": 1212.758 },
{ { "timestamp": 1657335665, "value": 1213.441 },
"timestamp": 1659304851, { "timestamp": 1657339272, "value": 1211.967 },
"value": 1705.1891389481118 { "timestamp": 1657342837, "value": 1217.016 },
}, { "timestamp": 1657346526, "value": 1214.921 },
{ { "timestamp": 1657350041, "value": 1218.652 },
"timestamp": 1659308495, { "timestamp": 1657353675, "value": 1223.225 },
"value": 1674.7321260090307 { "timestamp": 1657357254, "value": 1225.275 },
}, { "timestamp": 1657360873, "value": 1218.955 },
{ { "timestamp": 1657364492, "value": 1224.799 },
"timestamp": 1659312067, { "timestamp": 1657368062, "value": 1216.897 },
"value": 1682.011373614746 { "timestamp": 1657371741, "value": 1215.49 },
}, { "timestamp": 1657375238, "value": 1215.026 },
{ { "timestamp": 1657378816, "value": 1217.072 },
"timestamp": 1659315639, { "timestamp": 1657382559, "value": 1218.027 },
"value": 1692.4709015972671 { "timestamp": 1657386138, "value": 1223.897 },
}, { "timestamp": 1657389620, "value": 1226.224 },
{ { "timestamp": 1657393234, "value": 1227.295 },
"timestamp": 1659319336, { "timestamp": 1657396824, "value": 1217.913 },
"value": 1694.5662110255037 { "timestamp": 1657400512, "value": 1220.428 },
}, { "timestamp": 1657404063, "value": 1222.183 },
{ { "timestamp": 1657407735, "value": 1216.44 },
"timestamp": 1659322868, { "timestamp": 1657411364, "value": 1217.786 },
"value": 1696.6981903223634 { "timestamp": 1657414852, "value": 1214.84 },
}, { "timestamp": 1657418406, "value": 1214.256 },
{ { "timestamp": 1657422056, "value": 1190.698 },
"timestamp": 1659326448, { "timestamp": 1657425637, "value": 1190.037 },
"value": 1690.5297521871978 { "timestamp": 1657429211, "value": 1191.385 },
}, { "timestamp": 1657432807, "value": 1194.167 },
{ { "timestamp": 1657436482, "value": 1189.841 },
"timestamp": 1659330161, { "timestamp": 1657440045, "value": 1190.481 },
"value": 1695.878025817704 { "timestamp": 1657443651, "value": 1188.939 },
}, { "timestamp": 1657447230, "value": 1188.535 },
{ { "timestamp": 1657450914, "value": 1185.026 },
"timestamp": 1659333699, { "timestamp": 1657454507, "value": 1181.536 },
"value": 1689.9406830105013 { "timestamp": 1657458006, "value": 1183.522 },
}, { "timestamp": 1657461645, "value": 1175.844 },
{ { "timestamp": 1657465263, "value": 1160.939 },
"timestamp": 1659337283, { "timestamp": 1657468850, "value": 1163.306 },
"value": 1685.7000111795764 { "timestamp": 1657472419, "value": 1168.476 },
}, { "timestamp": 1657476095, "value": 1171.918 },
{ { "timestamp": 1657479678, "value": 1166.659 },
"timestamp": 1659340802, { "timestamp": 1657483220, "value": 1167.561 },
"value": 1692.3951031976128 { "timestamp": 1657486872, "value": 1178.466 },
}, { "timestamp": 1657490494, "value": 1179.454 },
{ { "timestamp": 1657494056, "value": 1170.447 },
"timestamp": 1659344497, { "timestamp": 1657497678, "value": 1168.63 },
"value": 1684.9023217083284 { "timestamp": 1657501203, "value": 1169.709 },
}, { "timestamp": 1657504899, "value": 1153.297 },
{ { "timestamp": 1657508445, "value": 1149.814 },
"timestamp": 1659348121, { "timestamp": 1657512085, "value": 1154.262 },
"value": 1689.4504425336531 { "timestamp": 1657515620, "value": 1149.518 },
}, { "timestamp": 1657519261, "value": 1149.486 },
{ { "timestamp": 1657522840, "value": 1141.677 },
"timestamp": 1659351735, { "timestamp": 1657526402, "value": 1144.355 },
"value": 1658.7053302279778 { "timestamp": 1657530108, "value": 1143.378 },
}, { "timestamp": 1657533610, "value": 1147.382 },
{ { "timestamp": 1657537209, "value": 1145.793 },
"timestamp": 1659355290, { "timestamp": 1657540896, "value": 1143.854 },
"value": 1669.3473691430552 { "timestamp": 1657544480, "value": 1151.401 },
}, { "timestamp": 1657548025, "value": 1139.05 },
{ { "timestamp": 1657551673, "value": 1140.532 },
"timestamp": 1659358832, { "timestamp": 1657555263, "value": 1139.822 },
"value": 1661.1873135571395 { "timestamp": 1657558851, "value": 1145.036 },
}, { "timestamp": 1657562416, "value": 1152.915 },
{ { "timestamp": 1657566003, "value": 1153.208 },
"timestamp": 1659362418, { "timestamp": 1657569713, "value": 1141.322 },
"value": 1657.2148949274574 { "timestamp": 1657573276, "value": 1139.549 },
}, { "timestamp": 1657576853, "value": 1126.922 },
{ { "timestamp": 1657580411, "value": 1099.924 },
"timestamp": 1659366157, { "timestamp": 1657584066, "value": 1096.735 },
"value": 1686.3973094195583 { "timestamp": 1657587813, "value": 1086.717 },
}, { "timestamp": 1657591346, "value": 1091.942 },
{ { "timestamp": 1657594915, "value": 1091.205 },
"timestamp": 1659369717, { "timestamp": 1657598470, "value": 1086.295 },
"value": 1673.691878986328 { "timestamp": 1657602037, "value": 1088.977 },
}, { "timestamp": 1657605696, "value": 1091.626 },
{ { "timestamp": 1657609233, "value": 1081.051 },
"timestamp": 1659373225, { "timestamp": 1657612910, "value": 1067.579 },
"value": 1656.5687536861142 { "timestamp": 1657616590, "value": 1067.552 },
}, { "timestamp": 1657620028, "value": 1055.955 },
{ { "timestamp": 1657623732, "value": 1060.679 },
"timestamp": 1659376826, { "timestamp": 1657627214, "value": 1068.21 },
"value": 1629.019709947513 { "timestamp": 1657630860, "value": 1071.97 },
}, { "timestamp": 1657634459, "value": 1072.457 },
{ { "timestamp": 1657638138, "value": 1075.967 },
"timestamp": 1659380552, { "timestamp": 1657641688, "value": 1078.096 },
"value": 1622.5174376243767 { "timestamp": 1657645273, "value": 1085.558 },
}, { "timestamp": 1657648888, "value": 1076.831 },
{ { "timestamp": 1657652481, "value": 1062.803 },
"timestamp": 1659384162, { "timestamp": 1657656056, "value": 1044.065 },
"value": 1623.3989005910057 { "timestamp": 1657659655, "value": 1044.568 },
}, { "timestamp": 1657663330, "value": 1046.962 },
{ { "timestamp": 1657666814, "value": 1044.36 },
"timestamp": 1659387469, { "timestamp": 1657670472, "value": 1040.797 },
"value": 1620.1890596719502 { "timestamp": 1657674067, "value": 1042.386 },
} { "timestamp": 1657677696, "value": 1047.785 },
{ "timestamp": 1657681260, "value": 1057.885 },
{ "timestamp": 1657684936, "value": 1052.68 },
{ "timestamp": 1657688441, "value": 1053.26 },
{ "timestamp": 1657692031, "value": 1062.606 },
{ "timestamp": 1657695656, "value": 1058.866 },
{ "timestamp": 1657699420, "value": 1071.055 },
{ "timestamp": 1657702870, "value": 1078.836 },
{ "timestamp": 1657706432, "value": 1073.483 },
{ "timestamp": 1657710075, "value": 1073.037 },
{ "timestamp": 1657713674, "value": 1081.508 },
{ "timestamp": 1657717259, "value": 1027.421 },
{ "timestamp": 1657720872, "value": 1041.726 },
{ "timestamp": 1657724505, "value": 1067.985 },
{ "timestamp": 1657728093, "value": 1062.264 },
{ "timestamp": 1657731668, "value": 1072.587 },
{ "timestamp": 1657735257, "value": 1094.909 },
{ "timestamp": 1657738923, "value": 1090.534 },
{ "timestamp": 1657742465, "value": 1078.216 },
{ "timestamp": 1657746083, "value": 1077.332 },
{ "timestamp": 1657749660, "value": 1087.569 },
{ "timestamp": 1657753268, "value": 1086.127 },
{ "timestamp": 1657756884, "value": 1112.92 },
{ "timestamp": 1657760430, "value": 1112.52 },
{ "timestamp": 1657764058, "value": 1113.109 },
{ "timestamp": 1657767657, "value": 1112.766 },
{ "timestamp": 1657771251, "value": 1112.962 },
{ "timestamp": 1657774867, "value": 1108.152 },
{ "timestamp": 1657778517, "value": 1108.143 },
{ "timestamp": 1657782073, "value": 1102.728 },
{ "timestamp": 1657785715, "value": 1098.041 },
{ "timestamp": 1657789229, "value": 1087.443 },
{ "timestamp": 1657792895, "value": 1086.574 },
{ "timestamp": 1657796506, "value": 1087.472 },
{ "timestamp": 1657800044, "value": 1082.009 },
{ "timestamp": 1657803606, "value": 1087.84 },
{ "timestamp": 1657807224, "value": 1085.335 },
{ "timestamp": 1657810821, "value": 1088.986 },
{ "timestamp": 1657814482, "value": 1142.062 },
{ "timestamp": 1657818043, "value": 1140.648 },
{ "timestamp": 1657821642, "value": 1185.829 },
{ "timestamp": 1657825204, "value": 1193.473 },
{ "timestamp": 1657828842, "value": 1195.28 },
{ "timestamp": 1657832418, "value": 1194.484 },
{ "timestamp": 1657836104, "value": 1181.849 },
{ "timestamp": 1657839644, "value": 1186.175 },
{ "timestamp": 1657843264, "value": 1192.916 },
{ "timestamp": 1657846883, "value": 1183.797 },
{ "timestamp": 1657850501, "value": 1200.975 },
{ "timestamp": 1657854052, "value": 1197.693 },
{ "timestamp": 1657857661, "value": 1194.158 },
{ "timestamp": 1657861268, "value": 1195.4 },
{ "timestamp": 1657864835, "value": 1202.112 },
{ "timestamp": 1657868481, "value": 1197.448 },
{ "timestamp": 1657872014, "value": 1210.339 },
{ "timestamp": 1657875678, "value": 1207.538 },
{ "timestamp": 1657879216, "value": 1219.719 },
{ "timestamp": 1657882883, "value": 1216.94 },
{ "timestamp": 1657886484, "value": 1213.208 },
{ "timestamp": 1657890036, "value": 1223.417 },
{ "timestamp": 1657893664, "value": 1218.226 },
{ "timestamp": 1657897259, "value": 1226.478 },
{ "timestamp": 1657900852, "value": 1224.805 },
{ "timestamp": 1657904482, "value": 1211.285 },
{ "timestamp": 1657908011, "value": 1221.907 },
{ "timestamp": 1657911688, "value": 1246.572 },
{ "timestamp": 1657915264, "value": 1268.451 },
{ "timestamp": 1657918861, "value": 1260.19 },
{ "timestamp": 1657922429, "value": 1254.859 },
{ "timestamp": 1657926138, "value": 1250.046 },
{ "timestamp": 1657929821, "value": 1234.099 },
{ "timestamp": 1657933271, "value": 1220.417 },
{ "timestamp": 1657936871, "value": 1218.334 },
{ "timestamp": 1657940556, "value": 1218.723 },
{ "timestamp": 1657944097, "value": 1222.985 },
{ "timestamp": 1657947697, "value": 1221.139 },
{ "timestamp": 1657951325, "value": 1212.972 },
{ "timestamp": 1657954834, "value": 1197.917 },
{ "timestamp": 1657958529, "value": 1194.733 },
{ "timestamp": 1657962026, "value": 1198.486 },
{ "timestamp": 1657965712, "value": 1197.3 },
{ "timestamp": 1657969289, "value": 1195.688 },
{ "timestamp": 1657972937, "value": 1199.663 },
{ "timestamp": 1657976465, "value": 1211.527 },
{ "timestamp": 1657980146, "value": 1231.805 },
{ "timestamp": 1657983673, "value": 1242.558 },
{ "timestamp": 1657987270, "value": 1267.678 },
{ "timestamp": 1657990875, "value": 1353.418 },
{ "timestamp": 1657994465, "value": 1350.643 },
{ "timestamp": 1657998050, "value": 1334.599 },
{ "timestamp": 1658001735, "value": 1337.429 },
{ "timestamp": 1658005267, "value": 1334.98 },
{ "timestamp": 1658008859, "value": 1347.154 },
{ "timestamp": 1658012461, "value": 1348.44 },
{ "timestamp": 1658016146, "value": 1355.616 },
{ "timestamp": 1658019716, "value": 1362.557 },
{ "timestamp": 1658023219, "value": 1337.073 },
{ "timestamp": 1658026866, "value": 1340.456 },
{ "timestamp": 1658030514, "value": 1352.49 },
{ "timestamp": 1658034022, "value": 1350.861 },
{ "timestamp": 1658037630, "value": 1357.175 },
{ "timestamp": 1658041337, "value": 1372.651 },
{ "timestamp": 1658044868, "value": 1363.657 },
{ "timestamp": 1658048571, "value": 1364.364 },
{ "timestamp": 1658052112, "value": 1356.018 },
{ "timestamp": 1658055635, "value": 1352.827 },
{ "timestamp": 1658059266, "value": 1354.14 },
{ "timestamp": 1658062808, "value": 1356.259 },
{ "timestamp": 1658066419, "value": 1349.858 },
{ "timestamp": 1658070022, "value": 1354.916 },
{ "timestamp": 1658073716, "value": 1348.651 },
{ "timestamp": 1658077285, "value": 1343.492 },
{ "timestamp": 1658080899, "value": 1350.558 },
{ "timestamp": 1658084401, "value": 1336.01 },
{ "timestamp": 1658088152, "value": 1348.278 },
{ "timestamp": 1658091672, "value": 1343.877 },
{ "timestamp": 1658095306, "value": 1363.145 },
{ "timestamp": 1658098935, "value": 1358.911 },
{ "timestamp": 1658102536, "value": 1341.381 },
{ "timestamp": 1658106095, "value": 1345.198 },
{ "timestamp": 1658109894, "value": 1359.224 },
{ "timestamp": 1658113220, "value": 1397.707 },
{ "timestamp": 1658116839, "value": 1407.308 },
{ "timestamp": 1658120442, "value": 1406.417 },
{ "timestamp": 1658124086, "value": 1426.657 },
{ "timestamp": 1658127754, "value": 1457.209 },
{ "timestamp": 1658131318, "value": 1466.4 },
{ "timestamp": 1658135020, "value": 1470.034 },
{ "timestamp": 1658138511, "value": 1482.492 },
{ "timestamp": 1658142086, "value": 1485.177 },
{ "timestamp": 1658145604, "value": 1475.618 },
{ "timestamp": 1658149334, "value": 1479.749 },
{ "timestamp": 1658152846, "value": 1476.452 },
{ "timestamp": 1658156454, "value": 1476.814 },
{ "timestamp": 1658160179, "value": 1490.927 },
{ "timestamp": 1658163620, "value": 1495.2 },
{ "timestamp": 1658167251, "value": 1474.132 },
{ "timestamp": 1658170898, "value": 1478.715 },
{ "timestamp": 1658174510, "value": 1467.193 },
{ "timestamp": 1658178053, "value": 1476.152 },
{ "timestamp": 1658181679, "value": 1489.981 },
{ "timestamp": 1658185240, "value": 1507.356 },
{ "timestamp": 1658188883, "value": 1570.658 },
{ "timestamp": 1658192505, "value": 1565.66 },
{ "timestamp": 1658196057, "value": 1532.006 },
{ "timestamp": 1658199674, "value": 1523.73 },
{ "timestamp": 1658203266, "value": 1519.351 },
{ "timestamp": 1658207099, "value": 1521.687 },
{ "timestamp": 1658210560, "value": 1529.98 },
{ "timestamp": 1658214032, "value": 1517.854 },
{ "timestamp": 1658217633, "value": 1514.583 },
{ "timestamp": 1658221374, "value": 1528.683 },
{ "timestamp": 1658224857, "value": 1532.126 },
{ "timestamp": 1658228549, "value": 1543.767 },
{ "timestamp": 1658232107, "value": 1542.46 },
{ "timestamp": 1658235603, "value": 1560.253 },
{ "timestamp": 1658239227, "value": 1548.21 },
{ "timestamp": 1658242910, "value": 1547.663 },
{ "timestamp": 1658246415, "value": 1541.172 },
{ "timestamp": 1658250174, "value": 1567.254 },
{ "timestamp": 1658253689, "value": 1568.839 },
{ "timestamp": 1658257295, "value": 1568.683 },
{ "timestamp": 1658260892, "value": 1564.644 },
{ "timestamp": 1658264425, "value": 1554.892 },
{ "timestamp": 1658268149, "value": 1579.801 },
{ "timestamp": 1658271732, "value": 1561.703 },
{ "timestamp": 1658275332, "value": 1542.629 },
{ "timestamp": 1658278851, "value": 1519.343 },
{ "timestamp": 1658282444, "value": 1542.774 },
{ "timestamp": 1658286100, "value": 1551.529 },
{ "timestamp": 1658289703, "value": 1561.184 },
{ "timestamp": 1658293257, "value": 1562.528 },
{ "timestamp": 1658297106, "value": 1569.806 },
{ "timestamp": 1658300486, "value": 1573.758 },
{ "timestamp": 1658304054, "value": 1539.013 },
{ "timestamp": 1658308006, "value": 1534.665 },
{ "timestamp": 1658311335, "value": 1551.852 },
{ "timestamp": 1658314877, "value": 1592.177 },
{ "timestamp": 1658318487, "value": 1597.089 },
{ "timestamp": 1658322122, "value": 1601.452 },
{ "timestamp": 1658325668, "value": 1600.821 },
{ "timestamp": 1658329333, "value": 1602.535 },
{ "timestamp": 1658332827, "value": 1595.96 },
{ "timestamp": 1658336545, "value": 1562.275 },
{ "timestamp": 1658340112, "value": 1555.595 },
{ "timestamp": 1658343792, "value": 1558.175 },
{ "timestamp": 1658347305, "value": 1554.905 },
{ "timestamp": 1658350861, "value": 1517.335 },
{ "timestamp": 1658354425, "value": 1549.06 },
{ "timestamp": 1658358171, "value": 1530.85 },
{ "timestamp": 1658361708, "value": 1520.007 },
{ "timestamp": 1658365263, "value": 1521.825 },
{ "timestamp": 1658368962, "value": 1532.871 },
{ "timestamp": 1658372469, "value": 1501.486 },
{ "timestamp": 1658376062, "value": 1488.54 },
{ "timestamp": 1658379707, "value": 1488.718 },
{ "timestamp": 1658383246, "value": 1490.863 },
{ "timestamp": 1658386885, "value": 1478.656 },
{ "timestamp": 1658390508, "value": 1490.292 },
{ "timestamp": 1658394153, "value": 1490.279 },
{ "timestamp": 1658397676, "value": 1510.959 },
{ "timestamp": 1658401333, "value": 1505.138 },
{ "timestamp": 1658404894, "value": 1489.013 },
{ "timestamp": 1658408548, "value": 1505.663 },
{ "timestamp": 1658412063, "value": 1507.263 },
{ "timestamp": 1658415676, "value": 1495.585 },
{ "timestamp": 1658419268, "value": 1510.624 },
{ "timestamp": 1658422892, "value": 1556.748 },
{ "timestamp": 1658426515, "value": 1538.545 },
{ "timestamp": 1658430082, "value": 1541.634 },
{ "timestamp": 1658433639, "value": 1571.012 },
{ "timestamp": 1658437230, "value": 1590.689 },
{ "timestamp": 1658440836, "value": 1592.315 },
{ "timestamp": 1658444530, "value": 1573.387 },
{ "timestamp": 1658448127, "value": 1574.463 },
{ "timestamp": 1658451603, "value": 1588.863 },
{ "timestamp": 1658455348, "value": 1576.878 },
{ "timestamp": 1658458863, "value": 1569.314 },
{ "timestamp": 1658462499, "value": 1562.798 },
{ "timestamp": 1658466098, "value": 1566.786 },
{ "timestamp": 1658469689, "value": 1584.088 },
{ "timestamp": 1658473247, "value": 1594.143 },
{ "timestamp": 1658476848, "value": 1590.319 },
{ "timestamp": 1658480433, "value": 1603.74 },
{ "timestamp": 1658484136, "value": 1629.891 },
{ "timestamp": 1658487686, "value": 1635.295 },
{ "timestamp": 1658491310, "value": 1639.342 },
{ "timestamp": 1658494930, "value": 1629.794 },
{ "timestamp": 1658498464, "value": 1618.843 },
{ "timestamp": 1658502108, "value": 1617.45 },
{ "timestamp": 1658505733, "value": 1576.378 },
{ "timestamp": 1658509383, "value": 1581.087 },
{ "timestamp": 1658512855, "value": 1564.48 },
{ "timestamp": 1658516551, "value": 1576.021 },
{ "timestamp": 1658520071, "value": 1532.151 },
{ "timestamp": 1658523738, "value": 1528.179 },
{ "timestamp": 1658527286, "value": 1540.718 },
{ "timestamp": 1658530962, "value": 1542.113 },
{ "timestamp": 1658534527, "value": 1537.645 },
{ "timestamp": 1658538343, "value": 1545.595 },
{ "timestamp": 1658541748, "value": 1553.613 },
{ "timestamp": 1658545269, "value": 1569.807 },
{ "timestamp": 1658548949, "value": 1575.133 },
{ "timestamp": 1658552496, "value": 1586.54 },
{ "timestamp": 1658556059, "value": 1584.047 },
{ "timestamp": 1658559702, "value": 1586.194 },
{ "timestamp": 1658563310, "value": 1575.133 },
{ "timestamp": 1658566884, "value": 1557.261 },
{ "timestamp": 1658570405, "value": 1559.518 },
{ "timestamp": 1658574074, "value": 1541.764 },
{ "timestamp": 1658577638, "value": 1523.692 },
{ "timestamp": 1658581296, "value": 1521.918 },
{ "timestamp": 1658584973, "value": 1532.401 },
{ "timestamp": 1658588425, "value": 1522.439 },
{ "timestamp": 1658592082, "value": 1522.237 },
{ "timestamp": 1658595740, "value": 1526.395 },
{ "timestamp": 1658599235, "value": 1504.185 },
{ "timestamp": 1658602843, "value": 1507.217 },
{ "timestamp": 1658606452, "value": 1509.81 },
{ "timestamp": 1658610074, "value": 1525.118 },
{ "timestamp": 1658613817, "value": 1521.535 },
{ "timestamp": 1658617262, "value": 1545.345 },
{ "timestamp": 1658620916, "value": 1552.496 },
{ "timestamp": 1658624437, "value": 1565.738 },
{ "timestamp": 1658628030, "value": 1559.68 },
{ "timestamp": 1658631718, "value": 1561.531 },
{ "timestamp": 1658635277, "value": 1552.521 },
{ "timestamp": 1658638823, "value": 1560.586 },
{ "timestamp": 1658642438, "value": 1602.31 },
{ "timestamp": 1658646038, "value": 1613.709 },
{ "timestamp": 1658649672, "value": 1606.255 },
{ "timestamp": 1658653310, "value": 1603.012 },
{ "timestamp": 1658656908, "value": 1602.788 },
{ "timestamp": 1658660531, "value": 1585.915 },
{ "timestamp": 1658664017, "value": 1616.52 },
{ "timestamp": 1658667657, "value": 1595.293 },
{ "timestamp": 1658671261, "value": 1580.63 },
{ "timestamp": 1658674885, "value": 1611.612 },
{ "timestamp": 1658678485, "value": 1608.168 },
{ "timestamp": 1658682063, "value": 1592.446 },
{ "timestamp": 1658685652, "value": 1604.229 },
{ "timestamp": 1658689226, "value": 1596.474 },
{ "timestamp": 1658692925, "value": 1606.195 },
{ "timestamp": 1658696535, "value": 1611.691 },
{ "timestamp": 1658700044, "value": 1622.113 },
{ "timestamp": 1658703680, "value": 1623.531 },
{ "timestamp": 1658707267, "value": 1599.728 },
{ "timestamp": 1658710864, "value": 1564.462 },
{ "timestamp": 1658714466, "value": 1546.193 },
{ "timestamp": 1658718064, "value": 1523.542 },
{ "timestamp": 1658721657, "value": 1510.528 },
{ "timestamp": 1658725207, "value": 1516.728 },
{ "timestamp": 1658728905, "value": 1529.653 },
{ "timestamp": 1658732407, "value": 1520.481 },
{ "timestamp": 1658736198, "value": 1525.474 },
{ "timestamp": 1658739655, "value": 1541.483 },
{ "timestamp": 1658743270, "value": 1534.598 },
{ "timestamp": 1658746901, "value": 1548.624 },
{ "timestamp": 1658750449, "value": 1542.593 },
{ "timestamp": 1658754121, "value": 1534.802 },
{ "timestamp": 1658757650, "value": 1524.67 },
{ "timestamp": 1658761258, "value": 1521.783 },
{ "timestamp": 1658765307, "value": 1528.288 },
{ "timestamp": 1658768457, "value": 1529.873 },
{ "timestamp": 1658772083, "value": 1514.372 },
{ "timestamp": 1658775641, "value": 1517.729 },
{ "timestamp": 1658779247, "value": 1483.681 },
{ "timestamp": 1658782873, "value": 1525.92 },
{ "timestamp": 1658786491, "value": 1519.829 },
{ "timestamp": 1658790066, "value": 1483.559 },
{ "timestamp": 1658793633, "value": 1450.482 },
{ "timestamp": 1658797330, "value": 1420.792 },
{ "timestamp": 1658800857, "value": 1423.507 },
{ "timestamp": 1658804474, "value": 1422.676 },
{ "timestamp": 1658808024, "value": 1434.361 },
{ "timestamp": 1658811615, "value": 1431.277 },
{ "timestamp": 1658815299, "value": 1428.26 },
{ "timestamp": 1658818900, "value": 1418.592 },
{ "timestamp": 1658822493, "value": 1413.869 },
{ "timestamp": 1658826054, "value": 1416.253 },
{ "timestamp": 1658829639, "value": 1423.72 },
{ "timestamp": 1658833239, "value": 1413.304 },
{ "timestamp": 1658836851, "value": 1413.164 },
{ "timestamp": 1658840434, "value": 1393.046 },
{ "timestamp": 1658844078, "value": 1389.108 },
{ "timestamp": 1658847682, "value": 1390.339 },
{ "timestamp": 1658851301, "value": 1372.39 },
{ "timestamp": 1658854898, "value": 1378.752 },
{ "timestamp": 1658858467, "value": 1383.442 },
{ "timestamp": 1658862125, "value": 1374.81 },
{ "timestamp": 1658865709, "value": 1367.933 },
{ "timestamp": 1658869311, "value": 1379.697 },
{ "timestamp": 1658872957, "value": 1379.19 },
{ "timestamp": 1658876454, "value": 1407.584 },
{ "timestamp": 1658880105, "value": 1445.728 },
{ "timestamp": 1658883717, "value": 1439.56 },
{ "timestamp": 1658887328, "value": 1435.897 },
{ "timestamp": 1658890916, "value": 1438.163 },
{ "timestamp": 1658894455, "value": 1425.382 },
{ "timestamp": 1658898044, "value": 1437.5 },
{ "timestamp": 1658901712, "value": 1453.948 },
{ "timestamp": 1658905242, "value": 1451.345 },
{ "timestamp": 1658908825, "value": 1463.044 },
{ "timestamp": 1658912493, "value": 1466.981 },
{ "timestamp": 1658916065, "value": 1460.89 },
{ "timestamp": 1658919670, "value": 1461.357 },
{ "timestamp": 1658923242, "value": 1466.411 },
{ "timestamp": 1658926957, "value": 1480.31 },
{ "timestamp": 1658930459, "value": 1491.894 },
{ "timestamp": 1658934083, "value": 1492.015 },
{ "timestamp": 1658937666, "value": 1489.423 },
{ "timestamp": 1658941251, "value": 1500.025 },
{ "timestamp": 1658944907, "value": 1502.279 },
{ "timestamp": 1658948537, "value": 1574.815 },
{ "timestamp": 1658952060, "value": 1588.401 },
{ "timestamp": 1658955719, "value": 1603.072 },
{ "timestamp": 1658959326, "value": 1609.767 },
{ "timestamp": 1658962806, "value": 1626.014 },
{ "timestamp": 1658966430, "value": 1636.949 },
{ "timestamp": 1658970066, "value": 1617.275 },
{ "timestamp": 1658973675, "value": 1614.964 },
{ "timestamp": 1658977302, "value": 1667.687 },
{ "timestamp": 1658980874, "value": 1648.395 },
{ "timestamp": 1658984493, "value": 1637.519 },
{ "timestamp": 1658988065, "value": 1647.045 },
{ "timestamp": 1658991686, "value": 1639.555 },
{ "timestamp": 1658995241, "value": 1618.559 },
{ "timestamp": 1658998876, "value": 1626.733 },
{ "timestamp": 1659002491, "value": 1617.723 },
{ "timestamp": 1659006017, "value": 1624.25 },
{ "timestamp": 1659009713, "value": 1637.917 },
{ "timestamp": 1659013289, "value": 1634.308 },
{ "timestamp": 1659016876, "value": 1619.654 },
{ "timestamp": 1659020478, "value": 1645.635 },
{ "timestamp": 1659024085, "value": 1728.912 },
{ "timestamp": 1659027649, "value": 1727.241 },
{ "timestamp": 1659031296, "value": 1747.723 },
{ "timestamp": 1659034886, "value": 1724.468 },
{ "timestamp": 1659038416, "value": 1724.398 },
{ "timestamp": 1659042059, "value": 1759.496 },
{ "timestamp": 1659045667, "value": 1739.518 },
{ "timestamp": 1659049362, "value": 1745.765 },
{ "timestamp": 1659052895, "value": 1725.577 },
{ "timestamp": 1659056497, "value": 1725.582 },
{ "timestamp": 1659060077, "value": 1710.903 },
{ "timestamp": 1659063685, "value": 1711.839 },
{ "timestamp": 1659067265, "value": 1726.606 },
{ "timestamp": 1659070897, "value": 1740.335 },
{ "timestamp": 1659074455, "value": 1732.5 },
{ "timestamp": 1659078055, "value": 1724.352 },
{ "timestamp": 1659081669, "value": 1719.582 },
{ "timestamp": 1659085305, "value": 1720.298 },
{ "timestamp": 1659088865, "value": 1724.043 },
{ "timestamp": 1659092531, "value": 1726.657 },
{ "timestamp": 1659096109, "value": 1683.924 },
{ "timestamp": 1659099693, "value": 1669.147 },
{ "timestamp": 1659103225, "value": 1700.953 },
{ "timestamp": 1659106827, "value": 1733.436 },
{ "timestamp": 1659110456, "value": 1723.99 },
{ "timestamp": 1659114043, "value": 1688.129 },
{ "timestamp": 1659117661, "value": 1696.744 },
{ "timestamp": 1659121335, "value": 1725.498 },
{ "timestamp": 1659124804, "value": 1722.882 },
{ "timestamp": 1659128500, "value": 1729.347 },
{ "timestamp": 1659132077, "value": 1713.796 },
{ "timestamp": 1659135724, "value": 1740.671 },
{ "timestamp": 1659139323, "value": 1732.437 },
{ "timestamp": 1659142812, "value": 1731.328 },
{ "timestamp": 1659146422, "value": 1702.275 },
{ "timestamp": 1659150077, "value": 1714.114 },
{ "timestamp": 1659153731, "value": 1708.163 },
{ "timestamp": 1659157303, "value": 1704.15 },
{ "timestamp": 1659160873, "value": 1705.772 },
{ "timestamp": 1659164460, "value": 1714.011 },
{ "timestamp": 1659168054, "value": 1716.362 },
{ "timestamp": 1659171671, "value": 1713.389 },
{ "timestamp": 1659175324, "value": 1705.115 },
{ "timestamp": 1659178928, "value": 1689.005 },
{ "timestamp": 1659182453, "value": 1709.102 },
{ "timestamp": 1659186029, "value": 1712.718 },
{ "timestamp": 1659189698, "value": 1730.194 },
{ "timestamp": 1659193336, "value": 1720.921 },
{ "timestamp": 1659196895, "value": 1738.495 },
{ "timestamp": 1659200563, "value": 1734.053 },
{ "timestamp": 1659204128, "value": 1726.251 },
{ "timestamp": 1659207696, "value": 1727.177 },
{ "timestamp": 1659211292, "value": 1708.204 },
{ "timestamp": 1659214869, "value": 1701.238 },
{ "timestamp": 1659218420, "value": 1703.203 },
{ "timestamp": 1659222021, "value": 1700.289 },
{ "timestamp": 1659225620, "value": 1697.216 },
{ "timestamp": 1659229243, "value": 1704.377 },
{ "timestamp": 1659232842, "value": 1700.42 },
{ "timestamp": 1659236437, "value": 1696.591 },
{ "timestamp": 1659240035, "value": 1694.448 },
{ "timestamp": 1659243620, "value": 1703.322 },
{ "timestamp": 1659247307, "value": 1697.842 },
{ "timestamp": 1659250903, "value": 1700.822 },
{ "timestamp": 1659254466, "value": 1699.787 },
{ "timestamp": 1659258143, "value": 1693.668 },
{ "timestamp": 1659261688, "value": 1699.242 },
{ "timestamp": 1659265245, "value": 1703.615 },
{ "timestamp": 1659268916, "value": 1713.321 },
{ "timestamp": 1659272415, "value": 1718.6 },
{ "timestamp": 1659276010, "value": 1710.908 },
{ "timestamp": 1659279659, "value": 1706.933 },
{ "timestamp": 1659283294, "value": 1712.356 },
{ "timestamp": 1659286891, "value": 1709.674 },
{ "timestamp": 1659290469, "value": 1707.322 },
{ "timestamp": 1659294046, "value": 1699.34 },
{ "timestamp": 1659297738, "value": 1719.407 },
{ "timestamp": 1659301320, "value": 1720.942 },
{ "timestamp": 1659304851, "value": 1705.189 },
{ "timestamp": 1659308495, "value": 1674.732 },
{ "timestamp": 1659312067, "value": 1682.011 },
{ "timestamp": 1659315639, "value": 1692.47 },
{ "timestamp": 1659319336, "value": 1694.566 },
{ "timestamp": 1659322868, "value": 1696.698 },
{ "timestamp": 1659326448, "value": 1690.529 },
{ "timestamp": 1659330161, "value": 1695.878 },
{ "timestamp": 1659333699, "value": 1689.94 },
{ "timestamp": 1659337283, "value": 1685.7 },
{ "timestamp": 1659340802, "value": 1692.395 },
{ "timestamp": 1659344497, "value": 1684.902 },
{ "timestamp": 1659348121, "value": 1689.45 },
{ "timestamp": 1659351735, "value": 1658.705 },
{ "timestamp": 1659355290, "value": 1669.347 },
{ "timestamp": 1659358832, "value": 1661.187 },
{ "timestamp": 1659362418, "value": 1657.214 },
{ "timestamp": 1659366157, "value": 1686.397 },
{ "timestamp": 1659369717, "value": 1673.691 },
{ "timestamp": 1659373225, "value": 1656.568 },
{ "timestamp": 1659376826, "value": 1629.019 },
{ "timestamp": 1659380552, "value": 1622.517 },
{ "timestamp": 1659384162, "value": 1623.398 },
{ "timestamp": 1659387656, "value": 1620.999 },
{ "timestamp": 1659391213, "value": 1623.053 },
{ "timestamp": 1659394872, "value": 1630.678 },
{ "timestamp": 1659398537, "value": 1633.577 },
{ "timestamp": 1659402136, "value": 1634.16 },
{ "timestamp": 1659405674, "value": 1609.357 },
{ "timestamp": 1659409266, "value": 1589.437 },
{ "timestamp": 1659413028, "value": 1578.492 },
{ "timestamp": 1659416448, "value": 1577.382 },
{ "timestamp": 1659420034, "value": 1585.736 },
{ "timestamp": 1659423660, "value": 1589.84 },
{ "timestamp": 1659427290, "value": 1593.987 },
{ "timestamp": 1659430810, "value": 1585.512 },
{ "timestamp": 1659434441, "value": 1575.56 },
{ "timestamp": 1659438045, "value": 1584.936 },
{ "timestamp": 1659441720, "value": 1594.658 },
{ "timestamp": 1659445249, "value": 1574.008 },
{ "timestamp": 1659448878, "value": 1580.606 },
{ "timestamp": 1659452489, "value": 1617.474 },
{ "timestamp": 1659456096, "value": 1631.672 },
{ "timestamp": 1659459884, "value": 1670.892 },
{ "timestamp": 1659463329, "value": 1647.969 },
{ "timestamp": 1659466874, "value": 1650.074 },
{ "timestamp": 1659470520, "value": 1646.072 },
{ "timestamp": 1659474117, "value": 1649.702 },
{ "timestamp": 1659477619, "value": 1651.301 },
{ "timestamp": 1659481273, "value": 1650.165 },
{ "timestamp": 1659484850, "value": 1638.378 },
{ "timestamp": 1659488455, "value": 1599.442 },
{ "timestamp": 1659492063, "value": 1613.25 },
{ "timestamp": 1659495665, "value": 1610.318 },
{ "timestamp": 1659499236, "value": 1617.872 },
{ "timestamp": 1659502819, "value": 1617.561 },
{ "timestamp": 1659506442, "value": 1630.4 },
{ "timestamp": 1659510078, "value": 1635.987 },
{ "timestamp": 1659513671, "value": 1632.103 },
{ "timestamp": 1659517279, "value": 1645.568 },
{ "timestamp": 1659520879, "value": 1657.139 },
{ "timestamp": 1659524448, "value": 1659.004 },
{ "timestamp": 1659528020, "value": 1664.018 },
{ "timestamp": 1659531734, "value": 1660.216 },
{ "timestamp": 1659535233, "value": 1665.715 },
{ "timestamp": 1659538845, "value": 1654.035 },
{ "timestamp": 1659542464, "value": 1657.587 },
{ "timestamp": 1659546033, "value": 1663.832 },
{ "timestamp": 1659549762, "value": 1662.594 },
{ "timestamp": 1659553219, "value": 1669.885 },
{ "timestamp": 1659556991, "value": 1658.09 },
{ "timestamp": 1659560418, "value": 1644.173 },
{ "timestamp": 1659564050, "value": 1646.14 },
{ "timestamp": 1659567611, "value": 1624.139 },
{ "timestamp": 1659571308, "value": 1621.572 },
{ "timestamp": 1659574871, "value": 1638.972 },
{ "timestamp": 1659578484, "value": 1651.058 },
{ "timestamp": 1659582145, "value": 1654.684 },
{ "timestamp": 1659585650, "value": 1650.17 },
{ "timestamp": 1659589325, "value": 1656.92 },
{ "timestamp": 1659592906, "value": 1651.454 },
{ "timestamp": 1659596477, "value": 1626.438 },
{ "timestamp": 1659600093, "value": 1627.44 },
{ "timestamp": 1659603893, "value": 1620.809 },
{ "timestamp": 1659607215, "value": 1622.025 },
{ "timestamp": 1659610916, "value": 1619.583 },
{ "timestamp": 1659614451, "value": 1620.637 },
{ "timestamp": 1659618034, "value": 1619.823 },
{ "timestamp": 1659621661, "value": 1630.41 },
{ "timestamp": 1659625248, "value": 1612.767 },
{ "timestamp": 1659628840, "value": 1613.194 },
{ "timestamp": 1659632510, "value": 1598.204 },
{ "timestamp": 1659636013, "value": 1598.371 },
{ "timestamp": 1659639674, "value": 1601.837 },
{ "timestamp": 1659642752, "value": 1593.198 }
],
"year": [
{ "timestamp": 1628121600, "value": 2724.532 },
{ "timestamp": 1628208000, "value": 2821.649 },
{ "timestamp": 1628294400, "value": 2888.732 },
{ "timestamp": 1628380800, "value": 3151.217 },
{ "timestamp": 1628467200, "value": 3012.308 },
{ "timestamp": 1628553600, "value": 3163.064 },
{ "timestamp": 1628640000, "value": 3147.842 },
{ "timestamp": 1628726400, "value": 3166.647 },
{ "timestamp": 1628812800, "value": 3048.412 },
{ "timestamp": 1628899200, "value": 3323.197 },
{ "timestamp": 1628985600, "value": 3268.548 },
{ "timestamp": 1629072000, "value": 3309.754 },
{ "timestamp": 1629158400, "value": 3153.583 },
{ "timestamp": 1629244800, "value": 3007.144 },
{ "timestamp": 1629331200, "value": 3037.23 },
{ "timestamp": 1629417600, "value": 3144.818 },
{ "timestamp": 1629504000, "value": 3276.969 },
{ "timestamp": 1629590400, "value": 3224.0 },
{ "timestamp": 1629676800, "value": 3243.486 },
{ "timestamp": 1629763200, "value": 3320.409 },
{ "timestamp": 1629849600, "value": 3177.663 },
{ "timestamp": 1629936000, "value": 3231.441 },
{ "timestamp": 1630022400, "value": 3122.971 },
{ "timestamp": 1630108800, "value": 3267.539 },
{ "timestamp": 1630195200, "value": 3245.43 },
{ "timestamp": 1630281600, "value": 3233.383 },
{ "timestamp": 1630368000, "value": 3232.733 },
{ "timestamp": 1630454400, "value": 3440.562 },
{ "timestamp": 1630540800, "value": 3790.613 },
{ "timestamp": 1630627200, "value": 3793.3 },
{ "timestamp": 1630713600, "value": 3936.163 },
{ "timestamp": 1630800000, "value": 3894.937 },
{ "timestamp": 1630886400, "value": 3950.27 },
{ "timestamp": 1630972800, "value": 3943.256 },
{ "timestamp": 1631059200, "value": 3440.341 },
{ "timestamp": 1631145600, "value": 3496.859 },
{ "timestamp": 1631232000, "value": 3435.979 },
{ "timestamp": 1631318400, "value": 3209.915 },
{ "timestamp": 1631404800, "value": 3268.104 },
{ "timestamp": 1631491200, "value": 3417.839 },
{ "timestamp": 1631577600, "value": 3301.186 },
{ "timestamp": 1631664000, "value": 3425.25 },
{ "timestamp": 1631750400, "value": 3595.962 },
{ "timestamp": 1631836800, "value": 3573.307 },
{ "timestamp": 1631923200, "value": 3412.177 },
{ "timestamp": 1632009600, "value": 3427.584 },
{ "timestamp": 1632096000, "value": 3335.884 },
{ "timestamp": 1632182400, "value": 2977.322 },
{ "timestamp": 1632268800, "value": 2744.11 },
{ "timestamp": 1632355200, "value": 3074.119 },
{ "timestamp": 1632441600, "value": 3159.269 },
{ "timestamp": 1632528000, "value": 2930.742 },
{ "timestamp": 1632614400, "value": 2946.97 },
{ "timestamp": 1632700800, "value": 3063.316 },
{ "timestamp": 1632787200, "value": 2939.742 },
{ "timestamp": 1632873600, "value": 2798.984 },
{ "timestamp": 1632960000, "value": 2855.611 },
{ "timestamp": 1633046400, "value": 3013.493 },
{ "timestamp": 1633132800, "value": 3305.107 },
{ "timestamp": 1633219200, "value": 3393.924 },
{ "timestamp": 1633305600, "value": 3426.387 },
{ "timestamp": 1633392000, "value": 3390.31 },
{ "timestamp": 1633478400, "value": 3520.342 },
{ "timestamp": 1633564800, "value": 3592.176 },
{ "timestamp": 1633651200, "value": 3594.918 },
{ "timestamp": 1633737600, "value": 3558.549 },
{ "timestamp": 1633824000, "value": 3588.08 },
{ "timestamp": 1633910400, "value": 3431.019 },
{ "timestamp": 1633996800, "value": 3537.84 },
{ "timestamp": 1634083200, "value": 3498.105 },
{ "timestamp": 1634169600, "value": 3605.65 },
{ "timestamp": 1634256000, "value": 3794.516 },
{ "timestamp": 1634342400, "value": 3885.641 },
{ "timestamp": 1634428800, "value": 3854.498 },
{ "timestamp": 1634515200, "value": 3854.223 },
{ "timestamp": 1634601600, "value": 3752.618 },
{ "timestamp": 1634688000, "value": 3884.587 },
{ "timestamp": 1634774400, "value": 4170.107 },
{ "timestamp": 1634860800, "value": 4074.86 },
{ "timestamp": 1634947200, "value": 3990.711 },
{ "timestamp": 1635033600, "value": 4179.442 },
{ "timestamp": 1635120000, "value": 4094.938 },
{ "timestamp": 1635206400, "value": 4230.208 },
{ "timestamp": 1635292800, "value": 4152.57 },
{ "timestamp": 1635379200, "value": 3944.09 },
{ "timestamp": 1635465600, "value": 4288.097 },
{ "timestamp": 1635552000, "value": 4422.94 },
{ "timestamp": 1635638400, "value": 4324.609 },
{ "timestamp": 1635724800, "value": 4292.04 },
{ "timestamp": 1635811200, "value": 4330.553 },
{ "timestamp": 1635897600, "value": 4596.593 },
{ "timestamp": 1635984000, "value": 4607.699 },
{ "timestamp": 1636070400, "value": 4550.014 },
{ "timestamp": 1636156800, "value": 4494.802 },
{ "timestamp": 1636243200, "value": 4527.104 },
{ "timestamp": 1636329600, "value": 4626.629 },
{ "timestamp": 1636416000, "value": 4815.004 },
{ "timestamp": 1636502400, "value": 4742.08 },
{ "timestamp": 1636588800, "value": 4641.528 },
{ "timestamp": 1636675200, "value": 4732.924 },
{ "timestamp": 1636761600, "value": 4685.106 },
{ "timestamp": 1636848000, "value": 4666.498 },
{ "timestamp": 1636934400, "value": 4652.947 },
{ "timestamp": 1637020800, "value": 4583.211 },
{ "timestamp": 1637107200, "value": 4243.352 },
{ "timestamp": 1637193600, "value": 4302.804 },
{ "timestamp": 1637280000, "value": 3993.846 },
{ "timestamp": 1637366400, "value": 4317.603 },
{ "timestamp": 1637452800, "value": 4436.192 },
{ "timestamp": 1637539200, "value": 4319.361 },
{ "timestamp": 1637625600, "value": 4101.062 },
{ "timestamp": 1637712000, "value": 4355.42 },
{ "timestamp": 1637798400, "value": 4269.437 },
{ "timestamp": 1637884800, "value": 4515.843 },
{ "timestamp": 1637971200, "value": 4048.312 },
{ "timestamp": 1638057600, "value": 4084.088 },
{ "timestamp": 1638144000, "value": 4290.091 },
{ "timestamp": 1638230400, "value": 4444.528 },
{ "timestamp": 1638316800, "value": 4637.121 },
{ "timestamp": 1638403200, "value": 4589.61 },
{ "timestamp": 1638489600, "value": 4519.441 },
{ "timestamp": 1638576000, "value": 4240.155 },
{ "timestamp": 1638662400, "value": 4101.656 },
{ "timestamp": 1638748800, "value": 4198.572 },
{ "timestamp": 1638835200, "value": 4347.615 },
{ "timestamp": 1638921600, "value": 4310.566 },
{ "timestamp": 1639008000, "value": 4431.54 },
{ "timestamp": 1639094400, "value": 4153.333 },
{ "timestamp": 1639180800, "value": 3918.2 },
{ "timestamp": 1639267200, "value": 4079.814 },
{ "timestamp": 1639353600, "value": 4135.841 },
{ "timestamp": 1639440000, "value": 3782.895 },
{ "timestamp": 1639526400, "value": 3858.164 },
{ "timestamp": 1639612800, "value": 4015.722 },
{ "timestamp": 1639699200, "value": 3971.559 },
{ "timestamp": 1639785600, "value": 3886.747 },
{ "timestamp": 1639872000, "value": 3966.425 },
{ "timestamp": 1639958400, "value": 3928.841 },
{ "timestamp": 1640044800, "value": 3950.482 },
{ "timestamp": 1640131200, "value": 4036.549 },
{ "timestamp": 1640217600, "value": 3992.594 },
{ "timestamp": 1640304000, "value": 4113.529 },
{ "timestamp": 1640390400, "value": 4055.117 },
{ "timestamp": 1640476800, "value": 4110.571 },
{ "timestamp": 1640563200, "value": 4075.031 },
{ "timestamp": 1640649600, "value": 4045.051 },
{ "timestamp": 1640736000, "value": 3807.36 },
{ "timestamp": 1640822400, "value": 3644.405 },
{ "timestamp": 1640908800, "value": 3714.945 },
{ "timestamp": 1640995200, "value": 3686.402 },
{ "timestamp": 1641081600, "value": 3780.315 },
{ "timestamp": 1641168000, "value": 3835.395 },
{ "timestamp": 1641254400, "value": 3769.404 },
{ "timestamp": 1641340800, "value": 3794.908 },
{ "timestamp": 1641427200, "value": 3556.906 },
{ "timestamp": 1641513600, "value": 3416.826 },
{ "timestamp": 1641600000, "value": 3201.794 },
{ "timestamp": 1641686400, "value": 3101.04 },
{ "timestamp": 1641772800, "value": 3156.967 },
{ "timestamp": 1641859200, "value": 3086.729 },
{ "timestamp": 1641945600, "value": 3246.413 },
{ "timestamp": 1642032000, "value": 3378.035 },
{ "timestamp": 1642118400, "value": 3256.758 },
{ "timestamp": 1642204800, "value": 3311.986 },
{ "timestamp": 1642291200, "value": 3331.246 },
{ "timestamp": 1642377600, "value": 3356.295 },
{ "timestamp": 1642464000, "value": 3216.592 },
{ "timestamp": 1642550400, "value": 3166.453 },
{ "timestamp": 1642636800, "value": 3097.021 },
{ "timestamp": 1642723200, "value": 3015.588 },
{ "timestamp": 1642809600, "value": 2564.343 },
{ "timestamp": 1642896000, "value": 2407.377 },
{ "timestamp": 1642982400, "value": 2537.836 },
{ "timestamp": 1643068800, "value": 2447.831 },
{ "timestamp": 1643155200, "value": 2465.219 },
{ "timestamp": 1643241600, "value": 2470.43 },
{ "timestamp": 1643328000, "value": 2411.863 },
{ "timestamp": 1643414400, "value": 2551.111 },
{ "timestamp": 1643500800, "value": 2603.603 },
{ "timestamp": 1643587200, "value": 2610.182 },
{ "timestamp": 1643673600, "value": 2689.22 },
{ "timestamp": 1643760000, "value": 2797.434 },
{ "timestamp": 1643846400, "value": 2690.319 },
{ "timestamp": 1643932800, "value": 2667.256 },
{ "timestamp": 1644019200, "value": 2993.099 },
{ "timestamp": 1644105600, "value": 3018.673 },
{ "timestamp": 1644192000, "value": 3062.805 },
{ "timestamp": 1644278400, "value": 3149.953 },
{ "timestamp": 1644364800, "value": 3127.438 },
{ "timestamp": 1644451200, "value": 3240.921 },
{ "timestamp": 1644537600, "value": 3081.911 },
{ "timestamp": 1644624000, "value": 2930.563 },
{ "timestamp": 1644710400, "value": 2918.085 },
{ "timestamp": 1644796800, "value": 2889.235 },
{ "timestamp": 1644883200, "value": 2935.645 },
{ "timestamp": 1644969600, "value": 3179.3 },
{ "timestamp": 1645056000, "value": 3128.64 },
{ "timestamp": 1645142400, "value": 2881.613 },
{ "timestamp": 1645228800, "value": 2792.303 },
{ "timestamp": 1645315200, "value": 2768.971 },
{ "timestamp": 1645401600, "value": 2632.491 },
{ "timestamp": 1645488000, "value": 2574.513 },
{ "timestamp": 1645574400, "value": 2644.153 },
{ "timestamp": 1645660800, "value": 2594.7 },
{ "timestamp": 1645747200, "value": 2599.933 },
{ "timestamp": 1645833600, "value": 2771.89 },
{ "timestamp": 1645920000, "value": 2785.338 },
{ "timestamp": 1646006400, "value": 2629.483 },
{ "timestamp": 1646092800, "value": 2919.294 },
{ "timestamp": 1646179200, "value": 2977.276 },
{ "timestamp": 1646265600, "value": 2953.315 },
{ "timestamp": 1646352000, "value": 2836.906 },
{ "timestamp": 1646438400, "value": 2619.356 },
{ "timestamp": 1646524800, "value": 2668.705 },
{ "timestamp": 1646611200, "value": 2558.359 },
{ "timestamp": 1646697600, "value": 2498.658 },
{ "timestamp": 1646784000, "value": 2576.627 },
{ "timestamp": 1646870400, "value": 2731.037 },
{ "timestamp": 1646956800, "value": 2611.464 },
{ "timestamp": 1647043200, "value": 2562.832 },
{ "timestamp": 1647129600, "value": 2579.458 },
{ "timestamp": 1647216000, "value": 2518.492 },
{ "timestamp": 1647302400, "value": 2591.542 },
{ "timestamp": 1647388800, "value": 2620.363 },
{ "timestamp": 1647475200, "value": 2771.759 },
{ "timestamp": 1647561600, "value": 2817.401 },
{ "timestamp": 1647648000, "value": 2945.745 },
{ "timestamp": 1647734400, "value": 2947.226 },
{ "timestamp": 1647820800, "value": 2860.641 },
{ "timestamp": 1647907200, "value": 2896.586 },
{ "timestamp": 1647993600, "value": 2969.784 },
{ "timestamp": 1648080000, "value": 3028.835 },
{ "timestamp": 1648166400, "value": 3106.657 },
{ "timestamp": 1648252800, "value": 3106.072 },
{ "timestamp": 1648339200, "value": 3140.875 },
{ "timestamp": 1648425600, "value": 3285.173 },
{ "timestamp": 1648512000, "value": 3328.934 },
{ "timestamp": 1648598400, "value": 3401.184 },
{ "timestamp": 1648684800, "value": 3383.788 },
{ "timestamp": 1648771200, "value": 3283.302 },
{ "timestamp": 1648857600, "value": 3451.196 },
{ "timestamp": 1648944000, "value": 3440.336 },
{ "timestamp": 1649030400, "value": 3521.584 },
{ "timestamp": 1649116800, "value": 3520.967 },
{ "timestamp": 1649203200, "value": 3422.969 },
{ "timestamp": 1649289600, "value": 3171.371 },
{ "timestamp": 1649376000, "value": 3232.834 },
{ "timestamp": 1649462400, "value": 3192.025 },
{ "timestamp": 1649548800, "value": 3265.938 },
{ "timestamp": 1649635200, "value": 3219.159 },
{ "timestamp": 1649721600, "value": 2992.702 },
{ "timestamp": 1649808000, "value": 3038.209 },
{ "timestamp": 1649894400, "value": 3121.399 },
{ "timestamp": 1649980800, "value": 3023.417 },
{ "timestamp": 1650067200, "value": 3045.428 },
{ "timestamp": 1650153600, "value": 3066.358 },
{ "timestamp": 1650240000, "value": 2995.719 },
{ "timestamp": 1650326400, "value": 3061.89 },
{ "timestamp": 1650412800, "value": 3104.688 },
{ "timestamp": 1650499200, "value": 3079.676 },
{ "timestamp": 1650585600, "value": 2987.488 },
{ "timestamp": 1650672000, "value": 2967.085 },
{ "timestamp": 1650758400, "value": 2940.687 },
{ "timestamp": 1650844800, "value": 2922.901 },
{ "timestamp": 1650931200, "value": 3008.336 },
{ "timestamp": 1651017600, "value": 2806.748 },
{ "timestamp": 1651104000, "value": 2889.592 },
{ "timestamp": 1651190400, "value": 2932.455 },
{ "timestamp": 1651276800, "value": 2817.489 },
{ "timestamp": 1651363200, "value": 2738.174 },
{ "timestamp": 1651449600, "value": 2832.513 },
{ "timestamp": 1651536000, "value": 2861.372 },
{ "timestamp": 1651622400, "value": 2786.047 },
{ "timestamp": 1651708800, "value": 2942.052 },
{ "timestamp": 1651795200, "value": 2753.936 },
{ "timestamp": 1651881600, "value": 2699.707 },
{ "timestamp": 1651968000, "value": 2641.229 },
{ "timestamp": 1652054400, "value": 2517.829 },
{ "timestamp": 1652140800, "value": 2249.89 },
{ "timestamp": 1652227200, "value": 2344.797 },
{ "timestamp": 1652313600, "value": 2080.91 },
{ "timestamp": 1652400000, "value": 1966.699 },
{ "timestamp": 1652486400, "value": 2010.214 },
{ "timestamp": 1652572800, "value": 2064.229 },
{ "timestamp": 1652659200, "value": 2147.047 },
{ "timestamp": 1652745600, "value": 2025.888 },
{ "timestamp": 1652832000, "value": 2095.178 },
{ "timestamp": 1652918400, "value": 1915.177 },
{ "timestamp": 1653004800, "value": 2023.848 },
{ "timestamp": 1653091200, "value": 1963.99 },
{ "timestamp": 1653177600, "value": 1978.147 },
{ "timestamp": 1653264000, "value": 2046.646 },
{ "timestamp": 1653350400, "value": 1974.581 },
{ "timestamp": 1653436800, "value": 1979.77 },
{ "timestamp": 1653523200, "value": 1944.842 },
{ "timestamp": 1653609600, "value": 1807.969 },
{ "timestamp": 1653696000, "value": 1724.875 },
{ "timestamp": 1653782400, "value": 1798.694 },
{ "timestamp": 1653868800, "value": 1814.983 },
{ "timestamp": 1653955200, "value": 1995.936 },
{ "timestamp": 1654041600, "value": 1944.078 },
{ "timestamp": 1654128000, "value": 1828.892 },
{ "timestamp": 1654214400, "value": 1833.089 },
{ "timestamp": 1654300800, "value": 1776.979 },
{ "timestamp": 1654387200, "value": 1804.261 },
{ "timestamp": 1654473600, "value": 1805.331 },
{ "timestamp": 1654560000, "value": 1860.181 },
{ "timestamp": 1654646400, "value": 1818.387 },
{ "timestamp": 1654732800, "value": 1794.539 },
{ "timestamp": 1654819200, "value": 1788.418 },
{ "timestamp": 1654905600, "value": 1663.844 },
{ "timestamp": 1654992000, "value": 1530.038 },
{ "timestamp": 1655078400, "value": 1454.686 },
{ "timestamp": 1655164800, "value": 1205.595 },
{ "timestamp": 1655251200, "value": 1214.866 },
{ "timestamp": 1655337600, "value": 1230.364 },
{ "timestamp": 1655424000, "value": 1068.603 },
{ "timestamp": 1655510400, "value": 1087.813 },
{ "timestamp": 1655596800, "value": 995.252 },
{ "timestamp": 1655683200, "value": 1125.754 },
{ "timestamp": 1655769600, "value": 1132.054 },
{ "timestamp": 1655856000, "value": 1124.561 },
{ "timestamp": 1655942400, "value": 1051.074 },
{ "timestamp": 1656028800, "value": 1144.48 },
{ "timestamp": 1656115200, "value": 1229.304 },
{ "timestamp": 1656201600, "value": 1244.286 },
{ "timestamp": 1656288000, "value": 1201.237 },
{ "timestamp": 1656374400, "value": 1194.224 },
{ "timestamp": 1656460800, "value": 1143.533 },
{ "timestamp": 1656547200, "value": 1098.905 },
{ "timestamp": 1656633600, "value": 1057.63 },
{ "timestamp": 1656720000, "value": 1068.819 },
{ "timestamp": 1656806400, "value": 1068.541 },
{ "timestamp": 1656892800, "value": 1074.607 },
{ "timestamp": 1656979200, "value": 1153.348 },
{ "timestamp": 1657065600, "value": 1134.017 },
{ "timestamp": 1657152000, "value": 1188.725 },
{ "timestamp": 1657238400, "value": 1240.378 },
{ "timestamp": 1657324800, "value": 1233.514 },
{ "timestamp": 1657411200, "value": 1216.849 },
{ "timestamp": 1657497600, "value": 1169.012 },
{ "timestamp": 1657584000, "value": 1097.449 },
{ "timestamp": 1657670400, "value": 1040.797 },
{ "timestamp": 1657756800, "value": 1112.92 },
{ "timestamp": 1657843200, "value": 1191.13 },
{ "timestamp": 1657929600, "value": 1234.099 },
{ "timestamp": 1658016000, "value": 1355.045 },
{ "timestamp": 1658102400, "value": 1344.72 },
{ "timestamp": 1658188800, "value": 1570.658 },
{ "timestamp": 1658275200, "value": 1542.629 },
{ "timestamp": 1658361600, "value": 1527.413 },
{ "timestamp": 1658448000, "value": 1576.825 },
{ "timestamp": 1658534400, "value": 1536.124 },
{ "timestamp": 1658620800, "value": 1552.496 },
{ "timestamp": 1658707200, "value": 1601.207 },
{ "timestamp": 1658793600, "value": 1450.482 },
{ "timestamp": 1658880000, "value": 1438.988 },
{ "timestamp": 1658966400, "value": 1636.949 },
{ "timestamp": 1659052800, "value": 1723.548 },
{ "timestamp": 1659139200, "value": 1739.042 },
{ "timestamp": 1659225600, "value": 1696.785 },
{ "timestamp": 1659312000, "value": 1682.011 },
{ "timestamp": 1659398400, "value": 1636.018 },
{ "timestamp": 1659484800, "value": 1638.378 },
{ "timestamp": 1659571200, "value": 1621.341 },
{ "timestamp": 1659635965, "value": 1598.371 }
],
"all": [
{ "timestamp": 1438905600, "value": 2.831 },
{ "timestamp": 1659635965, "value": 1598.371 }
] ]
} }
...@@ -13,7 +13,6 @@ import { ...@@ -13,7 +13,6 @@ import {
Stat, Stat,
StatPair, StatPair,
StatsSection, StatsSection,
TimeOptionsContainer,
TokenInfoContainer, TokenInfoContainer,
TokenNameCell, TokenNameCell,
TopArea, TopArea,
...@@ -113,9 +112,7 @@ export default function LoadingTokenDetail() { ...@@ -113,9 +112,7 @@ export default function LoadingTokenDetail() {
</ChartAnimation> </ChartAnimation>
</ChartWrapper> </ChartWrapper>
</ChartContainer> </ChartContainer>
<TimeOptionsContainer> <Space heightSize={32} />
<Space heightSize={32} />
</TimeOptionsContainer>
</ChartHeader> </ChartHeader>
<AboutSection> <AboutSection>
<AboutHeader> <AboutHeader>
......
...@@ -7,7 +7,6 @@ import TokenSafetyModal from 'components/TokenSafety/TokenSafetyModal' ...@@ -7,7 +7,6 @@ import TokenSafetyModal from 'components/TokenSafety/TokenSafetyModal'
import { getChainInfo } from 'constants/chainInfo' import { getChainInfo } from 'constants/chainInfo'
import { checkWarning } from 'constants/tokenSafety' import { checkWarning } from 'constants/tokenSafety'
import { useCurrency, useIsUserAddedToken, useToken } from 'hooks/Tokens' import { useCurrency, useIsUserAddedToken, useToken } from 'hooks/Tokens'
import { TimePeriod } from 'hooks/useTopTokens'
import { useAtomValue } from 'jotai/utils' import { useAtomValue } from 'jotai/utils'
import { darken } from 'polished' import { darken } from 'polished'
import { useCallback } from 'react' import { useCallback } from 'react'
...@@ -22,15 +21,6 @@ import { ClickFavorited } from '../TokenTable/TokenRow' ...@@ -22,15 +21,6 @@ import { ClickFavorited } from '../TokenTable/TokenRow'
import Resource from './Resource' import Resource from './Resource'
import ShareButton from './ShareButton' import ShareButton from './ShareButton'
const TIME_DISPLAYS: Record<TimePeriod, string> = {
[TimePeriod.hour]: '1H',
[TimePeriod.day]: '1D',
[TimePeriod.week]: '1W',
[TimePeriod.month]: '1M',
[TimePeriod.year]: '1Y',
}
const TIME_PERIODS = [TimePeriod.hour, TimePeriod.day, TimePeriod.week, TimePeriod.month, TimePeriod.year]
export const AboutSection = styled.div` export const AboutSection = styled.div`
display: flex; display: flex;
flex-direction: column; flex-direction: column;
...@@ -89,10 +79,8 @@ const Contract = styled.div` ...@@ -89,10 +79,8 @@ const Contract = styled.div`
` `
export const ChartContainer = styled.div` export const ChartContainer = styled.div`
display: flex; display: flex;
height: 404px; height: 436px;
border-bottom: 1px solid ${({ theme }) => theme.backgroundOutline};
align-items: center; align-items: center;
overflow: hidden;
` `
export const Stat = styled.div` export const Stat = styled.div`
display: flex; display: flex;
...@@ -117,21 +105,6 @@ export const StatPair = styled.div` ...@@ -117,21 +105,6 @@ export const StatPair = styled.div`
flex: 1; flex: 1;
flex-wrap: wrap; flex-wrap: wrap;
` `
const TimeButton = styled.button<{ active: boolean }>`
background-color: ${({ theme, active }) => (active ? theme.accentActive : 'transparent')};
font-size: 14px;
width: 36px;
height: 36px;
border-radius: 12px;
border: none;
cursor: pointer;
color: ${({ theme }) => theme.textPrimary};
`
export const TimeOptionsContainer = styled.div`
display: flex;
justify-content: flex-end;
gap: 4px;
`
export const TokenNameCell = styled.div` export const TokenNameCell = styled.div`
display: flex; display: flex;
gap: 8px; gap: 8px;
...@@ -154,7 +127,6 @@ const TokenSymbol = styled.span` ...@@ -154,7 +127,6 @@ const TokenSymbol = styled.span`
` `
export const TopArea = styled.div` export const TopArea = styled.div`
max-width: 832px; max-width: 832px;
overflow: hidden;
` `
export const ResourcesContainer = styled.div` export const ResourcesContainer = styled.div`
display: flex; display: flex;
...@@ -186,7 +158,6 @@ export default function LoadedTokenDetail({ address }: { address: string }) { ...@@ -186,7 +158,6 @@ export default function LoadedTokenDetail({ address }: { address: string }) {
const token = useToken(address) const token = useToken(address)
const currency = useCurrency(address) const currency = useCurrency(address)
const favoriteTokens = useAtomValue<string[]>(favoritesAtom) const favoriteTokens = useAtomValue<string[]>(favoritesAtom)
const [activeTimePeriod, setTimePeriod] = useState(TimePeriod.hour)
const isFavorited = favoriteTokens.includes(address) const isFavorited = favoriteTokens.includes(address)
const toggleFavorite = useToggleFavorite(address) const toggleFavorite = useToggleFavorite(address)
const warning = checkWarning(address) const warning = checkWarning(address)
...@@ -246,17 +217,6 @@ export default function LoadedTokenDetail({ address }: { address: string }) { ...@@ -246,17 +217,6 @@ export default function LoadedTokenDetail({ address }: { address: string }) {
<ChartContainer> <ChartContainer>
<ParentSize>{({ width, height }) => <PriceChart width={width} height={height} />}</ParentSize> <ParentSize>{({ width, height }) => <PriceChart width={width} height={height} />}</ParentSize>
</ChartContainer> </ChartContainer>
<TimeOptionsContainer>
{TIME_PERIODS.map((timePeriod) => (
<TimeButton
key={timePeriod}
active={activeTimePeriod === timePeriod}
onClick={() => setTimePeriod(timePeriod)}
>
{TIME_DISPLAYS[timePeriod]}
</TimeButton>
))}
</TimeOptionsContainer>
</ChartHeader> </ChartHeader>
<AboutSection> <AboutSection>
<AboutHeader> <AboutHeader>
...@@ -274,7 +234,8 @@ export default function LoadedTokenDetail({ address }: { address: string }) { ...@@ -274,7 +234,8 @@ export default function LoadedTokenDetail({ address }: { address: string }) {
Market cap<StatPrice>${tokenMarketCap}</StatPrice> Market cap<StatPrice>${tokenMarketCap}</StatPrice>
</Stat> </Stat>
<Stat> <Stat>
{TIME_DISPLAYS[activeTimePeriod]} volume {/* TODO: connect to chart's selected time */}
1h volume
<StatPrice>${tokenVolume}</StatPrice> <StatPrice>${tokenVolume}</StatPrice>
</Stat> </Stat>
</StatPair> </StatPair>
......
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#99A1BD" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#99A1BD" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.24453 18.0887C3.24331 19.0467 3.47372 19.7558 3.93576 20.2158C4.39658 20.6771 5.09574 20.904 6.03326 20.8967H8.11975C8.20693 20.8934 8.29386 20.9079 8.37521 20.9395C8.45656 20.9711 8.53062 21.019 8.5928 21.0802L10.0779 22.5484C10.7527 23.2226 11.4139 23.5578 12.0617 23.5541C12.7096 23.5504 13.3709 23.2152 14.0456 22.5484L15.5124 21.0802C15.5767 21.0182 15.6529 20.97 15.7365 20.9385C15.82 20.9069 15.9091 20.8927 15.9982 20.8967H18.0719C19.0192 20.8979 19.7251 20.6673 20.1896 20.2048C20.6541 19.7423 20.8864 19.0333 20.8864 18.0777V16.0021C20.8816 15.8222 20.9474 15.6476 21.0697 15.5157L22.5365 14.0475C23.2198 13.3758 23.559 12.7145 23.5541 12.0636C23.5492 11.4127 23.21 10.7508 22.5365 10.0779L21.0697 8.6097C20.9471 8.47802 20.8812 8.30329 20.8864 8.12336V6.04769C20.8851 5.09092 20.6547 4.3819 20.1951 3.92064C19.7355 3.45939 19.0278 3.22875 18.0719 3.22875H15.9982C15.9091 3.23242 15.8201 3.21807 15.7366 3.18653C15.6532 3.155 15.5769 3.10694 15.5124 3.04523L14.0456 1.57703C13.3709 0.902883 12.7096 0.567648 12.0617 0.571319C11.4139 0.574989 10.7527 0.910224 10.0779 1.57703L8.5928 3.04523C8.53043 3.10622 8.45638 3.15393 8.37508 3.18547C8.29377 3.21701 8.20689 3.23173 8.11975 3.22875H6.03326C5.08718 3.22998 4.38373 3.45877 3.92291 3.91513C3.4621 4.3715 3.23168 5.08235 3.23168 6.04769V8.12887C3.23683 8.3088 3.17096 8.48352 3.04833 8.6152L1.58154 10.0834C0.908042 10.7551 0.571289 11.417 0.571289 12.0691C0.571289 12.7213 0.912332 13.3844 1.59439 14.0585L3.06118 15.5267C3.18346 15.6586 3.24928 15.8332 3.24453 16.0131V18.0887Z" fill="#4C82FB"/>
<path d="M11.996 15.9909C11.7795 16.3208 11.4599 16.5064 11.0887 16.5064C10.7072 16.5064 10.4083 16.3517 10.1299 15.9909L7.69677 13.0216C7.5215 12.8051 7.42871 12.5783 7.42871 12.3309C7.42871 11.8154 7.82049 11.4133 8.32567 11.4133C8.63497 11.4133 8.8824 11.5267 9.12984 11.8463L11.0475 14.2897L15.1199 7.75329C15.3364 7.40275 15.6147 7.23779 15.924 7.23779C16.4086 7.23779 16.8622 7.57802 16.8622 8.0832C16.8622 8.32033 16.7385 8.56777 16.6045 8.78427L11.996 15.9909Z" fill="white"/>
</svg>
...@@ -6,6 +6,7 @@ export enum TimePeriod { ...@@ -6,6 +6,7 @@ export enum TimePeriod {
week = 'week', week = 'week',
month = 'month', month = 'month',
year = 'year', year = 'year',
all = 'all',
} }
export type TokenData = { export type TokenData = {
...@@ -38,6 +39,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -38,6 +39,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 16_800_000, [TimePeriod.week]: 16_800_000,
[TimePeriod.month]: 58_920_000, [TimePeriod.month]: 58_920_000,
[TimePeriod.year]: 690_920_000, [TimePeriod.year]: 690_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x0cec1a9154ff802e7934fc916ed7ca50bde6844e': { '0x0cec1a9154ff802e7934fc916ed7ca50bde6844e': {
...@@ -53,6 +55,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -53,6 +55,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x6B175474E89094C44Da98b954EedeAC495271d0F': { '0x6B175474E89094C44Da98b954EedeAC495271d0F': {
...@@ -68,6 +71,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -68,6 +71,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0xdac17f958d2ee523a2206206994597c13d831ec7': { '0xdac17f958d2ee523a2206206994597c13d831ec7': {
...@@ -83,6 +87,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -83,6 +87,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c': { '0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c': {
...@@ -98,6 +103,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -98,6 +103,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce': { '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce': {
...@@ -113,6 +119,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -113,6 +119,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x8a2279d4a90b6fe1c4b30fa660cc9f926797baa2': { '0x8a2279d4a90b6fe1c4b30fa660cc9f926797baa2': {
...@@ -128,6 +135,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -128,6 +135,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419': { '0x84ca8bc7997272c7cfb4d0cd3d55cd942b3c9419': {
...@@ -143,6 +151,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -143,6 +151,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x3845badAde8e6dFF049820680d1F14bD3903a5d0': { '0x3845badAde8e6dFF049820680d1F14bD3903a5d0': {
...@@ -158,6 +167,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -158,6 +167,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x4c19596f5aaff459fa38b0f7ed92f11ae6543784': { '0x4c19596f5aaff459fa38b0f7ed92f11ae6543784': {
...@@ -173,6 +183,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -173,6 +183,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x71Ab77b7dbB4fa7e017BC15090b2163221420282': { '0x71Ab77b7dbB4fa7e017BC15090b2163221420282': {
...@@ -188,6 +199,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -188,6 +199,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0xccc8cb5229b0ac8069c51fd58367fd1e622afd97': { '0xccc8cb5229b0ac8069c51fd58367fd1e622afd97': {
...@@ -203,6 +215,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -203,6 +215,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x03be5c903c727ee2c8c4e9bc0acc860cca4715e2': { '0x03be5c903c727ee2c8c4e9bc0acc860cca4715e2': {
...@@ -218,6 +231,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -218,6 +231,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x4674672bcddda2ea5300f5207e1158185c944bc0': { '0x4674672bcddda2ea5300f5207e1158185c944bc0': {
...@@ -233,6 +247,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -233,6 +247,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0xdf801468a808a32656d2ed2d2d80b72a129739f4': { '0xdf801468a808a32656d2ed2d2d80b72a129739f4': {
...@@ -248,6 +263,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -248,6 +263,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0': { '0xaDB2437e6F65682B85F814fBc12FeC0508A7B1D0': {
...@@ -263,6 +279,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -263,6 +279,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
'0x1796ae0b0fa4862485106a0de9b654eFE301D0b2': { '0x1796ae0b0fa4862485106a0de9b654eFE301D0b2': {
...@@ -278,6 +295,7 @@ const FAKE_TOP_TOKENS_RESULT = { ...@@ -278,6 +295,7 @@ const FAKE_TOP_TOKENS_RESULT = {
[TimePeriod.week]: 800_000, [TimePeriod.week]: 800_000,
[TimePeriod.month]: 4_920_000, [TimePeriod.month]: 4_920_000,
[TimePeriod.year]: 100_920_000, [TimePeriod.year]: 100_920_000,
[TimePeriod.all]: 690_920_000,
}, },
}, },
} }
......
import { NumberValue } from 'd3'
const createTimeFormatter = (timestamp: NumberValue, locale: string, options: Intl.DateTimeFormatOptions) =>
new Date(timestamp.valueOf() * 1000).toLocaleTimeString(locale, options)
export const hourFormatter = (locale: string) => (timestamp: NumberValue) =>
createTimeFormatter(timestamp, locale, {
hour: 'numeric',
minute: 'numeric',
hour12: true,
})
export const dayHourFormatter = (locale: string) => (timestamp: NumberValue) =>
createTimeFormatter(timestamp, locale, {
month: 'short',
day: 'numeric',
hour: 'numeric',
minute: '2-digit',
hour12: true,
})
const createDateFormatter = (timestamp: NumberValue, locale: string, options: Intl.DateTimeFormatOptions) =>
new Date(timestamp.valueOf() * 1000).toLocaleDateString(locale, options)
export const monthDayFormatter = (locale: string) => (timestamp: NumberValue) =>
createDateFormatter(timestamp, locale, {
month: 'long',
day: 'numeric',
})
export const monthYearFormatter = (locale: string) => (timestamp: NumberValue) =>
createDateFormatter(timestamp, locale, {
month: 'long',
year: 'numeric',
})
export const monthYearDayFormatter = (locale: string) => (timestamp: NumberValue) =>
createDateFormatter(timestamp, locale, {
month: 'short',
year: 'numeric',
day: 'numeric',
})
export const monthFormatter = (locale: string) => (timestamp: NumberValue) =>
createDateFormatter(timestamp, locale, { month: 'long' })
export const weekFormatter = (locale: string) => (timestamp: NumberValue) =>
createDateFormatter(timestamp, locale, { weekday: 'long' })
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment