@aztec/stdlib 0.0.1-commit.1142ef1 → 0.0.1-commit.1a99e26c

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 (459) hide show
  1. package/dest/abi/function_call.d.ts +9 -1
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/utils.d.ts +7 -1
  4. package/dest/abi/utils.d.ts.map +1 -1
  5. package/dest/abi/utils.js +7 -0
  6. package/dest/auth_witness/auth_witness.d.ts +2 -1
  7. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  8. package/dest/avm/avm.d.ts +62 -62
  9. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  10. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  11. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  12. package/dest/avm/avm_proving_request.d.ts +299 -299
  13. package/dest/avm/contract_storage_read.d.ts +13 -1
  14. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  15. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  16. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  17. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  18. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  19. package/dest/avm/public_data_read.d.ts +10 -1
  20. package/dest/avm/public_data_read.d.ts.map +1 -1
  21. package/dest/avm/public_data_update_request.d.ts +10 -1
  22. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  23. package/dest/avm/public_data_write.d.ts +7 -1
  24. package/dest/avm/public_data_write.d.ts.map +1 -1
  25. package/dest/avm/public_inner_call_request.d.ts +4 -1
  26. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  27. package/dest/avm/revert_code.d.ts +4 -4
  28. package/dest/avm/revert_code.d.ts.map +1 -1
  29. package/dest/block/block_hash.d.ts +16 -9
  30. package/dest/block/block_hash.d.ts.map +1 -1
  31. package/dest/block/block_hash.js +23 -8
  32. package/dest/block/block_parameter.d.ts +4 -3
  33. package/dest/block/block_parameter.d.ts.map +1 -1
  34. package/dest/block/block_parameter.js +2 -0
  35. package/dest/block/body.d.ts +1 -1
  36. package/dest/block/body.d.ts.map +1 -1
  37. package/dest/block/body.js +2 -1
  38. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  39. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  40. package/dest/block/checkpointed_l2_block.js +7 -45
  41. package/dest/block/in_block.d.ts +8 -8
  42. package/dest/block/in_block.d.ts.map +1 -1
  43. package/dest/block/in_block.js +4 -4
  44. package/dest/block/index.d.ts +1 -3
  45. package/dest/block/index.d.ts.map +1 -1
  46. package/dest/block/index.js +0 -2
  47. package/dest/block/l2_block.d.ts +55 -59
  48. package/dest/block/l2_block.d.ts.map +1 -1
  49. package/dest/block/l2_block.js +64 -109
  50. package/dest/block/l2_block_source.d.ts +63 -38
  51. package/dest/block/l2_block_source.d.ts.map +1 -1
  52. package/dest/block/l2_block_source.js +2 -1
  53. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  54. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  55. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  56. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  57. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  58. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  59. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  60. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  61. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  62. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  63. package/dest/block/validate_block_result.d.ts +1 -1
  64. package/dest/block/validate_block_result.d.ts.map +1 -1
  65. package/dest/block/validate_block_result.js +5 -4
  66. package/dest/checkpoint/checkpoint.d.ts +30 -20
  67. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  68. package/dest/checkpoint/checkpoint.js +18 -6
  69. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  70. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  71. package/dest/checkpoint/published_checkpoint.js +4 -3
  72. package/dest/config/node-rpc-config.js +1 -1
  73. package/dest/contract/complete_address.d.ts +4 -1
  74. package/dest/contract/complete_address.d.ts.map +1 -1
  75. package/dest/contract/contract_address.js +1 -1
  76. package/dest/contract/contract_class_id.d.ts +1 -1
  77. package/dest/contract/contract_class_id.js +1 -1
  78. package/dest/contract/contract_deployment_data.d.ts +5 -5
  79. package/dest/contract/index.d.ts +1 -3
  80. package/dest/contract/index.d.ts.map +1 -1
  81. package/dest/contract/index.js +0 -2
  82. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  83. package/dest/contract/private_function.d.ts +1 -1
  84. package/dest/contract/private_function.d.ts.map +1 -1
  85. package/dest/contract/private_function.js +2 -3
  86. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  87. package/dest/contract/private_function_membership_proof.js +1 -1
  88. package/dest/database-version/version_manager.d.ts +4 -2
  89. package/dest/database-version/version_manager.d.ts.map +1 -1
  90. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  91. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  92. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  93. package/dest/deserialization/index.d.ts +11 -0
  94. package/dest/deserialization/index.d.ts.map +1 -0
  95. package/dest/deserialization/index.js +10 -0
  96. package/dest/epoch-helpers/index.d.ts +3 -1
  97. package/dest/epoch-helpers/index.d.ts.map +1 -1
  98. package/dest/epoch-helpers/index.js +5 -1
  99. package/dest/errors/proving_error.d.ts +2 -2
  100. package/dest/errors/proving_error.d.ts.map +1 -1
  101. package/dest/hash/hash.js +2 -2
  102. package/dest/hash/map_slot.d.ts +1 -1
  103. package/dest/hash/map_slot.d.ts.map +1 -1
  104. package/dest/hash/map_slot.js +4 -3
  105. package/dest/interfaces/api_limit.d.ts +2 -1
  106. package/dest/interfaces/api_limit.d.ts.map +1 -1
  107. package/dest/interfaces/api_limit.js +1 -0
  108. package/dest/interfaces/archiver.d.ts +1 -1
  109. package/dest/interfaces/archiver.d.ts.map +1 -1
  110. package/dest/interfaces/archiver.js +16 -14
  111. package/dest/interfaces/aztec-node-admin.d.ts +56 -26
  112. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  113. package/dest/interfaces/aztec-node.d.ts +61 -43
  114. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  115. package/dest/interfaces/aztec-node.js +7 -9
  116. package/dest/interfaces/block-builder.d.ts +17 -14
  117. package/dest/interfaces/block-builder.d.ts.map +1 -1
  118. package/dest/interfaces/configs.d.ts +8 -8
  119. package/dest/interfaces/configs.d.ts.map +1 -1
  120. package/dest/interfaces/get_logs_response.d.ts +3 -3
  121. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  122. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  123. package/dest/interfaces/prover-client.d.ts +10 -1
  124. package/dest/interfaces/prover-client.d.ts.map +1 -1
  125. package/dest/interfaces/prover-client.js +7 -1
  126. package/dest/interfaces/proving-job.d.ts +14 -14
  127. package/dest/interfaces/tx_provider.d.ts +3 -3
  128. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  129. package/dest/interfaces/validator.d.ts +70 -14
  130. package/dest/interfaces/validator.d.ts.map +1 -1
  131. package/dest/interfaces/validator.js +2 -2
  132. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  133. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  134. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  135. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  136. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  137. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  138. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  139. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  140. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  141. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  142. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  143. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  144. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  145. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  146. package/dest/kernel/hints/read_request.d.ts +7 -1
  147. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  148. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  149. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  150. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  151. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  152. package/dest/kernel/private_call_data.d.ts +25 -1
  153. package/dest/kernel/private_call_data.d.ts.map +1 -1
  154. package/dest/kernel/private_call_request.d.ts +16 -1
  155. package/dest/kernel/private_call_request.d.ts.map +1 -1
  156. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  157. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  158. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  159. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  160. package/dest/kernel/private_kernel_data.d.ts +7 -1
  161. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  162. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  163. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  164. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  165. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  166. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  167. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  168. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  169. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  170. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  171. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  172. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  173. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  174. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  175. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  176. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  177. package/dest/kernel/private_validation_requests.d.ts +10 -1
  178. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  179. package/dest/kernel/public_call_request.d.ts +22 -1
  180. package/dest/kernel/public_call_request.d.ts.map +1 -1
  181. package/dest/kernel/utils/optional_number.d.ts +7 -1
  182. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  183. package/dest/keys/public_keys.d.ts +5 -1
  184. package/dest/keys/public_keys.d.ts.map +1 -1
  185. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  186. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  187. package/dest/logs/extended_public_log.d.ts +7 -5
  188. package/dest/logs/extended_public_log.d.ts.map +1 -1
  189. package/dest/logs/log_id.d.ts +10 -6
  190. package/dest/logs/log_id.d.ts.map +1 -1
  191. package/dest/logs/log_id.js +5 -5
  192. package/dest/logs/siloed_tag.d.ts +1 -1
  193. package/dest/logs/siloed_tag.d.ts.map +1 -1
  194. package/dest/logs/siloed_tag.js +4 -3
  195. package/dest/messaging/inbox_leaf.d.ts +3 -1
  196. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  197. package/dest/messaging/l1_actor.d.ts +7 -1
  198. package/dest/messaging/l1_actor.d.ts.map +1 -1
  199. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  200. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  201. package/dest/messaging/l2_actor.d.ts +7 -1
  202. package/dest/messaging/l2_actor.d.ts.map +1 -1
  203. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  204. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  205. package/dest/messaging/l2_to_l1_membership.js +5 -3
  206. package/dest/messaging/out_hash.d.ts +41 -4
  207. package/dest/messaging/out_hash.d.ts.map +1 -1
  208. package/dest/messaging/out_hash.js +52 -26
  209. package/dest/note/note_dao.d.ts +36 -5
  210. package/dest/note/note_dao.d.ts.map +1 -1
  211. package/dest/note/note_dao.js +15 -12
  212. package/dest/p2p/block_proposal.d.ts +23 -8
  213. package/dest/p2p/block_proposal.d.ts.map +1 -1
  214. package/dest/p2p/block_proposal.js +25 -7
  215. package/dest/p2p/checkpoint_attestation.d.ts +5 -1
  216. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  217. package/dest/p2p/checkpoint_proposal.d.ts +20 -7
  218. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  219. package/dest/p2p/checkpoint_proposal.js +17 -5
  220. package/dest/p2p/consensus_payload.d.ts +4 -3
  221. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  222. package/dest/p2p/consensus_payload.js +0 -3
  223. package/dest/p2p/constants.d.ts +3 -0
  224. package/dest/p2p/constants.d.ts.map +1 -0
  225. package/dest/p2p/constants.js +2 -0
  226. package/dest/p2p/index.d.ts +2 -1
  227. package/dest/p2p/index.d.ts.map +1 -1
  228. package/dest/p2p/index.js +1 -0
  229. package/dest/p2p/message_validator.d.ts +18 -3
  230. package/dest/p2p/message_validator.d.ts.map +1 -1
  231. package/dest/p2p/message_validator.js +2 -1
  232. package/dest/p2p/signed_txs.d.ts +3 -1
  233. package/dest/p2p/signed_txs.d.ts.map +1 -1
  234. package/dest/p2p/signed_txs.js +6 -1
  235. package/dest/p2p/topic_type.js +2 -1
  236. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  237. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  238. package/dest/parity/parity_public_inputs.d.ts +4 -1
  239. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  240. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  241. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  242. package/dest/proofs/chonk_proof.d.ts +1 -1
  243. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  244. package/dest/proofs/chonk_proof.js +9 -4
  245. package/dest/proofs/proof.d.ts +4 -1
  246. package/dest/proofs/proof.d.ts.map +1 -1
  247. package/dest/proofs/recursive_proof.d.ts +10 -1
  248. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  249. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  250. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  251. package/dest/rollup/block_constant_data.d.ts +12 -1
  252. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  253. package/dest/rollup/block_headers_hash.js +1 -1
  254. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  255. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  256. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  257. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  258. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  259. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  260. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  261. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  262. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  263. package/dest/rollup/checkpoint_header.d.ts +29 -2
  264. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  265. package/dest/rollup/checkpoint_header.js +21 -5
  266. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  267. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  268. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
  269. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  270. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
  271. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  272. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  273. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  274. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  275. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  276. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  277. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  278. package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
  279. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  280. package/dest/rollup/root_rollup_public_inputs.js +4 -1
  281. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  282. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  283. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  284. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  285. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  286. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  287. package/dest/schemas/schemas.d.ts +1 -1
  288. package/dest/tests/factories.d.ts +2 -4
  289. package/dest/tests/factories.d.ts.map +1 -1
  290. package/dest/tests/factories.js +6 -15
  291. package/dest/tests/jest.js +1 -1
  292. package/dest/tests/mocks.d.ts +20 -14
  293. package/dest/tests/mocks.d.ts.map +1 -1
  294. package/dest/tests/mocks.js +45 -27
  295. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  296. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  297. package/dest/trees/nullifier_leaf.d.ts +13 -1
  298. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  299. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  300. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  301. package/dest/trees/public_data_leaf.d.ts +16 -1
  302. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  303. package/dest/trees/public_data_witness.d.ts +11 -1
  304. package/dest/trees/public_data_witness.d.ts.map +1 -1
  305. package/dest/tx/block_header.d.ts +14 -2
  306. package/dest/tx/block_header.d.ts.map +1 -1
  307. package/dest/tx/block_header.js +5 -1
  308. package/dest/tx/call_context.d.ts +13 -1
  309. package/dest/tx/call_context.d.ts.map +1 -1
  310. package/dest/tx/capsule.d.ts +4 -1
  311. package/dest/tx/capsule.d.ts.map +1 -1
  312. package/dest/tx/execution_payload.d.ts +9 -1
  313. package/dest/tx/execution_payload.d.ts.map +1 -1
  314. package/dest/tx/function_data.d.ts +4 -2
  315. package/dest/tx/function_data.d.ts.map +1 -1
  316. package/dest/tx/global_variables.d.ts +9 -1
  317. package/dest/tx/global_variables.d.ts.map +1 -1
  318. package/dest/tx/hashed_values.d.ts +7 -1
  319. package/dest/tx/hashed_values.d.ts.map +1 -1
  320. package/dest/tx/in_tx.d.ts +3 -3
  321. package/dest/tx/indexed_tx_effect.d.ts +4 -4
  322. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  323. package/dest/tx/indexed_tx_effect.js +2 -2
  324. package/dest/tx/partial_state_reference.d.ts +4 -1
  325. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  326. package/dest/tx/private_execution_result.d.ts +23 -2
  327. package/dest/tx/private_execution_result.d.ts.map +1 -1
  328. package/dest/tx/private_execution_result.js +1 -1
  329. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  330. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  331. package/dest/tx/profiling.d.ts +149 -26
  332. package/dest/tx/profiling.d.ts.map +1 -1
  333. package/dest/tx/profiling.js +44 -7
  334. package/dest/tx/protocol_contracts.d.ts +1 -1
  335. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  336. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  337. package/dest/tx/state_reference.d.ts +3 -1
  338. package/dest/tx/state_reference.d.ts.map +1 -1
  339. package/dest/tx/tx.d.ts +24 -1
  340. package/dest/tx/tx.d.ts.map +1 -1
  341. package/dest/tx/tx.js +6 -3
  342. package/dest/tx/tx_context.d.ts +2 -1
  343. package/dest/tx/tx_context.d.ts.map +1 -1
  344. package/dest/tx/tx_effect.d.ts +32 -6
  345. package/dest/tx/tx_effect.d.ts.map +1 -1
  346. package/dest/tx/tx_effect.js +0 -7
  347. package/dest/tx/tx_execution_request.d.ts +30 -1
  348. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  349. package/dest/tx/tx_hash.d.ts +2 -1
  350. package/dest/tx/tx_hash.d.ts.map +1 -1
  351. package/dest/tx/tx_receipt.d.ts +47 -13
  352. package/dest/tx/tx_receipt.d.ts.map +1 -1
  353. package/dest/tx/tx_receipt.js +46 -15
  354. package/dest/tx/tx_request.d.ts +6 -1
  355. package/dest/tx/tx_request.d.ts.map +1 -1
  356. package/dest/tx/validator/error_texts.d.ts +2 -1
  357. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  358. package/dest/tx/validator/error_texts.js +2 -0
  359. package/dest/types/shared.d.ts +4 -1
  360. package/dest/types/shared.d.ts.map +1 -1
  361. package/dest/validators/schemas.d.ts +8 -8
  362. package/dest/vks/verification_key.d.ts +22 -1
  363. package/dest/vks/verification_key.d.ts.map +1 -1
  364. package/dest/vks/vk_data.d.ts +7 -1
  365. package/dest/vks/vk_data.d.ts.map +1 -1
  366. package/dest/zkpassport/index.d.ts +3 -4
  367. package/dest/zkpassport/index.d.ts.map +1 -1
  368. package/dest/zkpassport/index.js +9 -9
  369. package/package.json +12 -10
  370. package/src/abi/utils.ts +17 -0
  371. package/src/block/block_hash.ts +36 -10
  372. package/src/block/block_parameter.ts +4 -2
  373. package/src/block/body.ts +2 -1
  374. package/src/block/checkpointed_l2_block.ts +8 -58
  375. package/src/block/in_block.ts +5 -5
  376. package/src/block/index.ts +0 -2
  377. package/src/block/l2_block.ts +101 -149
  378. package/src/block/l2_block_source.ts +69 -41
  379. package/src/block/l2_block_stream/interfaces.ts +8 -5
  380. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  381. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  382. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  383. package/src/block/validate_block_result.ts +5 -4
  384. package/src/checkpoint/checkpoint.ts +33 -11
  385. package/src/checkpoint/published_checkpoint.ts +4 -3
  386. package/src/config/node-rpc-config.ts +1 -1
  387. package/src/contract/contract_address.ts +1 -1
  388. package/src/contract/contract_class_id.ts +1 -1
  389. package/src/contract/index.ts +0 -2
  390. package/src/contract/private_function.ts +2 -3
  391. package/src/contract/private_function_membership_proof.ts +1 -1
  392. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  393. package/src/deserialization/index.ts +21 -0
  394. package/src/epoch-helpers/index.ts +10 -1
  395. package/src/hash/hash.ts +2 -2
  396. package/src/hash/map_slot.ts +3 -2
  397. package/src/interfaces/api_limit.ts +1 -0
  398. package/src/interfaces/archiver.ts +16 -23
  399. package/src/interfaces/aztec-node.ts +76 -74
  400. package/src/interfaces/block-builder.ts +33 -24
  401. package/src/interfaces/configs.ts +1 -3
  402. package/src/interfaces/l2_logs_source.ts +17 -4
  403. package/src/interfaces/prover-client.ts +15 -0
  404. package/src/interfaces/tx_provider.ts +2 -2
  405. package/src/interfaces/validator.ts +9 -11
  406. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  407. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  408. package/src/logs/log_id.ts +6 -6
  409. package/src/logs/siloed_tag.ts +3 -2
  410. package/src/messaging/l2_to_l1_membership.ts +5 -3
  411. package/src/messaging/out_hash.ts +60 -29
  412. package/src/note/note_dao.ts +18 -13
  413. package/src/p2p/block_proposal.ts +36 -13
  414. package/src/p2p/checkpoint_proposal.ts +29 -11
  415. package/src/p2p/consensus_payload.ts +0 -5
  416. package/src/p2p/constants.ts +3 -0
  417. package/src/p2p/index.ts +1 -0
  418. package/src/p2p/message_validator.ts +14 -2
  419. package/src/p2p/signed_txs.ts +6 -1
  420. package/src/p2p/topic_type.ts +1 -1
  421. package/src/proofs/chonk_proof.ts +9 -5
  422. package/src/rollup/block_headers_hash.ts +1 -1
  423. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  424. package/src/rollup/checkpoint_header.ts +20 -0
  425. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
  426. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  427. package/src/rollup/root_rollup_public_inputs.ts +4 -1
  428. package/src/tests/factories.ts +6 -26
  429. package/src/tests/jest.ts +1 -1
  430. package/src/tests/mocks.ts +62 -42
  431. package/src/tx/block_header.ts +11 -3
  432. package/src/tx/indexed_tx_effect.ts +2 -2
  433. package/src/tx/private_execution_result.ts +1 -1
  434. package/src/tx/profiling.ts +46 -4
  435. package/src/tx/tx.ts +8 -9
  436. package/src/tx/tx_effect.ts +0 -9
  437. package/src/tx/tx_receipt.ts +75 -18
  438. package/src/tx/validator/error_texts.ts +3 -0
  439. package/src/zkpassport/index.ts +11 -12
  440. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  441. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  442. package/dest/block/l2_block_code_to_purge.js +0 -55
  443. package/dest/block/l2_block_header.d.ts +0 -94
  444. package/dest/block/l2_block_header.d.ts.map +0 -1
  445. package/dest/block/l2_block_header.js +0 -160
  446. package/dest/block/l2_block_new.d.ts +0 -134
  447. package/dest/block/l2_block_new.d.ts.map +0 -1
  448. package/dest/block/l2_block_new.js +0 -155
  449. package/dest/contract/contract_class_metadata.d.ts +0 -8
  450. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  451. package/dest/contract/contract_class_metadata.js +0 -1
  452. package/dest/contract/contract_metadata.d.ts +0 -7
  453. package/dest/contract/contract_metadata.d.ts.map +0 -1
  454. package/dest/contract/contract_metadata.js +0 -1
  455. package/src/block/l2_block_code_to_purge.ts +0 -80
  456. package/src/block/l2_block_header.ts +0 -255
  457. package/src/block/l2_block_new.ts +0 -211
  458. package/src/contract/contract_class_metadata.ts +0 -8
  459. package/src/contract/contract_metadata.ts +0 -7
