Skip to content

Commit

Permalink
Merge pull request #148 from clober-dex/fix/stale-candles
Browse files Browse the repository at this point in the history
fix: stale candles
  • Loading branch information
Dorvin authored Dec 16, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents b0a36c2 + df242bc commit 1f0e2b1
Showing 3 changed files with 26 additions and 17 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clober/v2-sdk",
"version": "0.0.93",
"version": "0.0.94",
"description": "🛠 An SDK for building applications on top of Clober V2",
"files": [
"dist"
37 changes: 23 additions & 14 deletions src/apis/chart-logs.ts
Original file line number Diff line number Diff line change
@@ -146,15 +146,26 @@ export async function fetchChartLogs(
from: number,
to: number,
): Promise<ChartLog[]> {
const cachedChartLogs = getChartLogsFromCache(
chainId,
marketCode,
intervalType,
from,
to,
)
if (cachedChartLogs !== undefined) {
return cachedChartLogs
const intervalInNumber = CHART_LOG_INTERVAL_TIMESTAMP[intervalType]
const fromTimestampForAcc =
Math.floor(from / intervalInNumber) * intervalInNumber
const toTimestampForAcc = Math.floor(to / intervalInNumber) * intervalInNumber
const currentTimestamp = Math.floor(Date.now() / 1000)
const currentTimestampForAcc =
Math.floor(currentTimestamp / intervalInNumber) * intervalInNumber
const onePreviousTimestampForAcc = currentTimestampForAcc - intervalInNumber
const disableCache = onePreviousTimestampForAcc <= toTimestampForAcc
if (!disableCache) {
const cachedChartLogs = getChartLogsFromCache(
chainId,
marketCode,
intervalType,
from,
to,
)
if (cachedChartLogs !== undefined) {
return cachedChartLogs
}
}
const chartLogsBetweenFromAndTo: ChartLog[] = []
let skip = 0
@@ -220,10 +231,6 @@ export async function fetchChartLogs(
close: '0',
volume: '0',
}
const intervalInNumber = CHART_LOG_INTERVAL_TIMESTAMP[intervalType]
const fromTimestampForAcc =
Math.floor(from / intervalInNumber) * intervalInNumber
const toTimestampForAcc = Math.floor(to / intervalInNumber) * intervalInNumber

let timestampForAcc = fromTimestampForAcc
let result: ChartLog[] = []
@@ -261,6 +268,8 @@ export async function fetchChartLogs(

timestampForAcc += intervalInNumber
}
setChartLogsToCache(chainId, marketCode, intervalType, from, to, result)
if (!disableCache) {
setChartLogsToCache(chainId, marketCode, intervalType, from, to, result)
}
return result
}

0 comments on commit 1f0e2b1

Please sign in to comment.