Documentation
¶
Index ¶
- func InitChainService(ctx context.Context, logger logrus.FieldLogger)
- func StartCallRateLimiter(proxyCount uint, rateLimit uint, burstLimit uint) error
- func StartFrontendCache() error
- func StartTxSignaturesService() error
- type CallRateLimiter
- type ChainService
- func (bs *ChainService) CheckBlockOrphanedStatus(blockRoot phase0.Root) dbtypes.SlotStatus
- func (bs *ChainService) GetBeaconIndexer() *beacon.Indexer
- func (bs *ChainService) GetBlobSidecarsByBlockRoot(ctx context.Context, blockroot []byte) ([]*deneb.BlobSidecar, error)
- func (bs *ChainService) GetBlockBlob(ctx context.Context, blockroot phase0.Root, commitment deneb.KZGCommitment) (*deneb.BlobSidecar, error)
- func (bs *ChainService) GetCachedValidatorPubkeyMap() map[phase0.BLSPubKey]*v1.Validator
- func (bs *ChainService) GetCachedValidatorSet() []*v1.Validator
- func (bs *ChainService) GetChainState() *consensus.ChainState
- func (bs *ChainService) GetConsensusClientForks() []*ConsensusClientFork
- func (bs *ChainService) GetConsensusClients() []*consensus.Client
- func (bs *ChainService) GetConsolidationIndexer() *execindexer.ConsolidationIndexer
- func (bs *ChainService) GetConsolidationRequestsByFilter(filter *dbtypes.ConsolidationRequestFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.ConsolidationRequest, uint64)
- func (bs *ChainService) GetDbBlocksByFilter(filter *dbtypes.BlockFilter, pageIdx uint64, pageSize uint32, ...) []*dbtypes.AssignedSlot
- func (bs *ChainService) GetDbBlocksByParentRoot(parentRoot phase0.Root) []*dbtypes.Slot
- func (bs *ChainService) GetDbBlocksForSlots(firstSlot uint64, slotLimit uint32, withMissing bool, withOrphaned bool) []*dbtypes.Slot
- func (bs *ChainService) GetDbEpochs(firstEpoch uint64, limit uint32) []*dbtypes.Epoch
- func (bs *ChainService) GetExecutionClients() []*execution.Client
- func (bs *ChainService) GetFinalizedEpoch() (phase0.Epoch, phase0.Root)
- func (bs *ChainService) GetGenesis() (*v1.Genesis, error)
- func (bs *ChainService) GetHeadForks(readyOnly bool) []*beacon.ForkHead
- func (bs *ChainService) GetIncludedDepositsByFilter(filter *dbtypes.DepositFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.Deposit, uint64)
- func (bs *ChainService) GetParentForkIds(forkId beacon.ForkKey) []beacon.ForkKey
- func (bs *ChainService) GetSlashingsByFilter(filter *dbtypes.SlashingFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.Slashing, uint64)
- func (bs *ChainService) GetSlotDetailsByBlockroot(ctx context.Context, blockroot phase0.Root) (*CombinedBlockResponse, error)
- func (bs *ChainService) GetSlotDetailsBySlot(ctx context.Context, slot phase0.Slot) (*CombinedBlockResponse, error)
- func (bs *ChainService) GetValidatorActivity(epochLimit uint64, withCurrentEpoch bool) (map[phase0.ValidatorIndex]uint8, uint64)
- func (bs *ChainService) GetValidatorName(index uint64) string
- func (bs *ChainService) GetValidatorNamesCount() uint64
- func (bs *ChainService) GetVoluntaryExitsByFilter(filter *dbtypes.VoluntaryExitFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.VoluntaryExit, uint64)
- func (bs *ChainService) GetWithdrawalIndexer() *execindexer.WithdrawalIndexer
- func (bs *ChainService) GetWithdrawalRequestsByFilter(filter *dbtypes.WithdrawalRequestFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.WithdrawalRequest, uint64)
- func (cs *ChainService) StartService() error
- type CombinedBlockResponse
- type ConsensusClientFork
- type FrontendCachePageError
- type FrontendCacheProcessingPage
- type FrontendCacheService
- type PageDataHandlerFn
- type TxSignaturesLookup
- type TxSignaturesService
- type ValidatorNames
- func (vn *ValidatorNames) GetValidatorName(index uint64) string
- func (vn *ValidatorNames) GetValidatorNameByPubkey(pubkey []byte) string
- func (vn *ValidatorNames) GetValidatorNamesCount() uint64
- func (vn *ValidatorNames) LoadValidatorNames() chan bool
- func (vn *ValidatorNames) StartUpdater()
- func (vn *ValidatorNames) UpdateDb() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitChainService ¶ added in v1.11.0
func InitChainService(ctx context.Context, logger logrus.FieldLogger)
InitChainService is used to initialize the global beaconchain service
func StartCallRateLimiter ¶
StartFrontendCache is used to start the global frontend cache service
func StartFrontendCache ¶
func StartFrontendCache() error
StartFrontendCache is used to start the global frontend cache service
func StartTxSignaturesService ¶
func StartTxSignaturesService() error
StartTxSignaturesService is used to start the global transaction signatures service
Types ¶
type CallRateLimiter ¶
type CallRateLimiter struct {
// contains filtered or unexported fields
}
var GlobalCallRateLimiter *CallRateLimiter
func (*CallRateLimiter) CheckCallLimit ¶
func (crl *CallRateLimiter) CheckCallLimit(r *http.Request, callCost uint) error
type ChainService ¶
type ChainService struct {
// contains filtered or unexported fields
}
var GlobalBeaconService *ChainService
func (*ChainService) CheckBlockOrphanedStatus ¶
func (bs *ChainService) CheckBlockOrphanedStatus(blockRoot phase0.Root) dbtypes.SlotStatus
func (*ChainService) GetBeaconIndexer ¶ added in v1.11.0
func (bs *ChainService) GetBeaconIndexer() *beacon.Indexer
func (*ChainService) GetBlobSidecarsByBlockRoot ¶
func (bs *ChainService) GetBlobSidecarsByBlockRoot(ctx context.Context, blockroot []byte) ([]*deneb.BlobSidecar, error)
GetBlobSidecarsByBlockRoot retrieves the blob sidecars for a given block root. It first tries to find a client that has the block root in its cache, and if not found, it falls back to a random ready client. It then retrieves the blob sidecars for the block root and returns them.
func (*ChainService) GetBlockBlob ¶ added in v1.11.0
func (bs *ChainService) GetBlockBlob(ctx context.Context, blockroot phase0.Root, commitment deneb.KZGCommitment) (*deneb.BlobSidecar, error)
GetBlockBlob retrieves the blob sidecar for a given block root and commitment. It first tries to find a client that has the block root in its cache, and if not found, it falls back to a random ready client. It then retrieves the blob sidecars for the block root and checks if any of them match the given commitment. If a match is found, it returns the blob sidecar, otherwise it returns nil.
func (*ChainService) GetCachedValidatorPubkeyMap ¶
func (bs *ChainService) GetCachedValidatorPubkeyMap() map[phase0.BLSPubKey]*v1.Validator
func (*ChainService) GetCachedValidatorSet ¶
func (bs *ChainService) GetCachedValidatorSet() []*v1.Validator
func (*ChainService) GetChainState ¶ added in v1.11.0
func (bs *ChainService) GetChainState() *consensus.ChainState
func (*ChainService) GetConsensusClientForks ¶ added in v1.11.0
func (bs *ChainService) GetConsensusClientForks() []*ConsensusClientFork
func (*ChainService) GetConsensusClients ¶ added in v1.10.0
func (bs *ChainService) GetConsensusClients() []*consensus.Client
func (*ChainService) GetConsolidationIndexer ¶ added in v1.12.1
func (bs *ChainService) GetConsolidationIndexer() *execindexer.ConsolidationIndexer
func (*ChainService) GetConsolidationRequestsByFilter ¶ added in v1.12.0
func (bs *ChainService) GetConsolidationRequestsByFilter(filter *dbtypes.ConsolidationRequestFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.ConsolidationRequest, uint64)
func (*ChainService) GetDbBlocksByFilter ¶
func (bs *ChainService) GetDbBlocksByFilter(filter *dbtypes.BlockFilter, pageIdx uint64, pageSize uint32, withScheduledCount uint64) []*dbtypes.AssignedSlot
GetDbBlocksByFilter retrieves a filtered range of blocks from cache & database. The filter parameter specifies the filter criteria. The pageIdx parameter specifies the page index. The pageSize parameter specifies the page size. The withScheduledCount parameter specifies the number of scheduled slots to include. The returned slice contains the retrieved blocks.
func (*ChainService) GetDbBlocksByParentRoot ¶
func (bs *ChainService) GetDbBlocksByParentRoot(parentRoot phase0.Root) []*dbtypes.Slot
func (*ChainService) GetDbBlocksForSlots ¶
func (bs *ChainService) GetDbBlocksForSlots(firstSlot uint64, slotLimit uint32, withMissing bool, withOrphaned bool) []*dbtypes.Slot
GetDbBlocksForSlots retrieves blocks for a range of slots from cache & database. The firstSlot parameter specifies the starting slot. The slotLimit parameter limits the number of slots to retrieve. The withMissing parameter indicates whether to include missing blocks. The withOrphaned parameter indicates whether to include orphaned blocks. The returned slice contains the retrieved blocks.
func (*ChainService) GetDbEpochs ¶
func (bs *ChainService) GetDbEpochs(firstEpoch uint64, limit uint32) []*dbtypes.Epoch
func (*ChainService) GetExecutionClients ¶ added in v1.10.0
func (bs *ChainService) GetExecutionClients() []*execution.Client
func (*ChainService) GetFinalizedEpoch ¶
func (bs *ChainService) GetFinalizedEpoch() (phase0.Epoch, phase0.Root)
func (*ChainService) GetGenesis ¶
func (bs *ChainService) GetGenesis() (*v1.Genesis, error)
func (*ChainService) GetHeadForks ¶
func (bs *ChainService) GetHeadForks(readyOnly bool) []*beacon.ForkHead
func (*ChainService) GetIncludedDepositsByFilter ¶
func (bs *ChainService) GetIncludedDepositsByFilter(filter *dbtypes.DepositFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.Deposit, uint64)
func (*ChainService) GetParentForkIds ¶ added in v1.12.1
func (bs *ChainService) GetParentForkIds(forkId beacon.ForkKey) []beacon.ForkKey
func (*ChainService) GetSlashingsByFilter ¶
func (bs *ChainService) GetSlashingsByFilter(filter *dbtypes.SlashingFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.Slashing, uint64)
func (*ChainService) GetSlotDetailsByBlockroot ¶
func (bs *ChainService) GetSlotDetailsByBlockroot(ctx context.Context, blockroot phase0.Root) (*CombinedBlockResponse, error)
GetSlotDetailsByBlockroot retrieves the combined block details for a given block root. It first checks if the block root is present in the beacon indexer's block cache. If found, it constructs a CombinedBlockResponse using the block information from the cache. If not found, it checks if the block root is present in the orphaned block database. If found, it constructs a CombinedBlockResponse with the orphaned block information. If not found in either cache or db, it retrieves the block header and block body from a random ready client and constructs a CombinedBlockResponse with the retrieved information.
func (*ChainService) GetSlotDetailsBySlot ¶
func (bs *ChainService) GetSlotDetailsBySlot(ctx context.Context, slot phase0.Slot) (*CombinedBlockResponse, error)
GetSlotDetailsBySlot retrieves the combined block details for a given slot. It first checks if there are any blocks in the beacon indexer's block cache for the given slot. If found, it constructs a CombinedBlockResponse using the block information from the cache. If not found, it retrieves the block header and block body from a random ready client using the slot and constructs a CombinedBlockResponse with the retrieved information.
func (*ChainService) GetValidatorActivity ¶
func (bs *ChainService) GetValidatorActivity(epochLimit uint64, withCurrentEpoch bool) (map[phase0.ValidatorIndex]uint8, uint64)
func (*ChainService) GetValidatorName ¶
func (bs *ChainService) GetValidatorName(index uint64) string
func (*ChainService) GetValidatorNamesCount ¶
func (bs *ChainService) GetValidatorNamesCount() uint64
func (*ChainService) GetVoluntaryExitsByFilter ¶
func (bs *ChainService) GetVoluntaryExitsByFilter(filter *dbtypes.VoluntaryExitFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.VoluntaryExit, uint64)
func (*ChainService) GetWithdrawalIndexer ¶ added in v1.12.1
func (bs *ChainService) GetWithdrawalIndexer() *execindexer.WithdrawalIndexer
func (*ChainService) GetWithdrawalRequestsByFilter ¶ added in v1.12.0
func (bs *ChainService) GetWithdrawalRequestsByFilter(filter *dbtypes.WithdrawalRequestFilter, pageIdx uint64, pageSize uint32) ([]*dbtypes.WithdrawalRequest, uint64)
func (*ChainService) StartService ¶ added in v1.11.0
func (cs *ChainService) StartService() error
StartService is used to start the beaconchain service
type CombinedBlockResponse ¶
type CombinedBlockResponse struct {
Root phase0.Root
Header *phase0.SignedBeaconBlockHeader
Block *spec.VersionedSignedBeaconBlock
Orphaned bool
}
type ConsensusClientFork ¶ added in v1.11.0
type FrontendCachePageError ¶
type FrontendCachePageError struct {
// contains filtered or unexported fields
}
func (FrontendCachePageError) Error ¶
func (e FrontendCachePageError) Error() string
func (FrontendCachePageError) Name ¶
func (e FrontendCachePageError) Name() string
func (FrontendCachePageError) Stack ¶
func (e FrontendCachePageError) Stack() string
type FrontendCacheService ¶
type FrontendCacheService struct {
// contains filtered or unexported fields
}
var GlobalFrontendCache *FrontendCacheService
func (*FrontendCacheService) ProcessCachedPage ¶
func (fc *FrontendCacheService) ProcessCachedPage(pageKey string, caching bool, returnValue interface{}, buildFn PageDataHandlerFn) (interface{}, error)
type PageDataHandlerFn ¶
type PageDataHandlerFn = func(pageCall *FrontendCacheProcessingPage) interface{}
type TxSignaturesLookup ¶
type TxSignaturesLookup struct {
Bytes types.TxSignatureBytes
Signature string
Name string
Status types.TxSignatureLookupStatus
}
type TxSignaturesService ¶
type TxSignaturesService struct {
}
var GlobalTxSignaturesService *TxSignaturesService
func (*TxSignaturesService) LookupSignatures ¶
func (tss *TxSignaturesService) LookupSignatures(sigBytes []types.TxSignatureBytes) map[types.TxSignatureBytes]*TxSignaturesLookup
type ValidatorNames ¶
type ValidatorNames struct {
// contains filtered or unexported fields
}
func NewValidatorNames ¶
func NewValidatorNames(beaconIndexer *beacon.Indexer, chainState *consensus.ChainState) *ValidatorNames
func (*ValidatorNames) GetValidatorName ¶
func (vn *ValidatorNames) GetValidatorName(index uint64) string
func (*ValidatorNames) GetValidatorNameByPubkey ¶
func (vn *ValidatorNames) GetValidatorNameByPubkey(pubkey []byte) string
func (*ValidatorNames) GetValidatorNamesCount ¶
func (vn *ValidatorNames) GetValidatorNamesCount() uint64
func (*ValidatorNames) LoadValidatorNames ¶
func (vn *ValidatorNames) LoadValidatorNames() chan bool
func (*ValidatorNames) StartUpdater ¶
func (vn *ValidatorNames) StartUpdater()
func (*ValidatorNames) UpdateDb ¶ added in v1.11.0
func (vn *ValidatorNames) UpdateDb() error