Merge pull request #325 from sangaman/master

Adding confirmations property to block and tx getJSON
This commit is contained in:
Christopher Jeffrey (JJ) 2017-10-18 13:17:17 -07:00 committed by GitHub
commit e137288b78
3 changed files with 12 additions and 7 deletions

View File

@ -210,7 +210,7 @@ HTTPServer.prototype.initRouter = function initRouter() {
const view = await this.node.getMetaView(meta); const view = await this.node.getMetaView(meta);
res.send(200, meta.getJSON(this.network, view)); res.send(200, meta.getJSON(this.network, view, this.chain.height));
}); });
// TX by address // TX by address
@ -226,7 +226,7 @@ HTTPServer.prototype.initRouter = function initRouter() {
for (const meta of metas) { for (const meta of metas) {
const view = await this.node.getMetaView(meta); const view = await this.node.getMetaView(meta);
result.push(meta.getJSON(this.network, view)); result.push(meta.getJSON(this.network, view, this.chain.height));
} }
res.send(200, result); res.send(200, result);
@ -245,7 +245,7 @@ HTTPServer.prototype.initRouter = function initRouter() {
for (const meta of metas) { for (const meta of metas) {
const view = await this.node.getMetaView(meta); const view = await this.node.getMetaView(meta);
result.push(meta.getJSON(this.network, view)); result.push(meta.getJSON(this.network, view, this.chain.height));
} }
res.send(200, result); res.send(200, result);
@ -280,7 +280,7 @@ HTTPServer.prototype.initRouter = function initRouter() {
const height = await this.chain.getHeight(hash); const height = await this.chain.getHeight(hash);
res.send(200, block.getJSON(this.network, view, height)); res.send(200, block.getJSON(this.network, view, height, confirmations));
}); });
// Mempool snapshot // Mempool snapshot

View File

@ -575,11 +575,12 @@ Block.prototype.toJSON = function toJSON() {
* @returns {Object} * @returns {Object}
*/ */
Block.prototype.getJSON = function getJSON(network, view, height) { Block.prototype.getJSON = function getJSON(network, view, height, confirmations) {
network = Network.get(network); network = Network.get(network);
return { return {
hash: this.rhash(), hash: this.rhash(),
height: height, height: height,
confirmations: confirmations,
version: this.version, version: this.version,
prevBlock: util.revHex(this.prevBlock), prevBlock: util.revHex(this.prevBlock),
merkleRoot: util.revHex(this.merkleRoot), merkleRoot: util.revHex(this.merkleRoot),

View File

@ -151,12 +151,16 @@ TXMeta.prototype.toJSON = function toJSON() {
* @returns {Object} * @returns {Object}
*/ */
TXMeta.prototype.getJSON = function getJSON(network, view) { TXMeta.prototype.getJSON = function getJSON(network, view, chainheight) {
const json = this.tx.getJSON(network, view, null, this.index); const json = this.tx.getJSON(network, view, null, this.index);
json.mtime = this.mtime; json.mtime = this.mtime;
json.height = this.height; json.height = this.height;
json.block = this.block ? util.revHex(this.block) : null; json.block = this.block ? util.revHex(this.block) : null;
json.time = this.time; json.time = this.time;
if (this.block === null)
json.confirmations = 0;
else
json.confirmations = chainheight - this.height + 1;
return json; return json;
}; };