Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrForceInclusionNotConfigured = da.ErrForceInclusionNotConfigured
ErrForceInclusionNotConfigured is returned when force inclusion is not configured. It is exported because sequencers needs to check for this error.
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
Reaper *reaping.Reaper
Syncer *syncing.Syncer
Submitter *submitting.Submitter
Cache cache.Manager
// contains filtered or unexported fields
}
Components represents the block-related components
func NewAggregatorComponents ¶
func NewAggregatorComponents( config config.Config, genesis genesis.Genesis, store store.Store, exec coreexecutor.Executor, sequencer coresequencer.Sequencer, daClient da.Client, signer signer.Signer, headerBroadcaster common.Broadcaster[*types.SignedHeader], dataBroadcaster common.Broadcaster[*types.Data], logger zerolog.Logger, metrics *Metrics, blockOpts BlockOptions, raftNode common.RaftNode, ) (*Components, error)
NewAggregatorComponents creates components for an aggregator full node that can produce and sync blocks. Aggregator nodes have full capabilities - they can produce blocks, sync from P2P and DA, and submit headers/data to DA. Requires a signer for block production and DA submission.
func NewSyncComponents ¶
func NewSyncComponents( config config.Config, genesis genesis.Genesis, store store.Store, exec coreexecutor.Executor, daClient da.Client, headerStore common.Broadcaster[*types.SignedHeader], dataStore common.Broadcaster[*types.Data], 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.