@aztec/stdlib 3.0.0-nightly.20250917 → 3.0.0-nightly.20250918

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dest/avm/avm.d.ts +6 -0
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm_circuit_public_inputs.d.ts +6 -1
  4. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  5. package/dest/avm/avm_circuit_public_inputs.js +11 -6
  6. package/dest/avm/avm_proving_request.d.ts +7 -0
  7. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  8. package/dest/block/body.d.ts +4 -1
  9. package/dest/block/body.d.ts.map +1 -1
  10. package/dest/block/body.js +16 -5
  11. package/dest/block/index.d.ts +1 -0
  12. package/dest/block/index.d.ts.map +1 -1
  13. package/dest/block/index.js +1 -0
  14. package/dest/block/l2_block.d.ts +8 -5
  15. package/dest/block/l2_block.d.ts.map +1 -1
  16. package/dest/block/l2_block.js +14 -7
  17. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  18. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  19. package/dest/block/l2_block_code_to_purge.js +23 -13
  20. package/dest/block/l2_block_header.d.ts +100 -0
  21. package/dest/block/l2_block_header.d.ts.map +1 -0
  22. package/dest/block/l2_block_header.js +146 -0
  23. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  24. package/dest/block/published_l2_block.d.ts +2 -2
  25. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  26. package/dest/block/test/l2_tips_store_test_suite.js +1 -3
  27. package/dest/interfaces/block-builder.d.ts +1 -2
  28. package/dest/interfaces/block-builder.d.ts.map +1 -1
  29. package/dest/interfaces/epoch-prover.d.ts +25 -8
  30. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  31. package/dest/interfaces/proving-job.d.ts +170 -61
  32. package/dest/interfaces/proving-job.d.ts.map +1 -1
  33. package/dest/interfaces/proving-job.js +101 -39
  34. package/dest/interfaces/server_circuit_prover.d.ts +19 -16
  35. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  36. package/dest/interfaces/validator.d.ts +3 -2
  37. package/dest/interfaces/validator.d.ts.map +1 -1
  38. package/dest/kernel/private_circuit_public_inputs.d.ts +4 -4
  39. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  40. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  41. package/dest/kernel/private_context_inputs.d.ts +2 -2
  42. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  43. package/dest/kernel/private_context_inputs.js +4 -4
  44. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
  45. package/dest/p2p/consensus_payload.d.ts +7 -6
  46. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  47. package/dest/p2p/consensus_payload.js +7 -6
  48. package/dest/parity/root_parity_input.d.ts +1 -1
  49. package/dest/proofs/proof_data.d.ts +1 -1
  50. package/dest/proofs/proof_data.d.ts.map +1 -1
  51. package/dest/proofs/proof_data.js +2 -2
  52. package/dest/proofs/proving_request_type.d.ts +13 -8
  53. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  54. package/dest/proofs/proving_request_type.js +13 -8
  55. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +1 -1
  56. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
  57. package/dest/rollup/base_or_merge_rollup_public_inputs.js +1 -1
  58. package/dest/rollup/base_rollup_hints.d.ts +12 -3
  59. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  60. package/dest/rollup/base_rollup_hints.js +11 -5
  61. package/dest/rollup/block_constant_data.d.ts +20 -6
  62. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  63. package/dest/rollup/block_constant_data.js +15 -7
  64. package/dest/rollup/block_merge_rollup.d.ts +10 -9
  65. package/dest/rollup/block_merge_rollup.d.ts.map +1 -1
  66. package/dest/rollup/block_merge_rollup.js +14 -13
  67. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  68. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  69. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  70. package/dest/rollup/block_root_rollup.d.ts +148 -184
  71. package/dest/rollup/block_root_rollup.d.ts.map +1 -1
  72. package/dest/rollup/block_root_rollup.js +211 -260
  73. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  74. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  75. package/dest/rollup/checkpoint_constant_data.js +55 -0
  76. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +11 -12
  77. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  78. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
  79. package/dest/rollup/checkpoint_merge_rollup.d.ts +30 -0
  80. package/dest/rollup/checkpoint_merge_rollup.d.ts.map +1 -0
  81. package/dest/rollup/checkpoint_merge_rollup.js +37 -0
  82. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +105 -0
  83. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  84. package/dest/rollup/checkpoint_rollup_public_inputs.js +105 -0
  85. package/dest/rollup/checkpoint_root_rollup.d.ts +117 -0
  86. package/dest/rollup/checkpoint_root_rollup.d.ts.map +1 -0
  87. package/dest/rollup/checkpoint_root_rollup.js +178 -0
  88. package/dest/rollup/epoch_constant_data.d.ts +19 -2
  89. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  90. package/dest/rollup/epoch_constant_data.js +20 -7
  91. package/dest/rollup/index.d.ts +8 -5
  92. package/dest/rollup/index.d.ts.map +1 -1
  93. package/dest/rollup/index.js +8 -5
  94. package/dest/rollup/rollup_proof_data.d.ts +10 -0
  95. package/dest/rollup/rollup_proof_data.d.ts.map +1 -0
  96. package/dest/rollup/rollup_proof_data.js +1 -0
  97. package/dest/rollup/root_rollup.d.ts +26 -23
  98. package/dest/rollup/root_rollup.d.ts.map +1 -1
  99. package/dest/rollup/root_rollup.js +28 -39
  100. package/dest/stats/stats.d.ts +1 -1
  101. package/dest/stats/stats.d.ts.map +1 -1
  102. package/dest/tests/factories.d.ts +15 -40
  103. package/dest/tests/factories.d.ts.map +1 -1
  104. package/dest/tests/factories.js +70 -78
  105. package/dest/tests/mocks.d.ts +3 -2
  106. package/dest/tests/mocks.d.ts.map +1 -1
  107. package/dest/tests/mocks.js +3 -3
  108. package/dest/tx/block_header.d.ts +12 -13
  109. package/dest/tx/block_header.d.ts.map +1 -1
  110. package/dest/tx/block_header.js +16 -21
  111. package/dest/tx/global_variables.d.ts.map +1 -1
  112. package/dest/tx/global_variables.js +0 -1
  113. package/dest/tx/index.d.ts +0 -1
  114. package/dest/tx/index.d.ts.map +1 -1
  115. package/dest/tx/index.js +0 -1
  116. package/dest/tx/private_execution_result.d.ts +2 -2
  117. package/dest/tx/private_execution_result.d.ts.map +1 -1
  118. package/dest/tx/private_execution_result.js +3 -3
  119. package/dest/tx/tx_constant_data.d.ts +4 -4
  120. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  121. package/dest/tx/tx_constant_data.js +6 -6
  122. package/dest/tx/tx_effect.d.ts +0 -3
  123. package/dest/tx/tx_effect.d.ts.map +1 -1
  124. package/dest/tx/tx_effect.js +2 -7
  125. package/package.json +8 -8
  126. package/src/avm/avm_circuit_public_inputs.ts +10 -0
  127. package/src/block/body.ts +23 -6
  128. package/src/block/index.ts +1 -0
  129. package/src/block/l2_block.ts +18 -8
  130. package/src/block/l2_block_code_to_purge.ts +30 -31
  131. package/src/block/l2_block_header.ts +232 -0
  132. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  133. package/src/block/test/l2_tips_store_test_suite.ts +1 -2
  134. package/src/interfaces/block-builder.ts +1 -6
  135. package/src/interfaces/epoch-prover.ts +34 -10
  136. package/src/interfaces/proving-job.ts +166 -51
  137. package/src/interfaces/server_circuit_prover.ts +65 -29
  138. package/src/interfaces/validator.ts +3 -2
  139. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  140. package/src/kernel/private_context_inputs.ts +2 -2
  141. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
  142. package/src/p2p/consensus_payload.ts +8 -7
  143. package/src/proofs/proof_data.ts +1 -6
  144. package/src/proofs/proving_request_type.ts +8 -3
  145. package/src/rollup/base_or_merge_rollup_public_inputs.ts +1 -1
  146. package/src/rollup/base_rollup_hints.ts +9 -1
  147. package/src/rollup/block_constant_data.ts +13 -3
  148. package/src/rollup/block_merge_rollup.ts +13 -11
  149. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  150. package/src/rollup/block_root_rollup.ts +209 -264
  151. package/src/rollup/checkpoint_constant_data.ts +84 -0
  152. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +16 -17
  153. package/src/rollup/checkpoint_merge_rollup.ts +50 -0
  154. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +26 -52
  155. package/src/rollup/checkpoint_root_rollup.ts +216 -0
  156. package/src/rollup/epoch_constant_data.ts +32 -8
  157. package/src/rollup/index.ts +8 -5
  158. package/src/rollup/rollup_proof_data.ts +12 -0
  159. package/src/rollup/root_rollup.ts +30 -41
  160. package/src/stats/stats.ts +8 -3
  161. package/src/tests/factories.ts +124 -135
  162. package/src/tests/mocks.ts +6 -13
  163. package/src/tx/block_header.ts +17 -32
  164. package/src/tx/global_variables.ts +0 -1
  165. package/src/tx/index.ts +0 -1
  166. package/src/tx/private_execution_result.ts +3 -3
  167. package/src/tx/tx_constant_data.ts +4 -4
  168. package/src/tx/tx_effect.ts +2 -7
  169. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  170. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  171. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  172. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  173. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  174. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  175. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  176. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  177. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  178. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  179. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  180. package/dest/rollup/previous_rollup_block_data.js +0 -37
  181. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  182. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  183. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  184. package/src/rollup/previous_rollup_block_data.ts +0 -48
