lncfg: split off protocol options into normal and legacy, normal reqs no build tag
In this commit, we split off the protocol options into a normal and legacy sub-config. The legacy sub-config protected by a built tag, and will only be populated if thet tag is set. Legacy options now have a `legacy` prefix. So `--protocol.legacyonion` is now `--protocol.onion`, and `--protocol.committweak`, is now `--protocol.legacy.committweak`. We also create a new experimental protocol feature sub-config for newer features that may not yet been fully complete, so they require a build tag.
This commit is contained in:
7 files changed
+61
-31
No files matched your search
@@ -2,27 +2,21 @@
|
||||
|
||||
package lncfg
|
||||
|
||||
// ProtocolOptions is a struct that we use to be able to test backwards
|
||||
// compatibility of protocol additions, while defaulting to the latest within
|
||||
// lnd, or to enable experimental protocol changes.
|
||||
type ProtocolOptions struct {
|
||||
// Legacy is a sub-config that houses all the legacy protocol options. These
|
||||
// are mostly used for integration tests as most modern nodes shuld always run
|
||||
// with them on by default.
|
||||
type LegacyProtocol struct {
|
||||
}
|
||||
|
||||
// LegacyOnion returns true if the old legacy onion format should be used when
|
||||
// we're an intermediate or final hop. This controls if we set the
|
||||
// TLVOnionPayloadOptional bit or not.
|
||||
func (l *ProtocolOptions) LegacyOnion() bool {
|
||||
func (l *LegacyProtocol) LegacyOnion() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// NoStaticRemoteKey returns true if the old commitment format with a tweaked
|
||||
// remote key should be used for new funded channels.
|
||||
func (l *ProtocolOptions) NoStaticRemoteKey() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// AnchorCommitments returns true if support for the the anchor commitment type
|
||||
// should be signaled.
|
||||
func (l *ProtocolOptions) AnchorCommitments() bool {
|
||||
func (l *LegacyProtocol) NoStaticRemoteKey() bool {
|
||||
return false
|
||||
}
|
||||
Reference in new issue
Block a user