Documentation
¶
Index ¶
- Constants
- type AccountLister
- type Deleter
- type IKeymanager
- type Importer
- type KeyChangeSubscriber
- type KeyStatus
- type KeyStatusType
- type KeyStoreExtractor
- type KeysFetcher
- type Keystore
- type Kind
- type ListKeymanagerAccountConfig
- type PublicKeyAdder
- type PublicKeyDeleter
- type PublicKeysFetcher
- type Signer
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) ([]*KeyStatus, 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,
) ([]*KeyStatus, 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 KeyStatus ¶
type KeyStatus struct {
Status KeyStatusType `json:"status"`
Message string `json:"message"`
}
KeyStatus is a json representation of the status fields for the keymanager apis
type KeyStatusType ¶
type KeyStatusType string
KeyStatusType is a category of key status
const ( StatusImported KeyStatusType = "imported" StatusError KeyStatusType = "error" StatusDuplicate KeyStatusType = "duplicate" StatusUnknown KeyStatusType = "unknown" StatusNotFound KeyStatusType = "not_found" StatusDeleted KeyStatusType = "deleted" StatusNotActive KeyStatusType = "not_active" )
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"`
Description string `json:"description"`
Name string `json:"name,omitempty"` // field deprecated in favor of description, EIP2335
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.
type PublicKeyAdder ¶
PublicKeyAdder allows adding public keys to the keymanager.
type PublicKeyDeleter ¶
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. |
|
types
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. |