@@ -4,9 +4,8 @@ import type { ApiSchemaFor } from '@aztec/foundation/schemas';
4
4
 
5
5
  import { z } from 'zod';
6
6
 
7
- import { CheckpointedL2Block, PublishedL2Block } from '../block/checkpointed_l2_block.js';
7
+ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
8
8
  import { L2Block } from '../block/l2_block.js';
9
- import { L2BlockNew } from '../block/l2_block_new.js';
10
9
  import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
11
10
  import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
12
11
  import { Checkpoint } from '../checkpoint/checkpoint.js';
@@ -83,6 +82,8 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
83
82
  getRegistryAddress: z.function().args().returns(schemas.EthAddress),
84
83
  getBlockNumber: z.function().args().returns(BlockNumberSchema),
85
84
  getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
85
+ getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
86
+ getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
86
87
  getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
87
88
  getBlockHeader: z
88
89
  .function()
@@ -91,45 +92,37 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
91
92
  getCheckpointedBlock: z.function().args(BlockNumberSchema).returns(CheckpointedL2Block.schema.optional()),
92
93
  getCheckpointedBlocks: z
93
94
  .function()
94
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
95
+ .args(BlockNumberSchema, schemas.Integer)
95
96
  .returns(z.array(CheckpointedL2Block.schema)),
