Documentation ¶
Index ¶
Constants ¶
const IncorrectPasswordErrMsg = "invalid checksum"
IncorrectPasswordErrMsg defines a common error string representing an EIP-2335 keystore password was incorrect.
const KeysReloaded = "Reloaded validator keys into keymanager"
KeysReloaded is a "key reloaded" message.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountLister ¶
type AccountLister interface {
ListKeymanagerAccounts(ctx context.Context, cfg ListKeymanagerAccountConfig) error
}
type Deleter ¶
type Deleter interface {
DeleteKeystores(ctx context.Context, publicKeys [][]byte) ([]*ethpbservice.DeletedKeystoreStatus, error)
}
Deleter can delete keystores from the keymanager.
type IKeymanager ¶
type IKeymanager interface { PublicKeysFetcher Signer KeyChangeSubscriber KeyStoreExtractor AccountLister Deleter }
IKeymanager defines a general keymanager interface for Prysm wallets.
type Importer ¶
type Importer interface { ImportKeystores( ctx context.Context, keystores []*Keystore, passwords []string, ) ([]*ethpbservice.ImportedKeystoreStatus, error) }
Importer can import new keystores into the keymanager.
type KeyChangeSubscriber ¶
type KeyChangeSubscriber interface {
SubscribeAccountChanges(pubKeysChan chan [][fieldparams.BLSPubkeyLength]byte) event.Subscription
}
KeyChangeSubscriber allows subscribing to changes made to the underlying keys.
type KeyStoreExtractor ¶
type KeyStoreExtractor interface {
ExtractKeystores(ctx context.Context, publicKeys []bls.PublicKey, password string) ([]*Keystore, error)
}
KeyStoreExtractor allows keys to be extracted from the keymanager.
type KeysFetcher ¶
type KeysFetcher interface { FetchValidatingPrivateKeys(ctx context.Context) ([][32]byte, error) PublicKeysFetcher }
KeysFetcher for validating private and public keys.
type Keystore ¶
type Keystore struct { Crypto map[string]interface{} `json:"crypto"` ID string `json:"uuid"` Pubkey string `json:"pubkey"` Version uint `json:"version"` Name string `json:"name"` Path string `json:"path"` }
Keystore json file representation as a Go struct.
type Kind ¶
type Kind int
Kind defines an enum for either local, derived, or remote-signing keystores for Prysm wallets.
const ( // Local keymanager defines an on-disk, encrypted keystore-capable store. Local Kind = iota // Derived keymanager using a hierarchical-deterministic algorithm. Derived // Remote keymanager capable of remote-signing data. Remote // Web3Signer keymanager capable of signing data using a remote signer called Web3Signer. Web3Signer )
type PublicKeyAdder ¶
type PublicKeyAdder interface {
AddPublicKeys(ctx context.Context, publicKeys [][fieldparams.BLSPubkeyLength]byte) ([]*ethpbservice.ImportedRemoteKeysStatus, error)
}
PublicKeyAdder allows adding public keys to the keymanager.
type PublicKeyDeleter ¶
type PublicKeyDeleter interface {
DeletePublicKeys(ctx context.Context, publicKeys [][fieldparams.BLSPubkeyLength]byte) ([]*ethpbservice.DeletedRemoteKeysStatus, error)
}
PublicKeyDeleter allows deleting public keys set in keymanager.
type PublicKeysFetcher ¶
type PublicKeysFetcher interface {
FetchValidatingPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error)
}
PublicKeysFetcher for validating public keys.
type Signer ¶
type Signer interface {
Sign(context.Context, *validatorpb.SignRequest) (bls.Signature, error)
}
Signer allows signing messages using a validator private key.
Directories ¶
Path | Synopsis |
---|---|
Package local defines an implementation of an on-disk, EIP-2335 keystore.json approach towards defining validator accounts in Prysm.
|
Package local defines an implementation of an on-disk, EIP-2335 keystore.json approach towards defining validator accounts in Prysm. |
Package remote defines an implementation of an on-disk, EIP-2335 keystore.json approach towards defining validator accounts in Prysm.
|
Package remote defines an implementation of an on-disk, EIP-2335 keystore.json approach towards defining validator accounts in Prysm. |
v1
Package v1 defines mappings of types as defined by the web3signer official specification for its v1 version i.e.
|
Package v1 defines mappings of types as defined by the web3signer official specification for its v1 version i.e. |