erigon-pulse/cl/persistence/interface.go

24 lines
605 B
Go
Raw Normal View History

package persistence
import (
"context"
2023-09-14 00:56:29 +00:00
"database/sql"
"github.com/ledgerwatch/erigon/cl/cltypes"
"github.com/ledgerwatch/erigon/cl/sentinel/peers"
)
type BlockSource interface {
2023-09-14 00:56:29 +00:00
GetRange(tx *sql.Tx, ctx context.Context, from uint64, count uint64) ([]*peers.PeeredObject[*cltypes.SignedBeaconBlock], error)
PurgeRange(tx *sql.Tx, ctx context.Context, from uint64, count uint64) error
}
type BeaconChainWriter interface {
2023-09-14 00:56:29 +00:00
WriteBlock(tx *sql.Tx, ctx context.Context, block *cltypes.SignedBeaconBlock, canonical bool) error
}
type BeaconChainDatabase interface {
BlockSource
BeaconChainWriter
}