96
- getBlocks: z
97
- .function()
98
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
99
- .returns(z.array(L2Block.schema)),
100
- getPublishedCheckpoints: z
97
+ getBlocks: z.function().args(BlockNumberSchema, schemas.Integer).returns(z.array(L2Block.schema)),
98
+ getCheckpoints: z
101
99
  .function()
102
100
  .args(CheckpointNumberSchema, schemas.Integer)
103
101
  .returns(z.array(PublishedCheckpoint.schema)),
104
- getPublishedBlocks: z
105
- .function()
106
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
107
- .returns(z.array(PublishedL2Block.schema)),
108
- getL2BlocksNew: z
109
- .function()
110
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
111
- .returns(z.array(L2BlockNew.schema)),
112
- getPublishedBlockByHash: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
113
- getPublishedBlockByArchive: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
102
+ getCheckpointedBlockByHash: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
103
+ getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
114
104
  getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
115
105
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
116
- getL2BlockNew: z.function().args(BlockNumberSchema).returns(L2BlockNew.schema.optional()),
106
+ getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
107
+ getL2BlockByHash: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
108
+ getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
117
109
  getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
118
110
  getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
119
111
  getL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
120
112
  getL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
121
113
  getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
122
- getBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(L2Block.schema)),
123
- getBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
114
+ getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
115
+ getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
116
+ getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
124
117
  isEpochComplete: z.function().args(EpochNumberSchema).returns(z.boolean()),
