in middleware/controllers/explorer.js [156:203]
function getDataFromCache(start, end) {
const db = new sqlite3.Database(DB_PATH, (err) => {
if (err) {
logger.error('Error connecting to SQLite database:', err);
} else {
logger.info('Connected to SQLite cache database');
}
});
return new Promise((resolve, reject) => {
let query;
let params = [];
if (typeof start === "number" && typeof end === "number" && !isNaN(start) && !isNaN(end)) {
// Used by table view
query = `
SELECT block_id, volume, created_at
FROM transactions
WHERE block_id BETWEEN ? AND ?
ORDER BY block_id ASC
`;
params = [start, end];
} else if (start === null && end === null) {
// Used by full chart query
query = `
SELECT block_id, volume, created_at
FROM transactions
ORDER BY block_id ASC
`;
} else {
// Fallback when parameters are missing or invalid
query = `
SELECT block_id, volume, created_at
FROM transactions
ORDER BY block_id ASC
LIMIT 100
`;
}
db.all(query, params, (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
});
});
}