@aztec/stdlib 2.1.0-rc.9 → 3.0.0-devnet.2

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 (550) hide show
  1. package/dest/abi/abi.d.ts +8 -8
  2. package/dest/abi/abi.js +1 -1
  3. package/dest/abi/contract_artifact.js +3 -0
  4. package/dest/abi/event_metadata_definition.d.ts +8 -0
  5. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  6. package/dest/abi/event_metadata_definition.js +1 -0
  7. package/dest/abi/function_call.d.ts +7 -2
  8. package/dest/abi/function_call.d.ts.map +1 -1
  9. package/dest/abi/function_call.js +6 -2
  10. package/dest/abi/index.d.ts +1 -0
  11. package/dest/abi/index.d.ts.map +1 -1
  12. package/dest/abi/index.js +1 -0
  13. package/dest/avm/avm.d.ts +131 -72
  14. package/dest/avm/avm.d.ts.map +1 -1
  15. package/dest/avm/avm.js +8 -4
  16. package/dest/avm/avm_accumulated_data.d.ts +10 -21
  17. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  18. package/dest/avm/avm_accumulated_data.js +19 -22
  19. package/dest/avm/avm_circuit_public_inputs.d.ts +30 -13
  20. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  21. package/dest/avm/avm_circuit_public_inputs.js +17 -6
  22. package/dest/avm/avm_proving_request.d.ts +96 -48
  23. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  24. package/dest/avm/index.d.ts +1 -1
  25. package/dest/avm/index.d.ts.map +1 -1
  26. package/dest/avm/index.js +1 -1
  27. package/dest/avm/message_pack.d.ts +1 -0
  28. package/dest/avm/message_pack.d.ts.map +1 -1
  29. package/dest/avm/message_pack.js +28 -5
  30. package/dest/block/attestation_info.d.ts +30 -0
  31. package/dest/block/attestation_info.d.ts.map +1 -0
  32. package/dest/block/attestation_info.js +39 -0
  33. package/dest/block/body.d.ts +4 -1
  34. package/dest/block/body.d.ts.map +1 -1
  35. package/dest/block/body.js +17 -15
  36. package/dest/block/index.d.ts +2 -0
  37. package/dest/block/index.d.ts.map +1 -1
  38. package/dest/block/index.js +2 -0
  39. package/dest/block/l2_block.d.ts +19 -5
  40. package/dest/block/l2_block.d.ts.map +1 -1
  41. package/dest/block/l2_block.js +28 -7
  42. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  43. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  44. package/dest/block/l2_block_code_to_purge.js +23 -13
  45. package/dest/block/l2_block_header.d.ts +100 -0
  46. package/dest/block/l2_block_header.d.ts.map +1 -0
  47. package/dest/block/l2_block_header.js +146 -0
  48. package/dest/block/l2_block_source.d.ts +29 -0
  49. package/dest/block/l2_block_source.d.ts.map +1 -1
  50. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  51. package/dest/block/proposal/attestations_and_signers.d.ts +1 -1
  52. package/dest/block/proposal/attestations_and_signers.js +1 -1
  53. package/dest/block/proposal/committee_attestation.d.ts +0 -1
  54. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  55. package/dest/block/proposal/committee_attestation.js +0 -3
  56. package/dest/block/published_l2_block.d.ts +2 -8
  57. package/dest/block/published_l2_block.d.ts.map +1 -1
  58. package/dest/block/published_l2_block.js +0 -9
  59. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  60. package/dest/block/test/l2_tips_store_test_suite.js +1 -3
  61. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  62. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  63. package/dest/checkpoint/checkpoint_body.js +9 -0
  64. package/dest/checkpoint/index.d.ts +2 -0
  65. package/dest/checkpoint/index.d.ts.map +1 -0
  66. package/dest/checkpoint/index.js +1 -0
  67. package/dest/config/node-rpc-config.d.ts +2 -0
  68. package/dest/config/node-rpc-config.d.ts.map +1 -1
  69. package/dest/config/node-rpc-config.js +6 -0
  70. package/dest/contract/contract_address.d.ts +1 -1
  71. package/dest/contract/contract_address.js +1 -1
  72. package/dest/contract/contract_class_metadata.d.ts +8 -0
  73. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  74. package/dest/contract/contract_class_metadata.js +1 -0
  75. package/dest/contract/contract_instance.d.ts +9 -8
  76. package/dest/contract/contract_instance.d.ts.map +1 -1
  77. package/dest/contract/contract_instance.js +1 -2
  78. package/dest/contract/contract_metadata.d.ts +7 -0
  79. package/dest/contract/contract_metadata.d.ts.map +1 -0
  80. package/dest/contract/contract_metadata.js +1 -0
  81. package/dest/contract/index.d.ts +2 -0
  82. package/dest/contract/index.d.ts.map +1 -1
  83. package/dest/contract/index.js +2 -0
  84. package/dest/contract/interfaces/contract_class.d.ts +1 -1
  85. package/dest/contract/interfaces/contract_instance.d.ts +2 -2
  86. package/dest/hash/hash.d.ts.map +1 -1
  87. package/dest/hash/hash.js +0 -3
  88. package/dest/interfaces/archiver.d.ts +1 -1
  89. package/dest/interfaces/archiver.d.ts.map +1 -1
  90. package/dest/interfaces/archiver.js +7 -0
  91. package/dest/interfaces/aztec-node-admin.d.ts +40 -36
  92. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  93. package/dest/interfaces/aztec-node-admin.js +2 -2
  94. package/dest/interfaces/aztec-node.d.ts +30 -0
  95. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  96. package/dest/interfaces/aztec-node.js +7 -1
  97. package/dest/interfaces/block-builder.d.ts +1 -2
  98. package/dest/interfaces/block-builder.d.ts.map +1 -1
  99. package/dest/interfaces/client.d.ts +0 -1
  100. package/dest/interfaces/client.d.ts.map +1 -1
  101. package/dest/interfaces/client.js +0 -1
  102. package/dest/interfaces/configs.d.ts +5 -0
  103. package/dest/interfaces/configs.d.ts.map +1 -1
  104. package/dest/interfaces/configs.js +1 -0
  105. package/dest/interfaces/epoch-prover.d.ts +26 -9
  106. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  107. package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
  108. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  109. package/dest/interfaces/p2p.d.ts +2 -0
  110. package/dest/interfaces/p2p.d.ts.map +1 -1
  111. package/dest/interfaces/p2p.js +2 -1
  112. package/dest/interfaces/private_kernel_prover.d.ts +2 -2
  113. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  114. package/dest/interfaces/proving-job.d.ts +343 -194
  115. package/dest/interfaces/proving-job.d.ts.map +1 -1
  116. package/dest/interfaces/proving-job.js +131 -113
  117. package/dest/interfaces/server_circuit_prover.d.ts +34 -34
  118. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  119. package/dest/interfaces/tx_provider.d.ts +1 -1
  120. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  121. package/dest/interfaces/validator.d.ts +99 -3
  122. package/dest/interfaces/validator.d.ts.map +1 -1
  123. package/dest/interfaces/validator.js +7 -0
  124. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
  125. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  126. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
  127. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  128. package/dest/kernel/nullifier.d.ts +2 -2
  129. package/dest/kernel/nullifier.d.ts.map +1 -1
  130. package/dest/kernel/nullifier.js +11 -11
  131. package/dest/kernel/private_call_data.d.ts +4 -24
  132. package/dest/kernel/private_call_data.d.ts.map +1 -1
  133. package/dest/kernel/private_call_data.js +4 -16
  134. package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
  135. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  136. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  137. package/dest/kernel/private_context_inputs.d.ts +2 -2
  138. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  139. package/dest/kernel/private_context_inputs.js +4 -4
  140. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  141. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  142. package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
  143. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
  144. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  145. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  146. package/dest/kernel/private_kernel_prover_output.d.ts +1 -1
  147. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  148. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  149. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  150. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  151. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  152. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  153. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  154. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  155. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  156. package/dest/keys/derivation.d.ts +0 -2
  157. package/dest/keys/derivation.d.ts.map +1 -1
  158. package/dest/keys/derivation.js +1 -21
  159. package/dest/logs/contract_class_log.d.ts +1 -1
  160. package/dest/logs/contract_class_log.d.ts.map +1 -1
  161. package/dest/logs/contract_class_log.js +1 -3
  162. package/dest/logs/debug_log.d.ts +13 -0
  163. package/dest/logs/debug_log.d.ts.map +1 -0
  164. package/dest/logs/debug_log.js +26 -0
  165. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  166. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  167. package/dest/logs/directional_app_tagging_secret.js +64 -0
  168. package/dest/logs/index.d.ts +3 -1
  169. package/dest/logs/index.d.ts.map +1 -1
  170. package/dest/logs/index.js +3 -1
  171. package/dest/logs/log_with_tx_data.d.ts +9 -12
  172. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  173. package/dest/logs/log_with_tx_data.js +18 -23
  174. package/dest/logs/pre_tag.d.ts +34 -0
  175. package/dest/logs/pre_tag.d.ts.map +1 -0
  176. package/dest/logs/pre_tag.js +7 -0
  177. package/dest/logs/public_log.d.ts +23 -10
  178. package/dest/logs/public_log.d.ts.map +1 -1
  179. package/dest/logs/public_log.js +117 -42
  180. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  181. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  182. package/dest/messaging/l2_to_l1_membership.js +16 -18
  183. package/dest/noir/index.d.ts +11 -0
  184. package/dest/noir/index.d.ts.map +1 -1
  185. package/dest/note/index.d.ts +1 -1
  186. package/dest/note/index.d.ts.map +1 -1
  187. package/dest/note/index.js +1 -1
  188. package/dest/note/notes_filter.d.ts +0 -5
  189. package/dest/note/notes_filter.d.ts.map +1 -1
  190. package/dest/note/notes_filter.js +0 -3
  191. package/dest/note/unique_note.d.ts +43 -0
  192. package/dest/note/unique_note.d.ts.map +1 -0
  193. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  194. package/dest/p2p/block_attestation.d.ts +13 -13
  195. package/dest/p2p/block_attestation.d.ts.map +1 -1
  196. package/dest/p2p/block_attestation.js +27 -25
  197. package/dest/p2p/block_proposal.d.ts +6 -8
  198. package/dest/p2p/block_proposal.d.ts.map +1 -1
  199. package/dest/p2p/block_proposal.js +10 -13
  200. package/dest/p2p/consensus_payload.d.ts +7 -6
  201. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  202. package/dest/p2p/consensus_payload.js +7 -6
  203. package/dest/parity/index.d.ts +2 -3
  204. package/dest/parity/index.d.ts.map +1 -1
  205. package/dest/parity/index.js +2 -3
  206. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  207. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  208. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  209. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  210. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  211. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  212. package/dest/proofs/client_ivc_proof.d.ts +17 -7
  213. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  214. package/dest/proofs/client_ivc_proof.js +78 -19
  215. package/dest/proofs/index.d.ts +1 -0
  216. package/dest/proofs/index.d.ts.map +1 -1
  217. package/dest/proofs/index.js +1 -0
  218. package/dest/proofs/proof_data.d.ts +21 -0
  219. package/dest/proofs/proof_data.d.ts.map +1 -0
  220. package/dest/proofs/proof_data.js +22 -0
  221. package/dest/proofs/proving_request_type.d.ts +17 -13
  222. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  223. package/dest/proofs/proving_request_type.js +17 -12
  224. package/dest/rollup/avm_proof_data.d.ts +2 -12
  225. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  226. package/dest/rollup/avm_proof_data.js +0 -24
  227. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  228. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  229. package/dest/rollup/base_rollup_hints.js +26 -26
  230. package/dest/rollup/block_constant_data.d.ts +24 -10
  231. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  232. package/dest/rollup/block_constant_data.js +18 -10
  233. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  234. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  235. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  236. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  237. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  238. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  239. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  240. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  241. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  242. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  243. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  244. package/dest/rollup/checkpoint_constant_data.js +55 -0
  245. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -13
  246. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  247. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
  248. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  249. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  250. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  251. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  252. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  253. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  254. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  255. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  256. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  257. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  258. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  259. package/dest/rollup/epoch_constant_data.js +25 -12
  260. package/dest/rollup/index.d.ts +17 -16
  261. package/dest/rollup/index.d.ts.map +1 -1
  262. package/dest/rollup/index.js +17 -16
  263. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  264. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  265. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  266. package/dest/rollup/public_tube_private_inputs.d.ts +21 -0
  267. package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
  268. package/dest/rollup/public_tube_private_inputs.js +42 -0
  269. package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
  270. package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
  271. package/dest/rollup/public_tube_public_inputs.js +41 -0
  272. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  273. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  274. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  275. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  276. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  277. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  278. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  279. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  280. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  281. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  282. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  283. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  284. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  285. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  286. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  287. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  288. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  289. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  290. package/dest/stats/stats.d.ts +1 -1
  291. package/dest/stats/stats.d.ts.map +1 -1
  292. package/dest/tests/factories.d.ts +42 -74
  293. package/dest/tests/factories.d.ts.map +1 -1
  294. package/dest/tests/factories.js +144 -167
  295. package/dest/tests/mocks.d.ts +11 -7
  296. package/dest/tests/mocks.d.ts.map +1 -1
  297. package/dest/tests/mocks.js +44 -23
  298. package/dest/trees/index.d.ts +0 -1
  299. package/dest/trees/index.d.ts.map +1 -1
  300. package/dest/trees/index.js +0 -1
  301. package/dest/trees/merkle_tree_id.d.ts +4 -4
  302. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  303. package/dest/tx/block_header.d.ts +12 -13
  304. package/dest/tx/block_header.d.ts.map +1 -1
  305. package/dest/tx/block_header.js +16 -21
  306. package/dest/tx/global_variables.d.ts.map +1 -1
  307. package/dest/tx/global_variables.js +0 -1
  308. package/dest/tx/index.d.ts +2 -1
  309. package/dest/tx/index.d.ts.map +1 -1
  310. package/dest/tx/index.js +2 -1
  311. package/dest/tx/private_execution_result.d.ts +7 -2
  312. package/dest/tx/private_execution_result.d.ts.map +1 -1
  313. package/dest/tx/private_execution_result.js +10 -6
  314. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  315. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  316. package/dest/tx/private_tx_constant_data.js +69 -0
  317. package/dest/tx/processed_tx.d.ts +0 -1
  318. package/dest/tx/processed_tx.d.ts.map +1 -1
  319. package/dest/tx/processed_tx.js +1 -6
  320. package/dest/tx/profiling.d.ts.map +1 -1
  321. package/dest/tx/profiling.js +0 -2
  322. package/dest/tx/protocol_contracts.d.ts +29 -0
  323. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  324. package/dest/tx/protocol_contracts.js +49 -0
  325. package/dest/tx/simulated_tx.d.ts +3 -3
  326. package/dest/tx/tx.d.ts +6 -2
  327. package/dest/tx/tx.d.ts.map +1 -1
  328. package/dest/tx/tx.js +10 -3
  329. package/dest/tx/tx_constant_data.d.ts +6 -38
  330. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  331. package/dest/tx/tx_constant_data.js +11 -20
  332. package/dest/tx/tx_effect.d.ts +3 -36
  333. package/dest/tx/tx_effect.d.ts.map +1 -1
  334. package/dest/tx/tx_effect.js +63 -202
  335. package/dest/tx/validator/error_texts.d.ts +1 -1
  336. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  337. package/dest/tx/validator/error_texts.js +1 -1
  338. package/dest/versioning/versioning.d.ts +2 -2
  339. package/dest/versioning/versioning.d.ts.map +1 -1
  340. package/dest/versioning/versioning.js +18 -13
  341. package/dest/world-state/index.d.ts +2 -0
  342. package/dest/world-state/index.d.ts.map +1 -0
  343. package/dest/world-state/index.js +1 -0
  344. package/dest/world-state/world_state_revision.d.ts +22 -0
  345. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  346. package/dest/world-state/world_state_revision.js +21 -0
  347. package/dest/zkpassport/index.d.ts +15 -9
  348. package/dest/zkpassport/index.d.ts.map +1 -1
  349. package/dest/zkpassport/index.js +17 -11
  350. package/package.json +12 -10
  351. package/src/abi/abi.ts +1 -1
  352. package/src/abi/contract_artifact.ts +3 -0
  353. package/src/abi/event_metadata_definition.ts +8 -0
  354. package/src/abi/function_call.ts +5 -1
  355. package/src/abi/index.ts +1 -0
  356. package/src/avm/avm.ts +13 -2
  357. package/src/avm/avm_accumulated_data.ts +25 -29
  358. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  359. package/src/avm/index.ts +1 -1
  360. package/src/avm/message_pack.ts +25 -1
  361. package/src/block/attestation_info.ts +62 -0
  362. package/src/block/body.ts +25 -23
  363. package/src/block/index.ts +2 -0
  364. package/src/block/l2_block.ts +33 -8
  365. package/src/block/l2_block_code_to_purge.ts +30 -31
  366. package/src/block/l2_block_header.ts +232 -0
  367. package/src/block/l2_block_source.ts +32 -0
  368. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  369. package/src/block/proposal/attestations_and_signers.ts +1 -1
  370. package/src/block/proposal/committee_attestation.ts +0 -4
  371. package/src/block/published_l2_block.ts +0 -17
  372. package/src/block/test/l2_tips_store_test_suite.ts +1 -2
  373. package/src/checkpoint/checkpoint_body.ts +10 -0
  374. package/src/checkpoint/index.ts +1 -0
  375. package/src/config/node-rpc-config.ts +9 -0
  376. package/src/contract/contract_address.ts +1 -1
  377. package/src/contract/contract_class_metadata.ts +8 -0
  378. package/src/contract/contract_instance.ts +11 -10
  379. package/src/contract/contract_metadata.ts +7 -0
  380. package/src/contract/index.ts +2 -0
  381. package/src/contract/interfaces/contract_class.ts +1 -1
  382. package/src/hash/hash.ts +0 -4
  383. package/src/interfaces/archiver.ts +9 -1
  384. package/src/interfaces/aztec-node-admin.ts +2 -2
  385. package/src/interfaces/aztec-node.ts +45 -0
  386. package/src/interfaces/block-builder.ts +1 -6
  387. package/src/interfaces/client.ts +0 -1
  388. package/src/interfaces/configs.ts +3 -0
  389. package/src/interfaces/epoch-prover.ts +35 -11
  390. package/src/interfaces/merkle_tree_operations.ts +6 -0
  391. package/src/interfaces/p2p.ts +4 -0
  392. package/src/interfaces/private_kernel_prover.ts +2 -2
  393. package/src/interfaces/proving-job.ts +215 -134
  394. package/src/interfaces/server_circuit_prover.ts +87 -61
  395. package/src/interfaces/tx_provider.ts +1 -0
  396. package/src/interfaces/validator.ts +19 -4
  397. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  398. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  399. package/src/kernel/nullifier.ts +8 -8
  400. package/src/kernel/private_call_data.ts +2 -21
  401. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  402. package/src/kernel/private_context_inputs.ts +2 -2
  403. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  404. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  405. package/src/kernel/private_kernel_prover_output.ts +1 -1
  406. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  407. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  408. package/src/keys/derivation.ts +1 -26
  409. package/src/logs/contract_class_log.ts +2 -3
  410. package/src/logs/debug_log.ts +32 -0
  411. package/src/logs/directional_app_tagging_secret.ts +78 -0
  412. package/src/logs/index.ts +3 -1
  413. package/src/logs/log_with_tx_data.ts +14 -24
  414. package/src/logs/pre_tag.ts +25 -0
  415. package/src/logs/public_log.ts +120 -58
  416. package/src/messaging/l2_to_l1_membership.ts +20 -26
  417. package/src/noir/index.ts +11 -0
  418. package/src/note/index.ts +1 -1
  419. package/src/note/notes_filter.ts +0 -7
  420. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  421. package/src/p2p/block_attestation.ts +31 -24
  422. package/src/p2p/block_proposal.ts +11 -16
  423. package/src/p2p/consensus_payload.ts +8 -7
  424. package/src/parity/index.ts +2 -3
  425. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  426. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  427. package/src/proofs/client_ivc_proof.ts +86 -20
  428. package/src/proofs/index.ts +1 -0
  429. package/src/proofs/proof_data.ts +36 -0
  430. package/src/proofs/proving_request_type.ts +14 -10
  431. package/src/rollup/avm_proof_data.ts +2 -31
  432. package/src/rollup/base_rollup_hints.ts +22 -22
  433. package/src/rollup/block_constant_data.ts +16 -6
  434. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  435. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  436. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  437. package/src/rollup/checkpoint_constant_data.ts +84 -0
  438. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +17 -18
  439. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  440. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  441. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  442. package/src/rollup/epoch_constant_data.ts +28 -10
  443. package/src/rollup/index.ts +17 -16
  444. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  445. package/src/rollup/public_tube_private_inputs.ts +53 -0
  446. package/src/rollup/public_tube_public_inputs.ts +52 -0
  447. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  448. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  449. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  450. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  451. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  452. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  453. package/src/stats/stats.ts +19 -13
  454. package/src/tests/factories.ts +217 -275
  455. package/src/tests/mocks.ts +71 -53
  456. package/src/trees/index.ts +0 -1
  457. package/src/tx/block_header.ts +17 -32
  458. package/src/tx/global_variables.ts +0 -1
  459. package/src/tx/index.ts +2 -1
  460. package/src/tx/private_execution_result.ts +9 -3
  461. package/src/tx/private_tx_constant_data.ts +94 -0
  462. package/src/tx/processed_tx.ts +1 -7
  463. package/src/tx/profiling.ts +0 -2
  464. package/src/tx/protocol_contracts.ts +70 -0
  465. package/src/tx/tx.ts +12 -3
  466. package/src/tx/tx_constant_data.ts +8 -21
  467. package/src/tx/tx_effect.ts +64 -213
  468. package/src/tx/validator/error_texts.ts +1 -1
  469. package/src/versioning/versioning.ts +20 -15
  470. package/src/world-state/index.ts +1 -0
  471. package/src/world-state/world_state_revision.ts +21 -0
  472. package/src/zkpassport/index.ts +40 -28
  473. package/dest/avm/public_data_hint.d.ts +0 -16
  474. package/dest/avm/public_data_hint.d.ts.map +0 -1
  475. package/dest/avm/public_data_hint.js +0 -27
  476. package/dest/interfaces/pxe.d.ts +0 -336
  477. package/dest/interfaces/pxe.d.ts.map +0 -1
  478. package/dest/interfaces/pxe.js +0 -101
  479. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  480. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  481. package/dest/logs/indexed_tagging_secret.js +0 -50
  482. package/dest/note/extended_note.d.ts +0 -111
  483. package/dest/note/extended_note.d.ts.map +0 -1
  484. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  485. package/dest/parity/root_parity_input.d.ts +0 -52
  486. package/dest/parity/root_parity_input.d.ts.map +0 -1
  487. package/dest/parity/root_parity_input.js +0 -50
  488. package/dest/parity/root_parity_inputs.d.ts +0 -37
  489. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  490. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  491. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  492. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  493. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  494. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  495. package/dest/rollup/block_root_rollup.d.ts +0 -283
  496. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  497. package/dest/rollup/block_root_rollup.js +0 -306
  498. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  499. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  500. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  501. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  502. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  503. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  504. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  505. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  506. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  507. package/dest/rollup/previous_rollup_block_data.js +0 -37
  508. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  509. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  510. package/dest/rollup/previous_rollup_data.js +0 -37
  511. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  512. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  513. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  514. package/dest/rollup/private_tube_data.d.ts +0 -15
  515. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  516. package/dest/rollup/private_tube_data.js +0 -25
  517. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  518. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  519. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  520. package/dest/rollup/public_tube_data.d.ts +0 -15
  521. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  522. package/dest/rollup/public_tube_data.js +0 -25
  523. package/dest/rollup/root_rollup.d.ts +0 -106
  524. package/dest/rollup/root_rollup.d.ts.map +0 -1
  525. package/dest/rollup/root_rollup.js +0 -147
  526. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  527. package/dest/rollup/state_diff_hints.js +0 -85
  528. package/dest/rollup/tube_inputs.d.ts +0 -43
  529. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  530. package/dest/rollup/tube_inputs.js +0 -63
  531. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  532. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  533. package/dest/trees/protocol_contract_leaf.js +0 -100
  534. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  535. package/src/avm/public_data_hint.ts +0 -38
  536. package/src/interfaces/pxe.ts +0 -541
  537. package/src/logs/indexed_tagging_secret.ts +0 -48
  538. package/src/parity/root_parity_input.ts +0 -71
  539. package/src/rollup/block_root_rollup.ts +0 -380
  540. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  541. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  542. package/src/rollup/previous_rollup_block_data.ts +0 -48
  543. package/src/rollup/previous_rollup_data.ts +0 -48
  544. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  545. package/src/rollup/private_tube_data.ts +0 -35
  546. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  547. package/src/rollup/public_tube_data.ts +0 -35
  548. package/src/rollup/root_rollup.ts +0 -195
  549. package/src/rollup/tube_inputs.ts +0 -77
  550. package/src/trees/protocol_contract_leaf.ts +0 -128
