diff options
author | Andrew Chow <achow101-github@achow101.com> | 2019-11-18 14:56:52 -0500 |
---|---|---|
committer | Andrew Chow <achow101-github@achow101.com> | 2019-11-18 15:28:15 -0500 |
commit | 4b0c718f8f48c678cbe4575e9a9cf9e62a30f0da (patch) | |
tree | 572d2fd66b58da28d4adab0f32adefdf1b21ae15 /src/rpc/rawtransaction_util.cpp | |
parent | bc38bb9a6036d73f507e66a2f588547f3f17e4b1 (diff) | |
download | bitcoin-4b0c718f8f48c678cbe4575e9a9cf9e62a30f0da.tar.xz |
Accumulate result UniValue in SignTransaction
SignTransaction will be called multiple times in the future. Pass
it a result UniValue so that it can accumulate the results of multiple
SignTransaction passes.
Diffstat (limited to 'src/rpc/rawtransaction_util.cpp')
-rw-r--r-- | src/rpc/rawtransaction_util.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rpc/rawtransaction_util.cpp b/src/rpc/rawtransaction_util.cpp index fe98fff4bb..40334883c5 100644 --- a/src/rpc/rawtransaction_util.cpp +++ b/src/rpc/rawtransaction_util.cpp @@ -268,7 +268,7 @@ void ParsePrevouts(const UniValue& prevTxsUnival, FillableSigningProvider* keyst } } -UniValue SignTransaction(CMutableTransaction& mtx, const SigningProvider* keystore, const std::map<COutPoint, Coin>& coins, const UniValue& hashType) +void SignTransaction(CMutableTransaction& mtx, const SigningProvider* keystore, const std::map<COutPoint, Coin>& coins, const UniValue& hashType, UniValue& result) { int nHashType = ParseSighashString(hashType); @@ -319,12 +319,12 @@ UniValue SignTransaction(CMutableTransaction& mtx, const SigningProvider* keysto } bool fComplete = vErrors.empty(); - UniValue result(UniValue::VOBJ); result.pushKV("hex", EncodeHexTx(CTransaction(mtx))); result.pushKV("complete", fComplete); if (!vErrors.empty()) { + if (result.exists("errors")) { + vErrors.push_backV(result["errors"].getValues()); + } result.pushKV("errors", vErrors); } - - return result; } |