diff --git a/cmd/lncli/main.go b/cmd/lncli/main.go index 8c636a0d3..f4fda4870 100644 --- a/cmd/lncli/main.go +++ b/cmd/lncli/main.go @@ -39,7 +39,7 @@ var ( // maxMsgRecvSize is the largest message our client will receive. We // set this to 200MiB atm. - maxMsgRecvSize = grpc.MaxCallRecvMsgSize(1 * 1024 * 1024 * 200) + maxMsgRecvSize = grpc.MaxCallRecvMsgSize(lnrpc.MaxGrpcMsgSize) ) func fatal(err error) { diff --git a/lnd.go b/lnd.go index dda5b939a..f29aedaf3 100644 --- a/lnd.go +++ b/lnd.go @@ -268,6 +268,9 @@ func Main(cfg *Config, lisCfg ListenerCfg, implCfg *ImplementationCfg, rpcServerOpts := interceptorChain.CreateServerOpts() serverOpts = append(serverOpts, rpcServerOpts...) + serverOpts = append( + serverOpts, grpc.MaxRecvMsgSize(lnrpc.MaxGrpcMsgSize), + ) grpcServer := grpc.NewServer(serverOpts...) defer grpcServer.Stop() @@ -771,7 +774,7 @@ func getTLSConfig(cfg *Config) ([]grpc.ServerOption, []grpc.DialOption, restDialOpts := []grpc.DialOption{ grpc.WithTransportCredentials(restCreds), grpc.WithDefaultCallOptions( - grpc.MaxCallRecvMsgSize(1 * 1024 * 1024 * 200), + grpc.MaxCallRecvMsgSize(lnrpc.MaxGrpcMsgSize), ), } diff --git a/lnrpc/metadata.go b/lnrpc/metadata.go index fc54560b1..a8c1f57a5 100644 --- a/lnrpc/metadata.go +++ b/lnrpc/metadata.go @@ -14,4 +14,8 @@ var ( regexp.MustCompile("^/v1/channels/transaction-stream$"), regexp.MustCompile("^/v2/router/htlcinterceptor$"), } + + // MaxGrpcMsgSize is used when we configure both server and clients to + // allow sending/receiving at most 200 MiB GRPC messages. + MaxGrpcMsgSize = 200 * 1024 * 1024 )