Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
“Load PSBT from …” from menu, error shows:
Unable to decode PSBT
Unsigned tx does not have empty scriptSigs and scriptWitnesses.: unspecified iostream_category error
decodepsbt and analyzepsbt show the same error too:
TX decode failed Unsigned tx does not have empty scriptSigs and scriptWitnesses.: unspecified iostream_category error (code -22)
Expected behaviour
I expect Load PSBT success.
And same procedure works fine in another wallet of test net. Both wallets are not watch-only
Steps to reproduce
I test PSBT in my wallet today, create a transaction in Bitcoin Core, click “send” and “create unsigned”, then “Load PSBT from …” from menu
I’m using prune mode for block chain. This address I made tx was obtained by importprivkey, and then covert to Descriptor Wallets by migratewallet.
I found the source code:
case PSBT_GLOBAL_UNSIGNED_TX: { if (!key_lookup.emplace(key).second) { throw std::ios_base::failure("Duplicate Key, unsigned tx already provided"); } else if (key.size() != 1) { throw std::ios_base::failure("Global unsigned tx key is more than one byte type"); } CMutableTransaction mtx; // Set the stream to serialize with non-witness since this should always be non-witness UnserializeFromVector(s, TX_NO_WITNESS(mtx)); tx = std::move(mtx); // Make sure that all scriptSigs and scriptWitnesses are empty for (const CTxIn& txin : tx->vin) { if (!txin.scriptSig.empty() || !txin.scriptWitness.IsNull()) { ----> throw std::ios_base::failure("Unsigned tx does not have empty scriptSigs and scriptWitnesses."); } } break; }
Relevant log output
no relevant log.
How did you obtain Bitcoin Core
Pre-built binaries
What version of Bitcoin Core are you using?
Bitcoin Core version v27.0.0
Operating system and version
MacOS 14.4.1
Machine specifications
No response