125
118
  getL2Tips: z.function().args().returns(L2TipsSchema),
126
119
  getPrivateLogsByTags: z
127
120
  .function()
128
- .args(z.array(SiloedTag.schema))
121
+ .args(z.array(SiloedTag.schema), optional(z.number().gte(0)))
129
122
  .returns(z.array(z.array(TxScopedL2Log.schema))),
130
123
  getPublicLogsByTagsFromContract: z
131
124
  .function()
132
- .args(schemas.AztecAddress, z.array(Tag.schema))
125
+ .args(schemas.AztecAddress, z.array(Tag.schema), optional(z.number().gte(0)))
133
126
  .returns(z.array(z.array(TxScopedL2Log.schema))),
134
127
  getPublicLogs: z.function().args(LogFilterSchema).returns(GetPublicLogsResponseSchema),
135
128
  getContractClassLogs: z.function().args(LogFilterSchema).returns(GetContractClassLogsResponseSchema),
@@ -23,11 +23,11 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
23
23
  import { z } from 'zod';
24
24
 
25
25
  import type { AztecAddress } from '../aztec-address/index.js';
26
+ import { BlockHash } from '../block/block_hash.js';
26
27
  import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
27
- import { CheckpointedL2Block, PublishedL2Block } from '../block/checkpointed_l2_block.js';
28
+ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
28
29
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
29
30
  import { L2Block } from '../block/l2_block.js';
