Add JoinSplit public values to getDetailedTransaction()

This commit is contained in:
Jack Grigg 2016-08-29 21:01:16 +12:00
parent 3ecbe21697
commit 433a08d070
1 changed files with 20 additions and 1 deletions

View File

@ -1947,6 +1947,20 @@ Bitcoin.prototype.getDetailedTransaction = function(txid, callback) {
}
}
function addJoinSplitsToTx(tx, result) {
tx.joinSplits = [];
var netJoinSplitZatoshis = 0;
for (var jsIndex = 0; jsIndex < result.vjoinsplit.length; jsIndex++) {
var jsdesc = result.vjoinsplit[jsIndex];
netJoinSplitZatoshis += jsdesc.vpub_newZat - jsdesc.vpub_oldZat;
tx.joinSplits.push({
oldZatoshis: jsdesc.vpub_oldZat,
newZatoshis: jsdesc.vpub_newZat,
});
}
return netJoinSplitZatoshis;
}
if (tx) {
return setImmediate(function() {
callback(null, tx);
@ -1975,8 +1989,13 @@ Bitcoin.prototype.getDetailedTransaction = function(txid, callback) {
addInputsToTx(tx, result);
addOutputsToTx(tx, result);
var netJoinSplitZatoshis = 0;
if (tx.version >= 2) {
netJoinSplitZatoshis = addJoinSplitsToTx(tx, result);
}
if (!tx.coinbase) {
tx.feeSatoshis = tx.inputSatoshis - tx.outputSatoshis;
tx.feeSatoshis = tx.inputSatoshis - tx.outputSatoshis + netJoinSplitZatoshis;
} else {
tx.feeSatoshis = 0;
}