@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
@@ -1,9 +1,9 @@
1
- import { NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
1
+ import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
- export class BaseParityInputs {
6
+ export class ParityBasePrivateInputs {
7
7
  msgs;
8
8
  vkTreeRoot;
9
9
  constructor(/** Aggregated proof of all the parity circuit iterations. */ msgs, /** Root of the VK tree */ vkTreeRoot){
@@ -11,10 +11,14 @@ export class BaseParityInputs {
11
11
  this.vkTreeRoot = vkTreeRoot;
12
12
  }
13
13
  static fromSlice(array, index, vkTreeRoot) {
14
+ // Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
15
+ if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
16
+ throw new Error(`Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`);
17
+ }
14
18
  const start = index * NUM_MSGS_PER_BASE_PARITY;
15
19
  const end = start + NUM_MSGS_PER_BASE_PARITY;
16
20
  const msgs = array.slice(start, end);
17
- return new BaseParityInputs(msgs, vkTreeRoot);
21
+ return new ParityBasePrivateInputs(msgs, vkTreeRoot);
18
22
  }
19
23
  /** Serializes the inputs to a buffer. */ toBuffer() {
20
24
  return serializeToBuffer(this.msgs, this.vkTreeRoot);
@@ -27,19 +31,19 @@ export class BaseParityInputs {
27
31
  * @param buffer - The buffer to deserialize from.
28
32
  */ static fromBuffer(buffer) {
29
33
  const reader = BufferReader.asReader(buffer);
30
- return new BaseParityInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
34
+ return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
31
35
  }
32
36
  /**
33
37
  * Deserializes the inputs from a hex string.
34
38
  * @param str - The hex string to deserialize from.
35
39
  * @returns - The deserialized inputs.
36
40
  */ static fromString(str) {
37
- return BaseParityInputs.fromBuffer(hexToBuffer(str));
41
+ return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
38
42
  }
39
43
  /** Returns a buffer representation for JSON serialization. */ toJSON() {
40
44
  return this.toBuffer();
41
45
  }
42
46
  /** Creates an instance from a hex string. */ static get schema() {
43
- return bufferSchemaFor(BaseParityInputs);
47
+ return bufferSchemaFor(ParityBasePrivateInputs);
44
48
  }
45
49
  }
@@ -0,0 +1,39 @@
1
+ import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
2
+ import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
3
+ import { type UltraHonkProofData } from '../proofs/proof_data.js';
4
+ import { ParityPublicInputs } from './parity_public_inputs.js';
5
+ export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
6
+ export declare class ParityRootPrivateInputs {
7
+ /** Public inputs of the parity base circuits and their proofs and vk data. */
8
+ readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>;
9
+ constructor(
10
+ /** Public inputs of the parity base circuits and their proofs and vk data. */
11
+ children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>);
12
+ /**
13
+ * Serializes the inputs to a buffer.
14
+ * @returns The inputs serialized to a buffer.
15
+ */
16
+ toBuffer(): Buffer<ArrayBufferLike>;
17
+ /**
18
+ * Serializes the inputs to a hex string.
19
+ * @returns The instance serialized to a hex string.
20
+ */
21
+ toString(): `0x${string}`;
22
+ /**
23
+ * Deserializes the inputs from a buffer.
24
+ * @param buffer - The buffer to deserialize from.
25
+ * @returns A new ParityRootPrivateInputs instance.
26
+ */
27
+ static fromBuffer(buffer: Buffer | BufferReader): ParityRootPrivateInputs;
28
+ /**
29
+ * Deserializes the inputs from a hex string.
30
+ * @param str - A hex string to deserialize from.
31
+ * @returns A new ParityRootPrivateInputs instance.
32
+ */
33
+ static fromString(str: string): ParityRootPrivateInputs;
34
+ /** Returns a buffer representation for JSON serialization. */
35
+ toJSON(): Buffer<ArrayBufferLike>;
36
+ /** Creates an instance from a hex string. */
37
+ static get schema(): import("zod").ZodType<ParityRootPrivateInputs, any, string>;
38
+ }
39
+ //# sourceMappingURL=parity_root_private_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity_root_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_root_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,8EAA8E;aAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;;IAD5F,8EAA8E;IAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;IAG9F;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAO/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
@@ -1,18 +1,20 @@
1
- import { NUM_BASE_PARITY_PER_ROOT_PARITY, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
2
+ import { makeTuple } from '@aztec/foundation/array';
2
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
- import { RootParityInput } from './root_parity_input.js';
6
- export class RootParityInputs {
6
+ import { ProofData } from '../proofs/proof_data.js';
7
+ import { ParityPublicInputs } from './parity_public_inputs.js';
8
+ export class ParityRootPrivateInputs {
7
9
  children;
8
- constructor(/** Public inputs of children and their proofs. */ children){
10
+ constructor(/** Public inputs of the parity base circuits and their proofs and vk data. */ children){
9
11
  this.children = children;
10
12
  }
11
13
  /**
12
14
  * Serializes the inputs to a buffer.
13
15
  * @returns The inputs serialized to a buffer.
14
16
  */ toBuffer() {
15
- return serializeToBuffer(...this.children);
17
+ return serializeToBuffer(this.children);
16
18
  }
17
19
  /**
18
20
  * Serializes the inputs to a hex string.
@@ -23,25 +25,22 @@ export class RootParityInputs {
23
25
  /**
24
26
  * Deserializes the inputs from a buffer.
25
27
  * @param buffer - The buffer to deserialize from.
26
- * @returns A new RootParityInputs instance.
28
+ * @returns A new ParityRootPrivateInputs instance.
27
29
  */ static fromBuffer(buffer) {
28
30
  const reader = BufferReader.asReader(buffer);
29
- const tuple = Array.from({
30
- length: NUM_BASE_PARITY_PER_ROOT_PARITY
31
- }, ()=>RootParityInput.fromBuffer(reader, RECURSIVE_PROOF_LENGTH));
32
- return new RootParityInputs(tuple);
31
+ return new ParityRootPrivateInputs(makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, ()=>ProofData.fromBuffer(reader, ParityPublicInputs)));
33
32
  }
34
33
  /**
35
34
  * Deserializes the inputs from a hex string.
36
35
  * @param str - A hex string to deserialize from.
37
- * @returns A new RootParityInputs instance.
36
+ * @returns A new ParityRootPrivateInputs instance.
38
37
  */ static fromString(str) {
39
- return RootParityInputs.fromBuffer(hexToBuffer(str));
38
+ return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
40
39
  }
41
40
  /** Returns a buffer representation for JSON serialization. */ toJSON() {
42
41
  return this.toBuffer();
43
42
  }
44
43
  /** Creates an instance from a hex string. */ static get schema() {
45
- return bufferSchemaFor(RootParityInputs);
44
+ return bufferSchemaFor(ParityRootPrivateInputs);
46
45
  }
47
46
  }
@@ -1,18 +1,28 @@
1
+ import { Fr } from '@aztec/foundation/fields';
1
2
  import { BufferReader } from '@aztec/foundation/serialize';
2
- /**
3
- * TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to
4
- * eventually we read all these VKs from the data tree instead of passing them
5
- */
6
3
  export declare class ClientIvcProof {
7
- clientIvcProofBuffer: Buffer;
8
- constructor(clientIvcProofBuffer: Buffer);
4
+ fields: Fr[];
5
+ constructor(fields: Fr[]);
6
+ attachPublicInputs(publicInputs: Fr[]): ClientIvcProofWithPublicInputs;
9
7
  isEmpty(): boolean;
10
8
  static empty(): ClientIvcProof;
11
- static fake(fill?: number): ClientIvcProof;
12
9
  static random(): ClientIvcProof;
13
10
  static get schema(): import("zod").ZodType<ClientIvcProof, any, string>;
14
11
  toJSON(): Buffer<ArrayBufferLike>;
15
12
  static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProof;
16
13
  toBuffer(): Buffer<ArrayBufferLike>;
17
14
  }
15
+ export declare class ClientIvcProofWithPublicInputs {
16
+ fieldsWithPublicInputs: Fr[];
17
+ constructor(fieldsWithPublicInputs: Fr[]);
18
+ getPublicInputs(): Fr[];
19
+ removePublicInputs(): ClientIvcProof;
20
+ isEmpty(): boolean;
21
+ static empty(): ClientIvcProofWithPublicInputs;
22
+ static get schema(): import("zod").ZodType<ClientIvcProofWithPublicInputs, any, string>;
23
+ toJSON(): Buffer<ArrayBufferLike>;
24
+ static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProofWithPublicInputs;
25
+ toBuffer(): Buffer<ArrayBufferLike>;
26
+ static fromBufferArray(fields: Uint8Array[]): ClientIvcProofWithPublicInputs;
27
+ }
18
28
  //# sourceMappingURL=client_ivc_proof.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client_ivc_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/client_ivc_proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E;;;GAGG;AACH,qBAAa,cAAc;IAKhB,oBAAoB,EAAE,MAAM;gBAA5B,oBAAoB,EAAE,MAAM;IAG9B,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,IAAI,CAAC,IAAI,SAAkC;IAIlD,MAAM,CAAC,MAAM;IAIb,MAAM,KAAK,MAAM,uDAEhB;IAED,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAKzD,QAAQ;CAGhB"}
1
+ {"version":3,"file":"client_ivc_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/client_ivc_proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,qBAAa,cAAc;IAKhB,MAAM,EAAE,EAAE,EAAE;gBAAZ,MAAM,EAAE,EAAE,EAAE;IAOd,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE;IAIrC,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,MAAM;IAWb,MAAM,KAAK,MAAM,uDAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAOzD,QAAQ;CAGhB;AAED,qBAAa,8BAA8B;IAIhC,sBAAsB,EAAE,EAAE,EAAE;gBAA5B,sBAAsB,EAAE,EAAE,EAAE;IAO9B,eAAe;IAKf,kBAAkB;IAKlB,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,uEAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,8BAA8B;IAOzE,QAAQ;IAKf,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,8BAA8B;CAI7E"}
@@ -1,41 +1,100 @@
1
+ import { CIVC_PROOF_LENGTH } from '@aztec/constants';
1
2
  import { randomBytes } from '@aztec/foundation/crypto';
3
+ import { Fr } from '@aztec/foundation/fields';
2
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- const CLIENT_IVC_PROOF_LENGTH = 172052;
5
- /**
6
- * TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to
7
- * eventually we read all these VKs from the data tree instead of passing them
8
- */ export class ClientIvcProof {
9
- clientIvcProofBuffer;
10
- constructor(// produced by the sequencer when making the tube proof
11
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370): Need to precompute private kernel tail VK so we can verify this immediately in the tx pool
12
- // which parts of these are needed to quickly verify that we have a correct IVC proof
13
- clientIvcProofBuffer){
14
- this.clientIvcProofBuffer = clientIvcProofBuffer;
6
+ export class ClientIvcProof {
7
+ fields;
8
+ constructor(// The proof fields.
9
+ // For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
10
+ // Not using Tuple here due to the length being too high.
11
+ fields){
12
+ this.fields = fields;
13
+ if (fields.length !== CIVC_PROOF_LENGTH) {
14
+ throw new Error(`Invalid ClientIvcProof length: ${fields.length}`);
15
+ }
16
+ }
17
+ attachPublicInputs(publicInputs) {
18
+ return new ClientIvcProofWithPublicInputs([
19
+ ...publicInputs,
20
+ ...this.fields
21
+ ]);
15
22
  }
16
23
  isEmpty() {
17
- return this.clientIvcProofBuffer.length === 0;
24
+ return this.fields.every((field)=>field.isZero());
18
25
  }
19
26
  static empty() {
20
- return new ClientIvcProof(Buffer.from(''));
21
- }
22
- static fake(fill = Math.floor(Math.random() * 255)) {
23
- return new ClientIvcProof(Buffer.alloc(1, fill));
27
+ return new ClientIvcProof(new Array(CIVC_PROOF_LENGTH).fill(Fr.ZERO));
24
28
  }
25
29
  static random() {
26
- return new ClientIvcProof(Buffer.from(randomBytes(CLIENT_IVC_PROOF_LENGTH)));
30
+ // NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
31
+ const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
32
+ const randomFields = randomBytes(CIVC_PROOF_LENGTH * reducedFrSize);
33
+ const proof = Array.from({
34
+ length: CIVC_PROOF_LENGTH
35
+ }, (_, i)=>new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)));
36
+ return new ClientIvcProof(proof);
27
37
  }
28
38
  static get schema() {
29
39
  return bufferSchemaFor(ClientIvcProof);
30
40
  }
41
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
31
42
  toJSON() {
32
43
  return this.toBuffer();
33
44
  }
34
45
  static fromBuffer(buffer) {
35
46
  const reader = BufferReader.asReader(buffer);
36
- return new ClientIvcProof(reader.readBuffer());
47
+ const proofLength = reader.readNumber();
48
+ const proof = reader.readArray(proofLength, Fr);
49
+ return new ClientIvcProof(proof);
37
50
  }
38
51
  toBuffer() {
39
- return serializeToBuffer(this.clientIvcProofBuffer.length, this.clientIvcProofBuffer);
52
+ return serializeToBuffer(this.fields.length, this.fields);
53
+ }
54
+ }
55
+ export class ClientIvcProofWithPublicInputs {
56
+ fieldsWithPublicInputs;
57
+ constructor(// The proof fields with public inputs.
58
+ // For recursive verification, use without public inputs via `removePublicInputs()`.
59
+ fieldsWithPublicInputs){
60
+ this.fieldsWithPublicInputs = fieldsWithPublicInputs;
61
+ if (fieldsWithPublicInputs.length < CIVC_PROOF_LENGTH) {
62
+ throw new Error(`Invalid ClientIvcProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
63
+ }
64
+ }
65
+ getPublicInputs() {
66
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
67
+ return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
68
+ }
69
+ removePublicInputs() {
70
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
71
+ return new ClientIvcProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
72
+ }
73
+ isEmpty() {
74
+ return this.fieldsWithPublicInputs.every((field)=>field.isZero());
75
+ }
76
+ static empty() {
77
+ return ClientIvcProof.empty().attachPublicInputs([]);
78
+ }
79
+ static get schema() {
80
+ return bufferSchemaFor(ClientIvcProofWithPublicInputs);
81
+ }
82
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
83
+ toJSON() {
84
+ return this.toBuffer();
85
+ }
86
+ static fromBuffer(buffer) {
87
+ const reader = BufferReader.asReader(buffer);
88
+ const proofLength = reader.readNumber();
89
+ const proof = reader.readArray(proofLength, Fr);
90
+ return new ClientIvcProofWithPublicInputs(proof);
91
+ }
92
+ toBuffer() {
93
+ return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
94
+ }
95
+ // Called when constructing from bb proving results.
96
+ static fromBufferArray(fields) {
97
+ const proof = fields.map((field)=>Fr.fromBuffer(Buffer.from(field)));
98
+ return new ClientIvcProofWithPublicInputs(proof);
40
99
  }
41
100
  }
@@ -1,5 +1,6 @@
1
1
  export * from './recursive_proof.js';
2
2
  export * from './client_ivc_proof.js';
3
3
  export * from './proof.js';
4
+ export * from './proof_data.js';
4
5
  export * from './proving_request_type.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './recursive_proof.js';
2
2
  export * from './client_ivc_proof.js';
3
3
  export * from './proof.js';
4
+ export * from './proof_data.js';
4
5
  export * from './proving_request_type.js';
@@ -0,0 +1,21 @@
1
+ import type { CIVC_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { BufferReader, type Bufferable } from '@aztec/foundation/serialize';
3
+ import { RecursiveProof } from '../proofs/recursive_proof.js';
4
+ import { VkData } from '../vks/index.js';
5
+ /**
6
+ * Represents the data of a recursive proof.
7
+ */
8
+ export declare class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
9
+ publicInputs: T;
10
+ proof: RecursiveProof<PROOF_LENGTH>;
11
+ vkData: VkData;
12
+ constructor(publicInputs: T, proof: RecursiveProof<PROOF_LENGTH>, vkData: VkData);
13
+ toBuffer(): Buffer;
14
+ static fromBuffer<T extends Bufferable, PROOF_LENGTH extends number>(buffer: Buffer | BufferReader, publicInputs: {
15
+ fromBuffer: (reader: BufferReader) => T;
16
+ }): ProofData<T, PROOF_LENGTH>;
17
+ }
18
+ export type CivcProofData<T extends Bufferable> = ProofData<T, typeof CIVC_PROOF_LENGTH>;
19
+ export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
20
+ export type RollupHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
21
+ //# sourceMappingURL=proof_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof_data.d.ts","sourceRoot":"","sources":["../../src/proofs/proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,SAAS,MAAM;IAE7D,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC;IACnC,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,MAAM;IAGhB,QAAQ,IAAI,MAAM;WAIX,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,SAAS,MAAM,EACxE,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,YAAY,EAAE;QACZ,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;CAI9B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC;AAEzF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,sBAAsB,CAAC,CAAC;AAEnG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { RecursiveProof } from '../proofs/recursive_proof.js';
3
+ import { VkData } from '../vks/index.js';
4
+ /**
5
+ * Represents the data of a recursive proof.
6
+ */ export class ProofData {
7
+ publicInputs;
8
+ proof;
9
+ vkData;
10
+ constructor(publicInputs, proof, vkData){
11
+ this.publicInputs = publicInputs;
12
+ this.proof = proof;
13
+ this.vkData = vkData;
14
+ }
15
+ toBuffer() {
16
+ return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
17
+ }
18
+ static fromBuffer(buffer, publicInputs) {
19
+ const reader = BufferReader.asReader(buffer);
20
+ return new ProofData(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
21
+ }
22
+ }
@@ -1,17 +1,21 @@
1
1
  export declare enum ProvingRequestType {
2
2
  PUBLIC_VM = 0,
3
- PRIVATE_BASE_ROLLUP = 1,
4
- PUBLIC_BASE_ROLLUP = 2,
5
- MERGE_ROLLUP = 3,
6
- EMPTY_BLOCK_ROOT_ROLLUP = 4,
7
- PADDING_BLOCK_ROOT_ROLLUP = 5,
8
- BLOCK_ROOT_ROLLUP = 6,
9
- SINGLE_TX_BLOCK_ROOT_ROLLUP = 7,
10
- BLOCK_MERGE_ROLLUP = 8,
11
- ROOT_ROLLUP = 9,
12
- BASE_PARITY = 10,
13
- ROOT_PARITY = 11,
14
- /** Recursive Client IVC verification to connect private to public or rollup */
15
- TUBE_PROOF = 12
3
+ PUBLIC_TUBE = 1,
4
+ PRIVATE_TX_BASE_ROLLUP = 2,
5
+ PUBLIC_TX_BASE_ROLLUP = 3,
6
+ TX_MERGE_ROLLUP = 4,
7
+ BLOCK_ROOT_FIRST_ROLLUP = 5,
8
+ BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP = 6,
9
+ BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP = 7,
10
+ BLOCK_ROOT_ROLLUP = 8,
11
+ BLOCK_ROOT_SINGLE_TX_ROLLUP = 9,
12
+ BLOCK_MERGE_ROLLUP = 10,
13
+ CHECKPOINT_ROOT_ROLLUP = 11,
14
+ CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP = 12,
15
+ CHECKPOINT_PADDING_ROLLUP = 13,
16
+ CHECKPOINT_MERGE_ROLLUP = 14,
17
+ ROOT_ROLLUP = 15,
18
+ PARITY_BASE = 16,
19
+ PARITY_ROOT = 17
16
20
  }
17
21
  //# sourceMappingURL=proving_request_type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proving_request_type.d.ts","sourceRoot":"","sources":["../../src/proofs/proving_request_type.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,SAAS,IAAA;IAET,mBAAmB,IAAA;IACnB,kBAAkB,IAAA;IAClB,YAAY,IAAA;IACZ,uBAAuB,IAAA;IACvB,yBAAyB,IAAA;IACzB,iBAAiB,IAAA;IACjB,2BAA2B,IAAA;IAC3B,kBAAkB,IAAA;IAClB,WAAW,IAAA;IAEX,WAAW,KAAA;IACX,WAAW,KAAA;IACX,+EAA+E;IAC/E,UAAU,KAAA;CACX"}
1
+ {"version":3,"file":"proving_request_type.d.ts","sourceRoot":"","sources":["../../src/proofs/proving_request_type.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,SAAS,IAAA;IACT,WAAW,IAAA;IAEX,sBAAsB,IAAA;IACtB,qBAAqB,IAAA;IACrB,eAAe,IAAA;IACf,uBAAuB,IAAA;IACvB,iCAAiC,IAAA;IACjC,gCAAgC,IAAA;IAChC,iBAAiB,IAAA;IACjB,2BAA2B,IAAA;IAC3B,kBAAkB,KAAA;IAClB,sBAAsB,KAAA;IACtB,mCAAmC,KAAA;IACnC,yBAAyB,KAAA;IACzB,uBAAuB,KAAA;IACvB,WAAW,KAAA;IAEX,WAAW,KAAA;IACX,WAAW,KAAA;CACZ"}
@@ -1,16 +1,21 @@
1
1
  export var ProvingRequestType = /*#__PURE__*/ function(ProvingRequestType) {
2
2
  ProvingRequestType[ProvingRequestType["PUBLIC_VM"] = 0] = "PUBLIC_VM";
3
- ProvingRequestType[ProvingRequestType["PRIVATE_BASE_ROLLUP"] = 1] = "PRIVATE_BASE_ROLLUP";
4
- ProvingRequestType[ProvingRequestType["PUBLIC_BASE_ROLLUP"] = 2] = "PUBLIC_BASE_ROLLUP";
5
- ProvingRequestType[ProvingRequestType["MERGE_ROLLUP"] = 3] = "MERGE_ROLLUP";
6
- ProvingRequestType[ProvingRequestType["EMPTY_BLOCK_ROOT_ROLLUP"] = 4] = "EMPTY_BLOCK_ROOT_ROLLUP";
7
- ProvingRequestType[ProvingRequestType["PADDING_BLOCK_ROOT_ROLLUP"] = 5] = "PADDING_BLOCK_ROOT_ROLLUP";
8
- ProvingRequestType[ProvingRequestType["BLOCK_ROOT_ROLLUP"] = 6] = "BLOCK_ROOT_ROLLUP";
9
- ProvingRequestType[ProvingRequestType["SINGLE_TX_BLOCK_ROOT_ROLLUP"] = 7] = "SINGLE_TX_BLOCK_ROOT_ROLLUP";
10
- ProvingRequestType[ProvingRequestType["BLOCK_MERGE_ROLLUP"] = 8] = "BLOCK_MERGE_ROLLUP";
11
- ProvingRequestType[ProvingRequestType["ROOT_ROLLUP"] = 9] = "ROOT_ROLLUP";
12
- ProvingRequestType[ProvingRequestType["BASE_PARITY"] = 10] = "BASE_PARITY";
13
- ProvingRequestType[ProvingRequestType["ROOT_PARITY"] = 11] = "ROOT_PARITY";
14
- /** Recursive Client IVC verification to connect private to public or rollup */ ProvingRequestType[ProvingRequestType["TUBE_PROOF"] = 12] = "TUBE_PROOF";
3
+ ProvingRequestType[ProvingRequestType["PUBLIC_TUBE"] = 1] = "PUBLIC_TUBE";
4
+ ProvingRequestType[ProvingRequestType["PRIVATE_TX_BASE_ROLLUP"] = 2] = "PRIVATE_TX_BASE_ROLLUP";
5
+ ProvingRequestType[ProvingRequestType["PUBLIC_TX_BASE_ROLLUP"] = 3] = "PUBLIC_TX_BASE_ROLLUP";
6
+ ProvingRequestType[ProvingRequestType["TX_MERGE_ROLLUP"] = 4] = "TX_MERGE_ROLLUP";
7
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_FIRST_ROLLUP"] = 5] = "BLOCK_ROOT_FIRST_ROLLUP";
8
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP"] = 6] = "BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP";
9
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP"] = 7] = "BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP";
10
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_ROLLUP"] = 8] = "BLOCK_ROOT_ROLLUP";
11
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_SINGLE_TX_ROLLUP"] = 9] = "BLOCK_ROOT_SINGLE_TX_ROLLUP";
12
+ ProvingRequestType[ProvingRequestType["BLOCK_MERGE_ROLLUP"] = 10] = "BLOCK_MERGE_ROLLUP";
13
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_ROOT_ROLLUP"] = 11] = "CHECKPOINT_ROOT_ROLLUP";
14
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP"] = 12] = "CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP";
15
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_PADDING_ROLLUP"] = 13] = "CHECKPOINT_PADDING_ROLLUP";
16
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_MERGE_ROLLUP"] = 14] = "CHECKPOINT_MERGE_ROLLUP";
17
+ ProvingRequestType[ProvingRequestType["ROOT_ROLLUP"] = 15] = "ROOT_ROLLUP";
18
+ ProvingRequestType[ProvingRequestType["PARITY_BASE"] = 16] = "PARITY_BASE";
19
+ ProvingRequestType[ProvingRequestType["PARITY_ROOT"] = 17] = "PARITY_ROOT";
15
20
  return ProvingRequestType;
16
21
  }({});
@@ -1,17 +1,7 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader } from '@aztec/foundation/serialize';
4
3
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import { RecursiveProof } from '../proofs/recursive_proof.js';
6
- import { VkData } from '../vks/vk_data.js';
7
- export declare class AvmProofData {
8
- publicInputs: AvmCircuitPublicInputs;
9
- proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
10
- vkData: VkData;
11
- constructor(publicInputs: AvmCircuitPublicInputs, proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>, vkData: VkData);
12
- static fromBuffer(buffer: Buffer | BufferReader): AvmProofData;
13
- toBuffer(): Buffer<ArrayBufferLike>;
14
- static empty(): AvmProofData;
15
- }
4
+ import type { ProofData } from '../proofs/proof_data.js';
5
+ export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
16
6
  export declare function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[];
17
7
  //# sourceMappingURL=avm_proof_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,YAAY;IAEd,YAAY,EAAE,sBAAsB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC;IAClE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,sBAAsB,EACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC,EAClE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;CAOb;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
1
+ {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,sBAAsB,EAAE,OAAO,oCAAoC,CAAC,CAAC;AAG1G,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
@@ -1,29 +1,5 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js';
6
- import { VkData } from '../vks/vk_data.js';
7
- export class AvmProofData {
8
- publicInputs;
9
- proof;
10
- vkData;
11
- constructor(publicInputs, proof, vkData){
12
- this.publicInputs = publicInputs;
13
- this.proof = proof;
14
- this.vkData = vkData;
15
- }
16
- static fromBuffer(buffer) {
17
- const reader = BufferReader.asReader(buffer);
18
- return new AvmProofData(reader.readObject(AvmCircuitPublicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
19
- }
20
- toBuffer() {
21
- return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
22
- }
23
- static empty() {
24
- return new AvmProofData(AvmCircuitPublicInputs.empty(), makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED), VkData.empty());
25
- }
26
- }
27
3
  // TODO(#14234)[Unconditional PIs validation]: remove this function.
28
4
  export function enhanceProofWithPiValidationFlag(proof, skipPublicInputsValidation) {
29
5
  const skipPublicInputsField = skipPublicInputsValidation ? new Fr(1) : new Fr(0);
@@ -1,14 +1,14 @@
1
- import { SpongeBlob } from '@aztec/blob-lib';
1
+ import { SpongeBlob } from '@aztec/blob-lib/types';
2
2
  import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants';
3
+ import { Fr } from '@aztec/foundation/fields';
3
4
  import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
4
- import { MembershipWitness } from '@aztec/foundation/trees';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
6
- import { PublicDataHint } from '../avm/public_data_hint.js';
7
6
  import { ContractClassLogFields } from '../logs/index.js';
8
- import { AppendOnlyTreeSnapshot } from '../trees/index.js';
7
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
+ import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
9
9
  import { PartialStateReference } from '../tx/partial_state_reference.js';
10
10
  import { BlockConstantData } from './block_constant_data.js';
11
- import { PrivateBaseStateDiffHints } from './state_diff_hints.js';
11
+ import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js';
12
12
  export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints;
13
13
  export declare class PrivateBaseRollupHints {
14
14
  /**
@@ -22,15 +22,15 @@ export declare class PrivateBaseRollupHints {
22
22
  /**
23
23
  * Hints used while proving state diff validity.
24
24
  */
25
- stateDiffHints: PrivateBaseStateDiffHints;
25
+ treeSnapshotDiffHints: TreeSnapshotDiffHints;
26
26
  /**
27
- * Public data read hint for accessing the balance of the fee payer.
27
+ * Public data tree leaf preimage for accessing the balance of the fee payer.
28
28
  */
29
- feePayerFeeJuiceBalanceReadHint: PublicDataHint;
29
+ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage;
30
30
  /**
31
31
  * Membership witnesses of blocks referred by each of the 2 kernels.
32
32
  */
33
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>;
33
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
34
34
  /**
35
35
  * Preimages to the kernel's contractClassLogsHashes.
36
36
  */
@@ -51,15 +51,15 @@ export declare class PrivateBaseRollupHints {
51
51
  /**
52
52
  * Hints used while proving state diff validity.
53
53
  */
54
- stateDiffHints: PrivateBaseStateDiffHints,
54
+ treeSnapshotDiffHints: TreeSnapshotDiffHints,
55
55
  /**
56
- * Public data read hint for accessing the balance of the fee payer.
56
+ * Public data tree leaf preimage for accessing the balance of the fee payer.
57
57
  */
58
- feePayerFeeJuiceBalanceReadHint: PublicDataHint,
58
+ feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage,
59
59
  /**
60
60
  * Membership witnesses of blocks referred by each of the 2 kernels.
61
61
  */
62
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
62
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
63
63
  /**
64
64
  * Preimages to the kernel's contractClassLogsHashes.
65
65
  */
@@ -69,7 +69,7 @@ export declare class PrivateBaseRollupHints {
69
69
  */
70
70
  constants: BlockConstantData);
71
71
  static from(fields: FieldsOf<PrivateBaseRollupHints>): PrivateBaseRollupHints;
72
- static getFields(fields: FieldsOf<PrivateBaseRollupHints>): readonly [PartialStateReference, SpongeBlob, PrivateBaseStateDiffHints, PublicDataHint, MembershipWitness<29>, [ContractClassLogFields], BlockConstantData];
72
+ static getFields(fields: FieldsOf<PrivateBaseRollupHints>): readonly [PartialStateReference, SpongeBlob, TreeSnapshotDiffHints, PublicDataTreeLeafPreimage, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields], BlockConstantData];
73
73
  /**
74
74
  * Serializes the inputs to a buffer.
75
75
  * @returns The inputs serialized to a buffer.
@@ -96,7 +96,7 @@ export declare class PublicBaseRollupHints {
96
96
  /**
97
97
  * Membership witnesses of blocks referred by each of the 2 kernels.
98
98
  */
99
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>;
99
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
100
100
  /**
101
101
  * Preimages to the kernel's contractClassLogsHashes.
102
102
  */
@@ -113,13 +113,13 @@ export declare class PublicBaseRollupHints {
113
113
  /**
114
114
  * Membership witnesses of blocks referred by each of the 2 kernels.
115
115
  */
116
- archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
116
+ anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
117
117
  /**
118
118
  * Preimages to the kernel's contractClassLogsHashes.
119
119
  */
120
120
  contractClassLogsFields: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>);
121
121
  static from(fields: FieldsOf<PublicBaseRollupHints>): PublicBaseRollupHints;
122
- static getFields(fields: FieldsOf<PublicBaseRollupHints>): readonly [SpongeBlob, AppendOnlyTreeSnapshot, MembershipWitness<29>, [ContractClassLogFields]];
122
+ static getFields(fields: FieldsOf<PublicBaseRollupHints>): readonly [SpongeBlob, AppendOnlyTreeSnapshot, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [ContractClassLogFields]];
123
123
  /**
124
124
  * Serializes the inputs to a buffer.
125
125
  * @returns The inputs serialized to a buffer.