diff --git a/config_builder.go b/config_builder.go index ee4064035..4b585cb58 100644 --- a/config_builder.go +++ b/config_builder.go @@ -42,6 +42,7 @@ import ( "github.com/lightningnetwork/lnd/lnrpc" "github.com/lightningnetwork/lnd/lnwallet" "github.com/lightningnetwork/lnd/lnwallet/btcwallet" + "github.com/lightningnetwork/lnd/lnwallet/chancloser" "github.com/lightningnetwork/lnd/lnwallet/rpcwallet" "github.com/lightningnetwork/lnd/macaroons" "github.com/lightningnetwork/lnd/msgmux" @@ -182,6 +183,10 @@ type AuxComponents struct { // AuxDataParser is an optional data parser that can be used to parse // auxiliary data for certain custom channel types. AuxDataParser fn.Option[AuxDataParser] + + // AuxChanCloser is an optional channel closer that can be used to + // modify the way a coop-close transaction is constructed. + AuxChanCloser fn.Option[chancloser.AuxChanCloser] } // DefaultWalletImpl is the default implementation of our normal, btcwallet diff --git a/peer/brontide.go b/peer/brontide.go index 99d38a855..ffd435a93 100644 --- a/peer/brontide.go +++ b/peer/brontide.go @@ -400,6 +400,10 @@ type Config struct { // in place. MsgRouter fn.Option[msgmux.Router] + // AuxChanCloser is an optional instance of an abstraction that can be + // used to modify the way the co-op close transaction is constructed. + AuxChanCloser fn.Option[chancloser.AuxChanCloser] + // Quit is the server's quit channel. If this is closed, we halt operation. Quit chan struct{} } diff --git a/server.go b/server.go index 52baa401f..4097233e0 100644 --- a/server.go +++ b/server.go @@ -4106,6 +4106,7 @@ func (s *server) peerConnected(conn net.Conn, connReq *connmgr.ConnReq, AuxLeafStore: s.implCfg.AuxLeafStore, AuxSigner: s.implCfg.AuxSigner, MsgRouter: s.implCfg.MsgRouter, + AuxChanCloser: s.implCfg.AuxChanCloser, } copy(pCfg.PubKeyBytes[:], peerAddr.IdentityKey.SerializeCompressed())