@@ -463,14 +463,6 @@ func (g *LightningTerminal) start(ctx context.Context) error {
463463		return  fmt .Errorf ("error creating account service: %v" , err )
464464	}
465465
466- 	superMacBaker  :=  func (ctx  context.Context , rootKeyID  uint64 ,
467- 		perms  []bakery.Op , caveats  []macaroon.Caveat ) (string , error ) {
468- 
469- 		return  litmac .BakeSuperMacaroon (
470- 			ctx , g .basicClient , rootKeyID , perms , caveats ,
471- 		)
472- 	}
473- 
474466	// We create a reference to the `accountRpcServer` here before starting 
475467	// it and prior to setting up the LND connection. This is because when 
476468	// the LND connection is set up for an integrated LND instance, LND will 
@@ -512,35 +504,11 @@ func (g *LightningTerminal) start(ctx context.Context) error {
512504		}
513505	}
514506
515- 	g .sessionRpcServer , err  =  newSessionRPCServer (& sessionRpcServerConfig {
516- 		db :        g .stores .sessions ,
517- 		basicAuth : g .rpcProxy .basicAuth ,
518- 		grpcOptions : []grpc.ServerOption {
519- 			grpc .CustomCodec (grpcProxy .Codec ()), // nolint: staticcheck, 
520- 			grpc .ChainStreamInterceptor (
521- 				g .rpcProxy .StreamServerInterceptor ,
522- 			),
523- 			grpc .ChainUnaryInterceptor (
524- 				g .rpcProxy .UnaryServerInterceptor ,
525- 			),
526- 			grpc .UnknownServiceHandler (
527- 				grpcProxy .TransparentHandler (
528- 					// Don't allow calls to litrpc. 
529- 					g .rpcProxy .makeDirector (false ),
530- 				),
531- 			),
532- 		},
533- 		registerGrpcServers : func (server  * grpc.Server ) {
534- 			g .registerSubDaemonGrpcServers (server , true )
535- 		},
536- 		superMacBaker :           superMacBaker ,
537- 		firstConnectionDeadline : g .cfg .FirstLNCConnDeadline ,
538- 		permMgr :                 g .permsMgr ,
539- 		actionsDB :               g .stores .firewall ,
540- 		autopilot :               g .autopilotClient ,
541- 		ruleMgrs :                g .ruleMgrs ,
542- 		privMap :                 g .stores .firewall ,
543- 	})
507+ 	// Similar to the init of the `accountRpcServer` reference above, we 
508+ 	// create a reference to the `sessionRpcServer` here before setting up 
509+ 	// the LND connection. See the comment above for the `accountRpcServer` 
510+ 	// to understand why this is necessary. 
511+ 	g .sessionRpcServer , err  =  newSessionRPCServer ()
544512	if  err  !=  nil  {
545513		return  fmt .Errorf ("could not create new session rpc " + 
546514			"server: %v" , err )
@@ -1066,7 +1034,38 @@ func (g *LightningTerminal) startInternalSubServers(ctx context.Context,
10661034	}
10671035
10681036	log .Infof ("Starting LiT session server" )
1069- 	if  err  =  g .sessionRpcServer .start (ctx ); err  !=  nil  {
1037+ 
1038+ 	sessionCfg  :=  & sessionRpcServerConfig {
1039+ 		db :        g .stores .sessions ,
1040+ 		basicAuth : g .rpcProxy .basicAuth ,
1041+ 		grpcOptions : []grpc.ServerOption {
1042+ 			grpc .CustomCodec (grpcProxy .Codec ()), // nolint: staticcheck, 
1043+ 			grpc .ChainStreamInterceptor (
1044+ 				g .rpcProxy .StreamServerInterceptor ,
1045+ 			),
1046+ 			grpc .ChainUnaryInterceptor (
1047+ 				g .rpcProxy .UnaryServerInterceptor ,
1048+ 			),
1049+ 			grpc .UnknownServiceHandler (
1050+ 				grpcProxy .TransparentHandler (
1051+ 					// Don't allow calls to litrpc. 
1052+ 					g .rpcProxy .makeDirector (false ),
1053+ 				),
1054+ 			),
1055+ 		},
1056+ 		registerGrpcServers : func (server  * grpc.Server ) {
1057+ 			g .registerSubDaemonGrpcServers (server , true )
1058+ 		},
1059+ 		superMacBaker :           superMacBaker ,
1060+ 		firstConnectionDeadline : g .cfg .FirstLNCConnDeadline ,
1061+ 		permMgr :                 g .permsMgr ,
1062+ 		actionsDB :               g .stores .firewall ,
1063+ 		autopilot :               g .autopilotClient ,
1064+ 		ruleMgrs :                g .ruleMgrs ,
1065+ 		privMap :                 g .stores .firewall ,
1066+ 	}
1067+ 
1068+ 	if  err  =  g .sessionRpcServer .start (ctx , sessionCfg ); err  !=  nil  {
10701069		return  err 
10711070	}
10721071	g .sessionRpcServerStarted  =  true 
0 commit comments