Merge pull request #6826 from Roasbeef/bitcoind-taproot-after-19

chainreg: update tapoort node awareness to account for bitcoind 19+
This commit is contained in:
Olaoluwa Osuntokun 2022-08-12 16:22:04 -07:00 committed by GitHub
commit d0d4782c3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View file

@ -14,11 +14,22 @@ func backendSupportsTaproot(rpc *rpcclient.Client) bool {
if err == nil {
// If this call worked, then we'll check that the taproot
// deployment is defined.
if chainInfo.SoftForks != nil {
switch {
// Bitcoind versions before 0.19 and also btcd use the
// SoftForks fields.
case chainInfo.SoftForks != nil:
_, ok := chainInfo.SoftForks.Bip9SoftForks["taproot"]
if ok {
return ok
}
// Bitcoind versions after 0.19 will use the UnifiedSoftForks
// field that factors in the set of "buried" soft forks.
case chainInfo.UnifiedSoftForks != nil:
_, ok := chainInfo.UnifiedSoftForks.SoftForks["taproot"]
if ok {
return ok
}
}
}

View file

@ -34,7 +34,9 @@ of the draft BIP.
## Taproot
[`lnd` will now refuse to start if it detects the full node backend does not
support Tapoot](https://github.com/lightningnetwork/lnd/pull/6798).
support Tapoot](https://github.com/lightningnetwork/lnd/pull/6798). [With this
change](https://github.com/lightningnetwork/lnd/pull/6826), the officially
supported versions of bitcoind are: 21, 22, and 23.
[`lnd` will now use taproot addresses for co-op closes if the remote peer
supports the feature.](https://github.com/lightningnetwork/lnd/pull/6633)