When using fundrawtransaction
and walletcreatefundedpsbt
with lockUnspents
, it would only lock automatically selected coins, not manually selected coins. That doesn’t make much sense to me if the goal is to prevent accidentally double-spending yourself before you broadcast a transaction.
Note that when creating a transaction, manually selected coins are automatic “unlocked” (or more accurately: the lock is ignored). Earlier versions of this PR introduced an error when a locked coin is manually selected, but this idea was abandoned after some discussion. An application that uses this RPC should either rely on automatic coin selection (with lockUnspents
) or handle lock concurrency itself with manual coin selection. In particular it needs to make sure to avoid/pause calls with automatic coin selection between calling lockunspent
and the subsequent spending RPC.
See #7518 for historical background.