publicrpc.go 963 B

12345678910111213141516171819202122232425262728
  1. package guardiand
  2. import (
  3. "fmt"
  4. "github.com/certusone/wormhole/node/pkg/common"
  5. "github.com/certusone/wormhole/node/pkg/db"
  6. publicrpcv1 "github.com/certusone/wormhole/node/pkg/proto/publicrpc/v1"
  7. "github.com/certusone/wormhole/node/pkg/publicrpc"
  8. "github.com/certusone/wormhole/node/pkg/supervisor"
  9. "go.uber.org/zap"
  10. "google.golang.org/grpc"
  11. "net"
  12. )
  13. func publicrpcServiceRunnable(logger *zap.Logger, listenAddr string, db *db.Database, gst *common.GuardianSetState) (supervisor.Runnable, *grpc.Server, error) {
  14. l, err := net.Listen("tcp", listenAddr)
  15. if err != nil {
  16. return nil, nil, fmt.Errorf("failed to listen: %w", err)
  17. }
  18. logger.Info("publicrpc server listening", zap.String("addr", l.Addr().String()))
  19. rpcServer := publicrpc.NewPublicrpcServer(logger, db, gst)
  20. grpcServer := newGRPCServer(logger)
  21. publicrpcv1.RegisterPublicRPCServiceServer(grpcServer, rpcServer)
  22. return supervisor.GRPCServer(grpcServer, l, false), grpcServer, nil
  23. }