aboutsummaryrefslogtreecommitdiff
path: root/src/rpcwallet.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-02-13 17:28:32 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-02-13 17:30:00 +0100
commit3a1c20b77a610edf5d7e8b1e5cbd47062cae7fcd (patch)
tree6b77ef57a28b03a3ebcd8714344cc7c9e4cd540d /src/rpcwallet.cpp
parentea062655e045b68d568d2faf7abe946deb00d46d (diff)
downloadbitcoin-3a1c20b77a610edf5d7e8b1e5cbd47062cae7fcd.tar.xz
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).
Diffstat (limited to 'src/rpcwallet.cpp')
-rw-r--r--src/rpcwallet.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp
index 7045225825..51e9aabecc 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;
}