@aztec/stdlib 0.0.1-commit.7d4e6cd → 0.0.1-commit.87a0206

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 (518) hide show
  1. package/dest/abi/function_call.d.ts +47 -9
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/function_call.js +20 -3
  4. package/dest/abi/utils.d.ts +7 -1
  5. package/dest/abi/utils.d.ts.map +1 -1
  6. package/dest/abi/utils.js +7 -0
  7. package/dest/auth_witness/auth_witness.d.ts +2 -1
  8. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  9. package/dest/avm/avm.d.ts +62 -62
  10. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  11. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  12. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  13. package/dest/avm/avm_proving_request.d.ts +299 -299
  14. package/dest/avm/contract_storage_read.d.ts +13 -1
  15. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  16. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  17. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  18. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  19. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  20. package/dest/avm/public_data_read.d.ts +10 -1
  21. package/dest/avm/public_data_read.d.ts.map +1 -1
  22. package/dest/avm/public_data_update_request.d.ts +10 -1
  23. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  24. package/dest/avm/public_data_write.d.ts +7 -1
  25. package/dest/avm/public_data_write.d.ts.map +1 -1
  26. package/dest/avm/public_inner_call_request.d.ts +4 -1
  27. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  28. package/dest/avm/revert_code.d.ts +4 -4
  29. package/dest/avm/revert_code.d.ts.map +1 -1
  30. package/dest/block/block_hash.d.ts +18 -14
  31. package/dest/block/block_hash.d.ts.map +1 -1
  32. package/dest/block/block_hash.js +22 -20
  33. package/dest/block/block_parameter.d.ts +4 -3
  34. package/dest/block/block_parameter.d.ts.map +1 -1
  35. package/dest/block/block_parameter.js +2 -0
  36. package/dest/block/body.d.ts +1 -1
  37. package/dest/block/body.d.ts.map +1 -1
  38. package/dest/block/body.js +2 -1
  39. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  40. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  41. package/dest/block/checkpointed_l2_block.js +7 -45
  42. package/dest/block/in_block.d.ts +9 -9
  43. package/dest/block/in_block.d.ts.map +1 -1
  44. package/dest/block/in_block.js +5 -5
  45. package/dest/block/index.d.ts +1 -3
  46. package/dest/block/index.d.ts.map +1 -1
  47. package/dest/block/index.js +0 -2
  48. package/dest/block/l2_block.d.ts +56 -59
  49. package/dest/block/l2_block.d.ts.map +1 -1
  50. package/dest/block/l2_block.js +64 -110
  51. package/dest/block/l2_block_source.d.ts +65 -39
  52. package/dest/block/l2_block_source.d.ts.map +1 -1
  53. package/dest/block/l2_block_source.js +2 -1
  54. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  55. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  56. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  57. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  58. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  59. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  60. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  61. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  62. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  63. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  64. package/dest/block/validate_block_result.d.ts +1 -1
  65. package/dest/block/validate_block_result.d.ts.map +1 -1
  66. package/dest/block/validate_block_result.js +5 -4
  67. package/dest/checkpoint/checkpoint.d.ts +30 -20
  68. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  69. package/dest/checkpoint/checkpoint.js +18 -6
  70. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  71. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  72. package/dest/checkpoint/published_checkpoint.js +4 -3
  73. package/dest/config/node-rpc-config.js +1 -1
  74. package/dest/contract/complete_address.d.ts +4 -1
  75. package/dest/contract/complete_address.d.ts.map +1 -1
  76. package/dest/contract/contract_address.js +1 -1
  77. package/dest/contract/contract_class_id.d.ts +1 -1
  78. package/dest/contract/contract_class_id.js +1 -1
  79. package/dest/contract/contract_deployment_data.d.ts +5 -5
  80. package/dest/contract/index.d.ts +1 -3
  81. package/dest/contract/index.d.ts.map +1 -1
  82. package/dest/contract/index.js +0 -2
  83. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  84. package/dest/contract/private_function.d.ts +1 -1
  85. package/dest/contract/private_function.d.ts.map +1 -1
  86. package/dest/contract/private_function.js +2 -3
  87. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  88. package/dest/contract/private_function_membership_proof.js +1 -1
  89. package/dest/database-version/database_version.d.ts +58 -0
  90. package/dest/database-version/database_version.d.ts.map +1 -0
  91. package/dest/database-version/database_version.js +69 -0
  92. package/dest/database-version/version_manager.d.ts +3 -49
  93. package/dest/database-version/version_manager.d.ts.map +1 -1
  94. package/dest/database-version/version_manager.js +1 -66
  95. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  96. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  97. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  98. package/dest/deserialization/index.d.ts +11 -0
  99. package/dest/deserialization/index.d.ts.map +1 -0
  100. package/dest/deserialization/index.js +10 -0
  101. package/dest/epoch-helpers/index.d.ts +3 -1
  102. package/dest/epoch-helpers/index.d.ts.map +1 -1
  103. package/dest/epoch-helpers/index.js +5 -1
  104. package/dest/errors/proving_error.d.ts +2 -2
  105. package/dest/errors/proving_error.d.ts.map +1 -1
  106. package/dest/hash/hash.js +2 -2
  107. package/dest/hash/map_slot.d.ts +1 -1
  108. package/dest/hash/map_slot.d.ts.map +1 -1
  109. package/dest/hash/map_slot.js +4 -3
  110. package/dest/interfaces/api_limit.d.ts +2 -1
  111. package/dest/interfaces/api_limit.d.ts.map +1 -1
  112. package/dest/interfaces/api_limit.js +1 -0
  113. package/dest/interfaces/archiver.d.ts +1 -1
  114. package/dest/interfaces/archiver.d.ts.map +1 -1
  115. package/dest/interfaces/archiver.js +18 -15
  116. package/dest/interfaces/aztec-node-admin.d.ts +66 -27
  117. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  118. package/dest/interfaces/aztec-node-admin.js +3 -1
  119. package/dest/interfaces/aztec-node.d.ts +65 -68
  120. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  121. package/dest/interfaces/aztec-node.js +10 -16
  122. package/dest/interfaces/block-builder.d.ts +22 -14
  123. package/dest/interfaces/block-builder.d.ts.map +1 -1
  124. package/dest/interfaces/block-builder.js +7 -0
  125. package/dest/interfaces/configs.d.ts +8 -8
  126. package/dest/interfaces/configs.d.ts.map +1 -1
  127. package/dest/interfaces/get_logs_response.d.ts +16 -9
  128. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  129. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  130. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  131. package/dest/interfaces/p2p.d.ts +2 -2
  132. package/dest/interfaces/p2p.d.ts.map +1 -1
  133. package/dest/interfaces/prover-broker.d.ts +16 -1
  134. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  135. package/dest/interfaces/prover-broker.js +4 -1
  136. package/dest/interfaces/prover-client.d.ts +15 -1
  137. package/dest/interfaces/prover-client.d.ts.map +1 -1
  138. package/dest/interfaces/prover-client.js +12 -1
  139. package/dest/interfaces/proving-job.d.ts +48 -48
  140. package/dest/interfaces/slasher.d.ts +5 -1
  141. package/dest/interfaces/slasher.d.ts.map +1 -1
  142. package/dest/interfaces/slasher.js +1 -0
  143. package/dest/interfaces/tx_provider.d.ts +3 -3
  144. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  145. package/dest/interfaces/validator.d.ts +106 -15
  146. package/dest/interfaces/validator.d.ts.map +1 -1
  147. package/dest/interfaces/validator.js +3 -2
  148. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  149. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  150. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  151. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  152. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  153. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  154. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  155. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  156. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  157. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  158. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  159. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  160. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  161. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  162. package/dest/kernel/hints/read_request.d.ts +7 -1
  163. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  164. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  165. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  166. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  167. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  168. package/dest/kernel/private_call_data.d.ts +25 -1
  169. package/dest/kernel/private_call_data.d.ts.map +1 -1
  170. package/dest/kernel/private_call_request.d.ts +16 -1
  171. package/dest/kernel/private_call_request.d.ts.map +1 -1
  172. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  173. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  174. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  175. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  176. package/dest/kernel/private_kernel_data.d.ts +7 -1
  177. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  178. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  179. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  180. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  181. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  182. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  183. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  184. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  185. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  186. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  187. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  188. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  189. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  190. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  191. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  192. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_validation_requests.d.ts +10 -1
  194. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  195. package/dest/kernel/public_call_request.d.ts +22 -1
  196. package/dest/kernel/public_call_request.d.ts.map +1 -1
  197. package/dest/kernel/utils/optional_number.d.ts +7 -1
  198. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  199. package/dest/keys/derivation.d.ts +3 -3
  200. package/dest/keys/derivation.js +8 -8
  201. package/dest/keys/key_types.d.ts +1 -1
  202. package/dest/keys/public_keys.d.ts +5 -1
  203. package/dest/keys/public_keys.d.ts.map +1 -1
  204. package/dest/keys/utils.d.ts +1 -1
  205. package/dest/keys/utils.d.ts.map +1 -1
  206. package/dest/keys/utils.js +7 -3
  207. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  208. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  209. package/dest/l1-contracts/slash_factory.js +1 -0
  210. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  211. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  212. package/dest/logs/extended_public_log.d.ts +17 -9
  213. package/dest/logs/extended_public_log.d.ts.map +1 -1
  214. package/dest/logs/log_id.d.ts +21 -14
  215. package/dest/logs/log_id.d.ts.map +1 -1
  216. package/dest/logs/log_id.js +20 -17
  217. package/dest/logs/siloed_tag.d.ts +1 -1
  218. package/dest/logs/siloed_tag.d.ts.map +1 -1
  219. package/dest/logs/siloed_tag.js +4 -3
  220. package/dest/messaging/inbox_leaf.d.ts +3 -1
  221. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  222. package/dest/messaging/l1_actor.d.ts +7 -1
  223. package/dest/messaging/l1_actor.d.ts.map +1 -1
  224. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  225. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  226. package/dest/messaging/l2_actor.d.ts +7 -1
  227. package/dest/messaging/l2_actor.d.ts.map +1 -1
  228. package/dest/messaging/l2_to_l1_membership.d.ts +3 -3
  229. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  230. package/dest/messaging/l2_to_l1_membership.js +8 -6
  231. package/dest/messaging/out_hash.d.ts +41 -4
  232. package/dest/messaging/out_hash.d.ts.map +1 -1
  233. package/dest/messaging/out_hash.js +52 -26
  234. package/dest/note/note_dao.d.ts +36 -5
  235. package/dest/note/note_dao.d.ts.map +1 -1
  236. package/dest/note/note_dao.js +15 -12
  237. package/dest/p2p/block_proposal.d.ts +23 -8
  238. package/dest/p2p/block_proposal.d.ts.map +1 -1
  239. package/dest/p2p/block_proposal.js +25 -7
  240. package/dest/p2p/checkpoint_attestation.d.ts +5 -1
  241. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  242. package/dest/p2p/checkpoint_proposal.d.ts +27 -7
  243. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  244. package/dest/p2p/checkpoint_proposal.js +26 -5
  245. package/dest/p2p/consensus_payload.d.ts +4 -3
  246. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  247. package/dest/p2p/consensus_payload.js +0 -3
  248. package/dest/p2p/constants.d.ts +3 -0
  249. package/dest/p2p/constants.d.ts.map +1 -0
  250. package/dest/p2p/constants.js +2 -0
  251. package/dest/p2p/index.d.ts +2 -1
  252. package/dest/p2p/index.d.ts.map +1 -1
  253. package/dest/p2p/index.js +1 -0
  254. package/dest/p2p/message_validator.d.ts +18 -3
  255. package/dest/p2p/message_validator.d.ts.map +1 -1
  256. package/dest/p2p/message_validator.js +2 -1
  257. package/dest/p2p/signed_txs.d.ts +3 -1
  258. package/dest/p2p/signed_txs.d.ts.map +1 -1
  259. package/dest/p2p/signed_txs.js +6 -1
  260. package/dest/p2p/topic_type.js +2 -1
  261. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  262. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  263. package/dest/parity/parity_public_inputs.d.ts +4 -1
  264. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  265. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  266. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  267. package/dest/proofs/chonk_proof.d.ts +1 -1
  268. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  269. package/dest/proofs/chonk_proof.js +9 -4
  270. package/dest/proofs/proof.d.ts +4 -1
  271. package/dest/proofs/proof.d.ts.map +1 -1
  272. package/dest/proofs/recursive_proof.d.ts +10 -1
  273. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  274. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  275. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  276. package/dest/rollup/block_constant_data.d.ts +12 -1
  277. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  278. package/dest/rollup/block_headers_hash.js +1 -1
  279. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  280. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  281. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  282. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  283. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  284. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  285. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  286. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  287. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  288. package/dest/rollup/checkpoint_header.d.ts +29 -2
  289. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  290. package/dest/rollup/checkpoint_header.js +21 -5
  291. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  292. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  293. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  294. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  295. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  296. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  297. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  298. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  299. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  300. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  301. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  302. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  303. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  304. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  305. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  306. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  307. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  308. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  309. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  310. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  311. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  312. package/dest/schemas/schemas.d.ts +1 -1
  313. package/dest/slashing/empire.d.ts +1 -1
  314. package/dest/slashing/empire.d.ts.map +1 -1
  315. package/dest/slashing/empire.js +1 -0
  316. package/dest/slashing/helpers.d.ts +2 -2
  317. package/dest/slashing/helpers.d.ts.map +1 -1
  318. package/dest/slashing/helpers.js +3 -0
  319. package/dest/slashing/tally.d.ts +2 -1
  320. package/dest/slashing/tally.d.ts.map +1 -1
  321. package/dest/slashing/tally.js +6 -2
  322. package/dest/slashing/types.d.ts +5 -3
  323. package/dest/slashing/types.d.ts.map +1 -1
  324. package/dest/slashing/types.js +7 -1
  325. package/dest/stats/stats.d.ts +1 -3
  326. package/dest/stats/stats.d.ts.map +1 -1
  327. package/dest/tests/factories.d.ts +2 -4
  328. package/dest/tests/factories.d.ts.map +1 -1
  329. package/dest/tests/factories.js +8 -17
  330. package/dest/tests/jest.js +1 -1
  331. package/dest/tests/mocks.d.ts +20 -14
  332. package/dest/tests/mocks.d.ts.map +1 -1
  333. package/dest/tests/mocks.js +45 -27
  334. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  335. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  336. package/dest/trees/nullifier_leaf.d.ts +13 -1
  337. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  338. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  339. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  340. package/dest/trees/public_data_leaf.d.ts +16 -1
  341. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  342. package/dest/trees/public_data_witness.d.ts +11 -1
  343. package/dest/trees/public_data_witness.d.ts.map +1 -1
  344. package/dest/tx/block_header.d.ts +14 -2
  345. package/dest/tx/block_header.d.ts.map +1 -1
  346. package/dest/tx/block_header.js +5 -1
  347. package/dest/tx/call_context.d.ts +13 -1
  348. package/dest/tx/call_context.d.ts.map +1 -1
  349. package/dest/tx/capsule.d.ts +4 -1
  350. package/dest/tx/capsule.d.ts.map +1 -1
  351. package/dest/tx/execution_payload.d.ts +9 -1
  352. package/dest/tx/execution_payload.d.ts.map +1 -1
  353. package/dest/tx/function_data.d.ts +4 -2
  354. package/dest/tx/function_data.d.ts.map +1 -1
  355. package/dest/tx/global_variables.d.ts +9 -1
  356. package/dest/tx/global_variables.d.ts.map +1 -1
  357. package/dest/tx/hashed_values.d.ts +7 -1
  358. package/dest/tx/hashed_values.d.ts.map +1 -1
  359. package/dest/tx/in_tx.d.ts +4 -4
  360. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  361. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  362. package/dest/tx/indexed_tx_effect.js +3 -2
  363. package/dest/tx/partial_state_reference.d.ts +4 -1
  364. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  365. package/dest/tx/private_execution_result.d.ts +23 -2
  366. package/dest/tx/private_execution_result.d.ts.map +1 -1
  367. package/dest/tx/private_execution_result.js +1 -1
  368. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  369. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  370. package/dest/tx/profiling.d.ts +149 -26
  371. package/dest/tx/profiling.d.ts.map +1 -1
  372. package/dest/tx/profiling.js +44 -7
  373. package/dest/tx/protocol_contracts.d.ts +1 -1
  374. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  375. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  376. package/dest/tx/state_reference.d.ts +3 -1
  377. package/dest/tx/state_reference.d.ts.map +1 -1
  378. package/dest/tx/tx.d.ts +24 -1
  379. package/dest/tx/tx.d.ts.map +1 -1
  380. package/dest/tx/tx.js +6 -3
  381. package/dest/tx/tx_context.d.ts +2 -1
  382. package/dest/tx/tx_context.d.ts.map +1 -1
  383. package/dest/tx/tx_effect.d.ts +32 -6
  384. package/dest/tx/tx_effect.d.ts.map +1 -1
  385. package/dest/tx/tx_effect.js +0 -7
  386. package/dest/tx/tx_execution_request.d.ts +30 -1
  387. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  388. package/dest/tx/tx_hash.d.ts +2 -1
  389. package/dest/tx/tx_hash.d.ts.map +1 -1
  390. package/dest/tx/tx_receipt.d.ts +47 -13
  391. package/dest/tx/tx_receipt.d.ts.map +1 -1
  392. package/dest/tx/tx_receipt.js +46 -15
  393. package/dest/tx/tx_request.d.ts +6 -1
  394. package/dest/tx/tx_request.d.ts.map +1 -1
  395. package/dest/tx/validator/error_texts.d.ts +2 -1
  396. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  397. package/dest/tx/validator/error_texts.js +2 -0
  398. package/dest/types/shared.d.ts +4 -1
  399. package/dest/types/shared.d.ts.map +1 -1
  400. package/dest/validators/schemas.d.ts +8 -8
  401. package/dest/vks/verification_key.d.ts +22 -1
  402. package/dest/vks/verification_key.d.ts.map +1 -1
  403. package/dest/vks/vk_data.d.ts +7 -1
  404. package/dest/vks/vk_data.d.ts.map +1 -1
  405. package/dest/zkpassport/index.d.ts +3 -4
  406. package/dest/zkpassport/index.d.ts.map +1 -1
  407. package/dest/zkpassport/index.js +9 -9
  408. package/package.json +25 -12
  409. package/src/abi/function_call.ts +25 -3
  410. package/src/abi/utils.ts +17 -0
  411. package/src/block/block_hash.ts +26 -25
  412. package/src/block/block_parameter.ts +4 -2
  413. package/src/block/body.ts +2 -1
  414. package/src/block/checkpointed_l2_block.ts +8 -58
  415. package/src/block/in_block.ts +6 -6
  416. package/src/block/index.ts +0 -2
  417. package/src/block/l2_block.ts +102 -150
  418. package/src/block/l2_block_source.ts +71 -42
  419. package/src/block/l2_block_stream/interfaces.ts +8 -5
  420. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  421. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  422. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  423. package/src/block/validate_block_result.ts +5 -4
  424. package/src/checkpoint/checkpoint.ts +33 -11
  425. package/src/checkpoint/published_checkpoint.ts +4 -3
  426. package/src/config/node-rpc-config.ts +1 -1
  427. package/src/contract/contract_address.ts +1 -1
  428. package/src/contract/contract_class_id.ts +1 -1
  429. package/src/contract/index.ts +0 -2
  430. package/src/contract/private_function.ts +2 -3
  431. package/src/contract/private_function_membership_proof.ts +1 -1
  432. package/src/database-version/database_version.ts +87 -0
  433. package/src/database-version/version_manager.ts +1 -77
  434. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  435. package/src/deserialization/index.ts +21 -0
  436. package/src/epoch-helpers/index.ts +10 -1
  437. package/src/hash/hash.ts +2 -2
  438. package/src/hash/map_slot.ts +3 -2
  439. package/src/interfaces/api_limit.ts +1 -0
  440. package/src/interfaces/archiver.ts +18 -24
  441. package/src/interfaces/aztec-node-admin.ts +3 -2
  442. package/src/interfaces/aztec-node.ts +85 -134
  443. package/src/interfaces/block-builder.ts +40 -23
  444. package/src/interfaces/configs.ts +1 -3
  445. package/src/interfaces/l2_logs_source.ts +17 -4
  446. package/src/interfaces/p2p.ts +1 -1
  447. package/src/interfaces/prover-broker.ts +22 -0
  448. package/src/interfaces/prover-client.ts +22 -0
  449. package/src/interfaces/slasher.ts +2 -0
  450. package/src/interfaces/tx_provider.ts +2 -2
  451. package/src/interfaces/validator.ts +11 -12
  452. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  453. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  454. package/src/keys/derivation.ts +8 -8
  455. package/src/keys/key_types.ts +1 -1
  456. package/src/keys/utils.ts +7 -3
  457. package/src/l1-contracts/slash_factory.ts +1 -0
  458. package/src/logs/log_id.ts +22 -18
  459. package/src/logs/siloed_tag.ts +3 -2
  460. package/src/messaging/l2_to_l1_membership.ts +8 -6
  461. package/src/messaging/out_hash.ts +60 -29
  462. package/src/note/note_dao.ts +18 -13
  463. package/src/p2p/block_proposal.ts +36 -13
  464. package/src/p2p/checkpoint_proposal.ts +39 -11
  465. package/src/p2p/consensus_payload.ts +0 -5
  466. package/src/p2p/constants.ts +3 -0
  467. package/src/p2p/index.ts +1 -0
  468. package/src/p2p/message_validator.ts +14 -2
  469. package/src/p2p/signed_txs.ts +6 -1
  470. package/src/p2p/topic_type.ts +1 -1
  471. package/src/proofs/chonk_proof.ts +9 -5
  472. package/src/rollup/block_headers_hash.ts +1 -1
  473. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  474. package/src/rollup/checkpoint_header.ts +20 -0
  475. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  476. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  477. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  478. package/src/slashing/empire.ts +2 -1
  479. package/src/slashing/helpers.ts +4 -0
  480. package/src/slashing/tally.ts +8 -2
  481. package/src/slashing/types.ts +7 -0
  482. package/src/stats/stats.ts +0 -2
  483. package/src/tests/factories.ts +11 -31
  484. package/src/tests/jest.ts +1 -1
  485. package/src/tests/mocks.ts +62 -42
  486. package/src/tx/block_header.ts +11 -3
  487. package/src/tx/indexed_tx_effect.ts +3 -2
  488. package/src/tx/private_execution_result.ts +1 -1
  489. package/src/tx/profiling.ts +46 -4
  490. package/src/tx/tx.ts +8 -9
  491. package/src/tx/tx_effect.ts +0 -9
  492. package/src/tx/tx_receipt.ts +75 -18
  493. package/src/tx/validator/error_texts.ts +3 -0
  494. package/src/zkpassport/index.ts +11 -12
  495. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  496. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  497. package/dest/block/l2_block_code_to_purge.js +0 -55
  498. package/dest/block/l2_block_header.d.ts +0 -94
  499. package/dest/block/l2_block_header.d.ts.map +0 -1
  500. package/dest/block/l2_block_header.js +0 -160
  501. package/dest/block/l2_block_new.d.ts +0 -134
  502. package/dest/block/l2_block_new.d.ts.map +0 -1
  503. package/dest/block/l2_block_new.js +0 -155
  504. package/dest/contract/contract_class_metadata.d.ts +0 -8
  505. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  506. package/dest/contract/contract_class_metadata.js +0 -1
  507. package/dest/contract/contract_metadata.d.ts +0 -7
  508. package/dest/contract/contract_metadata.d.ts.map +0 -1
  509. package/dest/contract/contract_metadata.js +0 -1
  510. package/dest/database-version/index.d.ts +0 -2
  511. package/dest/database-version/index.d.ts.map +0 -1
  512. package/dest/database-version/index.js +0 -1
  513. package/src/block/l2_block_code_to_purge.ts +0 -80
  514. package/src/block/l2_block_header.ts +0 -255
  515. package/src/block/l2_block_new.ts +0 -211
  516. package/src/contract/contract_class_metadata.ts +0 -8
  517. package/src/contract/contract_metadata.ts +0 -7
  518. package/src/database-version/index.ts +0 -1
