../../.cargo/katex-header.html

Type Alias AllRecursiveCircuits

Source
pub type AllRecursiveCircuits = AllRecursiveCircuits<Field, RecursionConfig, EXTENSION_DEGREE>;
Expand description

A type alias for the set of preprocessed circuits necessary to generate succinct block proofs.

Aliased Type§

pub struct AllRecursiveCircuits {
    pub root: RootCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub segment_aggregation: SegmentAggregationCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub batch_aggregation: BatchAggregationCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub block: BlockCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub block_wrapper: BlockWrapperCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub two_to_one_block: TwoToOneBlockCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>,
    pub by_table: [RecursiveCircuitsForTable<GoldilocksField, PoseidonGoldilocksConfig, 2>; 9],
    pub table_dummy_proofs: [Option<ShrunkProofData<GoldilocksField, PoseidonGoldilocksConfig, 2>>; 9],
}

Fields§

§root: RootCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

The EVM root circuit, which aggregates the (shrunk) per-table recursive proofs.

§segment_aggregation: SegmentAggregationCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

The segment aggregation circuit, which verifies that two segment proofs that can either be root or aggregation proofs.

§batch_aggregation: BatchAggregationCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

The transaction batch aggregation circuit, which verifies the aggregation of two proofs that can either be a segment aggregation representing a batch of transactions or an aggregation of those batches.

§block: BlockCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

The block circuit, which verifies a transaction aggregation proof and an optional previous block proof.

§block_wrapper: BlockWrapperCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

A single wrapping layer on top of a block proof for easy aggregation with additional block proofs from other chains.

§two_to_one_block: TwoToOneBlockCircuitData<GoldilocksField, PoseidonGoldilocksConfig, 2>

The two-to-one block aggregation circuit, which verifies two unrelated block proofs.

§by_table: [RecursiveCircuitsForTable<GoldilocksField, PoseidonGoldilocksConfig, 2>; 9]

Holds chains of circuits for each table and for each initial degree_bits.

§table_dummy_proofs: [Option<ShrunkProofData<GoldilocksField, PoseidonGoldilocksConfig, 2>>; 9]

Dummy proofs of each table for the root circuit.