txmeta: fix JSON confirmations value when unconfirmed, add test

This commit is contained in:
Matthew Zipkin 2018-05-14 16:58:03 +00:00 committed by Javed Khan
parent f00ed98eea
commit 64ba4c7567
2 changed files with 27 additions and 1 deletions

View File

@ -161,7 +161,7 @@ class TXMeta {
json.time = this.time;
json.confirmations = 0;
if (chainHeight != null)
if (chainHeight != null && this.height !== -1)
json.confirmations = chainHeight - this.height + 1;
return json;

26
test/txmeta-test.js Normal file
View File

@ -0,0 +1,26 @@
/* eslint-env mocha */
/* eslint prefer-arrow-callback: "off" */
'use strict';
const assert = require('./util/assert');
const Network = require('../lib/protocol/network');
const TXMeta = require('../lib/primitives/txmeta');
const network = Network.get('regtest');
describe('TXMeta', function() {
it('should return JSON for txmeta', async () => {
// unconfirmed at height 100
const txmeta1 = new TXMeta();
const txJSON1 = txmeta1.getJSON(network, null, 100)
assert.strictEqual(txJSON1.confirmations, 0);
// confirmed once at height 100
const txmeta2 = TXMeta.fromOptions( {height: 100} );
txmeta2.height = 100;
const txJSON2 = txmeta2.getJSON(network, null, 100)
assert.strictEqual(txJSON2.confirmations, 1);
});
});