From b64caf8f4b5c49aab848f459f6b2b3c96b2f5c8d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Tue, 17 Sep 2024 20:24:35 +0000 Subject: [PATCH] Fix off-by-one error in multi-pool eta calculation --- frontend/src/app/services/eta.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/services/eta.service.ts b/frontend/src/app/services/eta.service.ts index f632c9adb..122ce5193 100644 --- a/frontend/src/app/services/eta.service.ts +++ b/frontend/src/app/services/eta.service.ts @@ -204,7 +204,7 @@ export class EtaService { let tailProb = 0; let Q = 0; - for (let i = 0; i < max; i++) { + for (let i = 0; i <= max; i++) { // find H_i const H = shares.reduce((total, share) => total + (share.block <= i ? share.hashrateShare : 0), 0); // find S_i @@ -215,7 +215,7 @@ export class EtaService { tailProb += S; } // at max depth, the transaction is guaranteed to be mined in the next block if it hasn't already - Q += (1-tailProb); + Q += ((max + 1) * (1-tailProb)); const eta = da.timeAvg * Q; // T x Q return {