bitcoin/test/functional/data
fanquake b1de33d29a
Merge #16821: Fix bug where duplicate PSBT keys are accepted
9743432034 Fix bug where duplicate PSBT keys are accepted (John L. Jegutanis)

Pull request description:

  As per the BIP 174 spec a PSBT key cannot be duplicated,
  however the current code accepts key duplication.
  The PSBT key/value entries can be duplicated when the value
  is `empty()` or `IsNull()` for `CScript` or `CTxOut` respectively
  and if those key/value entries are serialized before the non-empty ones.

  For example, the following PSBT, included in the test vectors,
  contains a duplicate field:

  ```
  // magic
  70736274ff

  // global tx
  //// key
  0100
  //// value
  2a02000000000140420f000000000017a9146e91b72d5593e7d4391e2ff44e91e985c31641f08700000000
  //// separator
  00

  // no inputs

  // outputs
  //// key PSBT_OUT_WITNESSSCRIPT
  0101
  //// value (empty script)
  00
  //// key PSBT_OUT_WITNESSSCRIPT (same as the above)
  0101
  //// value (an OP_RETURN script)
  016a
  //// separator
  00
  ```

ACKs for top commit:
  achow101:
    ACK 9743432034
  instagibbs:
    code review ACK 9743432034

Tree-SHA512: 34f4b34c8e6561c6a6ab745cdd319f6687eac6f7cecc735c94035eeca8c5157e17a27f2ae853dbaa6634fcd5a8f4e1c6cc13d1ebd7e563459665d72bb147cc1e
2019-10-09 09:18:27 -04:00
..
wallets/high_minversion test: Add notes on how to generate data/wallets/high_minversion 2019-09-16 09:35:05 -04:00
blockheader_testnet3.hex test: Test that low difficulty chain fork is rejected 2019-08-16 13:02:16 -04:00
invalid_txs.py Merge #16885: doc: Update tx-size-small comment with relevant CVE disclosure 2019-09-19 08:51:30 +08:00
rpc_bip67.json Test sortedmulti descriptor using BIP 67 tests 2019-10-08 13:56:56 -04:00
rpc_getblockstats.json
rpc_psbt.json Fix bug where duplicate PSBT keys are accepted 2019-10-08 01:45:36 +03:00