@@ -17,15 +17,27 @@ import { RootParityInputs } from '../parity/root_parity_inputs.js';
17
17
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
18
18
  import { RecursiveProof } from '../proofs/recursive_proof.js';
19
19
  import { BaseOrMergeRollupPublicInputs } from '../rollup/base_or_merge_rollup_public_inputs.js';
20
- import { BlockMergeRollupInputs } from '../rollup/block_merge_rollup.js';
21
- import { BlockRootOrBlockMergePublicInputs } from '../rollup/block_root_or_block_merge_public_inputs.js';
22
- import { BlockRootRollupInputs, SingleTxBlockRootRollupInputs } from '../rollup/block_root_rollup.js';
23
- import { EmptyBlockRootRollupInputs } from '../rollup/empty_block_root_rollup_inputs.js';
24
- import { PaddingBlockRootRollupInputs, PublicTubePrivateInputs } from '../rollup/index.js';
20
+ import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup.js';
21
+ import { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
22
+ import {
23
+ BlockRootEmptyTxFirstRollupPrivateInputs,
24
+ BlockRootFirstRollupPrivateInputs,
25
+ BlockRootRollupPrivateInputs,
26
+ BlockRootSingleTxFirstRollupPrivateInputs,
27
+ BlockRootSingleTxRollupPrivateInputs,
28
+ } from '../rollup/block_root_rollup.js';
29
+ import { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup.js';
30
+ import { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
31
+ import {
32
+ CheckpointPaddingRollupPrivateInputs,
33
+ CheckpointRootRollupPrivateInputs,
34
+ CheckpointRootSingleBlockRollupPrivateInputs,
35
+ } from '../rollup/checkpoint_root_rollup.js';
36
+ import { PublicTubePrivateInputs } from '../rollup/index.js';
25
37
  import { MergeRollupInputs } from '../rollup/merge_rollup.js';
26
38
  import { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js';
27
39
  import { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js';
28
- import { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
40
+ import { RootRollupPrivateInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
29
41
  import type { ServerCircuitName } from '../stats/index.js';
30
42
  import { VerificationKeyData } from '../vks/verification_key.js';
31
43
 
@@ -87,16 +99,26 @@ export function mapProvingRequestTypeToCircuitName(type: ProvingRequestType): Se
87
99
  return 'public-base-rollup';
88
100
  case ProvingRequestType.MERGE_ROLLUP:
89
101
  return 'merge-rollup';
90
- case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP:
91
- return 'empty-block-root-rollup';
92
- case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP:
93
- return 'padding-block-root-rollup';
102
+ case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
103
+ return 'block-root-first-rollup';
104
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
105
+ return 'block-root-single-tx-first-rollup';
106
+ case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP:
107
+ return 'block-root-empty-tx-first-rollup';
94
108
  case ProvingRequestType.BLOCK_ROOT_ROLLUP:
95
109
  return 'block-root-rollup';
96
- case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP:
97
- return 'single-tx-block-root-rollup';
110
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP:
111
+ return 'block-root-single-tx-rollup';
98
112
  case ProvingRequestType.BLOCK_MERGE_ROLLUP:
99
113
  return 'block-merge-rollup';
114
+ case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP:
115
+ return 'checkpoint-root-rollup';
116
+ case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP:
117
+ return 'checkpoint-root-single-block-rollup';
118
+ case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP:
119
+ return 'checkpoint-padding-rollup';
120
+ case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP:
121
+ return 'checkpoint-merge-rollup';
100
122
  case ProvingRequestType.ROOT_ROLLUP:
101
123
  return 'root-rollup';
102
124
  case ProvingRequestType.BASE_PARITY:
@@ -118,18 +140,41 @@ export const ProvingJobInputs = z.discriminatedUnion('type', [
118
140
  z.object({ type: z.literal(ProvingRequestType.PRIVATE_BASE_ROLLUP), inputs: PrivateBaseRollupInputs.schema }),
119
141
  z.object({ type: z.literal(ProvingRequestType.PUBLIC_BASE_ROLLUP), inputs: PublicBaseRollupInputs.schema }),
120
142
  z.object({ type: z.literal(ProvingRequestType.MERGE_ROLLUP), inputs: MergeRollupInputs.schema }),
121
- z.object({ type: z.literal(ProvingRequestType.BLOCK_ROOT_ROLLUP), inputs: BlockRootRollupInputs.schema }),
122
143
  z.object({
123
- type: z.literal(ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP),
124
- inputs: SingleTxBlockRootRollupInputs.schema,
144
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP),
145
+ inputs: BlockRootFirstRollupPrivateInputs.schema,
146
+ }),
147
+ z.object({
148
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP),
149
+ inputs: BlockRootSingleTxFirstRollupPrivateInputs.schema,
125
150
  }),
126
- z.object({ type: z.literal(ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP), inputs: EmptyBlockRootRollupInputs.schema }),
127
151
  z.object({
128
- type: z.literal(ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP),
129
- inputs: PaddingBlockRootRollupInputs.schema,
152
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP),
153
+ inputs: BlockRootEmptyTxFirstRollupPrivateInputs.schema,
130
154
  }),
131
- z.object({ type: z.literal(ProvingRequestType.BLOCK_MERGE_ROLLUP), inputs: BlockMergeRollupInputs.schema }),
132
- z.object({ type: z.literal(ProvingRequestType.ROOT_ROLLUP), inputs: RootRollupInputs.schema }),
155
+ z.object({ type: z.literal(ProvingRequestType.BLOCK_ROOT_ROLLUP), inputs: BlockRootRollupPrivateInputs.schema }),
156
+ z.object({
157
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP),
158
+ inputs: BlockRootSingleTxRollupPrivateInputs.schema,
159
+ }),
160
+ z.object({ type: z.literal(ProvingRequestType.BLOCK_MERGE_ROLLUP), inputs: BlockMergeRollupPrivateInputs.schema }),
161
+ z.object({
162
+ type: z.literal(ProvingRequestType.CHECKPOINT_ROOT_ROLLUP),
163
+ inputs: CheckpointRootRollupPrivateInputs.schema,
164
+ }),
165
+ z.object({
166
+ type: z.literal(ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP),
167
+ inputs: CheckpointRootSingleBlockRollupPrivateInputs.schema,
168
+ }),
169
+ z.object({
170
+ type: z.literal(ProvingRequestType.CHECKPOINT_PADDING_ROLLUP),
171
+ inputs: CheckpointPaddingRollupPrivateInputs.schema,
172
+ }),
173
+ z.object({
174
+ type: z.literal(ProvingRequestType.CHECKPOINT_MERGE_ROLLUP),
175
+ inputs: CheckpointMergeRollupPrivateInputs.schema,
176
+ }),
177
+ z.object({ type: z.literal(ProvingRequestType.ROOT_ROLLUP), inputs: RootRollupPrivateInputs.schema }),
133
178
  ]);
134
179
 
135
180
  export function getProvingJobInputClassFor(type: ProvingRequestType) {
@@ -144,18 +189,28 @@ export function getProvingJobInputClassFor(type: ProvingRequestType) {
144
189
  return PublicBaseRollupInputs;
145
190
  case ProvingRequestType.MERGE_ROLLUP:
146
191
  return MergeRollupInputs;
147
- case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP:
148
- return EmptyBlockRootRollupInputs;
149
- case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP:
150
- return PaddingBlockRootRollupInputs;
192
+ case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
193
+ return BlockRootFirstRollupPrivateInputs;
194
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
195
+ return BlockRootSingleTxFirstRollupPrivateInputs;
196
+ case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP:
197
+ return BlockRootEmptyTxFirstRollupPrivateInputs;
151
198
  case ProvingRequestType.BLOCK_ROOT_ROLLUP:
152
- return BlockRootRollupInputs;
153
- case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP:
154
- return SingleTxBlockRootRollupInputs;
199
+ return BlockRootRollupPrivateInputs;
200
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP:
201
+ return BlockRootSingleTxRollupPrivateInputs;
155
202
  case ProvingRequestType.BLOCK_MERGE_ROLLUP:
156
- return BlockMergeRollupInputs;
203
+ return BlockMergeRollupPrivateInputs;
204
+ case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP:
205
+ return CheckpointRootRollupPrivateInputs;
206
+ case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP:
207
+ return CheckpointRootSingleBlockRollupPrivateInputs;
208
+ case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP:
209
+ return CheckpointPaddingRollupPrivateInputs;
210
+ case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP:
211
+ return CheckpointMergeRollupPrivateInputs;
157
212
  case ProvingRequestType.ROOT_ROLLUP:
158
- return RootRollupInputs;
213
+ return RootRollupPrivateInputs;
159
214
  case ProvingRequestType.BASE_PARITY:
160
215
  return BaseParityInputs;
161
216
  case ProvingRequestType.ROOT_PARITY:
@@ -175,12 +230,17 @@ export type ProvingJobInputsMap = {
175
230
  [ProvingRequestType.PRIVATE_BASE_ROLLUP]: PrivateBaseRollupInputs;
176
231
  [ProvingRequestType.PUBLIC_BASE_ROLLUP]: PublicBaseRollupInputs;
177
232
  [ProvingRequestType.MERGE_ROLLUP]: MergeRollupInputs;
178
- [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: EmptyBlockRootRollupInputs;
179
- [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: PaddingBlockRootRollupInputs;
180
- [ProvingRequestType.BLOCK_ROOT_ROLLUP]: BlockRootRollupInputs;
181
- [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: SingleTxBlockRootRollupInputs;
182
- [ProvingRequestType.BLOCK_MERGE_ROLLUP]: BlockMergeRollupInputs;
183
- [ProvingRequestType.ROOT_ROLLUP]: RootRollupInputs;
233
+ [ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: BlockRootFirstRollupPrivateInputs;
234
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: BlockRootSingleTxFirstRollupPrivateInputs;
235
+ [ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: BlockRootEmptyTxFirstRollupPrivateInputs;
236
+ [ProvingRequestType.BLOCK_ROOT_ROLLUP]: BlockRootRollupPrivateInputs;
237
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: BlockRootSingleTxRollupPrivateInputs;
238
+ [ProvingRequestType.BLOCK_MERGE_ROLLUP]: BlockMergeRollupPrivateInputs;
239
+ [ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: CheckpointRootRollupPrivateInputs;
240
+ [ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: CheckpointRootSingleBlockRollupPrivateInputs;
241
+ [ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: CheckpointPaddingRollupPrivateInputs;
242
+ [ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: CheckpointMergeRollupPrivateInputs;
243
+ [ProvingRequestType.ROOT_ROLLUP]: RootRollupPrivateInputs;
184
244
  [ProvingRequestType.BASE_PARITY]: BaseParityInputs;
185
245
  [ProvingRequestType.ROOT_PARITY]: RootParityInputs;
186
246
  };
@@ -219,37 +279,72 @@ export const ProvingJobResult = z.discriminatedUnion('type', [
219
279
  ),
220
280
  }),
221
281
  z.object({
222
- type: z.literal(ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP),
282
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP),
283
+ result: schemaForPublicInputsAndRecursiveProof(
284
+ BlockRollupPublicInputs.schema,
285
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
286
+ ),
287
+ }),
288
+ z.object({
289
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP),
223
290
  result: schemaForPublicInputsAndRecursiveProof(
224
- BlockRootOrBlockMergePublicInputs.schema,
291
+ BlockRollupPublicInputs.schema,
225
292
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
226
293
  ),
227
294
  }),
228
295
  z.object({
229
- type: z.literal(ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP),
296
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP),
230
297
  result: schemaForPublicInputsAndRecursiveProof(
231
- BlockRootOrBlockMergePublicInputs.schema,
298
+ BlockRollupPublicInputs.schema,
232
299
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
233
300
  ),
234
301
  }),
235
302
  z.object({
236
303
  type: z.literal(ProvingRequestType.BLOCK_ROOT_ROLLUP),
237
304
  result: schemaForPublicInputsAndRecursiveProof(
238
- BlockRootOrBlockMergePublicInputs.schema,
305
+ BlockRollupPublicInputs.schema,
239
306
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
240
307
  ),
241
308
  }),
242
309
  z.object({
243
- type: z.literal(ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP),
310
+ type: z.literal(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP),
244
311
  result: schemaForPublicInputsAndRecursiveProof(
245
- BlockRootOrBlockMergePublicInputs.schema,
312
+ BlockRollupPublicInputs.schema,
246
313
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
247
314
  ),
248
315
  }),
249
316
  z.object({
250
317
  type: z.literal(ProvingRequestType.BLOCK_MERGE_ROLLUP),
251
318
  result: schemaForPublicInputsAndRecursiveProof(
252
- BlockRootOrBlockMergePublicInputs.schema,
319
+ BlockRollupPublicInputs.schema,
320
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
321
+ ),
322
+ }),
323
+ z.object({
324
+ type: z.literal(ProvingRequestType.CHECKPOINT_ROOT_ROLLUP),
325
+ result: schemaForPublicInputsAndRecursiveProof(
326
+ CheckpointRollupPublicInputs.schema,
327
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
328
+ ),
329
+ }),
330
+ z.object({
331
+ type: z.literal(ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP),
332
+ result: schemaForPublicInputsAndRecursiveProof(
333
+ CheckpointRollupPublicInputs.schema,
334
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
335
+ ),
336
+ }),
337
+ z.object({
338
+ type: z.literal(ProvingRequestType.CHECKPOINT_PADDING_ROLLUP),
339
+ result: schemaForPublicInputsAndRecursiveProof(
340
+ CheckpointRollupPublicInputs.schema,
341
+ NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
342
+ ),
343
+ }),
344
+ z.object({
345
+ type: z.literal(ProvingRequestType.CHECKPOINT_MERGE_ROLLUP),
346
+ result: schemaForPublicInputsAndRecursiveProof(
347
+ CheckpointRollupPublicInputs.schema,
253
348
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
254
349
  ),
255
350
  }),
@@ -285,24 +380,44 @@ export type ProvingJobResultsMap = {
285
380
  BaseOrMergeRollupPublicInputs,
286
381
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
287
382
  >;
288
- [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: PublicInputsAndRecursiveProof<
289
- BlockRootOrBlockMergePublicInputs,
383
+ [ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: PublicInputsAndRecursiveProof<
384
+ BlockRollupPublicInputs,
290
385
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
291
386
  >;
292
- [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: PublicInputsAndRecursiveProof<
293
- BlockRootOrBlockMergePublicInputs,
387
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: PublicInputsAndRecursiveProof<
388
+ BlockRollupPublicInputs,
294
389
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
295
390
  >;
296
- [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: PublicInputsAndRecursiveProof<
297
- BlockRootOrBlockMergePublicInputs,
391
+ [ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: PublicInputsAndRecursiveProof<
392
+ BlockRollupPublicInputs,
298
393
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
299
394
  >;
300
395
  [ProvingRequestType.BLOCK_ROOT_ROLLUP]: PublicInputsAndRecursiveProof<
301
- BlockRootOrBlockMergePublicInputs,
396
+ BlockRollupPublicInputs,
397
+ typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
398
+ >;
399
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: PublicInputsAndRecursiveProof<
400
+ BlockRollupPublicInputs,
302
401
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
303
402
  >;
304
403
  [ProvingRequestType.BLOCK_MERGE_ROLLUP]: PublicInputsAndRecursiveProof<
305
- BlockRootOrBlockMergePublicInputs,
404
+ BlockRollupPublicInputs,
405
+ typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
406
+ >;
407
+ [ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: PublicInputsAndRecursiveProof<
408
+ CheckpointRollupPublicInputs,
409
+ typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
410
+ >;
411
+ [ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: PublicInputsAndRecursiveProof<
412
+ CheckpointRollupPublicInputs,
413
+ typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
414
+ >;
415
+ [ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: PublicInputsAndRecursiveProof<
416
+ CheckpointRollupPublicInputs,
417
+ typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
418
+ >;
419
+ [ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: PublicInputsAndRecursiveProof<
420
+ CheckpointRollupPublicInputs,
306
421
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
307
422
  >;
308
423
  [ProvingRequestType.ROOT_ROLLUP]: PublicInputsAndRecursiveProof<RootRollupPublicInputs>;
@@ -11,15 +11,27 @@ import type { BaseParityInputs } from '../parity/base_parity_inputs.js';
11
11
  import type { ParityPublicInputs } from '../parity/parity_public_inputs.js';
12
12
  import type { RootParityInputs } from '../parity/root_parity_inputs.js';
13
13
  import type { BaseOrMergeRollupPublicInputs } from '../rollup/base_or_merge_rollup_public_inputs.js';
14
- import type { BlockMergeRollupInputs } from '../rollup/block_merge_rollup.js';
15
- import type { BlockRootOrBlockMergePublicInputs } from '../rollup/block_root_or_block_merge_public_inputs.js';
16
- import type { BlockRootRollupInputs, SingleTxBlockRootRollupInputs } from '../rollup/block_root_rollup.js';
17
- import type { EmptyBlockRootRollupInputs } from '../rollup/empty_block_root_rollup_inputs.js';
18
- import type { PaddingBlockRootRollupInputs, PublicTubePrivateInputs } from '../rollup/index.js';
14
+ import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup.js';
15
+ import type { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
16
+ import type {
17
+ BlockRootEmptyTxFirstRollupPrivateInputs,
18
+ BlockRootFirstRollupPrivateInputs,
19
+ BlockRootRollupPrivateInputs,
20
+ BlockRootSingleTxFirstRollupPrivateInputs,
21
+ BlockRootSingleTxRollupPrivateInputs,
22
+ } from '../rollup/block_root_rollup.js';
23
+ import type { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup.js';
24
+ import type { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
25
+ import type {
26
+ CheckpointPaddingRollupPrivateInputs,
27
+ CheckpointRootRollupPrivateInputs,
28
+ CheckpointRootSingleBlockRollupPrivateInputs,
29
+ } from '../rollup/checkpoint_root_rollup.js';
30
+ import type { PublicTubePrivateInputs } from '../rollup/index.js';
19
31
  import type { MergeRollupInputs } from '../rollup/merge_rollup.js';
20
32
  import type { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js';
21
33
  import type { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js';
22
- import type { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
34
+ import type { RootRollupPrivateInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
23
35
  import type { Tx } from '../tx/tx.js';
24
36
  import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js';
25
37
 
@@ -94,52 +106,76 @@ export interface ServerCircuitProver {
94
106
  * Creates a proof for the given input.
95
107
  * @param input - Input to the circuit.
96
108
  */
109
+ getBlockRootFirstRollupProof(
110
+ input: BlockRootFirstRollupPrivateInputs,
111
+ signal?: AbortSignal,
112
+ epochNumber?: number,
113
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
114
+
115
+ getBlockRootSingleTxFirstRollupProof(
116
+ input: BlockRootSingleTxFirstRollupPrivateInputs,
117
+ signal?: AbortSignal,
118
+ epochNumber?: number,
119
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
120
+
121
+ getBlockRootEmptyTxFirstRollupProof(
122
+ input: BlockRootEmptyTxFirstRollupPrivateInputs,
123
+ signal?: AbortSignal,
124
+ epochNumber?: number,
125
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
126
+
97
127
  getBlockRootRollupProof(
98
- input: BlockRootRollupInputs,
128
+ input: BlockRootRollupPrivateInputs,
99
129
  signal?: AbortSignal,
100
130
  epochNumber?: number,
101
- ): Promise<
102
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
103
- >;
131
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
104
132
 
105
- getSingleTxBlockRootRollupProof(
106
- input: SingleTxBlockRootRollupInputs,
133
+ getBlockRootSingleTxRollupProof(
134
+ input: BlockRootSingleTxRollupPrivateInputs,
107
135
  signal?: AbortSignal,
108
136
  epochNumber?: number,
109
- ): Promise<
110
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
111
- >;
137
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
112
138
 
113
139
  /**
114
140
  * Creates a proof for the given input.
115
141
  * @param input - Input to the circuit.
116
142
  */
117
- getEmptyBlockRootRollupProof(
118
- input: EmptyBlockRootRollupInputs,
143
+ getBlockMergeRollupProof(
144
+ input: BlockMergeRollupPrivateInputs,
145
+ signal?: AbortSignal,
146
+ epochNumber?: number,
147
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
148
+
149
+ getCheckpointRootRollupProof(
150
+ input: CheckpointRootRollupPrivateInputs,
119
151
  signal?: AbortSignal,
120
152
  epochNumber?: number,
121
153
  ): Promise<
122
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
154
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
123
155
  >;
124
156
 
125
- getPaddingBlockRootRollupProof(
126
- input: PaddingBlockRootRollupInputs,
157
+ getCheckpointRootSingleBlockRollupProof(
158
+ input: CheckpointRootSingleBlockRollupPrivateInputs,
127
159
  signal?: AbortSignal,
128
160
  epochNumber?: number,
129
161
  ): Promise<
130
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
162
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
131
163
  >;
132
164
 
133
- /**
134
- * Creates a proof for the given input.
135
- * @param input - Input to the circuit.
136
- */
137
- getBlockMergeRollupProof(
138
- input: BlockMergeRollupInputs,
165
+ getCheckpointPaddingRollupProof(
166
+ input: CheckpointPaddingRollupPrivateInputs,
167
+ signal?: AbortSignal,
168
+ epochNumber?: number,
169
+ ): Promise<
170
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
171
+ >;
172
+
173
+ getCheckpointMergeRollupProof(
174
+ input: CheckpointMergeRollupPrivateInputs,
139
175
  signal?: AbortSignal,
140
176
  epochNumber?: number,
141
177
  ): Promise<
142
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
178
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
143
179
  >;
144
180
 
145
181
  /**
@@ -147,7 +183,7 @@ export interface ServerCircuitProver {
147
183
  * @param input - Input to the circuit.
148
184
  */
149
185
  getRootRollupProof(
150
- input: RootRollupInputs,
186
+ input: RootRollupPrivateInputs,
151
187
  signal?: AbortSignal,
152
188
  epochNumber?: number,
153
189
  ): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
@@ -5,12 +5,13 @@ import { Fr } from '@aztec/foundation/fields';
5
5
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
6
6
  import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
7
7
  import type { BlockAttestation, BlockProposal, BlockProposalOptions } from '@aztec/stdlib/p2p';
8
- import type { ProposedBlockHeader, StateReference, Tx } from '@aztec/stdlib/tx';
8
+ import type { StateReference, Tx } from '@aztec/stdlib/tx';
9
9
 
10
10
  import type { PeerId } from '@libp2p/interface';
11
11
  import { z } from 'zod';
12
12
 
13
13
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
14
+ import type { CheckpointHeader } from '../rollup/checkpoint_header.js';
14
15
 
15
16
  /**
16
17
  * Validator client configuration
@@ -59,7 +60,7 @@ export interface Validator {
59
60
  // Block validation responsibilities
60
61
  createBlockProposal(
61
62
  blockNumber: number,
62
- header: ProposedBlockHeader,
63
+ header: CheckpointHeader,
63
64
  archive: Fr,
64
65
  stateReference: StateReference,
65
66
  txs: Tx[],
@@ -127,11 +127,11 @@ export class PrivateCircuitPublicInputs {
127
127
  /**
128
128
  * Header of a block whose state is used during private execution (not the block the transaction is included in).
129
129
  */
130
- public historicalHeader: BlockHeader,
130
+ public anchorBlockHeader: BlockHeader,
131
131
  /**
132
132
  * Transaction context.
133
133
  *
134
- * Note: The chainId and version in the txContext are not redundant to the values in self.historical_header.global_variables because
134
+ * Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because
135
135
  * they can be different in case of a protocol upgrade. In such a situation we could be using header from a block
136
136
  * before the upgrade took place but be using the updated protocol to execute and prove the transaction.
137
137
  */
@@ -261,7 +261,7 @@ export class PrivateCircuitPublicInputs {
261
261
  this.contractClassLogsHashes.isEmpty() &&
262
262
  this.startSideEffectCounter.isZero() &&
263
263
  this.endSideEffectCounter.isZero() &&
264
- this.historicalHeader.isEmpty() &&
264
+ this.anchorBlockHeader.isEmpty() &&
265
265
  this.txContext.isEmpty()
266
266
  );
267
267
  }
@@ -292,7 +292,7 @@ export class PrivateCircuitPublicInputs {
292
292
  fields.contractClassLogsHashes,
293
293
  fields.startSideEffectCounter,
294
294
  fields.endSideEffectCounter,
295
- fields.historicalHeader,
295
+ fields.anchorBlockHeader,
296
296
  fields.txContext,
297
297
  ] as const;
298
298
  }
@@ -324,7 +324,7 @@ export class PrivateCircuitPublicInputs {
324
324
  this.contractClassLogsHashes,
325
325
  this.startSideEffectCounter,
326
326
  this.endSideEffectCounter,
327
- this.historicalHeader,
327
+ this.anchorBlockHeader,
328
328
  this.txContext,
329
329
  ]);
330
330
  }
@@ -8,7 +8,7 @@ import { TxContext } from '../tx/tx_context.js';
8
8
  export class PrivateContextInputs {
9
9
  constructor(
10
10
  public callContext: CallContext,
11
- public historicalHeader: BlockHeader,
11
+ public anchorBlockHeader: BlockHeader,
12
12
  public txContext: TxContext,
13
13
  public startSideEffectCounter: number,
14
14
  ) {}
@@ -18,6 +18,6 @@ export class PrivateContextInputs {
18
18
  }
19
19
 
20
20
  public toFields(): Fr[] {
21
- return serializeToFields([this.callContext, this.historicalHeader, this.txContext, this.startSideEffectCounter]);
21
+ return serializeToFields([this.callContext, this.anchorBlockHeader, this.txContext, this.startSideEffectCounter]);
22
22
  }
23
23
  }
@@ -170,7 +170,7 @@ export class PrivateKernelTailCircuitPublicInputs {
170
170
  throw new Error('Private tail public inputs is not for rollup circuit.');
171
171
  }
172
172
  const constants = new TxConstantData(
173
- this.constants.historicalHeader,
173
+ this.constants.anchorBlockHeader,
174
174
  this.constants.txContext,
175
175
  this.constants.vkTreeRoot,
176
176
  this.constants.protocolContractTreeRoot,
@@ -8,7 +8,8 @@ import { encodeAbiParameters, parseAbiParameters } from 'viem';
8
8
  import { z } from 'zod';
9
9
 
10
10
  import type { L2Block } from '../block/l2_block.js';
11
- import { ProposedBlockHeader, StateReference } from '../tx/index.js';
11
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
12
+ import { StateReference } from '../tx/state_reference.js';
12
13
  import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
13
14
 
14
15
  export class ConsensusPayload implements Signable {
@@ -16,7 +17,7 @@ export class ConsensusPayload implements Signable {
16
17
 
17
18
  constructor(
18
19
  /** The proposed block header the attestation is made over */
19
- public readonly header: ProposedBlockHeader,
20
+ public readonly header: CheckpointHeader,
20
21
  /** The archive root after the block is added */
21
22
  public readonly archive: Fr,
22
23
  /** The state reference after the block is added */
@@ -26,7 +27,7 @@ export class ConsensusPayload implements Signable {
26
27
  static get schema() {
27
28
  return z
28
29
  .object({
29
- header: ProposedBlockHeader.schema,
30
+ header: CheckpointHeader.schema,
30
31
  archive: schemas.Fr,
31
32
  stateReference: StateReference.schema,
32
33
  })
@@ -66,7 +67,7 @@ export class ConsensusPayload implements Signable {
66
67
  static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload {
67
68
  const reader = BufferReader.asReader(buf);
68
69
  const payload = new ConsensusPayload(
69
- reader.readObject(ProposedBlockHeader),
70
+ reader.readObject(CheckpointHeader),
70
71
  reader.readObject(Fr),
71
72
  reader.readObject(StateReference),
72
73
  );
@@ -78,15 +79,15 @@ export class ConsensusPayload implements Signable {
78
79
  }
79
80
 
80
81
  static fromBlock(block: L2Block): ConsensusPayload {
81
- return new ConsensusPayload(block.header.toPropose(), block.archive.root, block.header.state);
82
+ return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root, block.header.state);
82
83
  }
83
84
 
84
85
  static empty(): ConsensusPayload {
85
- return new ConsensusPayload(ProposedBlockHeader.empty(), Fr.ZERO, StateReference.empty());
86
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, StateReference.empty());
86
87
  }
87
88
 
88
89
  static random(): ConsensusPayload {
89
- return new ConsensusPayload(ProposedBlockHeader.random(), Fr.random(), StateReference.random());
90
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), StateReference.random());
90
91
  }
91
92
 
92
93
  /**
@@ -23,14 +23,9 @@ export class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
23
23
  publicInputs: {
24
24
  fromBuffer: (reader: BufferReader) => T;
25
25
  },
26
- proofLength?: PROOF_LENGTH,
27
26
  ): ProofData<T, PROOF_LENGTH> {
28
27
  const reader = BufferReader.asReader(buffer);
29
- return new ProofData(
30
- reader.readObject(publicInputs),
31
- RecursiveProof.fromBuffer(reader, proofLength),
32
- reader.readObject(VkData),
33
- );
28
+ return new ProofData(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
34
29
  }
35
30
  }
36
31
 
@@ -4,11 +4,16 @@ export enum ProvingRequestType {
4
4
  PRIVATE_BASE_ROLLUP,
5
5
  PUBLIC_BASE_ROLLUP,
6
6
  MERGE_ROLLUP,
7
- EMPTY_BLOCK_ROOT_ROLLUP,
8
- PADDING_BLOCK_ROOT_ROLLUP,
7
+ BLOCK_ROOT_FIRST_ROLLUP,
8
+ BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
9
+ BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
9
10
  BLOCK_ROOT_ROLLUP,
10
- SINGLE_TX_BLOCK_ROOT_ROLLUP,
11
+ BLOCK_ROOT_SINGLE_TX_ROLLUP,
11
12
  BLOCK_MERGE_ROLLUP,
13
+ CHECKPOINT_ROOT_ROLLUP,
14
+ CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
15
+ CHECKPOINT_PADDING_ROLLUP,
16
+ CHECKPOINT_MERGE_ROLLUP,
12
17
  ROOT_ROLLUP,
13
18
 
14
19
  BASE_PARITY,
@@ -1,4 +1,4 @@
1
- import { SpongeBlob } from '@aztec/blob-lib';
1
+ import { SpongeBlob } from '@aztec/blob-lib/types';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';