From 3b307e8ae56999f0ce1a5801227459b66b14cd6d Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Thu, 6 Nov 2014 03:44:30 -0800 Subject: [PATCH] add prev property. --- src/bitcoindjs.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index f447e9d9..f69d47d1 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -5263,13 +5263,20 @@ ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx) { o->Set(NanNew("asm"), NanNew(txin.scriptSig.ToString())); o->Set(NanNew("hex"), NanNew(HexStr(txin.scriptSig.begin(), txin.scriptSig.end()))); + Local jsprev = NanNew(); CTransaction prev_tx; if (GetTransaction(txin.prevout.hash, prev_tx, block_hash, true)) { CTxDestination from; - ExtractDestination(prev_tx.vout[txin.prevout.n].scriptPubKey, from); + CTxOut prev_out = prev_tx.vout[txin.prevout.n]; + ExtractDestination(prev_out.scriptPubKey, from); CBitcoinAddress addrFrom(from); - o->Set(NanNew("address"), NanNew(addrFrom.ToString())); + jsprev->Set(NanNew("address"), NanNew(addrFrom.ToString())); + jsprev->Set(NanNew("value"), NanNew((int64_t)prev_out.nValue)->ToInteger()); + } else { + jsprev->Set(NanNew("address"), NanNew(std::string("Unknown"))); + jsprev->Set(NanNew("value"), NanNew(0)); } + in->Set(NanNew("prev"), jsprev); in->Set(NanNew("scriptSig"), o);