multi: make MsgRouter available in the ImplementationCfg
With this commit, we allow the `MsgRouter` to be available in the `ImplementationCfg`. With this, programs outside of lnd itself are able to now hook into the message processing flow to direct handle custom messages, and even normal wire messages.
This commit is contained in:
1 parent
927aa84b5f
commit
b028af1836
4 files changed
+33
-4
No files matched your search
@@ -160,6 +160,8 @@ type server struct {
|
||||
|
||||
cfg *Config
|
||||
|
||||
implCfg *ImplementationCfg
|
||||
|
||||
// identityECDH is an ECDH capable wrapper for the private key used
|
||||
// to authenticate any incoming connections.
|
||||
identityECDH keychain.SingleKeyECDH
|
||||
@@ -486,7 +488,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
|
||||
chansToRestore walletunlocker.ChannelsToRecover,
|
||||
chanPredicate chanacceptor.ChannelAcceptor,
|
||||
torController *tor.Controller, tlsManager *TLSManager,
|
||||
leaderElector cluster.LeaderElector) (*server, error) {
|
||||
leaderElector cluster.LeaderElector,
|
||||
implCfg *ImplementationCfg) (*server, error) {
|
||||
|
||||
var (
|
||||
err error
|
||||
@@ -571,6 +574,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
|
||||
|
||||
s := &server{
|
||||
cfg: cfg,
|
||||
implCfg: implCfg,
|
||||
graphDB: dbs.GraphDB.ChannelGraph(),
|
||||
chanStateDB: dbs.ChanStateDB.ChannelStateDB(),
|
||||
addrSource: dbs.ChanStateDB,
|
||||
@@ -3986,6 +3990,7 @@ func (s *server) peerConnected(conn net.Conn, connReq *connmgr.ConnReq,
|
||||
DisallowRouteBlinding: s.cfg.ProtocolOptions.NoRouteBlinding(),
|
||||
MaxFeeExposure: thresholdMSats,
|
||||
Quit: s.quit,
|
||||
MsgRouter: s.implCfg.MsgRouter,
|
||||
}
|
||||
|
||||
copy(pCfg.PubKeyBytes[:], peerAddr.IdentityKey.SerializeCompressed())
|
||||
|
||||
Reference in new issue
Block a user