accounts

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: GPL-3.0 Imports: 45 Imported by: 18

Documentation

Overview

Package accounts defines a new model for accounts management in Prysm, using best practices for user security, UX, and extensibility via different wallet types including HD wallets, imported (non-HD) wallets, and remote-signing capable configurations. This model is compliant with the EIP-2333, EIP-2334, and EIP-2335 standards for key management in Ethereum.

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrCouldNotInitializeKeymanager informs about failed keymanager initialization
	ErrCouldNotInitializeKeymanager = "could not initialize keymanager"
)

Functions

func BackupAccountsCli added in v1.0.0

func BackupAccountsCli(cliCtx *cli.Context) error

BackupAccountsCli allows users to select validator accounts from their wallet and export them as a backup.zip file containing the keys as EIP-2335 compliant keystore.json files, which are compatible with importing in other Ethereum consensus clients.

func CreateAndSaveWalletCli added in v1.0.0

func CreateAndSaveWalletCli(cliCtx *cli.Context) (*wallet.Wallet, error)

CreateAndSaveWalletCli from user input with a desired keymanager. If a wallet already exists in the path, it suggests the user alternatives such as how to edit their existing wallet configuration.

func CreateWalletWithKeymanager added in v1.0.0

func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (*wallet.Wallet, error)

CreateWalletWithKeymanager specified by configuration options.

func DeleteAccount added in v1.0.0

func DeleteAccount(ctx context.Context, cfg *Config) error

DeleteAccount deletes the accounts that the user requests to be deleted from the wallet.

func DeleteAccountCli added in v1.0.0

func DeleteAccountCli(cliCtx *cli.Context) error

DeleteAccountCli deletes the accounts that the user requests to be deleted from the wallet. This function uses the CLI to extract necessary values.

func EditWalletConfigurationCli added in v1.0.0

func EditWalletConfigurationCli(cliCtx *cli.Context) error

EditWalletConfigurationCli for a user's on-disk wallet, being able to change things such as remote gRPC credentials for remote signing, derivation paths for HD wallets, and more.

func ExitAccountsCli added in v1.0.0

func ExitAccountsCli(cliCtx *cli.Context, r io.Reader) error

ExitAccountsCli performs a voluntary exit on one or more accounts.

func ImportAccounts added in v1.0.0

func ImportAccounts(ctx context.Context, cfg *ImportAccountsConfig) error

ImportAccounts can import external, EIP-2335 compliant keystore.json files as new accounts into the Prysm validator wallet.

func ImportAccountsCli added in v1.0.0

func ImportAccountsCli(cliCtx *cli.Context) error

ImportAccountsCli can import external, EIP-2335 compliant keystore.json files as new accounts into the Prysm validator wallet. This uses the CLI to extract values necessary to run the function.

func ListAccountsCli added in v1.0.0

func ListAccountsCli(cliCtx *cli.Context) error

ListAccountsCli displays all available validator accounts in a Prysm wallet.

func PerformVoluntaryExit added in v1.3.8

func PerformVoluntaryExit(
	ctx context.Context, cfg PerformExitCfg,
) (rawExitedKeys [][]byte, formattedExitedKeys []string, err error)

PerformVoluntaryExit uses gRPC clients to submit a voluntary exit message to a beacon node.

func RecoverWallet added in v1.0.0

func RecoverWallet(ctx context.Context, cfg *RecoverWalletConfig) (*wallet.Wallet, error)

RecoverWallet uses a menmonic seed phrase to recover a wallet into the path provided.

func RecoverWalletCli added in v1.0.0

func RecoverWalletCli(cliCtx *cli.Context) error

RecoverWalletCli uses a menmonic seed phrase to recover a wallet into the path provided. This uses the CLI to extract necessary values to run the function.

func ValidateMnemonic added in v1.3.7

func ValidateMnemonic(mnemonic string) error

ValidateMnemonic ensures that it is not empty and that the count of the words are as specified(currently 24).

Types

type Config added in v1.2.0

type Config struct {
	Wallet           *wallet.Wallet
	Keymanager       keymanager.IKeymanager
	DeletePublicKeys [][]byte
}

Config specifies parameters for accounts commands.

type CreateWalletConfig added in v1.0.0

type CreateWalletConfig struct {
	SkipMnemonicConfirm  bool
	NumAccounts          int
	RemoteKeymanagerOpts *remote.KeymanagerOpts
	WalletCfg            *wallet.Config
	Mnemonic25thWord     string
}

CreateWalletConfig defines the parameters needed to call the create wallet functions.

type ImportAccountsConfig added in v1.0.0

type ImportAccountsConfig struct {
	Keystores       []*keymanager.Keystore
	Keymanager      *imported.Keymanager
	AccountPassword string
}

ImportAccountsConfig defines values to run the import accounts function.

type PerformExitCfg added in v1.3.8

type PerformExitCfg struct {
	ValidatorClient  ethpb.BeaconNodeValidatorClient
	NodeClient       ethpb.NodeClient
	Keymanager       keymanager.IKeymanager
	RawPubKeys       [][]byte
	FormattedPubKeys []string
}

PerformExitCfg for account voluntary exits.

type RecoverWalletConfig added in v1.0.0

type RecoverWalletConfig struct {
	WalletDir        string
	WalletPassword   string
	Mnemonic         string
	NumAccounts      int
	Mnemonic25thWord string
}

RecoverWalletConfig to run the recover wallet function.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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