From 20faa1225be4501982f189f8c30efafca8804ab5 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 14 Nov 2014 14:52:18 -0800 Subject: [PATCH] add parent block to each tx. --- src/bitcoindjs.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index 86c47b87..dd12fe4f 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -384,7 +384,7 @@ static inline void cblock_to_jsblock(const CBlock& cblock, CBlockIndex* cblock_index, Local jsblock, bool is_new); static inline void -ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx); +ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx, bool parent=false); static inline void jsblock_to_cblock(const Local jsblock, CBlock& cblock); @@ -5602,7 +5602,7 @@ cblock_to_jsblock(const CBlock& cblock, CBlockIndex* cblock_index, Local BOOST_FOREACH(const CTransaction& ctx, cblock.vtx) { Local jstx = NanNew(); const uint256 block_hash = cblock.GetHash(); - ctx_to_jstx(ctx, block_hash, jstx); + ctx_to_jstx(ctx, block_hash, jstx, true); txs->Set(ti, jstx); ti++; } @@ -5621,7 +5621,7 @@ cblock_to_jsblock(const CBlock& cblock, CBlockIndex* cblock_index, Local } static inline void -ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx) { +ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx, bool parent=false) { // With v0.9.0 // jstx->Set(NanNew("mintxfee"), NanNew((int64_t)ctx.nMinTxFee)->ToInteger()); // jstx->Set(NanNew("minrelaytxfee"), NanNew((int64_t)ctx.nMinRelayTxFee)->ToInteger()); @@ -5737,6 +5737,12 @@ ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local jstx) { jstx->Set(NanNew("walletconflicts"), conflicts); jstx->Set(NanNew("time"), NanNew(cwtx.GetTxTime())); jstx->Set(NanNew("timereceived"), NanNew((int64_t)cwtx.nTimeReceived)); + if (!parent) { + CBlock cblock = mapBlockIndex[cwtx.hashBlock]; + Local jsblock = NanNew(); + cblock_to_jsblock(cblock, block_index, jsblock, false); + jstx->Set(NanNew("_block"), jsblock); + } } else { jstx->Set(NanNew("blockhash"), NanNew(uint256(0).GetHex())); jstx->Set(NanNew("confirmations"), NanNew(-1));