diff --git a/config_builder.go b/config_builder.go index 7af3273824..5679de10bf 100644 --- a/config_builder.go +++ b/config_builder.go @@ -44,6 +44,7 @@ import ( "github.com/lightningnetwork/lnd/lnwallet/btcwallet" "github.com/lightningnetwork/lnd/lnwallet/rpcwallet" "github.com/lightningnetwork/lnd/macaroons" + "github.com/lightningnetwork/lnd/routing" "github.com/lightningnetwork/lnd/rpcperms" "github.com/lightningnetwork/lnd/signal" "github.com/lightningnetwork/lnd/sqldb" @@ -157,6 +158,10 @@ type AuxComponents struct { // AuxLeafStore is an optional data source that can be used by custom // 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] } // DefaultWalletImpl is the default implementation of our normal, btcwallet diff --git a/server.go b/server.go index bebf233f78..8f7ddce677 100644 --- a/server.go +++ b/server.go @@ -1001,6 +1001,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, Clock: clock.NewDefaultClock(), StrictZombiePruning: strictPruning, IsAlias: aliasmgr.IsAlias, + TrafficShaper: implCfg.TrafficShaper, }) if err != nil { return nil, fmt.Errorf("can't create router: %w", err)