@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,8 @@
1
+ import type { ContractArtifact } from '../abi/abi.js';
2
+ import type { ContractClassWithId } from './interfaces/contract_class.js';
3
+
4
+ export interface ContractClassMetadata {
5
+ contractClass?: ContractClassWithId | undefined;
6
+ isContractClassPubliclyRegistered: boolean;
7
+ artifact?: ContractArtifact | undefined;
8
+ }
@@ -22,6 +22,15 @@ import type { ContractInstance, ContractInstanceWithAddress } from './interfaces
22
22
 
23
23
  const VERSION = 1 as const;
24
24
 
25
+ export type ContractInstantiationData = {
26
+ constructorArtifact?: FunctionAbi | string;
27
+ constructorArgs?: any[];
28
+ skipArgsDecoding?: boolean;
29
+ salt: Fr;
30
+ publicKeys?: PublicKeys;
31
+ deployer?: AztecAddress;
32
+ };
33
+
25
34
  export class SerializableContractInstance {
26
35
  public readonly version = VERSION;
27
36
  public readonly salt: Fr;
@@ -107,17 +116,9 @@ export class SerializableContractInstance {
107
116
  */
108
117
  export async function getContractInstanceFromInstantiationParams(
109
118
  artifact: ContractArtifact,
110
- opts: {
111
- constructorArtifact?: FunctionAbi | string;
112
- constructorArgs?: any[];
113
- skipArgsDecoding?: boolean;
114
- salt?: Fr;
115
- publicKeys?: PublicKeys;
116
- deployer?: AztecAddress;
117
- },
119
+ opts: ContractInstantiationData,
118
120
  ): Promise<ContractInstanceWithAddress> {
119
121
  const args = opts.constructorArgs ?? [];
120
- const salt = opts.salt ?? Fr.random();
121
122
  const constructorArtifact = getConstructorArtifact(artifact, opts.constructorArtifact);
122
123
  const deployer = opts.deployer ?? AztecAddress.ZERO;
123
124
  const contractClass = await getContractClassFromArtifact(artifact);
@@ -135,7 +136,7 @@ export async function getContractInstanceFromInstantiationParams(
135
136
  originalContractClassId: contractClass.id,
136
137
  initializationHash,
137
138
  publicKeys,
138
- salt,
139
+ salt: opts.salt,
139
140
  deployer,
140
141
  version: 1,
141
142
  };
@@ -0,0 +1,7 @@
1
+ import type { ContractInstanceWithAddress } from './interfaces/contract_instance.js';
2
+
3
+ export interface ContractMetadata {
4
+ contractInstance?: ContractInstanceWithAddress | undefined;
5
+ isContractInitialized: boolean;
6
+ isContractPublished: boolean;
7
+ }
@@ -1,8 +1,10 @@
1
1
  export * from './artifact_hash.js';
2
2
  export * from './contract_address.js';
3
3
  export * from './contract_class.js';
4
+ export * from './contract_class_metadata.js';
4
5
  export * from './contract_class_id.js';
5
6
  export * from './contract_instance.js';
7
+ export * from './contract_metadata.js';
6
8
  export * from './contract_instance_update.js';
7
9
  export * from './private_function.js';
8
10
  export * from './private_function_membership_proof.js';
@@ -18,7 +18,7 @@ export interface ContractClass {
18
18
  /**
19
19
  * Hash of the contract artifact. The specification of this hash is not enforced by the protocol. Should include
20
20
  * commitments to code of utility functions and compilation metadata. Intended to be used by clients to verify that
21
- * an off-chain fetched artifact matches a registered class.
21
+ * an offchain fetched artifact matches a registered class.
22
22
  */
23
23
  artifactHash: Fr;
24
24
  /** List of individual private functions, constructors included. */
package/src/hash/hash.ts CHANGED
@@ -109,10 +109,6 @@ export function computeVarArgsHash(args: Fr[]): Promise<Fr> {
109
109
  * @returns Hash of the calldata.
110
110
  */
111
111
  export function computeCalldataHash(calldata: Fr[]): Promise<Fr> {
112
- if (calldata.length === 0) {
113
- return Promise.resolve(Fr.ZERO);
114
- }
115
-
116
112
  return poseidon2HashWithSeparator(calldata, GeneratorIndex.PUBLIC_CALLDATA);
117
113
  }
118
114
 
@@ -44,7 +44,7 @@ export type ArchiverSpecificConfig = {
44
44
  /** The max number of logs that can be obtained in 1 "getPublicLogs" call. */
45
45
  maxLogs?: number;
46
46
 
47
- /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKB. */
47
+ /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb. */
48
48
  archiverStoreMapSizeKb?: number;
49
49
 
50
50
  /** Whether to skip validating block attestations (use only for testing). */
@@ -83,6 +83,10 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
83
83
  .function()
84
84
  .args(schemas.Integer, schemas.Integer, optional(z.boolean()))
85
85
  .returns(z.array(PublishedL2Block.schema)),
86
+ getPublishedBlockByHash: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
87
+ getPublishedBlockByArchive: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
88
+ getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
89
+ getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
86
90
  getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
87
91
  getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
88
92
  getL2SlotNumber: z.function().args().returns(schemas.BigInt),
@@ -110,6 +114,10 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
110
114
  getL1ToL2MessageIndex: z.function().args(schemas.Fr).returns(schemas.BigInt.optional()),
111
115
  getDebugFunctionName: z.function().args(schemas.AztecAddress, schemas.FunctionSelector).returns(optional(z.string())),
112
116
  getL1Constants: z.function().args().returns(L1RollupConstantsSchema),
117
+ getGenesisValues: z
118
+ .function()
119
+ .args()
120
+ .returns(z.object({ genesisArchiveRoot: schemas.Fr })),
113
121
  getL1Timestamp: z.function().args().returns(schemas.BigInt),
114
122
  syncImmediate: z.function().args().returns(z.void()),
115
123
  isPendingChainInvalid: z.function().args().returns(z.boolean()),
@@ -9,7 +9,7 @@ import { type ArchiverSpecificConfig, ArchiverSpecificConfigSchema } from './arc
9
9
  import { type SequencerConfig, SequencerConfigSchema } from './configs.js';
10
10
  import { type ProverConfig, ProverConfigSchema } from './prover-client.js';
11
11
  import { type SlasherConfig, SlasherConfigSchema } from './slasher.js';
12
- import { ValidatorClientConfigSchema, type ValidatorClientFullConfig } from './validator.js';
12
+ import { type ValidatorClientFullConfig, ValidatorClientFullConfigSchema } from './validator.js';
13
13
 
14
14
  /**
15
15
  * Aztec node admin API.
@@ -62,7 +62,7 @@ export type AztecNodeAdminConfig = ValidatorClientFullConfig &
62
62
 
63
63
  export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
64
64
  .merge(SlasherConfigSchema)
65
- .merge(ValidatorClientConfigSchema)
65
+ .merge(ValidatorClientFullConfigSchema)
66
66
  .merge(
67
67
  ArchiverSpecificConfigSchema.pick({
68
68
  archiverPollingIntervalMS: true,
@@ -52,6 +52,7 @@ import {
52
52
  import { SingleValidatorStatsSchema, ValidatorsStatsSchema } from '../validators/schemas.js';
53
53
  import type { SingleValidatorStats, ValidatorsStats } from '../validators/types.js';
54
54
  import { type ComponentsVersions, getVersioningResponseHandler } from '../versioning/index.js';
55
+ import { type AllowedElement, AllowedElementSchema } from './allowed_element.js';
55
56
  import { MAX_RPC_BLOCKS_LEN, MAX_RPC_LEN, MAX_RPC_TXS_LEN } from './api_limit.js';
56
57
  import {
57
58
  type GetContractClassLogsResponse,
@@ -224,6 +225,20 @@ export interface AztecNode
224
225
  */
225
226
  getBlock(number: L2BlockNumber): Promise<L2Block | undefined>;
226
227
 
228
+ /**
229
+ * Get a block specified by its hash.
230
+ * @param blockHash - The block hash being requested.
231
+ * @returns The requested block.
232
+ */
233
+ getBlockByHash(blockHash: Fr): Promise<L2Block | undefined>;
234
+
235
+ /**
236
+ * Get a block specified by its archive root.
237
+ * @param archive - The archive root being requested.
238
+ * @returns The requested block.
239
+ */
240
+ getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
241
+
227
242
  /**
228
243
  * Method to fetch the latest block number synchronized by the node.
229
244
  * @returns The block number.
@@ -399,6 +414,20 @@ export interface AztecNode
399
414
  */
400
415
  getBlockHeader(blockNumber?: L2BlockNumber): Promise<BlockHeader | undefined>;
401
416
 
417
+ /**
418
+ * Get a block header specified by its hash.
419
+ * @param blockHash - The block hash being requested.
420
+ * @returns The requested block header.
421
+ */
422
+ getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
423
+
424
+ /**
425
+ * Get a block header specified by its archive root.
426
+ * @param archive - The archive root being requested.
427
+ * @returns The requested block header.
428
+ */
429
+ getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
430
+
402
431
  /** Returns stats for validators if enabled. */
403
432
  getValidatorsStats(): Promise<ValidatorsStats>;
404
433
 
@@ -442,6 +471,12 @@ export interface AztecNode
442
471
  * Returns the ENR of this node for peer discovery, if available.
443
472
  */
444
473
  getEncodedEnr(): Promise<string | undefined>;
474
+
475
+ /**
476
+ * Returns the list of allowed public setup elements configured for this node.
477
+ * @returns The list of allowed elements.
478
+ */
479
+ getAllowedPublicSetup(): Promise<AllowedElement[]>;
445
480
  }
446
481
 
447
482
  export const MAX_LOGS_PER_TAG = 10;
@@ -516,6 +551,10 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
516
551
 
517
552
  getBlock: z.function().args(L2BlockNumberSchema).returns(L2Block.schema.optional()),
518
553
 
554
+ getBlockByHash: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
555
+
556
+ getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
557
+
519
558
  getBlockNumber: z.function().returns(z.number()),
520
559
 
521
560
  getProvenBlockNumber: z.function().returns(z.number()),
@@ -589,6 +628,10 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
589
628
 
590
629
  getBlockHeader: z.function().args(optional(L2BlockNumberSchema)).returns(BlockHeader.schema.optional()),
591
630
 
631
+ getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
632
+
633
+ getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
634
+
592
635
  getValidatorsStats: z.function().returns(ValidatorsStatsSchema),
593
636
 
594
637
  getValidatorStats: z
@@ -611,6 +654,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
611
654
  getContract: z.function().args(schemas.AztecAddress).returns(ContractInstanceWithAddressSchema.optional()),
612
655
 
613
656
  getEncodedEnr: z.function().returns(z.string().optional()),
657
+
658
+ getAllowedPublicSetup: z.function().args().returns(z.array(AllowedElementSchema)),
614
659
  };
615
660
 
616
661
  export function createAztecNodeClient(
@@ -19,13 +19,8 @@ export interface IBlockFactory extends ProcessedTxHandler {
19
19
  * Prepares to build a new block. Updates the L1 to L2 message tree.
20
20
  * @param globalVariables - The global variables for this block.
21
21
  * @param l1ToL2Messages - The set of L1 to L2 messages to be included in this block.
22
- * @param previousBlockHeader - The header of the previous block.
23
22
  */
24
- startNewBlock(
25
- globalVariables: GlobalVariables,
26
- l1ToL2Messages: Fr[],
27
- previousBlockHeader: BlockHeader,
28
- ): Promise<void>;
23
+ startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void>;
29
24
 
30
25
  /**
31
26
  * Adds all processed txs to the block. Updates world state with the effects from this tx.
@@ -1,4 +1,3 @@
1
- export * from './pxe.js';
2
1
  export * from './aztec-node.js';
3
2
  export * from './aztec-node-admin.js';
4
3
  export * from './private_kernel_prover.js';
@@ -52,6 +52,8 @@ export interface SequencerConfig {
52
52
  skipCollectingAttestations?: boolean;
53
53
  /** Do not invalidate the previous block if invalid when we are the proposer (for testing only) */
54
54
  skipInvalidateBlockAsProposer?: boolean;
55
+ /** Broadcast invalid block proposals with corrupted state (for testing only) */
56
+ broadcastInvalidBlockProposal?: boolean;
55
57
  /** Inject a fake attestation (for testing only) */
56
58
  injectFakeAttestation?: boolean;
57
59
  }
@@ -77,5 +79,6 @@ export const SequencerConfigSchema = z.object({
77
79
  skipCollectingAttestations: z.boolean().optional(),
78
80
  secondsBeforeInvalidatingBlockAsCommitteeMember: z.number(),
79
81
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
82
+ broadcastInvalidBlockProposal: z.boolean().optional(),
80
83
  injectFakeAttestation: z.boolean().optional(),
81
84
  }) satisfies ZodFor<SequencerConfig>;
@@ -1,28 +1,55 @@
1
1
  import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
+ import type { Fr } from '@aztec/foundation/fields';
3
4
 
4
- import type { L2Block } from '../block/l2_block.js';
5
5
  import type { Proof } from '../proofs/proof.js';
6
- import type { RootRollupPublicInputs } from '../rollup/root_rollup.js';
6
+ import type { CheckpointConstantData } from '../rollup/checkpoint_constant_data.js';
7
+ import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
7
8
  import type { BlockHeader } from '../tx/block_header.js';
8
9
  import type { Tx } from '../tx/tx.js';
10
+ import type { UInt64 } from '../types/index.js';
9
11
  import type { IBlockFactory } from './block-builder.js';
10
12
 
11
13
  /** Coordinates the proving of an entire epoch. */
12
- export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted'> {
14
+ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | 'startNewBlock'> {
13
15
  /**
14
16
  * Starts a new epoch. Must be the first method to be called.
15
17
  * @param epochNumber - The epoch number.
16
- * @param firstBlockNumber - The block number of the first block in the epoch.
17
- * @param totalNumBlocks - The total number of blocks expected in the epoch (must be at least one).
18
+ * @param totalNumCheckpoints - The total number of checkpoints expected in the epoch (must be at least one).
19
+ * @param finalBlobBatchingChallenges - The final blob batching challenges for the epoch.
18
20
  **/
19
21
  startNewEpoch(
20
22
  epochNumber: number,
21
- firstBlockNumber: number,
22
- totalNumBlocks: number,
23
+ totalNumCheckpoints: number,
23
24
  finalBlobBatchingChallenges: FinalBlobBatchingChallenges,
24
25
  ): void;
25
26
 
27
+ /**
28
+ * Starts a new checkpoint.
29
+ * @param checkpointIndex - The index of the checkpoint in the epoch.
30
+ * @param constants - The constants for this checkpoint.
31
+ * @param l1ToL2Messages - The set of L1 to L2 messages to be included in this checkpoint.
32
+ * @param totalNumBlocks - The total number of blocks expected in the checkpoint (must be at least one).
33
+ * @param totalNumBlobFields - The total number of blob fields expected in the checkpoint.
34
+ * @param headerOfLastBlockInPreviousCheckpoint - The header of the last block in the previous checkpoint.
35
+ */
36
+ startNewCheckpoint(
37
+ checkpointIndex: number,
38
+ constants: CheckpointConstantData,
39
+ l1ToL2Messages: Fr[],
40
+ totalNumBlocks: number,
41
+ totalNumBlobFields: number,
42
+ headerOfLastBlockInPreviousCheckpoint: BlockHeader,
43
+ ): Promise<void>;
44
+
45
+ /**
46
+ * Starts a new block.
47
+ * @param blockNumber - The block number.
48
+ * @param timestamp - The timestamp of the block.
49
+ * @param totalNumTxs - The total number of txs in the block.
50
+ */
51
+ startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number): Promise<void>;
52
+
26
53
  /**
27
54
  * Kickstarts tube circuits for the specified txs. These will be used during epoch proving.
28
55
  * Note that if the tube circuits are not started this way, they will be started nontheless after processing.
@@ -30,7 +57,7 @@ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted'> {
30
57
  startTubeCircuits(txs: Tx[]): Promise<void>;
31
58
 
32
59
  /** Returns the block. */
33
- setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<L2Block>;
60
+ setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<BlockHeader>;
34
61
 
35
62
  /** Pads the epoch with empty block roots if needed and blocks until proven. Throws if proving has failed. */
36
63
  finalizeEpoch(): Promise<{ publicInputs: RootRollupPublicInputs; proof: Proof; batchedBlobInputs: BatchedBlob }>;
@@ -41,9 +68,6 @@ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted'> {
41
68
  /** Returns an identifier for the prover or zero if not set. */
42
69
  getProverId(): EthAddress;
43
70
 
44
- /** Returns the block assembled at a given index (zero-based) within the epoch. */
45
- getBlock(index: number): L2Block;
46
-
47
71
  /** Called when no longer required, cleans up internal resources */
48
72
  stop(): Promise<void>;
49
73
  }
@@ -7,6 +7,7 @@ import type { NullifierLeaf } from '../trees/nullifier_leaf.js';
7
7
  import type { PublicDataTreeLeaf } from '../trees/public_data_leaf.js';
8
8
  import type { BlockHeader } from '../tx/block_header.js';
9
9
  import type { StateReference } from '../tx/state_reference.js';
10
+ import type { WorldStateRevision } from '../world-state/world_state_revision.js';
10
11
 
11
12
  /**
12
13
  * Type alias for the nullifier tree ID.
@@ -132,6 +133,11 @@ export interface MerkleTreeReadOperations {
132
133
  */
133
134
  getInitialHeader(): BlockHeader;
134
135
 
136
+ /**
137
+ * Gets the current revision.
138
+ */
139
+ getRevision(): WorldStateRevision;
140
+
135
141
  /**
136
142
  * Gets sibling path for a leaf.
137
143
  * @param treeId - The tree to be queried for a sibling path.
@@ -57,6 +57,9 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
57
57
  * @returns BlockAttestations
58
58
  */
59
59
  getAttestationsForSlot(slot: bigint, proposalId?: string): Promise<BlockAttestation[]>;
60
+
61
+ /** Deletes a given attestation manually from the p2p client attestation pool. */
62
+ deleteAttestation(attestation: BlockAttestation): Promise<void>;
60
63
  }
61
64
 
62
65
  export interface P2PClient extends P2PApiWithAttestations {
@@ -85,4 +88,5 @@ export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
85
88
  getPendingTxCount: z.function().returns(schemas.Integer),
86
89
  getEncodedEnr: z.function().returns(z.string().optional()),
87
90
  getPeers: z.function().args(optional(z.boolean())).returns(z.array(PeerInfoSchema)),
91
+ deleteAttestation: z.function().args(BlockAttestation.schema).returns(z.void()),
88
92
  };
@@ -10,7 +10,7 @@ import type {
10
10
  PrivateKernelTailCircuitPrivateInputs,
11
11
  PrivateKernelTailCircuitPublicInputs,
12
12
  } from '../kernel/index.js';
13
- import type { ClientIvcProof } from '../proofs/client_ivc_proof.js';
13
+ import type { ClientIvcProofWithPublicInputs } from '../proofs/client_ivc_proof.js';
14
14
 
15
15
  /**
16
16
  * PrivateKernelProver provides functionality to simulate and validate circuits, and retrieve
@@ -110,7 +110,7 @@ export interface PrivateKernelProver {
110
110
  * @param acirs The program bytecode.
111
111
  * @param witnessStack The witnessses for each program bytecode.
112
112
  */
113
- createClientIvcProof(executionSteps: PrivateExecutionStep[]): Promise<ClientIvcProof>;
113
+ createClientIvcProof(executionSteps: PrivateExecutionStep[]): Promise<ClientIvcProofWithPublicInputs>;
114
114
 
115
115
  /**
116
116
  * Compute the gate count for a given circuit.