@@ -1,10 +1,4 @@
1
- import {
2
- ARCHIVE_HEIGHT,
3
- L1_TO_L2_MSG_TREE_HEIGHT,
4
- NOTE_HASH_TREE_HEIGHT,
5
- NULLIFIER_TREE_HEIGHT,
6
- PUBLIC_DATA_TREE_HEIGHT,
7
- } from '@aztec/constants';
1
+ import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
8
2
  import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
9
3
  import {
10
4
  BlockNumber,
@@ -23,11 +17,11 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
23
17
  import { z } from 'zod';
24
18
 
25
19
  import type { AztecAddress } from '../aztec-address/index.js';
20
+ import { BlockHash } from '../block/block_hash.js';
26
21
  import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
27
- import { CheckpointedL2Block, PublishedL2Block } from '../block/checkpointed_l2_block.js';
22
+ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
28
23
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
29
24
  import { L2Block } from '../block/l2_block.js';
30
- import { L2BlockNew } from '../block/l2_block_new.js';
31
25
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
32
26
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
33
27
  import {
@@ -78,13 +72,7 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
78
72
  export interface AztecNode
79
73
  extends Pick<
80
74
  L2BlockSource,
81
- | 'getBlocks'
82
- | 'getL2BlocksNew'
83
- | 'getPublishedBlocks'
84
- | 'getPublishedCheckpoints'
85
- | 'getBlockHeader'
86
- | 'getL2Tips'
87
- | 'getCheckpointedBlocks'
75
+ 'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
88
76
  > {
89
77
  /**
90
78
  * Returns the tips of the L2 chain.
@@ -99,72 +87,31 @@ export interface AztecNode
99
87
  /**
100
88
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
101
89
  * the leaves were inserted.
102
- * @param blockNumber - The block number at which to get the data or 'latest' for latest data.
90
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
103
91
  * @param treeId - The tree to search in.
104
92
  * @param leafValues - The values to search for.
105
93
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
106
94
  */
107
95
  findLeavesIndexes(
108
- blockNumber: BlockParameter,
96
+ referenceBlock: BlockParameter,
109
97
  treeId: MerkleTreeId,
110
98
  leafValues: Fr[],
111
99
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
112
100
 
113
- /**
114
- * Returns a sibling path for the given index in the nullifier tree.
115
- * @param blockNumber - The block number at which to get the data.
116
- * @param leafIndex - The index of the leaf for which the sibling path is required.
117
- * @returns The sibling path for the leaf index.
118
- */
119
- getNullifierSiblingPath(
120
- blockNumber: BlockParameter,
121
- leafIndex: bigint,
122
- ): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
123
-
124
- /**
125
- * 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.
127
- * @param leafIndex - The index of the leaf for which the sibling path is required.
128
- * @returns The sibling path for the leaf index.
129
- */
130
- getNoteHashSiblingPath(
131
- blockNumber: BlockParameter,
132
- leafIndex: bigint,
133
- ): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
134
-
135
- /**
136
- * 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.
138
- * @param leafIndex - Index of the leaf in the tree.
139
- * @returns The sibling path.
140
- */
141
- getArchiveSiblingPath(blockNumber: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
142
-
143
- /**
144
- * 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.
146
- * @param leafIndex - Index of the leaf in the tree.
147
- * @returns The sibling path.
148
- */
149
- getPublicDataSiblingPath(
150
- blockNumber: BlockParameter,
151
- leafIndex: bigint,
152
- ): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
153
-
154
101
  /**
155
102
  * 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.
103
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
157
104
  * @param nullifier - Nullifier we try to find witness for.
158
105
  * @returns The nullifier membership witness (if found).
159
106
  */
160
107
  getNullifierMembershipWitness(
161
- blockNumber: BlockParameter,
108
+ referenceBlock: BlockParameter,
162
109
  nullifier: Fr,
163
110
  ): Promise<NullifierMembershipWitness | undefined>;
164
111
 
165
112
  /**
166
113
  * 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.
114
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
168
115
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
169
116
  * @returns The low nullifier membership witness (if found).
170
117
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
@@ -172,49 +119,56 @@ export interface AztecNode
172
119
  * we are trying to prove non-inclusion for.
173
120
  */
174
121
  getLowNullifierMembershipWitness(
175
- blockNumber: BlockParameter,
122
+ referenceBlock: BlockParameter,
176
123
  nullifier: Fr,
177
124
  ): Promise<NullifierMembershipWitness | undefined>;
178
125
 
179
126
  /**
180
127
  * 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.
128
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
182
129
  * @param leafSlot - The leaf slot we try to find the witness for.
183
130
  * @returns The public data witness (if found).
184
131
  * @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
132
  * "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
133
  * is contained in the leaf preimage.
187
134
  */
188
- getPublicDataWitness(blockNumber: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
135
+ getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
189
136
 
190
137
  /**
191
- * 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.
193
- * @param archive - The archive leaf we try to find the witness for.
138
+ * Returns a membership witness for a given block hash in the archive tree.
139
+ *
140
+ * Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
141
+ * its block hash is appended as a new leaf to the archive tree. This method finds the membership
142
+ * witness (leaf index and sibling path) for a given block hash, which can be used to prove that
143
+ * a specific block exists in the chain's history.
144
+ *
145
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
146
+ * (which contains the root of the archive tree in which we are searching for the block hash).
147
+ * @param blockHash - The block hash to find in the archive tree.
194
148
  */
195
- getArchiveMembershipWitness(
196
- blockNumber: BlockParameter,
197
- archive: Fr,
149
+ getBlockHashMembershipWitness(
150
+ referenceBlock: BlockParameter,
151
+ blockHash: BlockHash,
198
152
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
199
153
 
200
154
  /**
201
155
  * 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.
156
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
203
157
  * @param noteHash - The note hash we try to find the witness for.
204
158
  */
205
159
  getNoteHashMembershipWitness(
206
- blockNumber: BlockParameter,
160
+ referenceBlock: BlockParameter,
207
161
  noteHash: Fr,
208
162
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
209
163
 
210
164
  /**
211
165
  * 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.
166
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
213
167
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
214
168
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
215
169
  */
216
170
  getL1ToL2MessageMembershipWitness(
217
- blockNumber: BlockParameter,
171
+ referenceBlock: BlockParameter,
218
172
  l1ToL2Message: Fr,
219
173
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
220
174
 
@@ -238,18 +192,18 @@ export interface AztecNode
238
192
  getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
239
193
 
240
194
  /**
241
- * Get a block specified by its number.
242
- * @param number - The block number being requested.
195
+ * Get a block specified by its block number or 'latest'.
196
+ * @param blockParameter - The block parameter (block number, block hash, or 'latest').
243
197
  * @returns The requested block.
244
198
  */
245
- getBlock(number: BlockParameter): Promise<L2Block | undefined>;
199
+ getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
246
200
 
247
201
  /**
248
202
  * Get a block specified by its hash.
249
203
  * @param blockHash - The block hash being requested.
250
204
  * @returns The requested block.
251
205
  */
252
- getBlockByHash(blockHash: Fr): Promise<L2Block | undefined>;
206
+ getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
253
207
 
254
208
  /**
255
209
  * Get a block specified by its archive root.
@@ -270,6 +224,12 @@ export interface AztecNode
270
224
  */
271
225
  getProvenBlockNumber(): Promise<BlockNumber>;
272
226
 
227
+ /**
228
+ * Fetches the latest checkpointed block number.
229
+ * @returns The block number.
230
+ */
231
+ getCheckpointedBlockNumber(): Promise<BlockNumber>;
232
+
273
233
  /**
274
234
  * Method to determine if the node is ready to accept transactions.
275
235
  * @returns - Flag indicating the readiness for tx submission.
@@ -353,16 +313,38 @@ export interface AztecNode
353
313
  getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
354
314
 
355
315
  /**
356
- * Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
316
+ * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
357
317
  * array implies no logs match that tag.
318
+ * @param tags - The tags to search for.
319
+ * @param page - The page number (0-indexed) for pagination.
320
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
321
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
322
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
323
+ * undefined behavior in the client's code.
324
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
325
+ * for a tag, the caller should fetch the next page to check for more logs.
358
326
  */
359
- getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
327
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
360
328
 
361
329
  /**
362
- * Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
330
+ * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
363
331
  * logs is returned. An empty array implies no logs match that tag.
364
- */
365
- getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
332
+ * @param contractAddress - The contract address to search logs for.
333
+ * @param tags - The tags to search for.
334
+ * @param page - The page number (0-indexed) for pagination.
335
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
336
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
337
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
338
+ * undefined behavior in the client's code.
339
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
340
+ * for a tag, the caller should fetch the next page to check for more logs.
341
+ */
342
+ getPublicLogsByTagsFromContract(
343
+ contractAddress: AztecAddress,
344
+ tags: Tag[],
345
+ page?: number,
346
+ referenceBlock?: BlockHash,
347
+ ): Promise<TxScopedL2Log[][]>;
366
348
 
367
349
  /**
368
350
  * Method to submit a transaction to the p2p pool.
@@ -420,25 +402,19 @@ export interface AztecNode
420
402
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
421
403
  * Aztec's version of `eth_getStorageAt`.
422
404
  *
405
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
423
406
  * @param contract - Address of the contract to query.
424
407
  * @param slot - Slot to query.
425
- * @param blockNumber - The block number at which to get the data or 'latest'.
426
408
  * @returns Storage value at the given contract slot.
427
409
  */
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>;
410
+ getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
435
411
 
436
412
  /**
437
- * Get a block header specified by its hash.
438
- * @param blockHash - The block hash being requested.
413
+ * Returns the block header for a given block number, block hash, or 'latest'.
414
+ * @param block - The block parameter (block number, block hash, or 'latest'). Defaults to 'latest'.
439
415
  * @returns The requested block header.
440
416
  */
441
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
417
+ getBlockHeader(block?: BlockParameter): Promise<BlockHeader | undefined>;
442
418
 
443
419
  /**
444
420
  * Get a block header specified by its archive root.
@@ -511,26 +487,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
511
487
  .args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
512
488
  .returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
513
489
 
514
- getNullifierSiblingPath: z
515
- .function()
516
- .args(BlockParameterSchema, schemas.BigInt)
517
- .returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
518
-
519
- getNoteHashSiblingPath: z
520
- .function()
521
- .args(BlockParameterSchema, schemas.BigInt)
522
- .returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
523
-
524
- getArchiveSiblingPath: z
525
- .function()
526
- .args(BlockParameterSchema, schemas.BigInt)
527
- .returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
528
-
529
- getPublicDataSiblingPath: z
530
- .function()
531
- .args(BlockParameterSchema, schemas.BigInt)
532
- .returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
533
-
534
490
  getNullifierMembershipWitness: z
535
491
  .function()
536
492
  .args(BlockParameterSchema, schemas.Fr)
@@ -546,9 +502,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
546
502
  .args(BlockParameterSchema, schemas.Fr)
547
503
  .returns(PublicDataWitness.schema.optional()),
548
504
 
549
- getArchiveMembershipWitness: z
505
+ getBlockHashMembershipWitness: z
550
506
  .function()
551
- .args(BlockParameterSchema, schemas.Fr)
507
+ .args(BlockParameterSchema, BlockHash.schema)
552
508
  .returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
553
509
 
554
510
  getNoteHashMembershipWitness: z
@@ -572,7 +528,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
572
528
 
573
529
  getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
574
530
 
575
- getBlockByHash: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
531
+ getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
576
532
 
577
533
  getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
578
534
 
@@ -580,6 +536,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
580
536
 
581
537
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
582
538
 
539
+ getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
540
+
583
541
  isReady: z.function().returns(z.boolean()),
584
542
 
585
543
  getNodeInfo: z.function().returns(NodeInfoSchema),
@@ -589,24 +547,14 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
589
547
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
590
548
  .returns(z.array(L2Block.schema)),
591
549
 
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
550
+ getCheckpoints: z
598
551
  .function()
599
552
  .args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
600
553
  .returns(z.array(PublishedCheckpoint.schema)),
601
554
 
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
555
  getCheckpointedBlocks: z
608
556
  .function()
609
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN), optional(z.boolean()))
557
+ .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
610
558
  .returns(z.array(CheckpointedL2Block.schema)),
611
559
 
612
560
  getCurrentMinFees: z.function().returns(GasFees.schema),
@@ -634,12 +582,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
634
582
 
635
583
  getPrivateLogsByTags: z
636
584
  .function()
637
- .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN))
585
+ .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
638
586
  .returns(z.array(z.array(TxScopedL2Log.schema))),
639
587
 
640
588
  getPublicLogsByTagsFromContract: z
641
589
  .function()
642
- .args(schemas.AztecAddress, z.array(Tag.schema).max(MAX_RPC_LEN))
590
+ .args(
591
+ schemas.AztecAddress,
592
+ z.array(Tag.schema).max(MAX_RPC_LEN),
593
+ optional(z.number().gte(0)),
594
+ optional(BlockHash.schema),
595
+ )
643
596
  .returns(z.array(z.array(TxScopedL2Log.schema))),
644
597
 
645
598
  sendTx: z.function().args(Tx.schema).returns(z.void()),
@@ -663,8 +616,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
663
616
 
664
617
  getBlockHeader: z.function().args(optional(BlockParameterSchema)).returns(BlockHeader.schema.optional()),
665
618
 
666
- getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
667
-
668
619
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
669
620
 
670
621
  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,45 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
72
62
  'fakeThrowAfterProcessingTxCount',
73
63
  ] as const;
74
64
 
75
- export interface IFullNodeBlockBuilder {
76
- getConfig(): FullNodeBlockBuilderConfig;
65
+ /** Thrown when no valid transactions are available to include in a block after processing, and this is not the first block in a checkpoint. */
66
+ export class NoValidTxsError extends Error {
67
+ constructor(public readonly failedTxs: FailedTx[]) {
68
+ super('No valid transactions to include in block');
69
+ this.name = 'NoValidTxsError';
70
+ }
71
+ }
77
72
 
78
- updateConfig(config: Partial<FullNodeBlockBuilderConfig>): void;
73
+ /** Result of building a block within a checkpoint. */
74
+ export type BuildBlockInCheckpointResult = {
75
+ block: L2Block;
76
+ publicGas: Gas;
77
+ publicProcessorDuration: number;
78
+ numTxs: number;
79
+ failedTxs: FailedTx[];
80
+ usedTxs: Tx[];
81
+ usedTxBlobFields: number;
82
+ };
79
83
 
84
+ /** Interface for building blocks within a checkpoint context. */
85
+ export interface ICheckpointBlockBuilder {
80
86
  buildBlock(
81
- txs: Iterable<Tx> | AsyncIterable<Tx>,
82
- l1ToL2Messages: Fr[],
83
- globalVariables: GlobalVariables,
84
- options: PublicProcessorLimits,
85
- fork?: MerkleTreeWriteOperations,
86
- ): Promise<BuildBlockResult>;
87
+ pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
88
+ blockNumber: BlockNumber,
89
+ timestamp: bigint,
90
+ opts: PublicProcessorLimits,
91
+ ): Promise<BuildBlockInCheckpointResult>;
92
+ }
87
93
 
94
+ /** Interface for creating checkpoint builders. */
95
+ export interface ICheckpointsBuilder {
88
96
  getFork(blockNumber: BlockNumber): Promise<MerkleTreeWriteOperations>;
97
+
98
+ startCheckpoint(
99
+ checkpointNumber: CheckpointNumber,
100
+ constants: CheckpointGlobalVariables,
101
+ l1ToL2Messages: Fr[],
102
+ previousCheckpointOutHashes: Fr[],
103
+ fork: MerkleTreeWriteOperations,
104
+ bindings?: LoggerBindings,
105
+ ): Promise<ICheckpointBlockBuilder>;
89
106
  }
@@ -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.
@@ -63,7 +63,7 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
63
63
 
64
64
  export interface P2PClient extends P2PApiWithAttestations {
65
65
  /** Manually adds checkpoint attestations to the p2p client attestation pool. */
66
- addCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
66
+ addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
67
67
  }
68
68
 
69
69
  export type P2PApi<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
@@ -1,3 +1,5 @@
1
+ import type { EpochNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import type { ProvingRequestType } from '../proofs/proving_request_type.js';
2
4
  import type { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus } from './proving-job.js';
3
5
 
@@ -88,3 +90,23 @@ export interface ProvingJobConsumer {
88
90
  }
89
91
 
90
92
  export interface ProvingJobBroker extends ProvingJobProducer, ProvingJobConsumer {}
93
+
94
+ /**
95
+ * Debug interface for replaying proving jobs from stored inputs.
96
+ * Used for benchmarking different agent configurations against the same workload.
97
+ */
98
+ export interface ProvingJobBrokerDebug {
99
+ /**
100
+ * Replays a proving job by re-enqueuing it with inputs from the configured proof store.
101
+ * The proof type is parsed from the job ID (format: epoch:typeName:hash).
102
+ * @param jobId - The original job ID to replay
103
+ * @param epochNumber - The epoch number to assign
104
+ * @param inputsUri - The proof inputs location
105
+ */
106
+ replayProvingJob(
107
+ jobId: ProvingJobId,
108
+ type: ProvingRequestType,
109
+ epochNumber: EpochNumber,
110
+ inputsUri: ProofUri,
111
+ ): Promise<ProvingJobStatus>;
112
+ }
@@ -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
  /**
@@ -29,6 +35,8 @@ export type ProverConfig = ActualProverConfig & {
29
35
  proverId?: EthAddress;
30
36
  /** Number of proving agents to start within the prover. */
31
37
  proverAgentCount: number;
38
+ /** Where to store proving request. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */
39
+ proofStore?: string;
32
40
  /** Store for failed proof inputs. */
33
41
  failedProofStore?: string;
34
42
  };
@@ -42,7 +50,9 @@ export const ProverConfigSchema = zodFor<ProverConfig>()(
42
50
  proverTestDelayMs: z.number(),
43
51
  proverTestDelayFactor: z.number(),
44
52
  proverAgentCount: z.number(),
53
+ proofStore: z.string().optional(),
45
54
  failedProofStore: z.string().optional(),
55
+ cancelJobsOnStop: z.boolean(),
46
56
  }),
47
57
  );
48
58
 
@@ -80,11 +90,23 @@ export const proverConfigMappings: ConfigMappingsType<ProverConfig> = {
80
90
  description: 'The number of prover agents to start',
81
91
  ...numberConfigHelper(1),
82
92
  },
93
+ proofStore: {
94
+ env: 'PROVER_PROOF_STORE',
95
+ description: 'Optional proof input store for the prover',
96
+ },
83
97
  failedProofStore: {
84
98
  env: 'PROVER_FAILED_PROOF_STORE',
85
99
  description:
86
100
  '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
101
  },
102
+ cancelJobsOnStop: {
103
+ env: 'PROVER_CANCEL_JOBS_ON_STOP',
104
+ description:
105
+ 'Whether to abort pending proving jobs when the orchestrator is cancelled. ' +
106
+ 'When false (default), jobs remain in the broker queue and can be reused on restart/reorg. ' +
107
+ 'When true, jobs are explicitly cancelled with the broker, which prevents reuse.',
108
+ ...booleanConfigHelper(false),
109
+ },
88
110
  };
89
111
 
90
112
  function parseProverId(str?: string) {
@@ -18,6 +18,7 @@ export interface SlasherConfig {
18
18
  slashDataWithholdingPenalty: bigint;
19
19
  slashInactivityPenalty: bigint;
20
20
  slashBroadcastedInvalidBlockPenalty: bigint;
21
+ slashDuplicateProposalPenalty: bigint;
21
22
  slashProposeInvalidAttestationsPenalty: bigint;
22
23
  slashAttestDescendantOfInvalidPenalty: bigint;
23
24
  slashUnknownPenalty: bigint;
@@ -40,6 +41,7 @@ export const SlasherConfigSchema = zodFor<SlasherConfig>()(
40
41
  slashInactivityConsecutiveEpochThreshold: z.number(),
41
42
  slashInactivityPenalty: schemas.BigInt,
42
43
  slashProposeInvalidAttestationsPenalty: schemas.BigInt,
44
+ slashDuplicateProposalPenalty: schemas.BigInt,
43
45
  slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
44
46
  slashUnknownPenalty: schemas.BigInt,
45
47
  slashOffenseExpirationRounds: z.number(),