You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a mega tracking issue to track all the taproot components (the division here is just a suggestion) that we'll need to put together to fully implement the new soft fork rules. I've included certain btcwallet changes here as well just for the sake of completion, so we can see how they all fit together in a single place.
Road To Taproot
Add new schnorr package to btcec that implements 340.
Note that we can mostly transfer over the dcrd implementation (namely their move to convert more big int usage into field limbs), but the verification is slightly different due to the add logic in BIP 340 itself.
This should include generating pubkeys compliant with the new arity restrictions.
Extend txscript.Pkscript with awareness of the new output types.
This'll be useful for the eventual change to add a segwit specific filter to neutrino, and also just to be able to parse the output types easily.
Implement the tagged hashing scheme as utility functions within txscript.
Implement the new internal and external sighashes in the txscript package.
Use the above to implement normal keyspend verification in txscript.Engine.
Add helper functions to txscript to compute the taproot commitment, as well as verify the reveal of a tapscript leaf.
Create a series of general functions in the txscript package for control block + annex parsing.
Implement full script spend verification along w/ the new OP_SUCCESS and OP_CHECKSIGADD semantics.
Implement bech32m
Add new address type to btcutil.Address for segwit v1 that uses bech32m
Add new key scope type (for btcwallet) to generate keys using the designated BIP 44 purpose.
Update hdkeychain in btcutil to return keys of the proper arity if a flag is active for schnorr usage
Implement signing for keyspend logic in btcwallet
Extend script import capabilities to maintain either entire tree and/or induvidual branch proofs
Implement script based signing (tapscript reveal) for
The text was updated successfully, but these errors were encountered:
This is a mega tracking issue to track all the taproot components (the division here is just a suggestion) that we'll need to put together to fully implement the new soft fork rules. I've included certain
btcwallet
changes here as well just for the sake of completion, so we can see how they all fit together in a single place.Road To Taproot
Add new schnorr package to
btcec
that implements 340.dcrd
implementation (namely their move to convert more big int usage into field limbs), but the verification is slightly different due to the add logic in BIP 340 itself.Extend
txscript.Pkscript
with awareness of the new output types.Implement the tagged hashing scheme as utility functions within
txscript
.Implement the new internal and external sighashes in the
txscript
package.Use the above to implement normal keyspend verification in
txscript.Engine
.Add helper functions to
txscript
to compute the taproot commitment, as well as verify the reveal of a tapscript leaf.Create a series of general functions in the
txscript
package for control block + annex parsing.Implement full script spend verification along w/ the new
OP_SUCCESS
andOP_CHECKSIGADD
semantics.Implement
bech32m
Add new address type to
btcutil.Address
for segwit v1 that usesbech32m
Add new key scope type (for
btcwallet
) to generate keys using the designated BIP 44 purpose.Update
hdkeychain
in btcutil to return keys of the proper arity if a flag is active for schnorr usageImplement signing for keyspend logic in
btcwallet
Extend script import capabilities to maintain either entire tree and/or induvidual branch proofs
Implement script based signing (tapscript reveal) for
The text was updated successfully, but these errors were encountered: