dash/src/rpc
Samuel Dobson 4d22fe2498
Merge #19215: psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs
84d295e51341a126a6c3cbeea7a8caa04c7b5bc3 tests: Check that segwit inputs in psbt have both UTXO types (Andrew Chow)
46004790588c24174a0bec49b540d158ce163ffd psbt: always put a non_witness_utxo and don't remove it (Andrew Chow)
5279d8bc07d601fe6a67ad665fbc7591fe73c7de psbt: Allow both non_witness_utxo and witness_utxo (Andrew Chow)
72f6bec1da198764d4648a10a61c485e7ab65e9e rpc: show both UTXOs in decodepsbt (Andrew Chow)

Pull request description:

  Due to recent changes to hardware wallets, the full previous transaction will need to be provided for segwit inputs. Since some software may be checking for the existence of a `witness_utxo` to determine whether to produce a segwit signature, we keep that field to ease the transition.

  Because all of the sanity checks implemented by the `IsSane` functions were related to having mixed segwit and non-segwit data in a PSBT, those functions are removed as those checks are no longer proper.

  Some tests are updated/removed to accommodate this and a simple test added to check that both UTXOs are being added to segwit inputs.

  As discussed in the wallet IRC meeting, our own signer will not require `non_witness_utxo` for segwit inputs.

ACKs for top commit:
  Sjors:
    utACK 84d295e51341a126a6c3cbeea7a8caa04c7b5bc3 (didn't retest compared to 836d6fc, but fortunately HWI's CI tracks our master branch, with a bunch of hardware wallet simulators)
  ryanofsky:
    Code review re-ACK 84d295e51341a126a6c3cbeea7a8caa04c7b5bc3. No changes since last review, but now I understand the context better. I think it would good to improve the comments as suggested https://github.com/bitcoin/bitcoin/pull/19215#discussion_r447889473 and maybe refer to
  meshcollider:
    utACK 84d295e51341a126a6c3cbeea7a8caa04c7b5bc3

Tree-SHA512: ccc1fd3c16ac3859f5aca4fa489bd40f68be0b81bbdc4dd51188bbf28827a8642dc8b605a37318e5f16cf40f1c4910052dace2f27eca21bb58435f02a443e940
2024-01-23 22:14:13 -06:00
..
blockchain.cpp Merge #19765: doc: Fix getmempoolancestors RPC result doc 2024-01-22 19:47:11 -06:00
blockchain.h Merge #18152: qt: Use SynchronizationState enum for signals to GUI 2024-01-10 19:15:47 -06:00
client.cpp feat: new rpc getrawtransactionmulti (#5839) 2024-01-22 19:33:24 -06:00
client.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
coinjoin.cpp refactor: drop global coinJoinWalletManager 2024-01-10 12:06:04 -06:00
evo.cpp refactor: make GetTxPayload return an Optional T instead of taking in a T& return (#5733) 2024-01-11 21:43:01 -06:00
governance.cpp refactor: simplify comparator in rpc/governance 2023-12-21 23:04:44 -06:00
masternode.cpp fix: possible assert call if nHeight in CDeterministicMNList is higher then Tip (#5590) 2023-10-27 19:53:27 -05:00
mining.cpp Merge #19282: RPC: Rephrase generatetoaddress help, and use PACKAGE_NAME 2024-01-16 15:05:07 -06:00
mining.h merge bitcoin#19133: add bitcoin-cli -generate command 2023-04-17 08:30:49 +00:00
misc.cpp refactor: use DeploymentActiveAfter instead llmq::utils in rpc/ 2023-12-21 23:02:31 -06:00
net.cpp Merge #19233: Make SetMiscWarning() accept bilingual_str argument 2024-01-16 15:05:05 -06:00
protocol.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
quorums.cpp refactor: split llmq/utils to Quorum Calculation and llmq/options (#5790) 2024-01-17 19:56:41 -06:00
rawtransaction_util.cpp Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
rawtransaction_util.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
rawtransaction.cpp Merge #19215: psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs 2024-01-23 22:14:13 -06:00
register.h refactor: PrivateSend -> CoinJoin + Move the tab (#4038) 2021-03-17 18:36:11 -04:00
request.cpp merge bitcoin#18594: display multiwallet balances in -getinfo 2023-04-17 08:30:49 +00:00
request.h Merge #20530: lint, refactor: Update cppcheck linter to c++17 and improve explicit usage 2023-08-01 12:24:36 -05:00
server.cpp feat(rpc): Asset Unlock status by index (#5776) 2023-12-22 14:27:00 -06:00
server.h Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
util.cpp fix: add missing includes and remove obsolete includes (#5562) 2023-09-07 09:07:02 -05:00
util.h Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00