mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-16 06:58:20 +00:00
546196a6fa
* e2e docs * slasher docs * Merge branch 'other-package-godocs' of github.com:prysmaticlabs/prysm into other-package-godocs * all validator package comments * Merge branch 'master' into other-package-godocs * completed all other packages * Merge branch 'master' into other-package-godocs * Merge refs/heads/master into other-package-godocs
26 lines
1002 B
Go
26 lines
1002 B
Go
// Package iface defines an interface for the validator database.
|
|
package iface
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
|
|
"github.com/prysmaticlabs/go-bitfield"
|
|
slashpb "github.com/prysmaticlabs/prysm/proto/slashing"
|
|
)
|
|
|
|
// ValidatorDB defines the necessary methods for a Prysm validator DB.
|
|
type ValidatorDB interface {
|
|
io.Closer
|
|
DatabasePath() string
|
|
ClearDB() error
|
|
// Proposer protection related methods.
|
|
ProposalHistoryForEpoch(ctx context.Context, publicKey []byte, epoch uint64) (bitfield.Bitlist, error)
|
|
SaveProposalHistoryForEpoch(ctx context.Context, publicKey []byte, epoch uint64, history bitfield.Bitlist) error
|
|
DeleteProposalHistory(ctx context.Context, publicKey []byte) error
|
|
// Attester protection related methods.
|
|
AttestationHistory(ctx context.Context, publicKey []byte) (*slashpb.AttestationHistory, error)
|
|
SaveAttestationHistory(ctx context.Context, publicKey []byte, history *slashpb.AttestationHistory) error
|
|
DeleteAttestationHistory(ctx context.Context, publicKey []byte) error
|
|
}
|