-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Taproot: integrate btcec/v2 and btcwallet changes to support Taproot key spend paths in lnd's wallet #6263
Taproot: integrate btcec/v2 and btcwallet changes to support Taproot key spend paths in lnd's wallet #6263
Conversation
1e4960a
to
09736b3
Compare
09736b3
to
4d765dc
Compare
I extracted most of the diff into #6285 which doesn't depend on any unmerged |
a80a734
to
58a3940
Compare
58a3940
to
de9a9e6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thought I posted these comments...
de9a9e6
to
76f5dda
Compare
@guggero, remember to re-request review from reviewers when ready |
443813e
to
8964101
Compare
Rebased and addressed all current comments. Also made the itest a bit less confusing and bit more explicit. Not sure if the new |
af4562a
to
6f21de4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I think we are getting close to have it ready to be merged 🎉. Release notes are missing but functionality wise I think it is complete.
6f21de4
to
a07d817
Compare
Added release notes. |
a07d817
to
6faecbe
Compare
6faecbe
to
79595d5
Compare
Because Taproot key spend only spends don't allow us to re-construct the spent pkScript from the witness alone, we cannot support registering spend notifications for v1 pkScripts only. We instead require the outpoint to be specified. This commit makes it possible to only match by outpoint and also adds an itest for it.
79595d5
to
f500892
Compare
Fixed itests too. Ready to be merged IMO. How did your mainnet tests come along, @Roasbeef? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🐞
Output: utxoInfo[0], | ||
InputIndex: 0, | ||
KeyDesc: keyDesc, | ||
SingleTweak: dummyKeyTweak[:], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this actually need to be set?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok it's just making sure that combination work as well. Though I don't think it would ever really be used....
When I create a new (signet) wallet and fund a taproot address, my attempt to open a channel fails with:
If that's intentional, maybe Fortunately coin selection seems to prefer non-taproot addresses, so I was able to just create a p2wpkh address, fund that and then open a channel with a sufficiently low balance. Using master @ 10f7213 |
Thx for the report @Sjors, I converted you comment into an issue so we can track it properly |
End-to-end integration of all the changes required to get the Taproot functionality into
lnd
.Depends on
btcsuite/btcd#1787, btcsuite/btcwallet#792 and#6285.Fixes #6266.
Fixes #6267.
Fixes #6330.