diff options
author | Antoine Riard <ariard@student.42.fr> | 2019-04-10 13:38:41 +0000 |
---|---|---|
committer | Antoine Riard <ariard@student.42.fr> | 2019-04-17 08:17:17 -0400 |
commit | 99e88a3726c2325e3a3a35c0a750bde25bd58ad0 (patch) | |
tree | 050a20cb4577f577def4c79210b886eef72e659f /src/rpc/rawtransaction.cpp | |
parent | c536dfbcb00fb15963bf5d507b7017c241718bf6 (diff) | |
download | bitcoin-99e88a3726c2325e3a3a35c0a750bde25bd58ad0.tar.xz |
rpc: Remove dependency on interfaces::Chain in SignTransaction
Comment SignTransaction utility
Diffstat (limited to 'src/rpc/rawtransaction.cpp')
-rw-r--r-- | src/rpc/rawtransaction.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp index 91331198e2..e838443fe1 100644 --- a/src/rpc/rawtransaction.cpp +++ b/src/rpc/rawtransaction.cpp @@ -15,6 +15,7 @@ #include <key_io.h> #include <keystore.h> #include <merkleblock.h> +#include <node/coin.h> #include <node/psbt.h> #include <node/transaction.h> #include <policy/policy.h> @@ -770,7 +771,14 @@ static UniValue signrawtransactionwithkey(const JSONRPCRequest& request) keystore.AddKey(key); } - return SignTransaction(*g_rpc_interfaces->chain, mtx, request.params[2], &keystore, true, request.params[3]); + // Fetch previous transactions (inputs): + std::map<COutPoint, Coin> coins; + for (const CTxIn& txin : mtx.vin) { + coins[txin.prevout]; // Create empty map entry keyed by prevout. + } + FindCoins(coins); + + return SignTransaction(mtx, request.params[2], &keystore, coins, true, request.params[3]); } static UniValue sendrawtransaction(const JSONRPCRequest& request) |