block

package
v0.0.0-...-568787c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2023 License: Apache-2.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager is responsible for aggregating transactions into blocks.

func NewManager

func NewManager(
	proposerKey crypto.PrivKey,
	conf config.BlockManagerConfig,
	genesis *tmtypes.GenesisDoc,
	store store.Store,
	mempool mempool.Mempool,
	proxyApp proxy.AppConns,
	dalc da.DataAvailabilityLayerClient,
	settlementClient settlement.LayerI,
	eventBus *tmtypes.EventBus,
	pubsub *pubsub.Server,
	p2pClient *p2p.Client,
	logger log.Logger,
) (*Manager, error)

NewManager creates new block Manager.

func (*Manager) EventListener

func (m *Manager) EventListener(ctx context.Context)

EventListener registers events to callbacks.

func (*Manager) ProduceBlockLoop

func (m *Manager) ProduceBlockLoop(ctx context.Context)

ProduceBlockLoop is calling publishBlock in a loop as long as wer'e synced.

func (*Manager) RetrieveLoop

func (m *Manager) RetrieveLoop(ctx context.Context)

RetriveLoop listens for new sync messages written to a ring buffer and in turn runs syncUntilTarget on the latest message in the ring buffer.

func (*Manager) SetDALC

func (m *Manager) SetDALC(dalc da.DataAvailabilityLayerClient)

SetDALC is used to set DataAvailabilityLayerClient used by Manager. TODO(omritoptix): Remove this from here as it's only being used for tests.

func (*Manager) Start

func (m *Manager) Start(ctx context.Context, isAggregator bool) error

Start starts the block manager.

func (*Manager) SubmitLoop

func (m *Manager) SubmitLoop(ctx context.Context)

func (*Manager) SyncTargetLoop

func (m *Manager) SyncTargetLoop(ctx context.Context)

SyncTargetLoop is responsible for getting real time updates about batches submission. for non aggregator: updating the sync target which will be used by retrieveLoop to sync until this target. for aggregator: get notification that batch has been accepted so can send next batch.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL