-
Notifications
You must be signed in to change notification settings - Fork 965
Tracking issue for Taproot #503
Copy link
Copy link
Closed
Labels
epicTracking issues for epic tasksTracking issues for epic tasks
Milestone
Description
Wanted to create an issue to track the various changes needed for taproot support
Tagged hashes
- Merge Tagged hashes for taproot #259 for tagged hashes
Signatures & PSBTs
- Unified SighashCache implemented in Adds Taproot BIP341 signature message and create a unified sighash cache for legacy, segwit and taproot inputs #628
- Signature data serialziation according to BIP-341 in witness and BIP-371 in PSBTs: PSBT taproot spending signature type #671
- PSBT taproot-specific fields: Add support for taproot psbt fields BIP 371 #681, PSBT taproot spending signature type #671
Script
- new_p2tr() Taproot P2TR address #563, P2TR address from untweaked key #691 [requires Add bip340 schnorr rust-secp256k1#237]
- to/is_p2tr() Taproot tweaks generalization & KeyPair support #696 (previous work: P2TR improvements #646)
- Construction of taproot script branches and script conversion to P2TR Add taproot data structures #677 (previous attempt: Taproot-related data types #666)
- Test coverage BIP341 test vectors #695
- Converting
LeafVersioninto an enum Converting LeafVersion into an enum #718
Opcode
- OP_CHECKSIGADD Add OP_CHECKSIGADD and OP_SUCCESSxxx #644
Address
- Witness version type introduction: WitnessVersion type #617
- AddressType::P2t Taproot P2TR address #563 [requires Support bech32m rust-bech32#48]
- p2t(pubkey: secp256k1::bip340::PublicKey, network: Network) Taproot P2TR address #563 [requires Add bip340 schnorr rust-secp256k1#237]
- address_type match segwit version 1 to AddressType::P2t Taproot P2TR address #563
Address-related type refactoring for better witness v1 support:Address type system #668
Key
- Key refactoring strategy: Taproot keys implementation strategy #588 and its step-by-step implementation:
- Non-API breaking changes for
0.26.1Non-API breaking introduction of Schnorr keys #589 - Refactor key export names Minimally-invasive separation of bitcoin keys from ECDSA signature types #757
- API-breaking changes to Extended keys internal key representation: Taproot: BIP32 extended keys using Scep256k1 keys instead of bitcoin ECDSA #590
- API-breaking changes to PSBT internal BIP32 key representation: PSBT BIP32 keys using to Secp256k1 keys instead of bitcoin ECDSA #591
- Non-API breaking changes for
- Support for proper key tweaks: Add taproot data structures #677 & Taproot tweaks generalization & KeyPair support #696 (previous work: API for taproot tweaked keys #585, Taproot-related data types #666; parallel/alternative Implement taproot specific script helpers #604)
- Rejected first implementation attempt, but a lot of important discussions on implementation details Taproot PublicKey refactoring #561
- Other Important discussions addressing Taproot as a part of overall crate refactoring: Proposal: split bitcoin into multi-crate workspace #550
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
epicTracking issues for epic tasksTracking issues for epic tasks