Add difficulty chart timespan selection

This commit is contained in:
nymkappa
2022-02-17 09:41:05 +09:00
parent 9fa7e58d82
commit f45103e7e3
7 changed files with 93 additions and 41 deletions

View File

@@ -69,6 +69,19 @@ class Mining {
emptyBlocks: emptyBlocks,
};
}
/**
* Return the historical difficulty adjustments and oldest indexed block timestamp
*/
public async $getHistoricalDifficulty(interval: string | null): Promise<object> {
const difficultyAdjustments = await BlocksRepository.$getBlocksDifficulty(interval);
const oldestBlock = new Date(await BlocksRepository.$oldestBlockTimestamp());
return {
adjustments: difficultyAdjustments,
oldestIndexedBlockTimestamp: oldestBlock.getTime(),
}
}
}
export default new Mining();

View File

@@ -232,7 +232,7 @@ class BlocksRepository {
const connection = await DB.pool.getConnection();
let query = `SELECT MIN(blockTimestamp) as timestamp, difficulty, height
let query = `SELECT MIN(UNIX_TIMESTAMP(blockTimestamp)) as timestamp, difficulty, height
FROM blocks`;
if (interval) {

View File

@@ -577,7 +577,7 @@ class Routes {
public async $getHistoricalDifficulty(req: Request, res: Response) {
try {
const stats = await BlocksRepository.$getBlocksDifficulty(req.params.interval ?? null);
const stats = await mining.$getHistoricalDifficulty(req.params.interval ?? null);
res.header('Pragma', 'public');
res.header('Cache-control', 'public');
res.setHeader('Expires', new Date(Date.now() + 1000 * 300).toUTCString());