From 4f317992f5f2a3bd9a81f0870dd27db92fe82bde Mon Sep 17 00:00:00 2001 From: Daniel McNally Date: Mon, 2 Oct 2017 00:58:48 -0700 Subject: [PATCH] Fixes to TX & Block `confirmations` property TX `confirmations` property set to 0 for unconfirmed transactions. Block `confirmations` property set to -1 for orphaned blocks. Fixing to add +1 to `confirmations` to match bitcoind behavior and corresponding bcoin rpc methods - block or tx at tip of main chain starts with 1 confirmation (not zero). --- lib/http/server.js | 3 +-- lib/primitives/txmeta.js | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/http/server.js b/lib/http/server.js index 23fb3d97..374ee2e5 100644 --- a/lib/http/server.js +++ b/lib/http/server.js @@ -279,8 +279,7 @@ HTTPServer.prototype.initRouter = function initRouter() { } const height = await this.chain.getHeight(hash); - const confirmations = this.chain.height - height; - + res.send(200, block.getJSON(this.network, view, height, confirmations)); }); diff --git a/lib/primitives/txmeta.js b/lib/primitives/txmeta.js index 6685e222..9f9e92dc 100644 --- a/lib/primitives/txmeta.js +++ b/lib/primitives/txmeta.js @@ -157,8 +157,10 @@ TXMeta.prototype.getJSON = function getJSON(network, view, chainheight) { json.height = this.height; json.block = this.block ? util.revHex(this.block) : null; json.time = this.time; - if (chainheight) - json.confirmations = chainheight - this.height; + if (this.block === null) + json.confirmations = 0; + else + json.confirmations = chainheight - this.height + 1; return json; };