Reference implementation of BIP460 Cross-Input Signature Aggregation for Taproot key path spends. Implements witness v2 outputs whose key path spends can be aggregated with BIP458 half-aggregation or BIP459 full-aggregation, or opt out with a plain BIP341 signature.
Draft to accompany the BIPs, not intended for merge:
- BIP458: bitcoin/bips#2205
- BIP459: bitcoin/bips#2210
- BIP460: bitcoin/bips#2212
Further notes:
- Depends on the unmerged secp256k1 modules from bitcoin-core/secp256k1#1566 (halfagg) and bitcoin-core/secp256k1#1754 (fullagg). The updated subtree here adds both.
- Activation is regtest-only and there are no parameters set for other chains
- BIP460 test vectors are vendored in
src/test/data/and run insrc/test/cisa_tests.cpp. Additional functional tests cover relay and block validation.