30
- import { L2BlockNew } from '../block/l2_block_new.js';
31
31
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
32
32
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
33
33
  import {
@@ -78,13 +78,7 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
78
78
  export interface AztecNode
79
79
  extends Pick<
80
80
  L2BlockSource,
81
- | 'getBlocks'
82
- | 'getL2BlocksNew'
83
- | 'getPublishedBlocks'
84
- | 'getPublishedCheckpoints'
85
- | 'getBlockHeader'
86
- | 'getL2Tips'
87
- | 'getCheckpointedBlocks'
81
+ 'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
88
82
  > {
89
83
  /**
90
84
  * Returns the tips of the L2 chain.
@@ -99,72 +93,63 @@ export interface AztecNode
99
93
  /**
100
94
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
101
95
  * the leaves were inserted.
102
- * @param blockNumber - The block number at which to get the data or 'latest' for latest data.
96
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
103
97
  * @param treeId - The tree to search in.
104
98
  * @param leafValues - The values to search for.
105
99
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
106
100
  */
107
101
  findLeavesIndexes(
108
- blockNumber: BlockParameter,
102
+ block: BlockParameter,
109
103
  treeId: MerkleTreeId,
110
104
  leafValues: Fr[],
111
105
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
112
106
 
113
107
  /**
114
108
  * Returns a sibling path for the given index in the nullifier tree.
115
- * @param blockNumber - The block number at which to get the data.
109
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
116
110
  * @param leafIndex - The index of the leaf for which the sibling path is required.
117
111
  * @returns The sibling path for the leaf index.
118
112
  */
119
- getNullifierSiblingPath(
120
- blockNumber: BlockParameter,
121
- leafIndex: bigint,
122
- ): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
113
+ getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
123
114
 
124
115
  /**
125
116
  * Returns a sibling path for the given index in the note hash tree.
126
- * @param blockNumber - The block number at which to get the data.
117
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
127
118
  * @param leafIndex - The index of the leaf for which the sibling path is required.
128
119
  * @returns The sibling path for the leaf index.
129
120
  */
130
- getNoteHashSiblingPath(
131
- blockNumber: BlockParameter,
132
- leafIndex: bigint,
133
- ): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
121
+ getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
134
122
 
135
123
  /**
136
124
  * Returns a sibling path for a leaf in the committed historic blocks tree.
137
- * @param blockNumber - The block number at which to get the data.
125
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
138
126
  * @param leafIndex - Index of the leaf in the tree.
139
127
  * @returns The sibling path.
140
128
  */
141
- getArchiveSiblingPath(blockNumber: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
129
+ getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
142
130
 
143
131
  /**
144
132
  * Returns a sibling path for a leaf in the committed public data tree.
145
- * @param blockNumber - The block number at which to get the data.
133
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
146
134
  * @param leafIndex - Index of the leaf in the tree.
147
135
  * @returns The sibling path.
148
136
  */
149
137
  getPublicDataSiblingPath(
150
- blockNumber: BlockParameter,
138
+ block: BlockParameter,
151
139
  leafIndex: bigint,
152
140
  ): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
153
141
 
154
142
  /**
155
143
  * Returns a nullifier membership witness for a given nullifier at a given block.
156
- * @param blockNumber - The block number at which to get the data.
144
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
157
145
  * @param nullifier - Nullifier we try to find witness for.
158
146
  * @returns The nullifier membership witness (if found).
159
147
  */
160
- getNullifierMembershipWitness(
161
- blockNumber: BlockParameter,
162
- nullifier: Fr,
163
- ): Promise<NullifierMembershipWitness | undefined>;
148
+ getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
164
149
 
165
150
  /**
166
151
  * Returns a low nullifier membership witness for a given nullifier at a given block.
167
- * @param blockNumber - The block number at which to get the data.
152
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
168
153
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
169
154
  * @returns The low nullifier membership witness (if found).
170
155
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
@@ -172,49 +157,49 @@ export interface AztecNode
172
157
  * we are trying to prove non-inclusion for.
173
158
  */
174
159
  getLowNullifierMembershipWitness(
175
- blockNumber: BlockParameter,
160
+ block: BlockParameter,
176
161
  nullifier: Fr,
177
162
  ): Promise<NullifierMembershipWitness | undefined>;
178
163
 
179
164
  /**
180
165
  * Returns a public data tree witness for a given leaf slot at a given block.
181
- * @param blockNumber - The block number at which to get the data.
166
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
182
167
  * @param leafSlot - The leaf slot we try to find the witness for.
183
168
  * @returns The public data witness (if found).
184
169
  * @remarks The witness can be used to compute the current value of the public data tree leaf. If the low leaf preimage corresponds to an
185
170
  * "in range" slot, means that the slot doesn't exist and the value is 0. If the low leaf preimage corresponds to the exact slot, the current value
186
171
  * is contained in the leaf preimage.
187
172
  */
188
- getPublicDataWitness(blockNumber: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
173
+ getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
189
174
 
190
175
  /**
191
176
  * Returns a membership witness for a given archive leaf at a given block.
192
- * @param blockNumber - The block number at which to get the data.
177
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
193
178
  * @param archive - The archive leaf we try to find the witness for.
194
179
  */
195
180
  getArchiveMembershipWitness(
196
- blockNumber: BlockParameter,
181
+ block: BlockParameter,
197
182
  archive: Fr,
198
183
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
199
184
 
200
185
  /**
201
186
  * Returns a membership witness for a given note hash at a given block.
202
- * @param blockNumber - The block number at which to get the data.
187
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
203
188
  * @param noteHash - The note hash we try to find the witness for.
204
189
  */
205
190
  getNoteHashMembershipWitness(
206
- blockNumber: BlockParameter,
191
+ block: BlockParameter,
207
192
  noteHash: Fr,
208
193
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
209
194
 
210
195
  /**
211
196
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
212
- * @param blockNumber - The block number at which to get the data.
197
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
213
198
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
214
199
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
215
200
  */
216
201
  getL1ToL2MessageMembershipWitness(
217
- blockNumber: BlockParameter,
202
+ block: BlockParameter,
218
203
  l1ToL2Message: Fr,
219
204
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
220
205
 
@@ -238,8 +223,8 @@ export interface AztecNode
238
223
  getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
239
224
 
240
225
  /**
241
- * Get a block specified by its number.
242
- * @param number - The block number being requested.
226
+ * Get a block specified by its block number or 'latest'.
227
+ * @param number - The block number or 'latest'.
243
228
  * @returns The requested block.
244
229
  */
245
230
  getBlock(number: BlockParameter): Promise<L2Block | undefined>;
@@ -270,6 +255,12 @@ export interface AztecNode
270
255
  */
271
256
  getProvenBlockNumber(): Promise<BlockNumber>;
272
257
 
258
+ /**
259
+ * Fetches the latest checkpointed block number.
260
+ * @returns The block number.
261
+ */
262
+ getCheckpointedBlockNumber(): Promise<BlockNumber>;
263
+
273
264
  /**
274
265
  * Method to determine if the node is ready to accept transactions.
275
266
  * @returns - Flag indicating the readiness for tx submission.
@@ -353,16 +344,38 @@ export interface AztecNode
353
344
  getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
354
345
 
355
346
  /**
356
- * Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
347
+ * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
357
348
  * array implies no logs match that tag.
349
+ * @param tags - The tags to search for.
350
+ * @param page - The page number (0-indexed) for pagination.
351
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
352
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
353
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
354
+ * undefined behavior in the client's code.
355
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
356
+ * for a tag, the caller should fetch the next page to check for more logs.
358
357
  */
359
- getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
358
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
360
359
 
361
360
  /**
362
- * Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
361
+ * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
363
362
  * logs is returned. An empty array implies no logs match that tag.
364
- */
365
- getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
363
+ * @param contractAddress - The contract address to search logs for.
364
+ * @param tags - The tags to search for.
365
+ * @param page - The page number (0-indexed) for pagination.
366
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
367
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
368
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
369
+ * undefined behavior in the client's code.
370
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
371
+ * for a tag, the caller should fetch the next page to check for more logs.
372
+ */
373
+ getPublicLogsByTagsFromContract(
374
+ contractAddress: AztecAddress,
375
+ tags: Tag[],
376
+ page?: number,
377
+ referenceBlock?: BlockHash,
378
+ ): Promise<TxScopedL2Log[][]>;
366
379
 
367
380
  /**
368
381
  * Method to submit a transaction to the p2p pool.
@@ -420,25 +433,19 @@ export interface AztecNode
420
433
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
421
434
  * Aztec's version of `eth_getStorageAt`.
422
435
  *
436
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
423
437
  * @param contract - Address of the contract to query.
424
438
  * @param slot - Slot to query.
425
- * @param blockNumber - The block number at which to get the data or 'latest'.
426
439
  * @returns Storage value at the given contract slot.
427
440
  */
428
- getPublicStorageAt(blockNumber: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
429
-
430
- /**
431
- * Returns the currently committed block header.
432
- * @returns The current committed block header.
433
- */
434
- getBlockHeader(blockNumber?: BlockParameter): Promise<BlockHeader | undefined>;
441
+ getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
435
442
 
436
443
  /**
437
- * Get a block header specified by its hash.
438
- * @param blockHash - The block hash being requested.
444
+ * Returns the block header for a given block number, block hash, or 'latest'.
445
+ * @param block - The block parameter (block number, block hash, or 'latest'). Defaults to 'latest'.
439
446
  * @returns The requested block header.
440
447
  */
441
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
448
+ getBlockHeader(block?: BlockParameter): Promise<BlockHeader | undefined>;
442
449
 
443
450
  /**
444
451
  * Get a block header specified by its archive root.
@@ -580,6 +587,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
580
587
 
581
588
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
582
589
 
590
+ getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
591
+
583
592
  isReady: z.function().returns(z.boolean()),
584
593
 
585
594
  getNodeInfo: z.function().returns(NodeInfoSchema),
@@ -589,24 +598,14 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
589
598
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
590
599
  .returns(z.array(L2Block.schema)),
591
600
 
592
- getPublishedBlocks: z
593
- .function()
594
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
595
- .returns(z.array(PublishedL2Block.schema)),
596
-
597
- getPublishedCheckpoints: z
601
+ getCheckpoints: z
598
602
  .function()
599
603
  .args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
600
604
  .returns(z.array(PublishedCheckpoint.schema)),
601
605
 
602
- getL2BlocksNew: z
603
- .function()
604
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
605
- .returns(z.array(L2BlockNew.schema)),
606
-
607
606
  getCheckpointedBlocks: z
608
607
  .function()
609
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN), optional(z.boolean()))
608
+ .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
610
609
  .returns(z.array(CheckpointedL2Block.schema)),
611
610
 
612
611
  getCurrentMinFees: z.function().returns(GasFees.schema),
@@ -634,12 +633,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
634
633
 
635
634
  getPrivateLogsByTags: z
636
635
  .function()
637
- .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN))
636
+ .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
638
637
  .returns(z.array(z.array(TxScopedL2Log.schema))),
639
638
 
640
639
  getPublicLogsByTagsFromContract: z
641
640
  .function()
642
- .args(schemas.AztecAddress, z.array(Tag.schema).max(MAX_RPC_LEN))
641
+ .args(
642
+ schemas.AztecAddress,
643
+ z.array(Tag.schema).max(MAX_RPC_LEN),
644
+ optional(z.number().gte(0)),
645
+ optional(BlockHash.schema),
646
+ )
643
647
  .returns(z.array(z.array(TxScopedL2Log.schema))),
644
648
 
645
649
  sendTx: z.function().args(Tx.schema).returns(z.void()),
@@ -663,8 +667,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
663
667
 
664
668
  getBlockHeader: z.function().args(optional(BlockParameterSchema)).returns(BlockHeader.schema.optional()),
665
669
 
666
- getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
667
-
668
670
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
669
671
 
670
672
  getValidatorsStats: z.function().returns(ValidatorsStatsSchema),
@@ -1,17 +1,17 @@
1
- import type { BlockNumber } from '@aztec/foundation/branded-types';
1
+ import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
- import type { Timer } from '@aztec/foundation/timer';
3
+ import type { LoggerBindings } from '@aztec/foundation/log';
4
4
 
5
5
  import type { L2Block } from '../block/l2_block.js';
6
6
  import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
7
7
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
8
8
  import type { Gas } from '../gas/gas.js';
9
- import type { MerkleTreeWriteOperations } from '../trees/index.js';
10
9
  import type { BlockHeader } from '../tx/block_header.js';
11
- import type { GlobalVariables } from '../tx/global_variables.js';
10
+ import type { CheckpointGlobalVariables, GlobalVariables } from '../tx/global_variables.js';
12
11
  import type { FailedTx, ProcessedTx } from '../tx/processed_tx.js';
13
12
  import { Tx } from '../tx/tx.js';
14
13
  import type { TxValidator } from '../tx/validator/tx_validator.js';
14
+ import type { MerkleTreeWriteOperations } from './merkle_tree_operations.js';
15
15
  import type { ProcessedTxHandler } from './processed-tx-handler.js';
16
16
 
17
17
  /** The interface to a block builder. Generates an L2 block out of a set of processed txs. */
@@ -47,16 +47,6 @@ export interface PublicProcessorValidator {
47
47
  preprocessValidator?: TxValidator<Tx>;
48
48
  nullifierCache?: { addNullifiers: (nullifiers: Buffer[]) => void };
49
49
  }
50
- export interface BuildBlockResult {
51
- block: L2Block;
52
- publicGas: Gas;
53
- publicProcessorDuration: number;
54
- numMsgs: number;
55
- numTxs: number;
56
- failedTxs: FailedTx[];
57
- blockBuildingTimer: Timer;
58
- usedTxs: Tx[];
59
- }
60
50
 
61
51
  export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
62
52
  Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
@@ -72,18 +62,37 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
72
62
  'fakeThrowAfterProcessingTxCount',
73
63
  ] as const;
74
64
 
75
- export interface IFullNodeBlockBuilder {
76
- getConfig(): FullNodeBlockBuilderConfig;
77
-
78
- updateConfig(config: Partial<FullNodeBlockBuilderConfig>): void;
65
+ /** Result of building a block within a checkpoint. */
66
+ export interface BuildBlockInCheckpointResult {
67
+ block: L2Block;
68
+ publicGas: Gas;
69
+ publicProcessorDuration: number;
70
+ numTxs: number;
71
+ failedTxs: FailedTx[];
72
+ usedTxs: Tx[];
73
+ usedTxBlobFields: number;
74
+ }
79
75
 
76
+ /** Interface for building blocks within a checkpoint context. */
77
+ export interface ICheckpointBlockBuilder {
80
78
  buildBlock(
81
- txs: Iterable<Tx> | AsyncIterable<Tx>,
82
- l1ToL2Messages: Fr[],
83
- globalVariables: GlobalVariables,
84
- options: PublicProcessorLimits,
85
- fork?: MerkleTreeWriteOperations,
86
- ): Promise<BuildBlockResult>;
79
+ pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
80
+ blockNumber: BlockNumber,
81
+ timestamp: bigint,
82
+ opts: PublicProcessorLimits,
83
+ ): Promise<BuildBlockInCheckpointResult>;
84
+ }
87
85
 
86
+ /** Interface for creating checkpoint builders. */
87
+ export interface ICheckpointsBuilder {
88
88
  getFork(blockNumber: BlockNumber): Promise<MerkleTreeWriteOperations>;
89
+
90
+ startCheckpoint(
91
+ checkpointNumber: CheckpointNumber,
92
+ constants: CheckpointGlobalVariables,
93
+ l1ToL2Messages: Fr[],
94
+ previousCheckpointOutHashes: Fr[],
95
+ fork: MerkleTreeWriteOperations,
96
+ bindings?: LoggerBindings,
97
+ ): Promise<ICheckpointBlockBuilder>;
89
98
  }
@@ -67,9 +67,7 @@ export interface SequencerConfig {
67
67
  blockDurationMs?: number;
68
68
  /** Have sequencer build and publish an empty checkpoint if there are no txs */
69
69
  buildCheckpointIfEmpty?: boolean;
70
-
71
- // TODO(palla/mbps): Change default to false once block sync is stable
72
- /** Skip pushing proposed blocks to archiver (default: true) */
70
+ /** Skip pushing proposed blocks to archiver (default: false) */
73
71
  skipPushProposedBlocksToArchiver?: boolean;
74
72
  }
75
73
 
@@ -12,16 +12,29 @@ import type { GetContractClassLogsResponse, GetPublicLogsResponse } from './get_
12
12
  */
13
13
  export interface L2LogsSource {
14
14
  /**
15
- * Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
15
+ * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
16
16
  * array implies no logs match that tag.
17
+ * @param tags - The tags to search for.
18
+ * @param page - The page number (0-indexed) for pagination.
19
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
20
+ * for a tag, the caller should fetch the next page to check for more logs.
17
21
  */
18
- getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
22
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
19
23
 
20
24
  /**
21
- * Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
25
+ * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
22
26
  * logs is returned. An empty array implies no logs match that tag.
27
+ * @param contractAddress - The contract address to search logs for.
28
+ * @param tags - The tags to search for.
29
+ * @param page - The page number (0-indexed) for pagination.
30
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
31
+ * for a tag, the caller should fetch the next page to check for more logs.
23
32
  */
24
- getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
33
+ getPublicLogsByTagsFromContract(
34
+ contractAddress: AztecAddress,
35
+ tags: Tag[],
36
+ page?: number,
37
+ ): Promise<TxScopedL2Log[][]>;
25
38
 
26
39
  /**
27
40
  * Gets public logs based on the provided filter.
@@ -17,6 +17,12 @@ export type ActualProverConfig = {
17
17
  proverTestDelayMs: number;
18
18
  /** If using realistic delays, what percentage of realistic times to apply. */
19
19
  proverTestDelayFactor: number;
20
+ /**
21
+ * Whether to abort pending proving jobs when the orchestrator is cancelled.
22
+ * When false (default), jobs remain in the broker queue and can be reused on restart/reorg.
23
+ * When true, jobs are explicitly cancelled with the broker, which prevents reuse.
24
+ */
25
+ cancelJobsOnStop: boolean;
20
26
  };
21
27
 
22
28
  /**
@@ -43,6 +49,7 @@ export const ProverConfigSchema = zodFor<ProverConfig>()(
43
49
  proverTestDelayFactor: z.number(),
44
50
  proverAgentCount: z.number(),
45
51
  failedProofStore: z.string().optional(),
52
+ cancelJobsOnStop: z.boolean(),
46
53
  }),
47
54
  );
48
55
 
@@ -85,6 +92,14 @@ export const proverConfigMappings: ConfigMappingsType<ProverConfig> = {
85
92
  description:
86
93
  'Store for failed proof inputs. Google cloud storage is only supported at the moment. Set this value as gs://bucket-name/path/to/store.',
87
94
  },
95
+ cancelJobsOnStop: {
96
+ env: 'PROVER_CANCEL_JOBS_ON_STOP',
97
+ description:
98
+ 'Whether to abort pending proving jobs when the orchestrator is cancelled. ' +
99
+ 'When false (default), jobs remain in the broker queue and can be reused on restart/reorg. ' +
100
+ 'When true, jobs are explicitly cancelled with the broker, which prevents reuse.',
101
+ ...booleanConfigHelper(false),
102
+ },
88
103
  };
89
104
 
90
105
  function parseProverId(str?: string) {
@@ -1,4 +1,4 @@
1
- import type { L2BlockNew } from '@aztec/stdlib/block';
1
+ import type { L2Block } from '@aztec/stdlib/block';
2
2
  import type { BlockProposal } from '@aztec/stdlib/p2p';
3
3
  import { type Tx, TxHash } from '@aztec/stdlib/tx';
4
4
 
@@ -13,5 +13,5 @@ export interface ITxProvider {
13
13
  opts: { pinnedPeer: PeerId | undefined; deadline: Date },
14
14
  ): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
15
15
 
16
- getTxsForBlock(block: L2BlockNew, opts: { deadline: Date }): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
16
+ getTxsForBlock(block: L2Block, opts: { deadline: Date }): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
17
17
  }