Documentation ¶
Index ¶
- type Parameter
- func WithAccountPaths(accountPaths []string) Parameter
- func WithAggregateAndProofDomainProvider(provider eth2client.AggregateAndProofDomainProvider) Parameter
- func WithBeaconAttesterDomainProvider(provider eth2client.BeaconAttesterDomainProvider) Parameter
- func WithBeaconProposerDomainProvider(provider eth2client.BeaconProposerDomainProvider) Parameter
- func WithCACert(cert []byte) Parameter
- func WithClientCert(cert []byte) Parameter
- func WithClientKey(key []byte) Parameter
- func WithEndpoints(endpoints []string) Parameter
- func WithLogLevel(logLevel zerolog.Level) Parameter
- func WithMonitor(monitor metrics.AccountManagerMonitor) Parameter
- func WithRANDAODomainProvider(provider eth2client.RANDAODomainProvider) Parameter
- func WithSelectionProofDomainProvider(provider eth2client.SelectionProofDomainProvider) Parameter
- func WithSignatureDomainProvider(provider eth2client.SignatureDomainProvider) Parameter
- func WithSlotsPerEpochProvider(provider eth2client.SlotsPerEpochProvider) Parameter
- func WithValidatorsProvider(provider eth2client.ValidatorsProvider) Parameter
- type Service
- func (s *Service) Accounts(ctx context.Context) ([]accountmanager.ValidatingAccount, error)
- func (s *Service) AccountsByIndex(ctx context.Context, indices []uint64) ([]accountmanager.ValidatingAccount, error)
- func (s *Service) AccountsByPubKey(ctx context.Context, pubKeys [][]byte) ([]accountmanager.ValidatingAccount, error)
- func (s *Service) RefreshAccounts(ctx context.Context) error
- func (s *Service) UpdateAccountsState(ctx context.Context) error
- type ValidatingAccount
- func (d *ValidatingAccount) Index(ctx context.Context) (uint64, error)
- func (d *ValidatingAccount) PubKey(ctx context.Context) ([]byte, error)
- func (d *ValidatingAccount) SignAggregateAndProof(ctx context.Context, slot uint64, aggregateAndProofRoot []byte) ([]byte, error)
- func (d *ValidatingAccount) SignBeaconAttestation(ctx context.Context, slot uint64, committeeIndex uint64, blockRoot []byte, ...) ([]byte, error)
- func (d *ValidatingAccount) SignBeaconBlockProposal(ctx context.Context, slot uint64, proposerIndex uint64, parentRoot []byte, ...) ([]byte, error)
- func (d *ValidatingAccount) SignRANDAOReveal(ctx context.Context, slot uint64) ([]byte, error)
- func (d *ValidatingAccount) SignSlotSelection(ctx context.Context, slot uint64) ([]byte, error)
- func (d *ValidatingAccount) State() api.ValidatorState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Parameter ¶
type Parameter interface {
// contains filtered or unexported methods
}
Parameter is the interface for service parameters.
func WithAccountPaths ¶
WithAccountPaths sets the accounts paths for which to validate.
func WithAggregateAndProofDomainProvider ¶
func WithAggregateAndProofDomainProvider(provider eth2client.AggregateAndProofDomainProvider) Parameter
WithAggregateAndProofDomainProvider sets the aggregate and proof domain provider.
func WithBeaconAttesterDomainProvider ¶
func WithBeaconAttesterDomainProvider(provider eth2client.BeaconAttesterDomainProvider) Parameter
WithBeaconAttesterDomainProvider sets the beacon attester domain provider.
func WithBeaconProposerDomainProvider ¶
func WithBeaconProposerDomainProvider(provider eth2client.BeaconProposerDomainProvider) Parameter
WithBeaconProposerDomainProvider sets the beacon proposer domain provider.
func WithCACert ¶
WithCACert sets the bytes of the certificate authority TLS certificate.
func WithClientCert ¶
WithClientCert sets the bytes of the client TLS certificate.
func WithClientKey ¶
WithClientKey sets the bytes of the client TLS key.
func WithEndpoints ¶
WithEndpoints sets the endpoints to communicate with dirk.
func WithLogLevel ¶
WithLogLevel sets the log level for the module.
func WithMonitor ¶
func WithMonitor(monitor metrics.AccountManagerMonitor) Parameter
WithMonitor sets the monitor for the module.
func WithRANDAODomainProvider ¶
func WithRANDAODomainProvider(provider eth2client.RANDAODomainProvider) Parameter
WithRANDAODomainProvider sets the RANDAO domain provider.
func WithSelectionProofDomainProvider ¶
func WithSelectionProofDomainProvider(provider eth2client.SelectionProofDomainProvider) Parameter
WithSelectionProofDomainProvider sets the RANDAO domain provider.
func WithSignatureDomainProvider ¶
func WithSignatureDomainProvider(provider eth2client.SignatureDomainProvider) Parameter
WithSignatureDomainProvider sets the signature domain provider.
func WithSlotsPerEpochProvider ¶
func WithSlotsPerEpochProvider(provider eth2client.SlotsPerEpochProvider) Parameter
WithSlotsPerEpochProvider sets the slots per epoch provider.
func WithValidatorsProvider ¶
func WithValidatorsProvider(provider eth2client.ValidatorsProvider) Parameter
WithValidatorsProvider sets the validator status provider.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is the manager for dirk accounts.
func (*Service) Accounts ¶
func (s *Service) Accounts(ctx context.Context) ([]accountmanager.ValidatingAccount, error)
Accounts returns all attesting accounts.
func (*Service) AccountsByIndex ¶
func (s *Service) AccountsByIndex(ctx context.Context, indices []uint64) ([]accountmanager.ValidatingAccount, error)
AccountsByIndex returns attesting accounts.
func (*Service) AccountsByPubKey ¶
func (s *Service) AccountsByPubKey(ctx context.Context, pubKeys [][]byte) ([]accountmanager.ValidatingAccount, error)
AccountsByPubKey returns validating accounts.
func (*Service) RefreshAccounts ¶
RefreshAccounts refreshes the entire list of validating keys.
func (*Service) UpdateAccountsState ¶
UpdateAccountsState updates account state with the latest information from the beacon chain. This should be run at the beginning of each epoch to ensure that any newly-activated accounts are registered.
type ValidatingAccount ¶
type ValidatingAccount struct {
// contains filtered or unexported fields
}
ValidatingAccount is a wrapper around the dirk account that implements ValidatingAccount.
func (*ValidatingAccount) Index ¶
func (d *ValidatingAccount) Index(ctx context.Context) (uint64, error)
Index returns the index of the validating account.
func (*ValidatingAccount) PubKey ¶
func (d *ValidatingAccount) PubKey(ctx context.Context) ([]byte, error)
PubKey returns the public key of the validating account.
func (*ValidatingAccount) SignAggregateAndProof ¶
func (d *ValidatingAccount) SignAggregateAndProof(ctx context.Context, slot uint64, aggregateAndProofRoot []byte) ([]byte, error)
SignAggregateAndProof signs an aggregate and proof item.
func (*ValidatingAccount) SignBeaconAttestation ¶
func (d *ValidatingAccount) SignBeaconAttestation(ctx context.Context, slot uint64, committeeIndex uint64, blockRoot []byte, sourceEpoch uint64, sourceRoot []byte, targetEpoch uint64, targetRoot []byte) ([]byte, error)
SignBeaconAttestation signs a beacon attestation item.
func (*ValidatingAccount) SignBeaconBlockProposal ¶
func (d *ValidatingAccount) SignBeaconBlockProposal(ctx context.Context, slot uint64, proposerIndex uint64, parentRoot []byte, stateRoot []byte, bodyRoot []byte) ([]byte, error)
SignBeaconBlockProposal signs a beacon block proposal item.
func (*ValidatingAccount) SignRANDAOReveal ¶
SignRANDAOReveal returns a RANDAO reveal signature. This signs an epoch with the "RANDAO reveal" domain. N.B. This passes in a slot, not an epoch.
func (*ValidatingAccount) SignSlotSelection ¶
SignSlotSelection returns a slot selection signature. This signs a slot with the "selection proof" domain.
func (*ValidatingAccount) State ¶
func (d *ValidatingAccount) State() api.ValidatorState
State returns the state of the validating account.