From 3a1c20b77a610edf5d7e8b1e5cbd47062cae7fcd Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Thu, 13 Feb 2014 17:28:32 +0100 Subject: [PATCH] Add raw transaction hex to `gettransaction` wallet RPC This allows getting raw transaction data from the wallet even if the transaction is no longer in the blockchain / mempool (for example if it got orphaned due to malleability abuse). --- src/rpcwallet.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 704522582..51e9aabec 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1448,7 +1448,8 @@ Value gettransaction(const Array& params, bool fHelp) " \"amount\" : x.xxx (numeric) The amount in btc\n" " }\n" " ,...\n" - " ]\n" + " ],\n" + " \"hex\" : \"data\" (string) Raw data for transaction\n" "}\n" "\nbExamples\n" @@ -1479,6 +1480,11 @@ Value gettransaction(const Array& params, bool fHelp) ListTransactions(wtx, "*", 0, false, details); entry.push_back(Pair("details", details)); + CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); + ssTx << wtx; + string strHex = HexStr(ssTx.begin(), ssTx.end()); + entry.push_back(Pair("hex", strHex)); + return entry; }