@proto-kit/protocol • Docs
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
Overrides
Defined in
packages/protocol/src/prover/block/BlockProver.ts:770
Properties
currentConfig
protectedcurrentConfig:undefined|NoConfig
Store the config separately, so that we can apply additional checks when retrieving it via the getter
Inherited from
Defined in
packages/common/dist/config/ConfigurableModule.d.ts:17
parent?
optionalparent:ProtocolEnvironment
Inherited from
Defined in
packages/protocol/src/protocol/ProtocolModule.ts:14
stateTransitionProver
readonlystateTransitionProver:WithZkProgrammable<StateTransitionProverPublicInput,StateTransitionProverPublicOutput> &StateTransitionProvable
Defined in
packages/protocol/src/prover/block/BlockProver.ts:772
transactionProver
readonlytransactionProver:WithZkProgrammable<TransactionProverPublicInput,TransactionProverPublicOutput> &TransactionProvable
Defined in
packages/protocol/src/prover/block/BlockProver.ts:778
zkProgrammable
zkProgrammable:
BlockProverProgrammable
Implementation of
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
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
Defined in
packages/protocol/src/prover/block/BlockProver.ts:800
create()
create(
childContainerProvider):void
Parameters
• childContainerProvider: ChildContainerProvider
Returns
void
Inherited from
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
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>