diff --git a/config_builder.go b/config_builder.go index 7c399297e..21b1ccee0 100644 --- a/config_builder.go +++ b/config_builder.go @@ -44,6 +44,7 @@ import ( "github.com/lightningnetwork/lnd/lnwallet/rpcwallet" "github.com/lightningnetwork/lnd/macaroons" "github.com/lightningnetwork/lnd/msgmux" + "github.com/lightningnetwork/lnd/routing" "github.com/lightningnetwork/lnd/rpcperms" "github.com/lightningnetwork/lnd/signal" "github.com/lightningnetwork/lnd/sqldb" @@ -159,6 +160,10 @@ type AuxComponents struct { // channels to fetch+store various data. AuxLeafStore fn.Option[lnwallet.AuxLeafStore] + // TrafficShaper is an optional traffic shaper that can be used to + // control the outgoing channel of a payment. + TrafficShaper fn.Option[routing.TlvTrafficShaper] + // MsgRouter is an optional message router that if set will be used in // place of a new blank default message router. MsgRouter fn.Option[msgmux.Router] diff --git a/server.go b/server.go index 9cb1089de..0f50794e7 100644 --- a/server.go +++ b/server.go @@ -1022,6 +1022,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, Clock: clock.NewDefaultClock(), ApplyChannelUpdate: s.graphBuilder.ApplyChannelUpdate, ClosedSCIDs: s.fetchClosedChannelSCIDs(), + TrafficShaper: implCfg.TrafficShaper, }) if err != nil { return nil, fmt.Errorf("can't create router: %w", err)