-
Notifications
You must be signed in to change notification settings - Fork 399
Description
solving_data is used as documented input to walletcreatefundedpsbt and fundrawtransaction twice, but only one is used.
solving_data (keys and scripts needed for producing a final transaction with a dummy signature) is supplied as a json object to walletcreatefundedpsbt (argument number 6) and fundrawtransaction (argument number 4).
Each of these RPCs is also supplied a json object options (argument 2 in fundrawtransaction and argument 4 in walletcreatefundedpsbt).
The options object in both RPCs also has an optional solving_data object (added in the function FundTxDoc() in wallet/rpc/spend.cpp).
Both RPCs pass both the full options object and the solving_data argument to the function FundTransaction function. However, only the solving_data included in the options object is used by this function, the explicitly supplied solving_data is ignored.
All functional tests supply solving_data via the options argument.
The consequence of this is that the RPC docs are incorrect, and any user adding solving_data directly as an argument will have no effect.
An upstream patch (bitcoin/bitcoin#26485) adds an assertion that checks no RPC argument names are duplicated, which this bug will cause to fail.