@@ -3,24 +3,36 @@ import type {
3
3
  NESTED_RECURSIVE_PROOF_LENGTH,
4
4
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
5
5
  RECURSIVE_PROOF_LENGTH,
6
- TUBE_PROOF_LENGTH,
7
6
  } from '@aztec/constants';
8
7
 
9
8
  import type { AvmCircuitInputs } from '../avm/avm.js';
10
- import type { BaseParityInputs } from '../parity/base_parity_inputs.js';
9
+ import type { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
11
10
  import type { ParityPublicInputs } from '../parity/parity_public_inputs.js';
12
- import type { RootParityInputs } from '../parity/root_parity_inputs.js';
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 } from '../rollup/index.js';
19
- import type { MergeRollupInputs } from '../rollup/merge_rollup.js';
20
- import type { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js';
21
- import type { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js';
22
- import type { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
23
- import type { TubeInputs } from '../rollup/tube_inputs.js';
11
+ import type { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
12
+ import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
13
+ import type { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
14
+ import type {
15
+ BlockRootEmptyTxFirstRollupPrivateInputs,
16
+ BlockRootFirstRollupPrivateInputs,
17
+ BlockRootRollupPrivateInputs,
18
+ BlockRootSingleTxFirstRollupPrivateInputs,
19
+ BlockRootSingleTxRollupPrivateInputs,
20
+ } from '../rollup/block_root_rollup_private_inputs.js';
21
+ import type { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup_private_inputs.js';
22
+ import type { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
23
+ import type {
24
+ CheckpointPaddingRollupPrivateInputs,
25
+ CheckpointRootRollupPrivateInputs,
26
+ CheckpointRootSingleBlockRollupPrivateInputs,
27
+ } from '../rollup/checkpoint_root_rollup_private_inputs.js';
28
+ import type { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
29
+ import type { PublicTubePrivateInputs } from '../rollup/public_tube_private_inputs.js';
30
+ import type { PublicTubePublicInputs } from '../rollup/public_tube_public_inputs.js';
31
+ import type { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
32
+ import type { RootRollupPrivateInputs } from '../rollup/root_rollup_private_inputs.js';
33
+ import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
34
+ import type { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
35
+ import type { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
24
36
  import type { Tx } from '../tx/tx.js';
25
37
  import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js';
26
38
 
@@ -33,7 +45,7 @@ export interface ServerCircuitProver {
33
45
  * @param input - Input to the circuit.
34
46
  */
35
47
  getBaseParityProof(
36
- inputs: BaseParityInputs,
48
+ inputs: ParityBasePrivateInputs,
37
49
  signal?: AbortSignal,
38
50
  epochNumber?: number,
39
51
  ): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
@@ -43,103 +55,117 @@ export interface ServerCircuitProver {
43
55
  * @param input - Input to the circuit.
44
56
  */
45
57
  getRootParityProof(
46
- inputs: RootParityInputs,
58
+ inputs: ParityRootPrivateInputs,
47
59
  signal?: AbortSignal,
48
60
  epochNumber?: number,
49
61
  ): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
50
62
 
63
+ getPublicTubeProof(
64
+ inputs: PublicTubePrivateInputs,
65
+ signal?: AbortSignal,
66
+ epochNumber?: number,
67
+ ): Promise<PublicInputsAndRecursiveProof<PublicTubePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
68
+
51
69
  /**
52
70
  * Creates a proof for the given input.
53
71
  * @param input - Input to the circuit.
54
72
  */
55
- getPrivateBaseRollupProof(
56
- baseRollupInput: PrivateBaseRollupInputs,
73
+ getPrivateTxBaseRollupProof(
74
+ baseRollupInput: PrivateTxBaseRollupPrivateInputs,
57
75
  signal?: AbortSignal,
58
76
  epochNumber?: number,
59
- ): Promise<
60
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
61
- >;
77
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
62
78
 
63
- getPublicBaseRollupProof(
64
- inputs: PublicBaseRollupInputs,
79
+ getPublicTxBaseRollupProof(
80
+ inputs: PublicTxBaseRollupPrivateInputs,
65
81
  signal?: AbortSignal,
66
82
  epochNumber?: number,
67
- ): Promise<
68
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
69
- >;
83
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
70
84
 
71
85
  /**
72
- * Get a recursively verified client IVC proof (making it a compatible honk proof for the rest of the rollup).
86
+ * Creates a proof for the given input.
73
87
  * @param input - Input to the circuit.
74
88
  */
75
- getTubeProof(
76
- tubeInput: TubeInputs,
89
+ getTxMergeRollupProof(
90
+ input: TxMergeRollupPrivateInputs,
77
91
  signal?: AbortSignal,
78
92
  epochNumber?: number,
79
- ): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
93
+ ): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
80
94
 
81
95
  /**
82
96
  * Creates a proof for the given input.
83
97
  * @param input - Input to the circuit.
84
98
  */
85
- getMergeRollupProof(
86
- input: MergeRollupInputs,
99
+ getBlockRootFirstRollupProof(
100
+ input: BlockRootFirstRollupPrivateInputs,
87
101
  signal?: AbortSignal,
88
102
  epochNumber?: number,
89
- ): Promise<
90
- PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
91
- >;
103
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
104
+
105
+ getBlockRootSingleTxFirstRollupProof(
106
+ input: BlockRootSingleTxFirstRollupPrivateInputs,
107
+ signal?: AbortSignal,
108
+ epochNumber?: number,
109
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
110
+
111
+ getBlockRootEmptyTxFirstRollupProof(
112
+ input: BlockRootEmptyTxFirstRollupPrivateInputs,
113
+ signal?: AbortSignal,
114
+ epochNumber?: number,
115
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
116
+
117
+ getBlockRootRollupProof(
118
+ input: BlockRootRollupPrivateInputs,
119
+ signal?: AbortSignal,
120
+ epochNumber?: number,
121
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
122
+
123
+ getBlockRootSingleTxRollupProof(
124
+ input: BlockRootSingleTxRollupPrivateInputs,
125
+ signal?: AbortSignal,
126
+ epochNumber?: number,
127
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
92
128
 
93
129
  /**
94
130
  * Creates a proof for the given input.
95
131
  * @param input - Input to the circuit.
96
132
  */
97
- getBlockRootRollupProof(
98
- input: BlockRootRollupInputs,
133
+ getBlockMergeRollupProof(
134
+ input: BlockMergeRollupPrivateInputs,
99
135
  signal?: AbortSignal,
100
136
  epochNumber?: number,
101
- ): Promise<
102
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
103
- >;
137
+ ): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
104
138
 
105
- getSingleTxBlockRootRollupProof(
106
- input: SingleTxBlockRootRollupInputs,
139
+ getCheckpointRootRollupProof(
140
+ input: CheckpointRootRollupPrivateInputs,
107
141
  signal?: AbortSignal,
108
142
  epochNumber?: number,
109
143
  ): Promise<
110
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
144
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
111
145
  >;
112
146
 
113
- /**
114
- * Creates a proof for the given input.
115
- * @param input - Input to the circuit.
116
- */
117
- getEmptyBlockRootRollupProof(
118
- input: EmptyBlockRootRollupInputs,
147
+ getCheckpointRootSingleBlockRollupProof(
148
+ input: CheckpointRootSingleBlockRollupPrivateInputs,
119
149
  signal?: AbortSignal,
120
150
  epochNumber?: number,
121
151
  ): Promise<
122
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
152
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
123
153
  >;
124
154
 
125
- getPaddingBlockRootRollupProof(
126
- input: PaddingBlockRootRollupInputs,
155
+ getCheckpointPaddingRollupProof(
156
+ input: CheckpointPaddingRollupPrivateInputs,
127
157
  signal?: AbortSignal,
128
158
  epochNumber?: number,
129
159
  ): Promise<
130
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
160
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
131
161
  >;
132
162
 
133
- /**
134
- * Creates a proof for the given input.
135
- * @param input - Input to the circuit.
136
- */
137
- getBlockMergeRollupProof(
138
- input: BlockMergeRollupInputs,
163
+ getCheckpointMergeRollupProof(
164
+ input: CheckpointMergeRollupPrivateInputs,
139
165
  signal?: AbortSignal,
140
166
  epochNumber?: number,
141
167
  ): Promise<
142
- PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
168
+ PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
143
169
  >;
144
170
 
145
171
  /**
@@ -147,7 +173,7 @@ export interface ServerCircuitProver {
147
173
  * @param input - Input to the circuit.
148
174
  */
149
175
  getRootRollupProof(
150
- input: RootRollupInputs,
176
+ input: RootRollupPrivateInputs,
151
177
  signal?: AbortSignal,
152
178
  epochNumber?: number,
153
179
  ): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
@@ -9,6 +9,7 @@ export interface ITxProvider {
9
9
 
10
10
  getTxsForBlockProposal(
11
11
  blockProposal: BlockProposal,
12
+ blockNumber: number,
12
13
  opts: { pinnedPeer: PeerId | undefined; deadline: Date },
13
14
  ): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
14
15
 
@@ -5,12 +5,14 @@ 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';
15
+ import { AllowedElementSchema } from './allowed_element.js';
14
16
 
15
17
  /**
16
18
  * Validator client configuration
@@ -42,8 +44,14 @@ export interface ValidatorClientConfig {
42
44
  }
43
45
 
44
46
  export type ValidatorClientFullConfig = ValidatorClientConfig &
45
- Pick<SequencerConfig, 'txPublicSetupAllowList'> &
46
- Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'>;
47
+ Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
48
+ Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'> & {
49
+ /**
50
+ * Whether transactions are disabled for this node
51
+ * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
52
+ */
53
+ disableTransactions?: boolean;
54
+ };
47
55
 
48
56
  export const ValidatorClientConfigSchema = z.object({
49
57
  validatorAddresses: z.array(schemas.EthAddress).optional(),
@@ -55,6 +63,13 @@ export const ValidatorClientConfigSchema = z.object({
55
63
  alwaysReexecuteBlockProposals: z.boolean().optional(),
56
64
  }) satisfies ZodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>;
57
65
 
66
+ export const ValidatorClientFullConfigSchema = ValidatorClientConfigSchema.extend({
67
+ txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
68
+ broadcastInvalidBlockProposal: z.boolean().optional(),
69
+ slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
70
+ disableTransactions: z.boolean().optional(),
71
+ }) satisfies ZodFor<Omit<ValidatorClientFullConfig, 'validatorPrivateKeys'>>;
72
+
58
73
  export interface Validator {
59
74
  start(): Promise<void>;
60
75
  updateConfig(config: Partial<ValidatorClientFullConfig>): void;
@@ -62,7 +77,7 @@ export interface Validator {
62
77
  // Block validation responsibilities
63
78
  createBlockProposal(
64
79
  blockNumber: number,
65
- header: ProposedBlockHeader,
80
+ header: CheckpointHeader,
66
81
  archive: Fr,
67
82
  stateReference: StateReference,
68
83
  txs: Tx[],
@@ -4,9 +4,10 @@ import {
4
4
  type NULLIFIER_TREE_HEIGHT,
5
5
  } from '@aztec/constants';
6
6
  import type { Fr } from '@aztec/foundation/fields';
7
- import { type IndexedTreeLeafPreimage, MembershipWitness } from '@aztec/foundation/trees';
7
+ import { MembershipWitness } from '@aztec/foundation/trees';
8
8
 
9
9
  import { siloNullifier } from '../../hash/hash.js';
10
+ import type { NullifierLeafPreimage } from '../../trees/nullifier_leaf.js';
10
11
  import type { ClaimedLengthArray } from '../claimed_length_array.js';
11
12
  import type { ScopedNullifier } from '../nullifier.js';
12
13
  import { NullifierReadRequestHintsBuilder } from './nullifier_read_request_hints.js';
@@ -24,7 +25,7 @@ export function isValidNullifierReadRequest(readRequest: ScopedReadRequest, null
24
25
 
25
26
  interface NullifierMembershipWitnessWithPreimage {
26
27
  membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>;
27
- leafPreimage: IndexedTreeLeafPreimage;
28
+ leafPreimage: NullifierLeafPreimage;
28
29
  }
29
30
 
30
31
  export function getNullifierReadRequestResetActions(
@@ -1,7 +1,7 @@
1
1
  import { MAX_NULLIFIER_READ_REQUESTS_PER_TX, NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import type { BufferReader } from '@aztec/foundation/serialize';
4
- import type { MembershipWitness, TreeLeafPreimage } from '@aztec/foundation/trees';
4
+ import type { MembershipWitness } from '@aztec/foundation/trees';
5
5
 
6
6
  import { NullifierLeafPreimage } from '../../trees/index.js';
7
7
  import { PendingReadHint, ReadRequestAction, ReadRequestResetHints, SettledReadHint } from './read_request_hints.js';
@@ -11,7 +11,7 @@ export type NullifierReadRequestHints<PENDING extends number, SETTLED extends nu
11
11
  PENDING,
12
12
  SETTLED,
13
13
  typeof NULLIFIER_TREE_HEIGHT,
14
- TreeLeafPreimage
14
+ NullifierLeafPreimage
15
15
  >;
16
16
 
17
17
  export function nullifierReadRequestHintsFromBuffer<PENDING extends number, SETTLED extends number>(
@@ -64,7 +64,7 @@ export class NullifierReadRequestHintsBuilder<PENDING extends number, SETTLED ex
64
64
  addSettledReadRequest(
65
65
  readRequestIndex: number,
66
66
  membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>,
67
- leafPreimage: TreeLeafPreimage,
67
+ leafPreimage: NullifierLeafPreimage,
68
68
  ) {
69
69
  if (this.numSettledReadHints === this.maxSettled) {
70
70
  throw new Error('Cannot add more settled read request.');
@@ -7,38 +7,38 @@ import type { Ordered } from './utils/interfaces.js';
7
7
  export class Nullifier implements Ordered {
8
8
  constructor(
9
9
  public value: Fr,
10
- public counter: number,
11
10
  public noteHash: Fr,
11
+ public counter: number,
12
12
  ) {}
13
13
 
14
14
  toFields(): Fr[] {
15
- return [this.value, new Fr(this.counter), this.noteHash];
15
+ return [this.value, this.noteHash, new Fr(this.counter)];
16
16
  }
17
17
 
18
18
  static fromFields(fields: Fr[] | FieldReader) {
19
19
  const reader = FieldReader.asReader(fields);
20
- return new Nullifier(reader.readField(), reader.readU32(), reader.readField());
20
+ return new Nullifier(reader.readField(), reader.readField(), reader.readU32());
21
21
  }
22
22
 
23
23
  isEmpty() {
24
- return this.value.isZero() && !this.counter && this.noteHash.isZero();
24
+ return this.value.isZero() && this.noteHash.isZero() && !this.counter;
25
25
  }
26
26
 
27
27
  static empty() {
28
- return new Nullifier(Fr.zero(), 0, Fr.zero());
28
+ return new Nullifier(Fr.zero(), Fr.zero(), 0);
29
29
  }
30
30
 
31
31
  toBuffer(): Buffer {
32
- return serializeToBuffer(this.value, this.counter, this.noteHash);
32
+ return serializeToBuffer(this.value, this.noteHash, this.counter);
33
33
  }
34
34
 
35
35
  static fromBuffer(buffer: Buffer | BufferReader) {
36
36
  const reader = BufferReader.asReader(buffer);
37
- return new Nullifier(Fr.fromBuffer(reader), reader.readNumber(), Fr.fromBuffer(reader));
37
+ return new Nullifier(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readNumber());
38
38
  }
39
39
 
40
40
  toString(): string {
41
- return `value=${this.value} counter=${this.counter} noteHash=${this.noteHash}`;
41
+ return `value=${this.value} noteHash=${this.noteHash} counter=${this.counter}`;
42
42
  }
43
43
 
44
44
  scope(contractAddress: AztecAddress) {
@@ -1,9 +1,4 @@
1
- import {
2
- FUNCTION_TREE_HEIGHT,
3
- PROTOCOL_CONTRACT_TREE_HEIGHT,
4
- PUBLIC_DATA_TREE_HEIGHT,
5
- UPDATES_VALUE_SIZE,
6
- } from '@aztec/constants';
1
+ import { FUNCTION_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT, UPDATES_VALUE_SIZE } from '@aztec/constants';
7
2
  import { Fr } from '@aztec/foundation/fields';
8
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
9
4
  import { MembershipWitness } from '@aztec/foundation/trees';
@@ -11,7 +6,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
11
6
 
12
7
  import { DelayedPublicMutableValues } from '../delayed_public_mutable/delayed_public_mutable_values.js';
13
8
  import { PublicKeys } from '../keys/public_keys.js';
14
- import { ProtocolContractLeafPreimage, PublicDataTreeLeafPreimage } from '../trees/index.js';
9
+ import { PublicDataTreeLeafPreimage } from '../trees/index.js';
15
10
  import { VerificationKeyAsFields } from '../vks/verification_key.js';
16
11
  import { PrivateCircuitPublicInputs } from './private_circuit_public_inputs.js';
17
12
 
@@ -94,16 +89,6 @@ export class PrivateVerificationKeyHints {
94
89
  * The membership witness for the function leaf corresponding to the function being invoked.
95
90
  */
96
91
  public functionLeafMembershipWitness: MembershipWitness<typeof FUNCTION_TREE_HEIGHT>,
97
- /**
98
- * The membership witness for the protocolContractLeaf.
99
- */
100
- public protocolContractMembershipWitness: MembershipWitness<typeof PROTOCOL_CONTRACT_TREE_HEIGHT>,
101
- /**
102
- * The leaf of the protocol contract tree, of either:
103
- * The protocol contract being called.
104
- * The low leaf showing that the address of the contract being called is not in the tree.
105
- */
106
- public protocolContractLeaf: ProtocolContractLeafPreimage,
107
92
 
108
93
  public updatedClassIdHints: UpdatedClassIdHints,
109
94
  ) {}
@@ -120,8 +105,6 @@ export class PrivateVerificationKeyHints {
120
105
  fields.publicKeys,
121
106
  fields.saltedInitializationHash,
122
107
  fields.functionLeafMembershipWitness,
123
- fields.protocolContractMembershipWitness,
124
- fields.protocolContractLeaf,
125
108
  fields.updatedClassIdHints,
126
109
  ] as const;
127
110
  }
@@ -151,8 +134,6 @@ export class PrivateVerificationKeyHints {
151
134
  reader.readObject(PublicKeys),
152
135
  reader.readObject(Fr),
153
136
  reader.readObject(MembershipWitness.deserializer(FUNCTION_TREE_HEIGHT)),
154
- reader.readObject(MembershipWitness.deserializer(PROTOCOL_CONTRACT_TREE_HEIGHT)),
155
- reader.readObject(ProtocolContractLeafPreimage),
156
137
  reader.readObject(UpdatedClassIdHints),
157
138
  );
158
139
  }
@@ -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
  }
@@ -3,7 +3,7 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
3
  import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
 
5
5
  import { AztecAddress } from '../aztec-address/index.js';
6
- import { TxConstantData } from '../tx/tx_constant_data.js';
6
+ import { PrivateTxConstantData } from '../tx/private_tx_constant_data.js';
7
7
  import type { UInt64 } from '../types/shared.js';
8
8
  import { PrivateAccumulatedData } from './private_accumulated_data.js';
9
9
  import { PrivateValidationRequests } from './private_validation_requests.js';
@@ -17,7 +17,7 @@ export class PrivateKernelCircuitPublicInputs {
17
17
  /**
18
18
  * Data which is not modified by the circuits.
19
19
  */
20
- public constants: TxConstantData,
20
+ public constants: PrivateTxConstantData,
21
21
  /**
22
22
  * The side effect counter that non-revertible side effects are all beneath.
23
23
  */
@@ -82,7 +82,7 @@ export class PrivateKernelCircuitPublicInputs {
82
82
  static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelCircuitPublicInputs {
83
83
  const reader = BufferReader.asReader(buffer);
84
84
  return new PrivateKernelCircuitPublicInputs(
85
- reader.readObject(TxConstantData),
85
+ reader.readObject(PrivateTxConstantData),
86
86
  reader.readObject(Fr),
87
87
  reader.readObject(PrivateValidationRequests),
88
88
  reader.readObject(PrivateAccumulatedData),
@@ -96,7 +96,7 @@ export class PrivateKernelCircuitPublicInputs {
96
96
 
97
97
  static empty() {
98
98
  return new PrivateKernelCircuitPublicInputs(
99
- TxConstantData.empty(),
99
+ PrivateTxConstantData.empty(),
100
100
  Fr.zero(),
101
101
  PrivateValidationRequests.empty(),
102
102
  PrivateAccumulatedData.empty(),
@@ -1,6 +1,7 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
 
4
+ import { ProtocolContracts } from '../tx/protocol_contracts.js';
4
5
  import { TxRequest } from '../tx/tx_request.js';
5
6
  import { PrivateCallData } from './private_call_data.js';
6
7
 
@@ -18,9 +19,9 @@ export class PrivateKernelInitCircuitPrivateInputs {
18
19
  */
19
20
  public vkTreeRoot: Fr,
20
21
  /**
21
- * The root of the protocol contract tree.
22
+ * The protocol contracts.
22
23
  */
23
- public protocolContractTreeRoot: Fr,
24
+ public protocolContracts: ProtocolContracts,
24
25
  /**
25
26
  * Private calldata corresponding to this iteration of the kernel.
26
27
  */
@@ -43,7 +44,7 @@ export class PrivateKernelInitCircuitPrivateInputs {
43
44
  return serializeToBuffer(
44
45
  this.txRequest,
45
46
  this.vkTreeRoot,
46
- this.protocolContractTreeRoot,
47
+ this.protocolContracts,
47
48
  this.privateCall,
48
49
  this.firstNullifierHint,
49
50
  );
@@ -59,7 +60,7 @@ export class PrivateKernelInitCircuitPrivateInputs {
59
60
  return new PrivateKernelInitCircuitPrivateInputs(
60
61
  reader.readObject(TxRequest),
61
62
  Fr.fromBuffer(reader),
62
- Fr.fromBuffer(reader),
63
+ reader.readObject(ProtocolContracts),
63
64
  reader.readObject(PrivateCallData),
64
65
  reader.readBoolean(),
65
66
  Fr.fromBuffer(reader),
@@ -45,7 +45,7 @@ export interface PrivateKernelExecutionProofOutput<
45
45
  /** The public inputs used by the proof generation process. */
46
46
  publicInputs: PublicInputsType;
47
47
  /** The private IVC proof optimized for user devices. It will be consumed by an Aztec prover,
48
- * which recursively verifies it through the "tube" circuit.*/
48
+ * which recursively verifies it through the "private tx base" or the "public tube" circuit.*/
49
49
  clientIvcProof: ClientIvcProof;
50
50
  /**
51
51
  * The trace the clientIvcProof corresponds to.
@@ -170,10 +170,10 @@ 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
- this.constants.protocolContractTreeRoot,
176
+ this.constants.protocolContractsHash,
177
177
  );
178
178
  return new PrivateToRollupKernelCircuitPublicInputs(
179
179
  constants,
@@ -184,6 +184,12 @@ export class PrivateKernelTailCircuitPublicInputs {
184
184
  );
185
185
  }
186
186
 
187
+ publicInputs(): PrivateToPublicKernelCircuitPublicInputs | PrivateToRollupKernelCircuitPublicInputs {
188
+ return this.forPublic
189
+ ? this.toPrivateToPublicKernelCircuitPublicInputs()
190
+ : this.toPrivateToRollupKernelCircuitPublicInputs();
191
+ }
192
+
187
193
  numberOfPublicCallRequests() {
188
194
  return (
189
195
  this.numberOfNonRevertiblePublicCallRequests() +
@@ -1,6 +1,7 @@
1
1
  import { GeneratorIndex, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
3
3
  import type { Fr } from '@aztec/foundation/fields';
4
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
7
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -93,4 +94,12 @@ export class PrivateToPublicKernelCircuitPublicInputs {
93
94
  hash() {
94
95
  return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PUBLIC_TX_HASH);
95
96
  }
97
+
98
+ toJSON() {
99
+ return this.toBuffer();
100
+ }
101
+
102
+ static get schema() {
103
+ return bufferSchemaFor(PrivateToPublicKernelCircuitPublicInputs);
104
+ }
96
105
  }