diff --git a/lncfg/protocol.go b/lncfg/protocol.go index 20bad430..afc12968 100644 --- a/lncfg/protocol.go +++ b/lncfg/protocol.go @@ -1,3 +1,5 @@ +// +build !rpctest + package lncfg // ProtocolOptions is a struct that we use to be able to test backwards @@ -18,8 +20,9 @@ type ProtocolOptions struct { // mini. WumboChans bool `long:"wumbo-channels" description:"if set, then lnd will create and accept requests for channels larger chan 0.16 BTC"` - // Anchors enables anchor commitments. - Anchors bool `long:"anchors" description:"enable support for anchor commitments"` + // NoAnchors should be set if we don't want to support opening or accepting + // channels having the anchor commitment type. + NoAnchors bool `long:"no-anchors" description:"disable support for anchor commitments"` } // Wumbo returns true if lnd should permit the creation and acceptance of wumbo @@ -31,5 +34,5 @@ func (l *ProtocolOptions) Wumbo() bool { // NoAnchorCommitments returns true if we have disabled support for the anchor // commitment type. func (l *ProtocolOptions) NoAnchorCommitments() bool { - return !l.Anchors + return l.NoAnchors } diff --git a/lncfg/protocol_rpctest.go b/lncfg/protocol_rpctest.go new file mode 100644 index 00000000..037aec77 --- /dev/null +++ b/lncfg/protocol_rpctest.go @@ -0,0 +1,38 @@ +// +build rpctest + +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 { + // LegacyProtocol 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. + LegacyProtocol `group:"legacy" namespace:"legacy"` + + // ExperimentalProtocol is a sub-config that houses any experimental + // protocol features that also require a build-tag to activate. + ExperimentalProtocol + + // WumboChans should be set if we want to enable support for wumbo + // (channels larger than 0.16 BTC) channels, which is the opposite of + // mini. + WumboChans bool `long:"wumbo-channels" description:"if set, then lnd will create and accept requests for channels larger chan 0.16 BTC"` + + // Anchors enables anchor commitments. + // TODO(halseth): transition itests to anchors instead! + Anchors bool `long:"anchors" description:"enable support for anchor commitments"` +} + +// Wumbo returns true if lnd should permit the creation and acceptance of wumbo +// channels. +func (l *ProtocolOptions) Wumbo() bool { + return l.WumboChans +} + +// NoAnchorCommitments returns true if we have disabled support for the anchor +// commitment type. +func (l *ProtocolOptions) NoAnchorCommitments() bool { + return !l.Anchors +}