mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 04:47:18 +00:00
fcfd828725
* Local protection schema update * Merge branch 'master' of github.com:prysmaticlabs/prysm into proposal_protection_schema_update * fix interface issue * fix lint * gaz * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Merge refs/heads/master into proposal_protection_schema_update * Update validator/db/kv/new_proposal_history_test.go
32 lines
1.3 KiB
Go
32 lines
1.3 KiB
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
|
|
UpdatePublicKeysBuckets(publicKeys [][48]byte) 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
|
|
//new data structure methods
|
|
ProposalHistoryForSlot(ctx context.Context, publicKey []byte, slot uint64) ([]byte, error)
|
|
SaveProposalHistoryForSlot(ctx context.Context, pubKey []byte, slot uint64, signingRoot []byte) error
|
|
|
|
// Attester protection related methods.
|
|
AttestationHistoryForPubKeys(ctx context.Context, publicKeys [][48]byte) (map[[48]byte]*slashpb.AttestationHistory, error)
|
|
SaveAttestationHistoryForPubKeys(ctx context.Context, historyByPubKey map[[48]byte]*slashpb.AttestationHistory) error
|
|
// Validator RPC authentication methods.
|
|
SaveHashedPasswordForAPI(ctx context.Context, hashedPassword []byte) error
|
|
HashedPasswordForAPI(ctx context.Context) ([]byte, error)
|
|
}
|