Documentation
¶
Index ¶
- Constants
- Variables
- type BlockNumberWithError
- type ChainTracker
- type Committer
- type CommitterOption
- type Orchestrator
- type Poller
- type PollerOption
- type ReorgHandler
- type Validator
- func (v *Validator) FindAndFixGaps(startBlock *big.Int, endBlock *big.Int) error
- func (v *Validator) FixBlocks(invalidBlocks []*big.Int, fixBatchSize int) error
- func (v *Validator) ValidateBlock(blockData common.BlockData) (valid bool, err error)
- func (v *Validator) ValidateBlockRange(startBlock *big.Int, endBlock *big.Int) (validBlocks []common.BlockData, invalidBlocks []common.BlockData, err error)
- func (v *Validator) ValidateBlocks(blocks []common.BlockData) (validBlocks []common.BlockData, invalidBlocks []common.BlockData, err error)
- type WorkMode
- type WorkModeMonitor
Constants ¶
View Source
const ( DEFAULT_PARALLEL_POLLERS = 5 DEFAULT_LOOKAHEAD_BATCHES = 5 )
View Source
const ( DEFAULT_WORK_MODE_CHECK_INTERVAL = 10 DEFAULT_LIVE_MODE_THRESHOLD = 500 WorkModeLive WorkMode = "live" WorkModeBackfill WorkMode = "backfill" )
View Source
const DEFAULT_BLOCKS_PER_COMMIT = 1000
View Source
const DEFAULT_CHAIN_TRACKER_POLL_INTERVAL = 60 * 1000 // 1 minutes
View Source
const DEFAULT_COMMITTER_TRIGGER_INTERVAL = 2000
View Source
const DEFAULT_REORG_HANDLER_BLOCKS_PER_SCAN = 100
View Source
const DEFAULT_REORG_HANDLER_INTERVAL = 1000
Variables ¶
View Source
var ErrBlocksProcessed = fmt.Errorf("blocks are being processed")
View Source
var ErrNoNewBlocks = fmt.Errorf("no new blocks to poll")
Functions ¶
This section is empty.
Types ¶
type BlockNumberWithError ¶
type ChainTracker ¶
type ChainTracker struct {
// contains filtered or unexported fields
}
func NewChainTracker ¶
func NewChainTracker(rpc rpc.IRPCClient) *ChainTracker
func (*ChainTracker) Start ¶
func (ct *ChainTracker) Start(ctx context.Context)
type Committer ¶
type Committer struct {
// contains filtered or unexported fields
}
func NewCommitter ¶
func NewCommitter(rpc rpc.IRPCClient, storage storage.IStorage, poller *Poller, opts ...CommitterOption) *Committer
type CommitterOption ¶
type CommitterOption func(*Committer)
func WithValidator ¶
func WithValidator(validator *Validator) CommitterOption
type Orchestrator ¶
type Orchestrator struct {
// contains filtered or unexported fields
}
func NewOrchestrator ¶
func NewOrchestrator(rpc rpc.IRPCClient) (*Orchestrator, error)
func (*Orchestrator) Start ¶
func (o *Orchestrator) Start()
type Poller ¶
type Poller struct {
// contains filtered or unexported fields
}
func NewPoller ¶
func NewPoller(rpc rpc.IRPCClient, storage storage.IStorage, opts ...PollerOption) *Poller
type PollerOption ¶
type PollerOption func(*Poller)
func WithPollerWorker ¶
func WithPollerWorker(cfg *worker.Worker) PollerOption
type ReorgHandler ¶
type ReorgHandler struct {
// contains filtered or unexported fields
}
func NewReorgHandler ¶
func NewReorgHandler(rpc rpc.IRPCClient, storage storage.IStorage) *ReorgHandler
func (*ReorgHandler) RunFromBlock ¶
func (*ReorgHandler) Start ¶
func (rh *ReorgHandler) Start(ctx context.Context)
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
func NewValidator ¶
func (*Validator) FindAndFixGaps ¶
func (*Validator) ValidateBlock ¶
func (*Validator) ValidateBlockRange ¶
func (v *Validator) ValidateBlockRange(startBlock *big.Int, endBlock *big.Int) (validBlocks []common.BlockData, invalidBlocks []common.BlockData, err error)
*
- Validate blocks in the range of startBlock to endBlock
- @param startBlock - The start block number (inclusive)
- @param endBlock - The end block number (inclusive)
- @return error - An error if the validation fails
type WorkModeMonitor ¶
type WorkModeMonitor struct {
// contains filtered or unexported fields
}
func NewWorkModeMonitor ¶
func NewWorkModeMonitor(rpc rpc.IRPCClient, storage storage.IStorage) *WorkModeMonitor
func (*WorkModeMonitor) RegisterChannel ¶
func (m *WorkModeMonitor) RegisterChannel(ch chan WorkMode)
RegisterChannel adds a new channel to receive work mode updates
func (*WorkModeMonitor) Start ¶
func (m *WorkModeMonitor) Start(ctx context.Context)
func (*WorkModeMonitor) UnregisterChannel ¶
func (m *WorkModeMonitor) UnregisterChannel(ch chan WorkMode)
UnregisterChannel removes a channel from receiving work mode updates
Click to show internal directories.
Click to hide internal directories.