aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/rpcwallet.cpp
diff options
context:
space:
mode:
authorSjors Provoost <sjors@sprovoost.nl>2019-08-04 23:26:01 +0200
committerSjors Provoost <sjors@sprovoost.nl>2021-02-23 14:34:32 +0100
commitd4b0107d68a91ed4d1a5c78c8ca76251329d3f3c (patch)
tree351468ff53c287150cc6c060d874acb274fdc4f4 /src/wallet/rpcwallet.cpp
parent245b4457cf9265190a05529a0a97e1cb258cca8a (diff)
downloadbitcoin-d4b0107d68a91ed4d1a5c78c8ca76251329d3f3c.tar.xz
rpc: send: support external signer
Diffstat (limited to 'src/wallet/rpcwallet.cpp')
-rw-r--r--src/wallet/rpcwallet.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
index 9d61f6fbe2..bfc42ac1b0 100644
--- a/src/wallet/rpcwallet.cpp
+++ b/src/wallet/rpcwallet.cpp
@@ -4195,8 +4195,10 @@ static RPCHelpMan send()
// Make a blank psbt
PartiallySignedTransaction psbtx(rawTx);
- // Fill transaction with our data and sign
- bool complete = true;
+ // First fill transaction with our data without signing,
+ // so external signers are not asked sign more than once.
+ bool complete;
+ pwallet->FillPSBT(psbtx, complete, SIGHASH_ALL, false, true);
const TransactionError err = pwallet->FillPSBT(psbtx, complete, SIGHASH_ALL, true, false);
if (err != TransactionError::OK) {
throw JSONRPCTransactionError(err);