@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
@@ -0,0 +1,312 @@
1
+ import { SpongeBlob } from '@aztec/blob-lib/types';
2
+ import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
+ import { BufferReader, type Tuple, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
6
+ import type { FieldsOf } from '@aztec/foundation/types';
7
+
8
+ import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
9
+ import { ProofData, type RollupHonkProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
10
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
11
+ import { StateReference } from '../tx/state_reference.js';
12
+ import type { UInt64 } from '../types/shared.js';
13
+ import { CheckpointConstantData } from './checkpoint_constant_data.js';
14
+ import { TxRollupPublicInputs } from './tx_rollup_public_inputs.js';
15
+
16
+ export class BlockRootFirstRollupPrivateInputs {
17
+ constructor(
18
+ /**
19
+ * The original and converted roots of the L1 to L2 messages subtrees.
20
+ */
21
+ public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
22
+ /**
23
+ * The previous rollup proof data from base or merge rollup circuits.
24
+ */
25
+ public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
26
+ /**
27
+ * The l1 to l2 message tree snapshot immediately before this block.
28
+ */
29
+ public previousL1ToL2: AppendOnlyTreeSnapshot,
30
+ /**
31
+ * Hint for inserting the new l1 to l2 message subtree root into `previousL1ToL2`.
32
+ */
33
+ public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
34
+ /**
35
+ * Hint for inserting the new block hash to the last archive.
36
+ */
37
+ public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
38
+ ) {}
39
+
40
+ static from(fields: FieldsOf<BlockRootFirstRollupPrivateInputs>) {
41
+ return new BlockRootFirstRollupPrivateInputs(...BlockRootFirstRollupPrivateInputs.getFields(fields));
42
+ }
43
+
44
+ static getFields(fields: FieldsOf<BlockRootFirstRollupPrivateInputs>) {
45
+ return [
46
+ fields.l1ToL2Roots,
47
+ fields.previousRollups,
48
+ fields.previousL1ToL2,
49
+ fields.newL1ToL2MessageSubtreeRootSiblingPath,
50
+ fields.newArchiveSiblingPath,
51
+ ] as const;
52
+ }
53
+
54
+ toBuffer() {
55
+ return serializeToBuffer(...BlockRootFirstRollupPrivateInputs.getFields(this));
56
+ }
57
+
58
+ static fromBuffer(buffer: Buffer | BufferReader) {
59
+ const reader = BufferReader.asReader(buffer);
60
+ return new BlockRootFirstRollupPrivateInputs(
61
+ ProofData.fromBuffer(reader, ParityPublicInputs),
62
+ [ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
63
+ AppendOnlyTreeSnapshot.fromBuffer(reader),
64
+ reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
65
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
66
+ );
67
+ }
68
+
69
+ toJSON() {
70
+ return this.toBuffer();
71
+ }
72
+
73
+ static get schema() {
74
+ return bufferSchemaFor(BlockRootFirstRollupPrivateInputs);
75
+ }
76
+ }
77
+
78
+ export class BlockRootSingleTxFirstRollupPrivateInputs {
79
+ constructor(
80
+ /**
81
+ * The original and converted roots of the L1 to L2 messages subtrees.
82
+ */
83
+ public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
84
+ /**
85
+ * The previous rollup proof data from base or merge rollup circuits.
86
+ */
87
+ public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
88
+ /**
89
+ * The l1 to l2 message tree snapshot immediately before this block.
90
+ */
91
+ public previousL1ToL2: AppendOnlyTreeSnapshot,
92
+ /**
93
+ * Hint for inserting the new l1 to l2 message subtree root.
94
+ */
95
+ public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
96
+ /**
97
+ * Hint for inserting the new block hash to the last archive.
98
+ */
99
+ public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
100
+ ) {}
101
+
102
+ static from(fields: FieldsOf<BlockRootSingleTxFirstRollupPrivateInputs>) {
103
+ return new BlockRootSingleTxFirstRollupPrivateInputs(
104
+ ...BlockRootSingleTxFirstRollupPrivateInputs.getFields(fields),
105
+ );
106
+ }
107
+
108
+ static getFields(fields: FieldsOf<BlockRootSingleTxFirstRollupPrivateInputs>) {
109
+ return [
110
+ fields.l1ToL2Roots,
111
+ fields.previousRollup,
112
+ fields.previousL1ToL2,
113
+ fields.newL1ToL2MessageSubtreeRootSiblingPath,
114
+ fields.newArchiveSiblingPath,
115
+ ] as const;
116
+ }
117
+
118
+ toBuffer() {
119
+ return serializeToBuffer(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(this));
120
+ }
121
+
122
+ static fromBuffer(buffer: Buffer | BufferReader) {
123
+ const reader = BufferReader.asReader(buffer);
124
+ return new BlockRootSingleTxFirstRollupPrivateInputs(
125
+ ProofData.fromBuffer(reader, ParityPublicInputs),
126
+ ProofData.fromBuffer(reader, TxRollupPublicInputs),
127
+ AppendOnlyTreeSnapshot.fromBuffer(reader),
128
+ reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
129
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
130
+ );
131
+ }
132
+
133
+ toJSON() {
134
+ return this.toBuffer();
135
+ }
136
+
137
+ static get schema() {
138
+ return bufferSchemaFor(BlockRootSingleTxFirstRollupPrivateInputs);
139
+ }
140
+ }
141
+
142
+ export class BlockRootEmptyTxFirstRollupPrivateInputs {
143
+ constructor(
144
+ /**
145
+ * The original and converted roots of the L1 to L2 messages subtrees.
146
+ */
147
+ public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
148
+ /**
149
+ * The archive after applying the previous block.
150
+ */
151
+ public previousArchive: AppendOnlyTreeSnapshot,
152
+ /**
153
+ * The state reference of the previous block.
154
+ */
155
+ public previousState: StateReference,
156
+ /**
157
+ * The constants of the checkpoint.
158
+ */
159
+ public constants: CheckpointConstantData,
160
+ /**
161
+ * The start sponge blob of this block. No data has been absorbed into it yet, since it's the first block. But the
162
+ * number of expected fields must be set to the total number of fields in the entire checkpoint.
163
+ */
164
+ public startSpongeBlob: SpongeBlob,
165
+ /**
166
+ * The timestamp of this block.
167
+ */
168
+ public timestamp: UInt64,
169
+ /**
170
+ * Hint for inserting the new l1 to l2 message subtree root.
171
+ */
172
+ public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
173
+ /**
174
+ * Hint for inserting the new block hash to the last archive.
175
+ */
176
+ public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
177
+ ) {}
178
+
179
+ static from(fields: FieldsOf<BlockRootEmptyTxFirstRollupPrivateInputs>) {
180
+ return new BlockRootEmptyTxFirstRollupPrivateInputs(...BlockRootEmptyTxFirstRollupPrivateInputs.getFields(fields));
181
+ }
182
+
183
+ static getFields(fields: FieldsOf<BlockRootEmptyTxFirstRollupPrivateInputs>) {
184
+ return [
185
+ fields.l1ToL2Roots,
186
+ fields.previousArchive,
187
+ fields.previousState,
188
+ fields.constants,
189
+ fields.startSpongeBlob,
190
+ fields.timestamp,
191
+ fields.newL1ToL2MessageSubtreeRootSiblingPath,
192
+ fields.newArchiveSiblingPath,
193
+ ] as const;
194
+ }
195
+
196
+ toBuffer() {
197
+ return serializeToBuffer([
198
+ this.l1ToL2Roots,
199
+ this.previousArchive,
200
+ this.previousState,
201
+ this.constants,
202
+ this.startSpongeBlob,
203
+ bigintToUInt64BE(this.timestamp),
204
+ this.newL1ToL2MessageSubtreeRootSiblingPath,
205
+ this.newArchiveSiblingPath,
206
+ ]);
207
+ }
208
+
209
+ static fromBuffer(buffer: Buffer | BufferReader) {
210
+ const reader = BufferReader.asReader(buffer);
211
+ return new BlockRootEmptyTxFirstRollupPrivateInputs(
212
+ ProofData.fromBuffer(reader, ParityPublicInputs),
213
+ AppendOnlyTreeSnapshot.fromBuffer(reader),
214
+ StateReference.fromBuffer(reader),
215
+ CheckpointConstantData.fromBuffer(reader),
216
+ SpongeBlob.fromBuffer(reader),
217
+ reader.readUInt64(),
218
+ reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
219
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
220
+ );
221
+ }
222
+
223
+ toJSON() {
224
+ return this.toBuffer();
225
+ }
226
+
227
+ static get schema() {
228
+ return bufferSchemaFor(BlockRootEmptyTxFirstRollupPrivateInputs);
229
+ }
230
+ }
231
+
232
+ export class BlockRootRollupPrivateInputs {
233
+ constructor(
234
+ /**
235
+ * The previous rollup proof data from base or merge rollup circuits.
236
+ */
237
+ public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
238
+ /**
239
+ * Hint for inserting the new block hash to the last archive.
240
+ */
241
+ public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
242
+ ) {}
243
+
244
+ static from(fields: FieldsOf<BlockRootRollupPrivateInputs>) {
245
+ return new BlockRootRollupPrivateInputs(...BlockRootRollupPrivateInputs.getFields(fields));
246
+ }
247
+
248
+ static getFields(fields: FieldsOf<BlockRootRollupPrivateInputs>) {
249
+ return [fields.previousRollups, fields.newArchiveSiblingPath] as const;
250
+ }
251
+
252
+ toBuffer() {
253
+ return serializeToBuffer(...BlockRootRollupPrivateInputs.getFields(this));
254
+ }
255
+
256
+ static fromBuffer(buffer: Buffer | BufferReader) {
257
+ const reader = BufferReader.asReader(buffer);
258
+ return new BlockRootRollupPrivateInputs(
259
+ [ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
260
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
261
+ );
262
+ }
263
+
264
+ toJSON() {
265
+ return this.toBuffer();
266
+ }
267
+
268
+ static get schema() {
269
+ return bufferSchemaFor(BlockRootRollupPrivateInputs);
270
+ }
271
+ }
272
+
273
+ export class BlockRootSingleTxRollupPrivateInputs {
274
+ constructor(
275
+ /**
276
+ * The previous rollup proof data from base or merge rollup circuits.
277
+ */
278
+ public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
279
+ /**
280
+ * Hint for inserting the new block hash to the last archive.
281
+ */
282
+ public newArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
283
+ ) {}
284
+
285
+ static from(fields: FieldsOf<BlockRootSingleTxRollupPrivateInputs>) {
286
+ return new BlockRootSingleTxRollupPrivateInputs(...BlockRootSingleTxRollupPrivateInputs.getFields(fields));
287
+ }
288
+
289
+ static getFields(fields: FieldsOf<BlockRootSingleTxRollupPrivateInputs>) {
290
+ return [fields.previousRollup, fields.newArchiveSiblingPath] as const;
291
+ }
292
+
293
+ toBuffer() {
294
+ return serializeToBuffer(...BlockRootSingleTxRollupPrivateInputs.getFields(this));
295
+ }
296
+
297
+ static fromBuffer(buffer: Buffer | BufferReader) {
298
+ const reader = BufferReader.asReader(buffer);
299
+ return new BlockRootSingleTxRollupPrivateInputs(
300
+ ProofData.fromBuffer(reader, TxRollupPublicInputs),
301
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
302
+ );
303
+ }
304
+
305
+ toJSON() {
306
+ return this.toBuffer();
307
+ }
308
+
309
+ static get schema() {
310
+ return bufferSchemaFor(BlockRootSingleTxRollupPrivateInputs);
311
+ }
312
+ }
@@ -0,0 +1,84 @@
1
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import type { FieldsOf } from '@aztec/foundation/types';
5
+
6
+ import { AztecAddress } from '../aztec-address/index.js';
7
+ import { GasFees } from '../gas/gas_fees.js';
8
+
9
+ /**
10
+ * Constants that are the same for the entire checkpoint.
11
+ */
12
+ export class CheckpointConstantData {
13
+ constructor(
14
+ /** ChainId of the rollup. */
15
+ public chainId: Fr,
16
+ /** Version of the rollup. */
17
+ public version: Fr,
18
+ /** Root of the verification key tree. */
19
+ public vkTreeRoot: Fr,
20
+ /** Hash of the protocol contracts list. */
21
+ public protocolContractsHash: Fr,
22
+ /** Identifier of the prover. */
23
+ public proverId: Fr,
24
+ /** Slot number of the checkpoint. */
25
+ public slotNumber: Fr,
26
+ /** Coinbase address of the rollup. */
27
+ public coinbase: EthAddress,
28
+ /** Address to receive fees. */
29
+ public feeRecipient: AztecAddress,
30
+ /** Global gas fees for this checkpoint. */
31
+ public gasFees: GasFees,
32
+ ) {}
33
+
34
+ static from(fields: FieldsOf<CheckpointConstantData>) {
35
+ return new CheckpointConstantData(...CheckpointConstantData.getFields(fields));
36
+ }
37
+
38
+ static getFields(fields: FieldsOf<CheckpointConstantData>) {
39
+ return [
40
+ fields.chainId,
41
+ fields.version,
42
+ fields.vkTreeRoot,
43
+ fields.protocolContractsHash,
44
+ fields.proverId,
45
+ fields.slotNumber,
46
+ fields.coinbase,
47
+ fields.feeRecipient,
48
+ fields.gasFees,
49
+ ] as const;
50
+ }
51
+
52
+ static empty() {
53
+ return new CheckpointConstantData(
54
+ Fr.ZERO,
55
+ Fr.ZERO,
56
+ Fr.ZERO,
57
+ Fr.ZERO,
58
+ Fr.ZERO,
59
+ Fr.ZERO,
60
+ EthAddress.ZERO,
61
+ AztecAddress.ZERO,
62
+ GasFees.empty(),
63
+ );
64
+ }
65
+
66
+ toBuffer() {
67
+ return serializeToBuffer(...CheckpointConstantData.getFields(this));
68
+ }
69
+
70
+ static fromBuffer(buffer: Buffer | BufferReader) {
71
+ const reader = BufferReader.asReader(buffer);
72
+ return new CheckpointConstantData(
73
+ Fr.fromBuffer(reader),
74
+ Fr.fromBuffer(reader),
75
+ Fr.fromBuffer(reader),
76
+ Fr.fromBuffer(reader),
77
+ Fr.fromBuffer(reader),
78
+ Fr.fromBuffer(reader),
79
+ reader.readObject(EthAddress),
80
+ reader.readObject(AztecAddress),
81
+ reader.readObject(GasFees),
82
+ );
83
+ }
84
+ }
@@ -13,11 +13,10 @@ import { z } from 'zod';
13
13
  import { AztecAddress } from '../aztec-address/index.js';
14
14
  import { GasFees } from '../gas/index.js';
15
15
  import { schemas } from '../schemas/index.js';
16
+ import { ContentCommitment } from '../tx/content_commitment.js';
16
17
  import type { UInt64 } from '../types/shared.js';
17
- import { ContentCommitment } from './content_commitment.js';
18
18
 
19
- /** The proposed values of an L2 block. */
20
- export class ProposedBlockHeader {
19
+ export class CheckpointHeader {
21
20
  constructor(
22
21
  /** Root of the archive tree before this block is added. */
23
22
  public lastArchiveRoot: Fr,
@@ -37,7 +36,7 @@ export class ProposedBlockHeader {
37
36
  public totalManaUsed: Fr,
38
37
  ) {}
39
38
 
40
- static get schema(): ZodFor<ProposedBlockHeader> {
39
+ static get schema(): ZodFor<CheckpointHeader> {
41
40
  return z
42
41
  .object({
43
42
  lastArchiveRoot: schemas.Fr,
@@ -49,10 +48,10 @@ export class ProposedBlockHeader {
49
48
  gasFees: GasFees.schema,
50
49
  totalManaUsed: schemas.Fr,
51
50
  })
52
- .transform(ProposedBlockHeader.from);
51
+ .transform(CheckpointHeader.from);
53
52
  }
54
53
 
55
- static getFields(fields: FieldsOf<ProposedBlockHeader>) {
54
+ static getFields(fields: FieldsOf<CheckpointHeader>) {
56
55
  return [
57
56
  fields.lastArchiveRoot,
58
57
  fields.contentCommitment,
@@ -65,14 +64,14 @@ export class ProposedBlockHeader {
65
64
  ] as const;
66
65
  }
67
66
 
68
- static from(fields: FieldsOf<ProposedBlockHeader>) {
69
- return new ProposedBlockHeader(...ProposedBlockHeader.getFields(fields));
67
+ static from(fields: FieldsOf<CheckpointHeader>) {
68
+ return new CheckpointHeader(...CheckpointHeader.getFields(fields));
70
69
  }
71
70
 
72
- static fromBuffer(buffer: Buffer | BufferReader): ProposedBlockHeader {
71
+ static fromBuffer(buffer: Buffer | BufferReader) {
73
72
  const reader = BufferReader.asReader(buffer);
74
73
 
75
- return new ProposedBlockHeader(
74
+ return new CheckpointHeader(
76
75
  reader.readObject(Fr),
77
76
  reader.readObject(ContentCommitment),
78
77
  Fr.fromBuffer(reader),
@@ -84,7 +83,7 @@ export class ProposedBlockHeader {
84
83
  );
85
84
  }
86
85
 
87
- equals(other: ProposedBlockHeader): boolean {
86
+ equals(other: CheckpointHeader) {
88
87
  return (
89
88
  this.lastArchiveRoot.equals(other.lastArchiveRoot) &&
90
89
  this.contentCommitment.equals(other.contentCommitment) &&
@@ -115,8 +114,8 @@ export class ProposedBlockHeader {
115
114
  return sha256ToField([this.toBuffer()]);
116
115
  }
117
116
 
118
- static empty(fields: Partial<FieldsOf<ProposedBlockHeader>> = {}): ProposedBlockHeader {
119
- return ProposedBlockHeader.from({
117
+ static empty(fields: Partial<FieldsOf<CheckpointHeader>> = {}) {
118
+ return CheckpointHeader.from({
120
119
  lastArchiveRoot: Fr.ZERO,
121
120
  contentCommitment: ContentCommitment.empty(),
122
121
  slotNumber: Fr.ZERO,
@@ -129,8 +128,8 @@ export class ProposedBlockHeader {
129
128
  });
130
129
  }
131
130
 
132
- static random(): ProposedBlockHeader {
133
- return new ProposedBlockHeader(
131
+ static random(): CheckpointHeader {
132
+ return new CheckpointHeader(
134
133
  Fr.random(),
135
134
  ContentCommitment.random(),
136
135
  new Fr(BigInt(Math.floor(Math.random() * 1000) + 1)),
@@ -163,12 +162,12 @@ export class ProposedBlockHeader {
163
162
  return bufferToHex(this.toBuffer());
164
163
  }
165
164
 
166
- static fromString(str: string): ProposedBlockHeader {
167
- return ProposedBlockHeader.fromBuffer(hexToBuffer(str));
165
+ static fromString(str: string) {
166
+ return CheckpointHeader.fromBuffer(hexToBuffer(str));
168
167
  }
169
168
 
170
169
  static fromViem(header: ViemHeader) {
171
- return new ProposedBlockHeader(
170
+ return new CheckpointHeader(
172
171
  Fr.fromString(header.lastArchiveRoot),
173
172
  ContentCommitment.fromViem(header.contentCommitment),
174
173
  new Fr(header.slotNumber),
@@ -0,0 +1,49 @@
1
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
+
5
+ import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
6
+ import { CheckpointRollupPublicInputs } from './checkpoint_rollup_public_inputs.js';
7
+
8
+ /**
9
+ * Represents inputs of the checkpoint merge rollup circuit.
10
+ */
11
+ export class CheckpointMergeRollupPrivateInputs {
12
+ constructor(
13
+ /**
14
+ * Previous rollup data from the 2 checkpoint root or merge rollup circuits that preceded this checkpoint merge rollup circuit.
15
+ */
16
+ public previousRollups: [
17
+ RollupHonkProofData<CheckpointRollupPublicInputs>,
18
+ RollupHonkProofData<CheckpointRollupPublicInputs>,
19
+ ],
20
+ ) {}
21
+
22
+ toBuffer() {
23
+ return serializeToBuffer(this.previousRollups);
24
+ }
25
+
26
+ static fromBuffer(buffer: Buffer | BufferReader) {
27
+ const reader = BufferReader.asReader(buffer);
28
+ return new CheckpointMergeRollupPrivateInputs([
29
+ ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
30
+ ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
31
+ ]);
32
+ }
33
+
34
+ toString() {
35
+ return bufferToHex(this.toBuffer());
36
+ }
37
+
38
+ static fromString(str: string) {
39
+ return CheckpointMergeRollupPrivateInputs.fromBuffer(hexToBuffer(str));
40
+ }
41
+
42
+ toJSON() {
43
+ return this.toBuffer();
44
+ }
45
+
46
+ static get schema() {
47
+ return bufferSchemaFor(CheckpointMergeRollupPrivateInputs);
48
+ }
49
+ }