This PR adds the test runner test_runner.py and test_vectors.json for demonstrating BIP 375 behavior.
Care was taken to minimize dependencies required to evaluate the test vectors.
Dependencies are referenced at runtime from bip-0374 instead of cloning locally.
Test generation tools moved to external repo
Feedback welcome @andrewtoth @achow101 @josibake
Test runner output
0Invalid test cases: 13
1=== Running Invalid Test Cases ===
2Test 1: Missing DLEQ proof for ECDH share
3Test 2: Invalid DLEQ proof
4Test 3: Non-SIGHASH_ALL signature with silent payments
5Test 4: Mixed segwit versions with silent payments
6Test 5: Silent payment outputs but no ECDH shares
7Test 6: Global ECDH share without DLEQ proof
8Test 7: Wrong SP_V0_INFO field size
9Test 8: Mixed eligible and ineligible input types
10Test 9: Wrong ECDH share size
11Test 10: Wrong DLEQ proof size
12Test 11: Label without SP_V0_INFO
13Test 12: Address mismatch
14Test 13: Both global and per-input ECDH shares
15
16Valid test cases: 4
17=== Running Valid Test Cases ===
18Test 14: Single signer with global ECDH share
19Test 15: Multi-party with per-input ECDH shares
20Test 16: Silent payment with change detection
21Test 17: Multiple silent payment outputs to same scan key