1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-04-20 16:28:39 +00:00
Files
bips/bip-0375
macgyver13 897455dab7 BIP-375: skip ineligible inputs when combining ecdh shares
add fake ecdh share and dleq proof to P2SH input for valid test: two inputs using per-input ECDH shares - only eligible inputs contribute shares (P2SH excluded)

remove unused return string from is_input_eligible
2026-04-05 20:52:23 -04:00
..
2026-04-04 09:17:46 -04:00

BIP-375 Validation Reference

A reference validation implementation for BIP-375: Sending Silent Payments with PSBTs.

Core Files

  • validator/bip352_crypto.py - Silent payment output script derivation
  • validator/inputs.py - PSBT input utility functions
  • validator/psbt_bip375.py - BIP-375 specific PSBT/PSBTMap extensions
  • validator/validate_psbt.py - Main BIP-375 validation functions
  • test_runner.py - Test infrastructure (executable)

Dependencies

  • deps/bitcoin_test/psbt.py - Bitcoin test framework PSBT module - PR #21283
  • deps/bitcoin_test/messages.py - Bitcoin test framework primitives and message structures
  • deps/dleq.py - Reference DLEQ implementation from BIP-374
  • deps/secp256k1lab/ - vendored copy of secp256k1lab library at version 1.0.0

Testing

Run Tests

python test_runner.py                    # Run all tests
python test_runner.py -v                 # Verbose mode with detailed validation status
python test_runner.py -vv                # More verbose with validation check failure reason

python test_runner.py -f vectors.json    # Use custom test vector file

Generating Test Vectors

Test vectors were generated using test_generator.py