elements/test/functional/test_framework
W. J. van der Laan 5ccab7187b
Merge bitcoin/bitcoin#23394: Taproot wallet test vectors (generation+tests)
f1c33ee4ac tests: implement BIP341 test vectors (Pieter Wuille)
ac3037df11 tests: BIP341 test vector generation (Pieter Wuille)
ca83ffc2ea tests: add deterministic signing mode to ECDSA (Pieter Wuille)
c98c53f20c tests: abstract out precomputed BIP341 signature hash elements (Pieter Wuille)
a5bde018b4 tests: give feature_taproot access to sighash preimages (Pieter Wuille)
5140825096 tests: add more fields to TaprootInfo (Pieter Wuille)
2478c6730a Make signing follow BIP340 exactly w.r.t. aux randomness (Pieter Wuille)

Pull request description:

  This PR adds code to `test/functional/feature_taproot.py` which runs through a (deterministic) scenario covering several aspects of the wallet side of BIP341 (scriptPubKey computation from keys/scripts, control block computation, key path spending), with the ability to output test vectors in mediawiki format based on this scenario. The generated tests are then also included directly in `src/test/script_tests.cpp` and `src/test/script_standard_tests.cpp`.

  I intend to add these test vectors to BIP341 itself: https://github.com/bitcoin/bips/pull/1225

ACKs for top commit:
  laanwj:
    Code review ACK f1c33ee4ac

Tree-SHA512: fcf7109539cb214d3190516b205cd32d2b1b452f14aa66f4107acfaa8bfc7d368f626857f1935665a4342eabc0b9ee8aba608a7c0a2494bec0b498e723439c9d
2021-11-15 20:32:42 +01:00
..
__init__.py Rename rpc-tests directory to functional 2017-03-20 10:40:31 -04:00
address.py test: MiniWallet: add P2TR support and use it per default 2021-11-09 12:25:48 +01:00
authproxy.py test: Remove Windows workaround in authproxy 2021-09-25 09:33:16 +02:00
bdb.py test: refactor: remove binascii from test_framework 2021-08-04 19:59:13 +01:00
bip340_test_vectors.csv tests: add BIP340 Schnorr signature support to test framework 2020-10-12 17:18:47 -07:00
blocktools.py test: add script_util helper for creating bare multisig scripts 2021-10-26 14:51:18 +02:00
coverage.py test: add type annotations to util.get_rpc_proxy 2021-07-27 11:26:14 +08:00
descriptors.py Output a descriptor in createmultisig and addmultisigaddress 2020-01-30 23:55:36 -05:00
key.py tests: add deterministic signing mode to ECDSA 2021-11-12 12:04:20 -05:00
messages.py refactor: replace remaining binascii method calls 2021-08-16 19:30:56 +01:00
muhash.py test: Change MuHash Python implementation to match cpp version again 2020-12-22 01:48:34 +01:00
netutil.py test: refactor: remove binascii from test_framework 2021-08-04 19:59:13 +01:00
p2p.py test: use test_framework.p2p P2P_SERVICES in functional tests 2021-09-19 14:20:48 +02:00
script.py tests: abstract out precomputed BIP341 signature hash elements 2021-11-12 12:04:20 -05:00
script_util.py test: add script_util helper for creating bare multisig scripts 2021-10-26 14:51:18 +02:00
segwit_addr.py Use Bech32m encoding for v1+ segwit addresses 2021-03-16 10:48:36 -07:00
siphash.py Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
socks5.py scripted-diff: Update copyright in ./test 2019-03-02 10:58:35 -05:00
test_framework.py test: MiniWallet: add P2TR support and use it per default 2021-11-09 12:25:48 +01:00
test_node.py test: Delete generate* calls from TestNode 2021-10-06 13:41:08 +02:00
test_shell.py TestShell: Return self from setup() 2019-11-05 12:55:52 +01:00
util.py Merge bitcoin/bitcoin#23300: test: Implicitly sync after generate*, unless opted out 2021-11-09 09:58:51 +01:00
wallet.py test: Return the largest utxo in MiniWallet.get_utxo 2021-11-15 13:10:37 +01:00
wallet_util.py test: add script_util helper for creating bare multisig scripts 2021-10-26 14:51:18 +02:00