Documentation
¶
Overview ¶
Package probedb defines a probe data store.
Index ¶
- type AggregateAttestation
- type AggregateAttestationFilter
- type AggregateAttestationsProvider
- type AggregateAttestationsSetter
- type AttestationSummariesProvider
- type AttestationSummariesSetter
- type AttestationSummary
- type AttestationSummaryFilter
- type BlockDelaysProvider
- type BlockDelaysSetter
- type Delay
- type DelayFilter
- type HeadDelaysProvider
- type HeadDelaysSetter
- type Order
- type Selection
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggregateAttestation ¶ added in v0.3.1
type AggregateAttestation struct {
IPAddr net.IP
Source string
Method string
Slot uint32
CommitteeIndex uint16
AggregationBits []byte
BeaconBlockRoot []byte
SourceRoot []byte
TargetRoot []byte
DelayMS uint32
}
AggregateAttestation holds information about an aggregate attestation.
type AggregateAttestationFilter ¶ added in v0.3.1
type AggregateAttestationFilter struct {
// IPAddr is the IP address from which to fetch results.
// If empty then there is no IP address filter.
IPAddr string
// Sources are the beacon nodes from which to fetch results.
// If empty then there is no source filter.
Sources []string
// Methods are the collection methods from which to fetch results.
// If empty then there is no method filter.
Methods []string
// From is the slot of the earliest result to fetch.
// If nil then there is no earliest slot.
From *phase0.Slot
// To is the slot of the latest result to fetch.
// If nil then there is no latest slot.
To *phase0.Slot
// Order is either OrderEarliest, in which case the earliest results
// that match the filter are returned, or OrderLatest, in which case the
// latest results that match the filter are returned.
// The default is OrderEarliest.
Order Order
// Limit is the maximum number of results to return.
// If 0 then there is no limit.
Limit uint32
}
AggregateAttestationFilter defines a filter for fetching aggregate attestations. Filter elements are ANDed together. Results are always returned in ascending slot/method/IP address/source order.
type AggregateAttestationsProvider ¶ added in v0.3.1
type AggregateAttestationsProvider interface {
// AggregateAttestations obtains the aggregate attestations for a filter.
AggregateAttestations(ctx context.Context, filter *AggregateAttestationFilter) ([]*AggregateAttestation, error)
}
AggregateAttestationsProvider defines functions to obtain aggregate attestations.
type AggregateAttestationsSetter ¶ added in v0.3.1
type AggregateAttestationsSetter interface {
Service
// SetAggregateAttestation sets an aggregate attestation.
SetAggregateAttestation(ctx context.Context, aggregateAttestation *AggregateAttestation) error
}
AggregateAttestationsSetter defines functions to create and update aggregate attestations.
type AttestationSummariesProvider ¶ added in v0.3.1
type AttestationSummariesProvider interface {
// AttestationSummaries obtains the attestation summaries for a filter.
AttestationSummaries(ctx context.Context, filter *AttestationSummaryFilter) ([]*AttestationSummary, error)
}
AttestationSummariesProvider defines functions to obtain attestation summaries.
type AttestationSummariesSetter ¶ added in v0.3.1
type AttestationSummariesSetter interface {
Service
// SetAttestationSummary sets an attestation summary.
SetAttestationSummary(ctx context.Context, summary *AttestationSummary) error
}
AttestationSummariesSetter defines functions to create and update attestation summaries.
type AttestationSummary ¶ added in v0.3.1
type AttestationSummary struct {
IPAddr net.IP
Source string
Method string
Slot uint32
CommitteeIndex uint16
BeaconBlockRoot []byte
SourceRoot []byte
TargetRoot []byte
// AttesterBuckets contains the information about when specific indices
// were first seen.
// This is a raw representation of a github.com/prysmaticlabs/go-bitfield.Bitlist
AttesterBuckets [][]byte
}
AttestationSummary holds summary information about an attestation.
type AttestationSummaryFilter ¶ added in v0.3.1
type AttestationSummaryFilter struct {
// IPAddr is the IP address from which to fetch data.
// If empty then there is no IP address filter.
IPAddr string
// Sources are the beacon nodes from which to fetch results.
// If empty then there is no source filter.
Sources []string
// Methods are the collection methods from which to fetch results.
// If empty then there is no method filter.
Methods []string
// From is the slot of the earliest data to fetch.
// If nil then there is no earliest slot.
From *phase0.Slot
// To is the slot of the latest data to fetch.
// If nil then there is no latest slot.
To *phase0.Slot
// Order is either OrderEarliest, in which case the earliest results
// that match the filter are returned, or OrderLatest, in which case the
// latest results that match the filter are returned.
// The default is OrderEarliest.
Order Order
// Limit is the maximum number of results to return.
// If 0 then there is no limit.
Limit uint32
}
AttestationSummaryFilter defines a filter for fetching attestation summaries. Filter elements are ANDed together. Results are always returned in ascending slot/method/IP address/source order.
type BlockDelaysProvider ¶
type BlockDelaysProvider interface {
// BlockDelays obtains the block delays for a range of slots.
BlockDelays(ctx context.Context, filter *DelayFilter) ([]*Delay, error)
}
BlockDelaysProvider defines functions to obtain block delays.
type BlockDelaysSetter ¶
type BlockDelaysSetter interface {
Service
// SetBlockDelay sets a block delay.
SetBlockDelay(ctx context.Context, delay *Delay) error
}
BlockDelaysSetter defines functions to create and update block delays.
type DelayFilter ¶
type DelayFilter struct {
// IPAddr is the IP address from which to fetch delays.
// If empty then there is no IP address filter.
IPAddr string
// Sources are the beacon nodes from which to fetch results.
// If empty then there is no source filter.
Sources []string
// Methods are the collection methods from which to fetch results.
// If empty then there is no method filter.
Methods []string
// From is the slot of the earliest delay to fetch.
// If nil then there is no earliest slot.
From *phase0.Slot
// To is the slot of the latest delay to fetch.
// If nil then there is no latest slot.
To *phase0.Slot
// Order is either OrderEarliest, in which case the earliest results
// that match the filter are returned, or OrderLatest, in which case the
// latest results that match the filter are returned.
// The default is OrderEarliest.
Order Order
// Selection is the selection of the delay(s).
// The default is SelectionMinimum.
Selection Selection
}
DelayFilter defines a filter for fetching delays. Filter elements are ANDed together. Results are always returned in ascending slot/method/IP address/source order.
type HeadDelaysProvider ¶
type HeadDelaysProvider interface {
// HeadDelays obtains the minimum head delays for a range of slots.
HeadDelays(ctx context.Context, filter *DelayFilter) ([]*Delay, error)
}
HeadDelaysProvider defines functions to obtain head delays.
type HeadDelaysSetter ¶
type HeadDelaysSetter interface {
Service
// SetHeadDelay sets a head delay.
SetHeadDelay(ctx context.Context, delay *Delay) error
}
HeadDelaysSetter defines functions to create and update head delays.
type Order ¶
type Order uint8
Order is the order in which results should be fetched (N.B. fetched, not returned).
type Selection ¶
type Selection uint8
Selection is the selection criterion when multiple delays are present.
type Service ¶
type Service interface {
// BeginTx begins a transaction.
BeginTx(ctx context.Context) (context.Context, context.CancelFunc, error)
// CommitTx commits a transaction.
CommitTx(ctx context.Context) error
// SetMetadata sets a metadata key to a JSON value.
SetMetadata(ctx context.Context, key string, value []byte) error
// Metadata obtains the JSON value from a metadata key.
Metadata(ctx context.Context, key string) ([]byte, error)
}
Service defines a minimal probe database service.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package mock provides a mock probe database.
|
Package mock provides a mock probe database. |
|
Package postgresql provides a postgresql implementation of the probe database.
|
Package postgresql provides a postgresql implementation of the probe database. |