Merge bitcoin/bitcoin#23106: Ensure wallet is unlocked before signing PSBT with walletprocesspsbt and GUI
7e3ee4cdd0GUI: Ask user to unlock wallet before signing psbt (Samuel Dobson)0f3acecf33Add test that walletprocesspsbt requires unlocked wallet when signing (Samuel Dobson)0e895212bbEnsure wallet is unlocked before signing in walletprocesspsbt (Samuel Dobson) Pull request description: If signing a PSBT, we need to ensure the wallet is unlocked. Fixes #22874, fixes bitcoin-core/gui#312 ACKs for top commit: achow101: ACK7e3ee4cdd0lsilva01: Code Review ACK https://github.com/bitcoin/bitcoin/pull/23106/commits/7e3ee4cdd0f60a2f549ba030fe96b90d61c036c5 benthecarman: ACK7e3ee4cdd0Tree-SHA512: 6726a873582747900ab454ea21153a92be86808a4c1517dc2856b389876a2da9e8df1ffa9b567b6bd017038342c3544ecf5ca3c97744e7debe0a5ee65563687d
This commit is contained in:
3 files changed
+20
-2
No files matched your search
@@ -71,6 +71,9 @@ void PSBTOperationsDialog::signTransaction()
|
||||
{
|
||||
bool complete;
|
||||
size_t n_signed;
|
||||
|
||||
WalletModel::UnlockContext ctx(m_wallet_model->requestUnlock());
|
||||
|
||||
TransactionError err = m_wallet_model->wallet().fillPSBT(SIGHASH_ALL, true /* sign */, true /* bip32derivs */, &n_signed, m_transaction_data, complete);
|
||||
|
||||
if (err != TransactionError::OK) {
|
||||
@@ -81,7 +84,9 @@ void PSBTOperationsDialog::signTransaction()
|
||||
|
||||
updateTransactionDisplay();
|
||||
|
||||
if (!complete && n_signed < 1) {
|
||||
if (!complete && !ctx.isValid()) {
|
||||
showStatus(tr("Cannot sign inputs while wallet is locked."), StatusLevel::WARN);
|
||||
} else if (!complete && n_signed < 1) {
|
||||
showStatus(tr("Could not sign any more inputs."), StatusLevel::WARN);
|
||||
} else if (!complete) {
|
||||
showStatus(tr("Signed %1 inputs, but more signatures are still required.").arg(n_signed),
|
||||
|
||||
Reference in new issue
Block a user