@proto-kit/sequencerDocs


Documentation / @proto-kit/sequencer / BlockProducerModule

Class: BlockProducerModule

Lifecycle of a SequencerModule

start(): Executed to execute any logic required to start the module

Extends

Constructors

new BlockProducerModule()

new BlockProducerModule(mempool, unprovenStateService, unprovenLinkedLeafStore, unprovenTreeStore, blockQueue, transactionStorage, blockTreeStore, productionService, resultService, methodIdResolver, runtime, database, tracer): BlockProducerModule

Parameters

mempool: Mempool<MempoolEvents>

unprovenStateService: AsyncStateService

unprovenLinkedLeafStore: AsyncLinkedLeafStore

unprovenTreeStore: AsyncMerkleTreeStore

blockQueue: BlockQueue

transactionStorage: TransactionStorage

blockTreeStore: AsyncMerkleTreeStore

productionService: BlockProductionService

resultService: BlockResultService

methodIdResolver: MethodIdResolver

runtime: Runtime<RuntimeModulesRecord>

database: Database

tracer: Tracer

Returns

BlockProducerModule

Overrides

SequencerModule.constructor

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:40

Properties

currentConfig

protected currentConfig: undefined | BlockConfig

Store the config separately, so that we can apply additional checks when retrieving it via the getter

Inherited from

SequencerModule.currentConfig

Defined in

packages/common/dist/config/ConfigurableModule.d.ts:17


tracer

readonly tracer: Tracer

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:60


presets

static presets: Presets<unknown> = {}

Inherited from

SequencerModule.presets

Defined in

packages/sequencer/src/sequencer/builder/SequencerModule.ts:20

Accessors

config

Get Signature

get config(): Config

Returns

Config

Set Signature

set config(config): void

Parameters

config: Config

Returns

void

Inherited from

SequencerModule.config

Defined in

packages/common/dist/config/ConfigurableModule.d.ts:18

Methods

blockResultCompleteCheck()

blockResultCompleteCheck(): Promise<"genesis" | "existent" | "generated">

Returns

Promise<"genesis" | "existent" | "generated">

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:242


create()

create(childContainerProvider): void

Parameters

childContainerProvider: ChildContainerProvider

Returns

void

Inherited from

SequencerModule.create

Defined in

packages/common/dist/config/ConfigurableModule.d.ts:20


generateMetadata()

generateMetadata(block): Promise<BlockResult>

Parameters

block: Block

Returns

Promise<BlockResult>

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:109


start()

start(): Promise<void>

Start the module and all it’s functionality. The returned Promise has to resolve after initialization, since it will block in the sequencer init. That means that you mustn’t await server.start() for example.

Returns

Promise<void>

Overrides

SequencerModule.start

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:261


tryProduceBlock()

tryProduceBlock(): Promise<undefined | Block>

Returns

Promise<undefined | Block>

Defined in

packages/sequencer/src/protocol/production/sequencing/BlockProducerModule.ts:140