@proto-kit/protocolDocs


Documentation / @proto-kit/protocol / BlockProver

Class: BlockProver

BlockProver class, which aggregates a AppChainProof and a StateTransitionProof into a single BlockProof, that can then be merged to be committed to the base-layer contract

Extends

Implements

Constructors

new BlockProver()

new BlockProver(stateTransitionProver, transactionProver, blockHooks, stateServiceProvider, childVerificationKeyService): BlockProver

Parameters

stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> & StateTransitionProvable

transactionProver: WithZkProgrammable<TransactionProverPublicInput, TransactionProverPublicOutput> & TransactionProvable

blockHooks: ProvableBlockHook<unknown>[]

stateServiceProvider: StateServiceProvider

childVerificationKeyService: ChildVerificationKeyService

Returns

BlockProver

Overrides

ProtocolModule.constructor

Defined in

packages/protocol/src/prover/block/BlockProver.ts:770

Properties

currentConfig

protected currentConfig: undefined | NoConfig

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

Inherited from

ProtocolModule.currentConfig

Defined in

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


parent?

optional parent: ProtocolEnvironment

Inherited from

ProtocolModule.parent

Defined in

packages/protocol/src/protocol/ProtocolModule.ts:14


stateTransitionProver

readonly stateTransitionProver: WithZkProgrammable<StateTransitionProverPublicInput, StateTransitionProverPublicOutput> & StateTransitionProvable

Defined in

packages/protocol/src/prover/block/BlockProver.ts:772


transactionProver

readonly transactionProver: WithZkProgrammable<TransactionProverPublicInput, TransactionProverPublicOutput> & TransactionProvable

Defined in

packages/protocol/src/prover/block/BlockProver.ts:778


zkProgrammable

zkProgrammable: BlockProverProgrammable

Implementation of

BlockProvable.zkProgrammable

Defined in

packages/protocol/src/prover/block/BlockProver.ts:768

Accessors

areProofsEnabled

Get Signature

get areProofsEnabled(): undefined | AreProofsEnabled

Returns

undefined | AreProofsEnabled

Inherited from

ProtocolModule.areProofsEnabled

Defined in

packages/protocol/src/protocol/ProtocolModule.ts:16


config

Get Signature

get config(): Config

Returns

Config

Set Signature

set config(config): void

Parameters

config: Config

Returns

void

Inherited from

ProtocolModule.config

Defined in

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

Methods

compile()

compile(registry): Promise<undefined | Record<string, CompileArtifact>>

Parameters

registry: CompileRegistry

Returns

Promise<undefined | Record<string, CompileArtifact>>

Implementation of

CompilableModule.compile

Defined in

packages/protocol/src/prover/block/BlockProver.ts:800


create()

create(childContainerProvider): void

Parameters

childContainerProvider: ChildContainerProvider

Returns

void

Inherited from

ProtocolModule.create

Defined in

packages/protocol/src/protocol/ProtocolModule.ts:20


merge()

merge(publicInput, proof1, proof2): Promise<BlockProverPublicOutput>

Parameters

publicInput: BlockProverPublicInput

proof1: BlockProof

proof2: BlockProof

Returns

Promise<BlockProverPublicOutput>

Implementation of

BlockProvable.merge

Defined in

packages/protocol/src/prover/block/BlockProver.ts:854


proveBlockBatchNoProofs()

proveBlockBatchNoProofs(publicInput, stateWitness, networkState, blockWitness, batch, finalize): Promise<BlockProverPublicOutput>

Parameters

publicInput: BlockProverPublicInput

stateWitness: BlockProverStateInput

networkState: NetworkState

blockWitness: BlockHashMerkleTreeWitness

batch: BlockArgumentsBatch

finalize: Bool

Returns

Promise<BlockProverPublicOutput>

Implementation of

BlockProvable.proveBlockBatchNoProofs

Defined in

packages/protocol/src/prover/block/BlockProver.ts:812


proveBlockBatchWithProofs()

proveBlockBatchWithProofs(publicInput, stateWitness, networkState, blockWitness, batch, deferSTProof, deferTransactionProof, stateTransitionProof, transactionProof): Promise<BlockProverPublicOutput>

Parameters

publicInput: BlockProverPublicInput

stateWitness: BlockProverStateInput

networkState: NetworkState

blockWitness: BlockHashMerkleTreeWitness

batch: BlockArgumentsBatch

deferSTProof: Bool

deferTransactionProof: Bool

stateTransitionProof: DynamicSTProof

transactionProof: DynamicTransactionProof

Returns

Promise<BlockProverPublicOutput>

Implementation of

BlockProvable.proveBlockBatchWithProofs

Defined in

packages/protocol/src/prover/block/BlockProver.ts:830


start()

start(): Promise<void>

Returns

Promise<void>

Inherited from

ProtocolModule.start

Defined in

packages/protocol/src/protocol/ProtocolModule.ts:24