rpc

package
v1.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2021 License: GPL-3.0 Imports: 55 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// HashedRPCPassword for the validator RPC access.
	HashedRPCPassword = "rpc-password-hash"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ValidatorGatewayHost     string
	ValidatorGatewayPort     int
	ValidatorMonitoringHost  string
	ValidatorMonitoringPort  int
	BeaconClientEndpoint     string
	ClientMaxCallRecvMsgSize int
	ClientGrpcRetries        uint
	ClientGrpcRetryDelay     time.Duration
	ClientGrpcHeaders        []string
	ClientWithCert           string
	Host                     string
	Port                     string
	CertFlag                 string
	KeyFlag                  string
	ValDB                    db.Database
	WalletDir                string
	ValidatorService         *client.ValidatorService
	SyncChecker              client.SyncChecker
	GenesisFetcher           client.GenesisFetcher
	WalletInitializedFeed    *event.Feed
	NodeGatewayEndpoint      string
	Wallet                   *wallet.Wallet
	Keymanager               keymanager.IKeymanager
}

Config options for the gRPC server.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server defining a gRPC server for the remote signer API.

func NewServer

func NewServer(ctx context.Context, cfg *Config) *Server

NewServer instantiates a new gRPC server.

func (*Server) BackupAccounts added in v1.2.0

func (s *Server) BackupAccounts(
	ctx context.Context, req *pb.BackupAccountsRequest,
) (*pb.BackupAccountsResponse, error)

BackupAccounts creates a zip file containing EIP-2335 keystores for the user's specified public keys by encrypting them with the specified password.

func (*Server) ChangePassword

func (s *Server) ChangePassword(ctx context.Context, req *pb.ChangePasswordRequest) (*ptypes.Empty, error)

ChangePassword allows changing the RPC password via the API as an authenticated method.

func (*Server) CreateWallet

func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest) (*pb.CreateWalletResponse, error)

CreateWallet via an API request, allowing a user to save a new derived, imported, or remote wallet.

func (*Server) GenerateMnemonic

func (s *Server) GenerateMnemonic(_ context.Context, _ *ptypes.Empty) (*pb.GenerateMnemonicResponse, error)

GenerateMnemonic creates a new, random bip39 mnemonic phrase.

func (*Server) GetBeaconNodeConnection

func (s *Server) GetBeaconNodeConnection(ctx context.Context, _ *ptypes.Empty) (*pb.NodeConnectionResponse, error)

GetBeaconNodeConnection retrieves the current beacon node connection information, as well as its sync status.

func (*Server) GetBeaconStatus added in v1.1.0

func (s *Server) GetBeaconStatus(ctx context.Context, _ *ptypes.Empty) (*pb.BeaconStatusResponse, error)

GetBeaconStatus retrieves information about the beacon node gRPC connection and certain chain metadata, such as the genesis time, the chain head, and the deposit contract address.

func (*Server) GetLogsEndpoints added in v1.0.1

func (s *Server) GetLogsEndpoints(ctx context.Context, _ *ptypes.Empty) (*pb.LogsEndpointResponse, error)

GetLogsEndpoints for the beacon and validator client.

func (*Server) GetPeers added in v1.1.0

func (s *Server) GetPeers(
	ctx context.Context, req *ptypes.Empty,
) (*ethpb.Peers, error)

GetPeers is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetValidatorBalances added in v1.1.0

func (s *Server) GetValidatorBalances(
	ctx context.Context, req *ethpb.ListValidatorBalancesRequest,
) (*ethpb.ValidatorBalances, error)

GetValidatorBalance is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetValidatorParticipation added in v1.1.0

GetValidatorParticipation is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetValidatorPerformance added in v1.1.0

func (s *Server) GetValidatorPerformance(
	ctx context.Context, req *ethpb.ValidatorPerformanceRequest,
) (*ethpb.ValidatorPerformanceResponse, error)

GetValidatorPerformance is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetValidatorQueue added in v1.1.0

func (s *Server) GetValidatorQueue(
	ctx context.Context, req *ptypes.Empty,
) (*ethpb.ValidatorQueue, error)

GetValidatorQueue is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetValidators added in v1.1.0

func (s *Server) GetValidators(
	ctx context.Context, req *ethpb.ListValidatorsRequest,
) (*ethpb.Validators, error)

GetValidators is a wrapper around the /eth/v1alpha1 endpoint of the same name.

func (*Server) GetVersion added in v1.1.0

func (s *Server) GetVersion(ctx context.Context, _ *ptypes.Empty) (*pb.VersionResponse, error)

GetVersion --

func (*Server) HasUsedWeb

func (s *Server) HasUsedWeb(ctx context.Context, _ *ptypes.Empty) (*pb.HasUsedWebResponse, error)

HasUsedWeb checks if the user has authenticated via the web interface.

func (*Server) ImportKeystores

func (s *Server) ImportKeystores(
	ctx context.Context, req *pb.ImportKeystoresRequest,
) (*pb.ImportKeystoresResponse, error)

ImportKeystores allows importing new keystores via RPC into the wallet which will be decrypted using the specified password .

func (*Server) JWTInterceptor

func (s *Server) JWTInterceptor() grpc.UnaryServerInterceptor

JWTInterceptor is a gRPC unary interceptor to authorize incoming requests for methods that are NOT in the noAuthPaths configuration map.

func (*Server) ListAccounts

func (s *Server) ListAccounts(ctx context.Context, req *pb.ListAccountsRequest) (*pb.ListAccountsResponse, error)

ListAccounts allows retrieval of validating keys and their petnames for a user's wallet via RPC.

func (*Server) Login

func (s *Server) Login(ctx context.Context, req *pb.AuthRequest) (*pb.AuthResponse, error)

Login to authenticate with the validator RPC API using a password.

func (*Server) Logout

func (s *Server) Logout(ctx context.Context, _ *ptypes.Empty) (*ptypes.Empty, error)

Logout a user by invalidating their JWT key.

func (*Server) SaveHashedPassword

func (s *Server) SaveHashedPassword(password string) error

SaveHashedPassword to disk for the validator RPC.

func (*Server) Signup

func (s *Server) Signup(ctx context.Context, req *pb.AuthRequest) (*pb.AuthResponse, error)

Signup to authenticate access to the validator RPC API using bcrypt and a sufficiently strong password check.

func (*Server) Start

func (s *Server) Start()

Start the gRPC server.

func (*Server) Status

func (s *Server) Status() error

Status returns nil or credentialError.

func (*Server) Stop

func (s *Server) Stop() error

Stop the gRPC server.

func (*Server) StreamBeaconLogs added in v1.1.0

func (s *Server) StreamBeaconLogs(req *ptypes.Empty, stream pb.Health_StreamBeaconLogsServer) error

StreamBeaconLogs from the beacon node via a gRPC server-side stream.

func (*Server) StreamValidatorLogs added in v1.1.0

func (s *Server) StreamValidatorLogs(_ *ptypes.Empty, stream pb.Health_StreamValidatorLogsServer) error

StreamValidatorLogs from the validator client via a gRPC server-side stream.

func (*Server) WalletConfig

func (s *Server) WalletConfig(ctx context.Context, _ *ptypes.Empty) (*pb.WalletResponse, error)

WalletConfig returns the wallet's configuration. If no wallet exists, we return an empty response.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL