Transactions Updater
export function shouldCheck(lastBlockNumber: number, tx: Transaction): boolean {
if (tx.receipt) return false;
if (!tx.lastCheckedBlockNumber) return true;
const blocksSinceCheck = lastBlockNumber - tx.lastCheckedBlockNumber;
if (blocksSinceCheck < 1) return false;
const minutesPending = (new Date().getTime() - tx.addedTime) / 60_000;
if (minutesPending > 60) {
// every 10 blocks if pending longer than an hour
return blocksSinceCheck > 9;
} else if (minutesPending > 5) {
// every 3 blocks if pending longer than 5 minutes
return blocksSinceCheck > 2;
} else {
// otherwise every block
return true;
}
}Updater Hook
Last updated