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.