keymanager

package
v0.0.0-...-ab12051 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2020 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCannotSign = errors.New("cannot sign")

ErrCannotSign is returned whenever a signing attempt fails.

View Source
var ErrNoSuchKey = errors.New("no such key")

ErrNoSuchKey is returned whenever a request is made for a key of which a key manager is unaware.

Functions

This section is empty.

Types

type Direct

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

Direct is a key manager that holds all secret keys directly.

func NewDirect

func NewDirect(sks []*bls.SecretKey) *Direct

NewDirect creates a new direct key manager from the secret keys provided to it.

func (*Direct) FetchValidatingKeys

func (km *Direct) FetchValidatingKeys() ([][48]byte, error)

FetchValidatingKeys fetches the list of public keys that should be used to validate with.

func (*Direct) Sign

func (km *Direct) Sign(pubKey [48]byte, root [32]byte, domain uint64) (*bls.Signature, error)

Sign signs a message for the validator to broadcast.

type Interop

type Interop struct {
	*Direct
}

Interop is a key manager that deterministically generates keys.

func NewInterop

func NewInterop(input string) (*Interop, string, error)

NewInterop creates a key manager using a number of interop keys at a given offset.

type KeyManager

type KeyManager interface {
	// FetchValidatingKeys fetches the list of public keys that should be used to validate with.
	FetchValidatingKeys() ([][48]byte, error)
	// Sign signs a message for the validator to broadcast.
	Sign(pubKey [48]byte, root [32]byte, domain uint64) (*bls.Signature, error)
}

KeyManager controls access to private keys by the validator.

func NewKeystore

func NewKeystore(input string) (KeyManager, string, error)

NewKeystore creates a key manager populated with the keys from the keystore at the given path.

func NewWallet

func NewWallet(input string) (KeyManager, string, error)

NewWallet creates a key manager populated with the keys from a wallet at the given path.

type Keystore

type Keystore struct {
	*Direct
}

Keystore is a key manager that loads keys from a standard keystore.

type Unencrypted

type Unencrypted struct {
	*Direct
}

Unencrypted is a key manager that loads keys from an unencrypted store.

func NewUnencrypted

func NewUnencrypted(input string) (*Unencrypted, string, error)

NewUnencrypted creates a keymanager from a file of unencrypted keys.

type Wallet

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

Wallet is a key manager that loads keys from a local Ethereum 2 wallet.

func (*Wallet) FetchValidatingKeys

func (km *Wallet) FetchValidatingKeys() ([][48]byte, error)

FetchValidatingKeys fetches the list of public keys that should be used to validate with.

func (*Wallet) Sign

func (km *Wallet) Sign(pubKey [48]byte, root [32]byte, domain uint64) (*bls.Signature, error)

Sign signs a message for the validator to broadcast.

Jump to

Keyboard shortcuts

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