Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrForceInclusionNotConfigured is returned when force inclusion is not configured. ErrForceInclusionNotConfigured = da.ErrForceInclusionNotConfigured // ErrNoBatch is returned when a sequencer does not have a batch to return. ErrNoBatch = common.ErrNoBatch )
Exported errors used by the sequencers
Functions ¶
This section is empty.
Types ¶
type BlockOptions ¶
type BlockOptions = common.BlockOptions
BlockOptions defines the options for creating block components
func DefaultBlockOptions ¶
func DefaultBlockOptions() BlockOptions
DefaultBlockOptions returns the default block options
type Components ¶
type Components struct {
Executor *executing.Executor
Pruner *pruner.Pruner
Reaper *reaping.Reaper
Syncer *syncing.Syncer
Submitter *submitting.Submitter
Cache cache.Manager
// contains filtered or unexported fields
}
Components represents the block-related components
func NewAggregatorWithCatchupComponents ¶
func NewAggregatorWithCatchupComponents( config config.Config, genesis genesis.Genesis, store store.Store, exec coreexecutor.Executor, sequencer coresequencer.Sequencer, daClient da.Client, signer signer.Signer, headerSyncService *sync.HeaderSyncService, dataSyncService *sync.DataSyncService, logger zerolog.Logger, metrics *Metrics, blockOpts BlockOptions, raftNode common.RaftNode, ) (*Components, error)
NewAggregatorWithCatchupComponents creates aggregator components that include a Syncer for DA/P2P catchup before block production begins.
The caller should:
- Start the Syncer and wait for DA head + P2P catchup
- Stop the Syncer and set Components.Syncer = nil
- Call Components.Start() — which will start the Executor and other components
func NewSyncComponents ¶
func NewSyncComponents( config config.Config, genesis genesis.Genesis, store store.Store, exec coreexecutor.Executor, daClient da.Client, headerStore header.Store[*types.P2PSignedHeader], dataStore header.Store[*types.P2PData], headerDAHintAppender submitting.DAHintAppender, dataDAHintAppender submitting.DAHintAppender, logger zerolog.Logger, metrics *Metrics, blockOpts BlockOptions, raftNode common.RaftNode, ) (*Components, error)
NewSyncComponents creates components for a non-aggregator full node that can only sync blocks. Non-aggregator full nodes can sync from P2P and DA but cannot produce blocks or submit to DA. They have more sync capabilities than light nodes but no block production. No signer required.
type DAVerifier ¶
DAVerifier is the interface for DA proof verification operations.
type ForcedInclusionEvent ¶
type ForcedInclusionEvent = da.ForcedInclusionEvent
ForcedInclusionEvent represents forced inclusion transactions retrieved from DA
type ForcedInclusionRetriever ¶
type ForcedInclusionRetriever interface {
RetrieveForcedIncludedTxs(ctx context.Context, daHeight uint64) (*ForcedInclusionEvent, error)
Stop()
}
ForcedInclusionRetriever defines the interface for retrieving forced inclusion transactions from DA
func NewForcedInclusionRetriever ¶
func NewForcedInclusionRetriever( client DAClient, cfg config.Config, logger zerolog.Logger, daStartHeight, daEpochSize uint64, ) ForcedInclusionRetriever
NewForcedInclusionRetriever creates a new forced inclusion retriever. It internally creates and manages an AsyncBlockRetriever for background prefetching. Tracing is automatically enabled when configured.
type FullDAClient ¶
type FullDAClient = da.FullClient
FullDAClient combines DAClient and DAVerifier interfaces. This is the complete interface implemented by the concrete DA client.
func NewDAClient ¶
func NewDAClient( blobRPC *blobrpc.Client, config config.Config, logger zerolog.Logger, ) FullDAClient
NewDAClient creates a new DA client backed by the blob JSON-RPC API. The returned client implements both DAClient and DAVerifier interfaces.
type Metrics ¶
Expose Metrics for constructor
func PrometheusMetrics ¶
PrometheusMetrics creates a new PrometheusMetrics instance with the given namespace and labelsAndValues.