@@ -28,10 +28,6 @@ import type { ParityPublicInputs } from '@aztec/stdlib/parity';
2828import {
2929 type BaseRollupHints ,
3030 type BlockRollupPublicInputs ,
31- BlockRootEmptyTxFirstRollupPrivateInputs ,
32- BlockRootFirstRollupPrivateInputs ,
33- BlockRootSingleTxFirstRollupPrivateInputs ,
34- BlockRootSingleTxRollupPrivateInputs ,
3531 CheckpointConstantData ,
3632 PrivateTxBaseRollupPrivateInputs ,
3733 type PublicChonkVerifierPublicInputs ,
@@ -754,7 +750,9 @@ export class CheckpointSubTreeOrchestrator extends ProvingScheduler {
754750 return ;
755751 }
756752
757- const { rollupType, inputs } = provingState . getBlockRootRollupTypeAndInputs ( ) ;
753+ // Kept whole (not destructured) so the switch on the `rollupType` discriminant narrows `inputs` per case.
754+ const rollup = provingState . getBlockRootRollupTypeAndInputs ( ) ;
755+ const rollupType = rollup . rollupType ;
758756
759757 this . logger . debug ( `Enqueuing ${ rollupType } for block ${ provingState . blockNumber } .` ) ;
760758
@@ -763,16 +761,17 @@ export class CheckpointSubTreeOrchestrator extends ProvingScheduler {
763761 this . wrapCircuitCall (
764762 'getBlockRootRollupProof' ,
765763 signal => {
766- if ( inputs instanceof BlockRootFirstRollupPrivateInputs ) {
767- return this . prover . getBlockRootFirstRollupProof ( inputs , signal , provingState . epochNumber ) ;
768- } else if ( inputs instanceof BlockRootSingleTxFirstRollupPrivateInputs ) {
769- return this . prover . getBlockRootSingleTxFirstRollupProof ( inputs , signal , provingState . epochNumber ) ;
770- } else if ( inputs instanceof BlockRootEmptyTxFirstRollupPrivateInputs ) {
771- return this . prover . getBlockRootEmptyTxFirstRollupProof ( inputs , signal , provingState . epochNumber ) ;
772- } else if ( inputs instanceof BlockRootSingleTxRollupPrivateInputs ) {
773- return this . prover . getBlockRootSingleTxRollupProof ( inputs , signal , provingState . epochNumber ) ;
774- } else {
775- return this . prover . getBlockRootRollupProof ( inputs , signal , provingState . epochNumber ) ;
764+ switch ( rollup . rollupType ) {
765+ case 'rollup-block-root-first' :
766+ return this . prover . getBlockRootFirstRollupProof ( rollup . inputs , signal , provingState . epochNumber ) ;
767+ case 'rollup-block-root-first-single-tx' :
768+ return this . prover . getBlockRootSingleTxFirstRollupProof ( rollup . inputs , signal , provingState . epochNumber ) ;
769+ case 'rollup-block-root-first-empty-tx' :
770+ return this . prover . getBlockRootEmptyTxFirstRollupProof ( rollup . inputs , signal , provingState . epochNumber ) ;
771+ case 'rollup-block-root-single-tx' :
772+ return this . prover . getBlockRootSingleTxRollupProof ( rollup . inputs , signal , provingState . epochNumber ) ;
773+ case 'rollup-block-root' :
774+ return this . prover . getBlockRootRollupProof ( rollup . inputs , signal , provingState . epochNumber ) ;
776775 }
777776 } ,
778777 { [ Attributes . PROTOCOL_CIRCUIT_NAME ] : rollupType } ,
0 commit comments