Skip to content

Commit 47a2b7b

Browse files
ryanofskyThomas Trevethan
authored and
Thomas Trevethan
committed
Merge bitcoin/bitcoin#30094: rpc: move UniValue in blockToJSON
b77bad3 rpc: move UniValue in blockToJSON (willcl-ark) Pull request description: Fixes: #24542 Fixes: #30052 Without explicitly declaring the move, these `UniValues` get copied, causing increased memory usage. Fix this by explicitly moving the `UniValue` objects. Used by `rest_block` and `getblock` RPC. ACKs for top commit: maflcko: review ACK b77bad3 ismaelsadeeq: ACK b77bad3 TheCharlatan: ACK b77bad3 theuni: utACK b77bad3 hebasto: ACK b77bad3, I have reviewed the code and it looks OK. BrandonOdiwuor: ACK b77bad3 Tree-SHA512: 767608331040f9cfe5c3568ed0e3c338920633472a1a50d4bbb47d1dc69d2bb11466d611f050ac8ad1a894b47fe1ea4d968cf34cbd44d4bb8d479fc5c7475f6d
1 parent 90520cb commit 47a2b7b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/rpc/blockchain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,12 +279,12 @@ UniValue blockToJSON(const CBlock& block, const CBlockIndex* tip, const CBlockIn
279279
const CTxUndo* txundo = (have_undo && i > 0) ? &blockUndo.vtxundo.at(i - 1) : nullptr;
280280
UniValue objTx(UniValue::VOBJ);
281281
TxToUniv(*tx, uint256(), objTx, true, RPCSerializationFlags(), txundo, verbosity);
282-
txs.push_back(objTx);
282+
txs.push_back(std::move(objTx));
283283
}
284284
break;
285285
}
286286

287-
result.pushKV("tx", txs);
287+
result.pushKV("tx", std::move(txs));
288288

289289
return result;
290290
}

0 commit comments

Comments
 (0)