From 0d25d43024ef022d899016764a55f88ecdf6a1b1 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 12 Nov 2014 14:56:56 -0800 Subject: [PATCH] use Checkpoints::GuessVerificationProgress and return orphan count. --- src/bitcoindjs.cc | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index 200ccc86..cd59f791 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -1780,23 +1780,36 @@ async_get_progress_after(uv_work_t *req) { // Assume last block was ten minutes ago: int64_t now = ((int64_t)now_ - (10 * 60)); - int64_t left = (now - ts); + + int64_t left = (now - ts); // get left from timestamp + // double cur = (double)(now - left) / (double)now; + + double cur = Checkpoints::GuessVerificationProgress(cblock_index, false); + // int64_t left = now - (cur * now); // get left from guess checkpoints unsigned int hours_behind = left / 60 / 60; unsigned int days_behind = left / 60 / 60 / 24; - double cur = (double)(now - left) / (double)now; unsigned int percent = (unsigned int)(cur * 100.0); Local result = NanNew(); - result->Set(NanNew("blocks"), NanNew(cblock_index->nHeight)); - result->Set(NanNew("connections"), NanNew((int)vNodes.size())->ToInt32()); + result->Set(NanNew("blocks"), + NanNew(cblock_index->nHeight)); + result->Set(NanNew("connections"), + NanNew((int)vNodes.size())->ToInt32()); result->Set(NanNew("genesisBlock"), genesis); result->Set(NanNew("currentBlock"), jsblock); result->Set(NanNew("hoursBehind"), NanNew(hours_behind)); result->Set(NanNew("daysBehind"), NanNew(days_behind)); result->Set(NanNew("percent"), NanNew(percent)); + // unsigned long orphan_count = (unsigned long)mapOrphanBlocks.size(); + // result->Set(NanNew("orphans"), NanNew(orphan_count)); + // result->Set(NanNew("orphans"), NanNew( + // (unsigned long)mapOrphanBlocks.size())->ToInteger()); + result->Set(NanNew("orphans"), + NanNew(mapOrphanBlocks.size())); + const unsigned argc = 2; Local argv[argc] = { Local::New(Null()),