feature: use +100 staging bit for taproot channels

In this commit, we carry out a new notion introduced during a recent
spec meeting to use a feature bit plus 100 before the feature has been
finalized in the spec.

We split into the Final and Staging bits.
This commit is contained in:
Olaoluwa Osuntokun
2023-08-18 17:04:07 -07:00
parent fcbf6f2483
commit 384b1b1c12
9 changed files with 92 additions and 76 deletions

View File

@@ -742,7 +742,7 @@ func isTaprootChanType(chanType *lnwire.ChannelType) bool {
featVec := lnwire.RawFeatureVector(*chanType)
return featVec.IsSet(
lnwire.SimpleTaprootChannelsRequired,
lnwire.SimpleTaprootChannelsRequiredStaging,
)
}
@@ -1423,7 +1423,7 @@ func testNormalWorkflow(t *testing.T, chanType *lnwire.ChannelType) {
lnwire.ExplicitChannelTypeOptional,
lnwire.StaticRemoteKeyOptional,
lnwire.AnchorsZeroFeeHtlcTxOptional,
lnwire.SimpleTaprootChannelsOptional,
lnwire.SimpleTaprootChannelsOptionalStaging,
}
alice.localFeatures = featureBits
alice.remoteFeatures = featureBits
@@ -1543,7 +1543,7 @@ func TestFundingManagerNormalWorkflow(t *testing.T) {
t.Parallel()
taprootChanType := lnwire.ChannelType(*lnwire.NewRawFeatureVector(
lnwire.SimpleTaprootChannelsRequired,
lnwire.SimpleTaprootChannelsRequiredStaging,
))
testCases := []struct {
@@ -4460,7 +4460,7 @@ func testZeroConf(t *testing.T, chanType *lnwire.ChannelType) {
lnwire.ExplicitChannelTypeOptional,
lnwire.StaticRemoteKeyOptional,
lnwire.AnchorsZeroFeeHtlcTxOptional,
lnwire.SimpleTaprootChannelsOptional,
lnwire.SimpleTaprootChannelsOptionalStaging,
}
alice.localFeatures = featureBits
alice.remoteFeatures = featureBits
@@ -4476,7 +4476,7 @@ func testZeroConf(t *testing.T, chanType *lnwire.ChannelType) {
if isTaprootChanType(chanType) {
channelTypeBits = []lnwire.FeatureBit{
lnwire.ZeroConfRequired,
lnwire.SimpleTaprootChannelsRequired,
lnwire.SimpleTaprootChannelsRequiredStaging,
}
} else {
channelTypeBits = []lnwire.FeatureBit{
@@ -4708,7 +4708,7 @@ func TestFundingManagerZeroConf(t *testing.T) {
t.Parallel()
taprootChanType := lnwire.ChannelType(*lnwire.NewRawFeatureVector(
lnwire.SimpleTaprootChannelsRequired,
lnwire.SimpleTaprootChannelsRequiredStaging,
))
testCases := []struct {