prysm-pulse/validator/db/iface/interface.go

21 lines
653 B
Go
Raw Normal View History

// Package iface exists to prevent circular dependencies when implementing the database interface.
package iface
import (
"context"
"io"
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.
ProposalHistory(ctx context.Context, publicKey []byte) (*slashpb.ProposalHistory, error)
SaveProposalHistory(ctx context.Context, publicKey []byte, history *slashpb.ProposalHistory) error
DeleteProposalHistory(ctx context.Context, publicKey []byte) error
}