aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/rawtransaction.cpp
diff options
context:
space:
mode:
authorAntoine Riard <[email protected]>2019-04-10 13:38:41 +0000
committerAntoine Riard <[email protected]>2019-04-17 08:17:17 -0400
commit99e88a3726c2325e3a3a35c0a750bde25bd58ad0 (patch)
tree050a20cb4577f577def4c79210b886eef72e659f /src/rpc/rawtransaction.cpp
parentMerge #15639: bitcoin-wallet tool: Drop libbitcoin_server.a dependency (diff)
downloaddiscoin-99e88a3726c2325e3a3a35c0a750bde25bd58ad0.tar.xz
discoin-99e88a3726c2325e3a3a35c0a750bde25bd58ad0.zip
rpc: Remove dependency on interfaces::Chain in SignTransaction
Comment SignTransaction utility
Diffstat (limited to 'src/rpc/rawtransaction.cpp')
-rw-r--r--src/rpc/rawtransaction.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rpc/rawtransaction.cpp b/src/rpc/rawtransaction.cpp
index 91331198e..e838443fe 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)