@aztec/stdlib 0.0.1-commit.6230efd → 0.0.1-commit.6b90f3f5

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 (587) hide show
  1. package/dest/abi/contract_artifact.d.ts +2 -2
  2. package/dest/abi/contract_artifact.d.ts.map +1 -1
  3. package/dest/abi/contract_artifact.js +1 -1
  4. package/dest/abi/function_call.d.ts +9 -1
  5. package/dest/abi/function_call.d.ts.map +1 -1
  6. package/dest/abi/selector.js +3 -1
  7. package/dest/abi/utils.d.ts +7 -1
  8. package/dest/abi/utils.d.ts.map +1 -1
  9. package/dest/abi/utils.js +7 -0
  10. package/dest/auth_witness/auth_witness.d.ts +2 -1
  11. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  12. package/dest/avm/avm.d.ts +62 -62
  13. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  14. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  15. package/dest/avm/avm_accumulated_data.js +5 -2
  16. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  17. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  18. package/dest/avm/avm_proving_request.d.ts +299 -299
  19. package/dest/avm/contract_storage_read.d.ts +13 -1
  20. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  21. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  22. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  23. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  24. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  25. package/dest/avm/public_data_read.d.ts +10 -1
  26. package/dest/avm/public_data_read.d.ts.map +1 -1
  27. package/dest/avm/public_data_update_request.d.ts +10 -1
  28. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  29. package/dest/avm/public_data_update_request.js +3 -1
  30. package/dest/avm/public_data_write.d.ts +7 -1
  31. package/dest/avm/public_data_write.d.ts.map +1 -1
  32. package/dest/avm/public_inner_call_request.d.ts +4 -1
  33. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  34. package/dest/avm/public_inner_call_request.js +3 -1
  35. package/dest/avm/revert_code.d.ts +4 -4
  36. package/dest/avm/revert_code.d.ts.map +1 -1
  37. package/dest/avm/revert_code.js +3 -1
  38. package/dest/aztec-address/index.js +4 -2
  39. package/dest/block/attestation_info.d.ts +5 -5
  40. package/dest/block/attestation_info.d.ts.map +1 -1
  41. package/dest/block/attestation_info.js +4 -4
  42. package/dest/block/block_hash.d.ts +18 -14
  43. package/dest/block/block_hash.d.ts.map +1 -1
  44. package/dest/block/block_hash.js +22 -20
  45. package/dest/block/block_parameter.d.ts +4 -3
  46. package/dest/block/block_parameter.d.ts.map +1 -1
  47. package/dest/block/block_parameter.js +2 -0
  48. package/dest/block/body.d.ts +1 -1
  49. package/dest/block/body.d.ts.map +1 -1
  50. package/dest/block/body.js +5 -2
  51. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  52. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  53. package/dest/block/checkpointed_l2_block.js +7 -45
  54. package/dest/block/in_block.d.ts +9 -9
  55. package/dest/block/in_block.d.ts.map +1 -1
  56. package/dest/block/in_block.js +4 -4
  57. package/dest/block/index.d.ts +1 -3
  58. package/dest/block/index.d.ts.map +1 -1
  59. package/dest/block/index.js +0 -2
  60. package/dest/block/l2_block.d.ts +57 -57
  61. package/dest/block/l2_block.d.ts.map +1 -1
  62. package/dest/block/l2_block.js +64 -108
  63. package/dest/block/l2_block_source.d.ts +298 -68
  64. package/dest/block/l2_block_source.d.ts.map +1 -1
  65. package/dest/block/l2_block_source.js +25 -6
  66. package/dest/block/l2_block_stream/index.d.ts +2 -1
  67. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  68. package/dest/block/l2_block_stream/index.js +1 -0
  69. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  70. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  71. package/dest/block/l2_block_stream/l2_block_stream.d.ts +8 -3
  72. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  73. package/dest/block/l2_block_stream/l2_block_stream.js +106 -31
  74. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  75. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  76. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  77. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  78. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  79. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  80. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  81. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  82. package/dest/block/test/l2_tips_store_test_suite.js +478 -38
  83. package/dest/block/validate_block_result.d.ts +24 -24
  84. package/dest/block/validate_block_result.d.ts.map +1 -1
  85. package/dest/block/validate_block_result.js +18 -17
  86. package/dest/checkpoint/checkpoint.d.ts +30 -20
  87. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  88. package/dest/checkpoint/checkpoint.js +19 -6
  89. package/dest/checkpoint/checkpoint_info.d.ts +32 -3
  90. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  91. package/dest/checkpoint/checkpoint_info.js +34 -1
  92. package/dest/checkpoint/index.d.ts +2 -1
  93. package/dest/checkpoint/index.d.ts.map +1 -1
  94. package/dest/checkpoint/index.js +1 -0
  95. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  96. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  97. package/dest/checkpoint/published_checkpoint.js +4 -3
  98. package/dest/config/node-rpc-config.js +1 -1
  99. package/dest/contract/complete_address.d.ts +4 -1
  100. package/dest/contract/complete_address.d.ts.map +1 -1
  101. package/dest/contract/contract_address.js +1 -1
  102. package/dest/contract/contract_class_id.d.ts +1 -1
  103. package/dest/contract/contract_class_id.js +1 -1
  104. package/dest/contract/contract_deployment_data.d.ts +5 -5
  105. package/dest/contract/index.d.ts +1 -3
  106. package/dest/contract/index.d.ts.map +1 -1
  107. package/dest/contract/index.js +0 -2
  108. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  109. package/dest/contract/private_function.d.ts +1 -1
  110. package/dest/contract/private_function.d.ts.map +1 -1
  111. package/dest/contract/private_function.js +2 -3
  112. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  113. package/dest/contract/private_function_membership_proof.js +1 -1
  114. package/dest/database-version/database_version.d.ts +58 -0
  115. package/dest/database-version/database_version.d.ts.map +1 -0
  116. package/dest/database-version/database_version.js +69 -0
  117. package/dest/database-version/version_manager.d.ts +3 -49
  118. package/dest/database-version/version_manager.d.ts.map +1 -1
  119. package/dest/database-version/version_manager.js +1 -64
  120. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  121. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  122. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  123. package/dest/deserialization/index.d.ts +11 -0
  124. package/dest/deserialization/index.d.ts.map +1 -0
  125. package/dest/deserialization/index.js +10 -0
  126. package/dest/epoch-helpers/index.d.ts +3 -1
  127. package/dest/epoch-helpers/index.d.ts.map +1 -1
  128. package/dest/epoch-helpers/index.js +5 -1
  129. package/dest/errors/proving_error.d.ts +2 -2
  130. package/dest/errors/proving_error.d.ts.map +1 -1
  131. package/dest/gas/gas.js +3 -1
  132. package/dest/gas/gas_fees.js +3 -1
  133. package/dest/hash/hash.js +2 -2
  134. package/dest/hash/map_slot.d.ts +1 -1
  135. package/dest/hash/map_slot.d.ts.map +1 -1
  136. package/dest/hash/map_slot.js +4 -3
  137. package/dest/interfaces/api_limit.d.ts +3 -1
  138. package/dest/interfaces/api_limit.d.ts.map +1 -1
  139. package/dest/interfaces/api_limit.js +2 -0
  140. package/dest/interfaces/archiver.d.ts +6 -6
  141. package/dest/interfaces/archiver.d.ts.map +1 -1
  142. package/dest/interfaces/archiver.js +22 -17
  143. package/dest/interfaces/aztec-node-admin.d.ts +67 -31
  144. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  145. package/dest/interfaces/aztec-node-admin.js +2 -2
  146. package/dest/interfaces/aztec-node.d.ts +64 -73
  147. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  148. package/dest/interfaces/aztec-node.js +14 -15
  149. package/dest/interfaces/block-builder.d.ts +22 -14
  150. package/dest/interfaces/block-builder.d.ts.map +1 -1
  151. package/dest/interfaces/block-builder.js +7 -0
  152. package/dest/interfaces/configs.d.ts +12 -7
  153. package/dest/interfaces/configs.d.ts.map +1 -1
  154. package/dest/interfaces/configs.js +2 -1
  155. package/dest/interfaces/get_logs_response.d.ts +8 -8
  156. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  157. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  158. package/dest/interfaces/p2p.d.ts +7 -9
  159. package/dest/interfaces/p2p.d.ts.map +1 -1
  160. package/dest/interfaces/p2p.js +3 -4
  161. package/dest/interfaces/prover-client.d.ts +10 -1
  162. package/dest/interfaces/prover-client.d.ts.map +1 -1
  163. package/dest/interfaces/prover-client.js +7 -1
  164. package/dest/interfaces/proving-job.d.ts +184 -184
  165. package/dest/interfaces/proving-job.d.ts.map +1 -1
  166. package/dest/interfaces/proving-job.js +1 -7
  167. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  168. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  169. package/dest/interfaces/tx_provider.d.ts +3 -3
  170. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  171. package/dest/interfaces/validator.d.ts +108 -18
  172. package/dest/interfaces/validator.d.ts.map +1 -1
  173. package/dest/interfaces/validator.js +5 -3
  174. package/dest/kernel/claimed_length_array.js +3 -1
  175. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  176. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  177. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  178. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  179. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  180. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  181. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  182. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  183. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  184. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  185. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  186. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  187. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  188. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  189. package/dest/kernel/hints/read_request.d.ts +7 -1
  190. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  191. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  192. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  193. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  194. package/dest/kernel/log_hash.js +3 -1
  195. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  196. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  197. package/dest/kernel/private_call_data.d.ts +25 -1
  198. package/dest/kernel/private_call_data.d.ts.map +1 -1
  199. package/dest/kernel/private_call_request.d.ts +16 -1
  200. package/dest/kernel/private_call_request.d.ts.map +1 -1
  201. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  202. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  203. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  204. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  205. package/dest/kernel/private_kernel_data.d.ts +7 -1
  206. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  207. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  208. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  209. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  210. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  211. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  212. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  213. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  214. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  215. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  216. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  217. package/dest/kernel/private_log_data.js +5 -2
  218. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  219. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  220. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  221. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  222. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  223. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  224. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  225. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  226. package/dest/kernel/private_validation_requests.d.ts +10 -1
  227. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  228. package/dest/kernel/private_validation_requests.js +3 -1
  229. package/dest/kernel/public_call_request.d.ts +22 -1
  230. package/dest/kernel/public_call_request.d.ts.map +1 -1
  231. package/dest/kernel/public_call_request.js +5 -2
  232. package/dest/kernel/utils/optional_number.d.ts +7 -1
  233. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  234. package/dest/keys/derivation.d.ts +3 -3
  235. package/dest/keys/derivation.js +8 -8
  236. package/dest/keys/key_types.d.ts +1 -1
  237. package/dest/keys/public_keys.d.ts +5 -1
  238. package/dest/keys/public_keys.d.ts.map +1 -1
  239. package/dest/keys/utils.d.ts +1 -1
  240. package/dest/keys/utils.d.ts.map +1 -1
  241. package/dest/keys/utils.js +7 -3
  242. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  243. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  244. package/dest/l1-contracts/slash_factory.js +1 -0
  245. package/dest/logs/contract_class_log.js +3 -1
  246. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  247. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  248. package/dest/logs/extended_public_log.d.ts +11 -9
  249. package/dest/logs/extended_public_log.d.ts.map +1 -1
  250. package/dest/logs/log_id.d.ts +12 -8
  251. package/dest/logs/log_id.d.ts.map +1 -1
  252. package/dest/logs/log_id.js +6 -5
  253. package/dest/logs/private_log.js +3 -1
  254. package/dest/logs/public_log.js +3 -1
  255. package/dest/logs/siloed_tag.d.ts +1 -1
  256. package/dest/logs/siloed_tag.d.ts.map +1 -1
  257. package/dest/logs/siloed_tag.js +4 -3
  258. package/dest/messaging/in_hash.d.ts +4 -2
  259. package/dest/messaging/in_hash.d.ts.map +1 -1
  260. package/dest/messaging/in_hash.js +3 -1
  261. package/dest/messaging/inbox_leaf.d.ts +3 -1
  262. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  263. package/dest/messaging/l1_actor.d.ts +7 -1
  264. package/dest/messaging/l1_actor.d.ts.map +1 -1
  265. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  266. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  267. package/dest/messaging/l2_actor.d.ts +7 -1
  268. package/dest/messaging/l2_actor.d.ts.map +1 -1
  269. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  270. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  271. package/dest/messaging/l2_to_l1_membership.js +160 -42
  272. package/dest/messaging/out_hash.d.ts +41 -3
  273. package/dest/messaging/out_hash.d.ts.map +1 -1
  274. package/dest/messaging/out_hash.js +54 -19
  275. package/dest/note/note_dao.d.ts +36 -5
  276. package/dest/note/note_dao.d.ts.map +1 -1
  277. package/dest/note/note_dao.js +15 -12
  278. package/dest/p2p/attestation_utils.d.ts +3 -3
  279. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  280. package/dest/p2p/attestation_utils.js +1 -1
  281. package/dest/p2p/block_proposal.d.ts +102 -23
  282. package/dest/p2p/block_proposal.d.ts.map +1 -1
  283. package/dest/p2p/block_proposal.js +140 -39
  284. package/dest/p2p/checkpoint_attestation.d.ts +81 -0
  285. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  286. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  287. package/dest/p2p/checkpoint_proposal.d.ts +167 -0
  288. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  289. package/dest/p2p/checkpoint_proposal.js +229 -0
  290. package/dest/p2p/consensus_payload.d.ts +9 -9
  291. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  292. package/dest/p2p/consensus_payload.js +3 -5
  293. package/dest/p2p/constants.d.ts +3 -0
  294. package/dest/p2p/constants.d.ts.map +1 -0
  295. package/dest/p2p/constants.js +2 -0
  296. package/dest/p2p/gossipable.d.ts +4 -3
  297. package/dest/p2p/gossipable.d.ts.map +1 -1
  298. package/dest/p2p/gossipable.js +16 -5
  299. package/dest/p2p/index.d.ts +5 -2
  300. package/dest/p2p/index.d.ts.map +1 -1
  301. package/dest/p2p/index.js +4 -1
  302. package/dest/p2p/message_validator.d.ts +18 -3
  303. package/dest/p2p/message_validator.d.ts.map +1 -1
  304. package/dest/p2p/message_validator.js +2 -1
  305. package/dest/p2p/signature_utils.d.ts +5 -3
  306. package/dest/p2p/signature_utils.d.ts.map +1 -1
  307. package/dest/p2p/signature_utils.js +3 -1
  308. package/dest/p2p/signed_txs.d.ts +42 -0
  309. package/dest/p2p/signed_txs.d.ts.map +1 -0
  310. package/dest/p2p/signed_txs.js +75 -0
  311. package/dest/p2p/topic_type.d.ts +3 -2
  312. package/dest/p2p/topic_type.d.ts.map +1 -1
  313. package/dest/p2p/topic_type.js +10 -3
  314. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  315. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  316. package/dest/parity/parity_public_inputs.d.ts +4 -1
  317. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  318. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  319. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  320. package/dest/proofs/chonk_proof.d.ts +1 -1
  321. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  322. package/dest/proofs/chonk_proof.js +9 -4
  323. package/dest/proofs/proof.d.ts +4 -1
  324. package/dest/proofs/proof.d.ts.map +1 -1
  325. package/dest/proofs/recursive_proof.d.ts +10 -1
  326. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  327. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  328. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  329. package/dest/rollup/block_constant_data.d.ts +12 -1
  330. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  331. package/dest/rollup/block_headers_hash.js +1 -1
  332. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  333. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  334. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  335. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  336. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  337. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  338. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  339. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  340. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  341. package/dest/rollup/checkpoint_constant_data.js +3 -1
  342. package/dest/rollup/checkpoint_header.d.ts +42 -12
  343. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  344. package/dest/rollup/checkpoint_header.js +49 -19
  345. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  346. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  347. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -1
  348. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  349. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -2
  350. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  351. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  352. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  353. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  354. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  355. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  356. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  357. package/dest/rollup/root_rollup_public_inputs.d.ts +18 -3
  358. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  359. package/dest/rollup/root_rollup_public_inputs.js +9 -3
  360. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  361. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  362. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  363. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  364. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  365. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  366. package/dest/schemas/schemas.d.ts +1 -1
  367. package/dest/stats/stats.d.ts +1 -3
  368. package/dest/stats/stats.d.ts.map +1 -1
  369. package/dest/tests/factories.d.ts +16 -10
  370. package/dest/tests/factories.d.ts.map +1 -1
  371. package/dest/tests/factories.js +60 -25
  372. package/dest/tests/jest.js +1 -1
  373. package/dest/tests/mocks.d.ts +74 -19
  374. package/dest/tests/mocks.d.ts.map +1 -1
  375. package/dest/tests/mocks.js +123 -57
  376. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  377. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  378. package/dest/trees/append_only_tree_snapshot.js +3 -1
  379. package/dest/trees/nullifier_leaf.d.ts +13 -1
  380. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  381. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  382. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  383. package/dest/trees/public_data_leaf.d.ts +16 -1
  384. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  385. package/dest/trees/public_data_witness.d.ts +11 -1
  386. package/dest/trees/public_data_witness.d.ts.map +1 -1
  387. package/dest/tx/block_header.d.ts +14 -2
  388. package/dest/tx/block_header.d.ts.map +1 -1
  389. package/dest/tx/block_header.js +8 -2
  390. package/dest/tx/call_context.d.ts +13 -1
  391. package/dest/tx/call_context.d.ts.map +1 -1
  392. package/dest/tx/call_context.js +3 -1
  393. package/dest/tx/capsule.d.ts +4 -1
  394. package/dest/tx/capsule.d.ts.map +1 -1
  395. package/dest/tx/execution_payload.d.ts +9 -1
  396. package/dest/tx/execution_payload.d.ts.map +1 -1
  397. package/dest/tx/function_data.d.ts +4 -2
  398. package/dest/tx/function_data.d.ts.map +1 -1
  399. package/dest/tx/global_variable_builder.d.ts +2 -2
  400. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  401. package/dest/tx/global_variables.d.ts +9 -1
  402. package/dest/tx/global_variables.d.ts.map +1 -1
  403. package/dest/tx/global_variables.js +3 -1
  404. package/dest/tx/hashed_values.d.ts +7 -1
  405. package/dest/tx/hashed_values.d.ts.map +1 -1
  406. package/dest/tx/in_tx.d.ts +4 -4
  407. package/dest/tx/index.d.ts +1 -2
  408. package/dest/tx/index.d.ts.map +1 -1
  409. package/dest/tx/index.js +0 -1
  410. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  411. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  412. package/dest/tx/indexed_tx_effect.js +3 -2
  413. package/dest/tx/partial_state_reference.d.ts +4 -1
  414. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  415. package/dest/tx/private_execution_result.d.ts +23 -6
  416. package/dest/tx/private_execution_result.d.ts.map +1 -1
  417. package/dest/tx/private_execution_result.js +4 -21
  418. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  419. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  420. package/dest/tx/profiling.d.ts +149 -26
  421. package/dest/tx/profiling.d.ts.map +1 -1
  422. package/dest/tx/profiling.js +44 -7
  423. package/dest/tx/protocol_contracts.d.ts +1 -1
  424. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  425. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  426. package/dest/tx/public_call_request_with_calldata.js +3 -1
  427. package/dest/tx/state_reference.d.ts +3 -1
  428. package/dest/tx/state_reference.d.ts.map +1 -1
  429. package/dest/tx/state_reference.js +3 -1
  430. package/dest/tx/tree_snapshots.js +3 -1
  431. package/dest/tx/tx.d.ts +24 -1
  432. package/dest/tx/tx.d.ts.map +1 -1
  433. package/dest/tx/tx.js +9 -4
  434. package/dest/tx/tx_context.d.ts +2 -1
  435. package/dest/tx/tx_context.d.ts.map +1 -1
  436. package/dest/tx/tx_effect.d.ts +32 -6
  437. package/dest/tx/tx_effect.d.ts.map +1 -1
  438. package/dest/tx/tx_effect.js +3 -8
  439. package/dest/tx/tx_execution_request.d.ts +30 -1
  440. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  441. package/dest/tx/tx_execution_request.js +6 -2
  442. package/dest/tx/tx_hash.d.ts +2 -1
  443. package/dest/tx/tx_hash.d.ts.map +1 -1
  444. package/dest/tx/tx_receipt.d.ts +47 -13
  445. package/dest/tx/tx_receipt.d.ts.map +1 -1
  446. package/dest/tx/tx_receipt.js +46 -15
  447. package/dest/tx/tx_request.d.ts +6 -1
  448. package/dest/tx/tx_request.d.ts.map +1 -1
  449. package/dest/tx/validator/error_texts.d.ts +2 -1
  450. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  451. package/dest/tx/validator/error_texts.js +2 -0
  452. package/dest/types/shared.d.ts +4 -1
  453. package/dest/types/shared.d.ts.map +1 -1
  454. package/dest/validators/schemas.d.ts +8 -8
  455. package/dest/vks/verification_key.d.ts +22 -1
  456. package/dest/vks/verification_key.d.ts.map +1 -1
  457. package/dest/vks/vk_data.d.ts +7 -1
  458. package/dest/vks/vk_data.d.ts.map +1 -1
  459. package/dest/zkpassport/index.d.ts +3 -4
  460. package/dest/zkpassport/index.d.ts.map +1 -1
  461. package/dest/zkpassport/index.js +9 -9
  462. package/package.json +14 -11
  463. package/src/abi/contract_artifact.ts +10 -10
  464. package/src/abi/utils.ts +17 -0
  465. package/src/block/attestation_info.ts +9 -6
  466. package/src/block/block_hash.ts +26 -25
  467. package/src/block/block_parameter.ts +4 -2
  468. package/src/block/body.ts +2 -1
  469. package/src/block/checkpointed_l2_block.ts +8 -58
  470. package/src/block/in_block.ts +5 -5
  471. package/src/block/index.ts +0 -2
  472. package/src/block/l2_block.ts +102 -149
  473. package/src/block/l2_block_source.ts +123 -44
  474. package/src/block/l2_block_stream/index.ts +1 -0
  475. package/src/block/l2_block_stream/interfaces.ts +15 -4
  476. package/src/block/l2_block_stream/l2_block_stream.ts +130 -39
  477. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  478. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  479. package/src/block/test/l2_tips_store_test_suite.ts +480 -36
  480. package/src/block/validate_block_result.ts +40 -35
  481. package/src/checkpoint/checkpoint.ts +34 -11
  482. package/src/checkpoint/checkpoint_info.ts +45 -2
  483. package/src/checkpoint/index.ts +1 -0
  484. package/src/checkpoint/published_checkpoint.ts +4 -3
  485. package/src/config/node-rpc-config.ts +1 -1
  486. package/src/contract/contract_address.ts +1 -1
  487. package/src/contract/contract_class_id.ts +1 -1
  488. package/src/contract/index.ts +0 -2
  489. package/src/contract/private_function.ts +2 -3
  490. package/src/contract/private_function_membership_proof.ts +1 -1
  491. package/src/database-version/database_version.ts +87 -0
  492. package/src/database-version/version_manager.ts +1 -77
  493. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  494. package/src/deserialization/index.ts +21 -0
  495. package/src/epoch-helpers/index.ts +10 -1
  496. package/src/hash/hash.ts +2 -2
  497. package/src/hash/map_slot.ts +3 -2
  498. package/src/interfaces/api_limit.ts +2 -0
  499. package/src/interfaces/archiver.ts +26 -24
  500. package/src/interfaces/aztec-node-admin.ts +5 -2
  501. package/src/interfaces/aztec-node.ts +95 -124
  502. package/src/interfaces/block-builder.ts +40 -23
  503. package/src/interfaces/configs.ts +3 -0
  504. package/src/interfaces/l2_logs_source.ts +17 -4
  505. package/src/interfaces/p2p.ts +8 -12
  506. package/src/interfaces/prover-client.ts +15 -0
  507. package/src/interfaces/proving-job.ts +2 -11
  508. package/src/interfaces/server_circuit_prover.ts +3 -2
  509. package/src/interfaces/tx_provider.ts +2 -2
  510. package/src/interfaces/validator.ts +62 -14
  511. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  512. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  513. package/src/keys/derivation.ts +8 -8
  514. package/src/keys/key_types.ts +1 -1
  515. package/src/keys/utils.ts +7 -3
  516. package/src/l1-contracts/slash_factory.ts +1 -0
  517. package/src/logs/log_id.ts +7 -6
  518. package/src/logs/siloed_tag.ts +3 -2
  519. package/src/messaging/in_hash.ts +3 -1
  520. package/src/messaging/l2_to_l1_membership.ts +178 -52
  521. package/src/messaging/out_hash.ts +62 -21
  522. package/src/note/note_dao.ts +18 -13
  523. package/src/p2p/attestation_utils.ts +3 -3
  524. package/src/p2p/block_proposal.ts +213 -46
  525. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  526. package/src/p2p/checkpoint_proposal.ts +355 -0
  527. package/src/p2p/consensus_payload.ts +5 -7
  528. package/src/p2p/constants.ts +3 -0
  529. package/src/p2p/gossipable.ts +14 -4
  530. package/src/p2p/index.ts +4 -1
  531. package/src/p2p/message_validator.ts +14 -2
  532. package/src/p2p/signature_utils.ts +3 -1
  533. package/src/p2p/signed_txs.ts +88 -0
  534. package/src/p2p/topic_type.ts +4 -3
  535. package/src/proofs/chonk_proof.ts +9 -5
  536. package/src/rollup/block_headers_hash.ts +1 -1
  537. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  538. package/src/rollup/checkpoint_header.ts +63 -20
  539. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -0
  540. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  541. package/src/rollup/root_rollup_public_inputs.ts +9 -0
  542. package/src/stats/stats.ts +0 -2
  543. package/src/tests/factories.ts +56 -40
  544. package/src/tests/jest.ts +1 -1
  545. package/src/tests/mocks.ts +213 -91
  546. package/src/tx/block_header.ts +11 -3
  547. package/src/tx/global_variable_builder.ts +1 -1
  548. package/src/tx/index.ts +0 -1
  549. package/src/tx/indexed_tx_effect.ts +3 -2
  550. package/src/tx/private_execution_result.ts +1 -16
  551. package/src/tx/profiling.ts +46 -4
  552. package/src/tx/tx.ts +10 -9
  553. package/src/tx/tx_effect.ts +0 -9
  554. package/src/tx/tx_execution_request.ts +2 -0
  555. package/src/tx/tx_receipt.ts +75 -18
  556. package/src/tx/validator/error_texts.ts +3 -0
  557. package/src/zkpassport/index.ts +11 -12
  558. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  559. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  560. package/dest/block/l2_block_code_to_purge.js +0 -61
  561. package/dest/block/l2_block_header.d.ts +0 -98
  562. package/dest/block/l2_block_header.d.ts.map +0 -1
  563. package/dest/block/l2_block_header.js +0 -153
  564. package/dest/block/l2_block_new.d.ts +0 -135
  565. package/dest/block/l2_block_new.d.ts.map +0 -1
  566. package/dest/block/l2_block_new.js +0 -152
  567. package/dest/contract/contract_class_metadata.d.ts +0 -8
  568. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  569. package/dest/contract/contract_class_metadata.js +0 -1
  570. package/dest/contract/contract_metadata.d.ts +0 -7
  571. package/dest/contract/contract_metadata.d.ts.map +0 -1
  572. package/dest/contract/contract_metadata.js +0 -1
  573. package/dest/database-version/index.d.ts +0 -2
  574. package/dest/database-version/index.d.ts.map +0 -1
  575. package/dest/database-version/index.js +0 -1
  576. package/dest/p2p/block_attestation.d.ts +0 -80
  577. package/dest/p2p/block_attestation.d.ts.map +0 -1
  578. package/dest/tx/content_commitment.d.ts +0 -49
  579. package/dest/tx/content_commitment.d.ts.map +0 -1
  580. package/dest/tx/content_commitment.js +0 -90
  581. package/src/block/l2_block_code_to_purge.ts +0 -88
  582. package/src/block/l2_block_header.ts +0 -246
  583. package/src/block/l2_block_new.ts +0 -207
  584. package/src/contract/contract_class_metadata.ts +0 -8
  585. package/src/contract/contract_metadata.ts +0 -7
  586. package/src/database-version/index.ts +0 -1
  587. package/src/tx/content_commitment.ts +0 -113
@@ -51,6 +51,15 @@ export function getSlotAtTimestamp(
51
51
  : SlotNumber.fromBigInt((ts - constants.l1GenesisTime) / BigInt(constants.slotDuration));
52
52
  }
53
53
 
54
+ /** Returns the L2 slot number at the next L1 block based on the current timestamp. */
55
+ export function getSlotAtNextL1Block(
56
+ currentL1Timestamp: bigint,
57
+ constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>,
58
+ ): SlotNumber {
59
+ const nextL1BlockTimestamp = currentL1Timestamp + BigInt(constants.ethereumSlotDuration);
60
+ return getSlotAtTimestamp(nextL1BlockTimestamp, constants);
61
+ }
62
+
54
63
  /** Returns the epoch number for a given timestamp. */
55
64
  export function getEpochNumberAtTimestamp(
56
65
  ts: bigint,
@@ -69,7 +78,7 @@ export function getSlotRangeForEpoch(
69
78
  epochNumber: EpochNumber,
70
79
  constants: Pick<L1RollupConstants, 'epochDuration'>,
71
80
  ): [SlotNumber, SlotNumber] {
72
- const startSlot = SlotNumber(epochNumber * constants.epochDuration);
81
+ const startSlot = SlotNumber(Number(epochNumber) * constants.epochDuration);
73
82
  return [startSlot, SlotNumber(startSlot + constants.epochDuration - 1)];
74
83
  }
75
84
 
package/src/hash/hash.ts CHANGED
@@ -55,7 +55,7 @@ export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promis
55
55
  * @returns A siloed nullifier.
56
56
  */
57
57
  export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promise<Fr> {
58
- return poseidon2HashWithSeparator([contract, innerNullifier], GeneratorIndex.OUTER_NULLIFIER);
58
+ return poseidon2HashWithSeparator([contract, innerNullifier], GeneratorIndex.SILOED_NULLIFIER);
59
59
  }
60
60
 
61
61
  /**
@@ -87,7 +87,7 @@ export function computePublicDataTreeValue(value: Fr): Fr {
87
87
 
88
88
  */
89
89
  export function computePublicDataTreeLeafSlot(contractAddress: AztecAddress, storageSlot: Fr): Promise<Fr> {
90
- return poseidon2HashWithSeparator([contractAddress, storageSlot], GeneratorIndex.PUBLIC_LEAF_INDEX);
90
+ return poseidon2HashWithSeparator([contractAddress, storageSlot], GeneratorIndex.PUBLIC_LEAF_SLOT);
91
91
  }
92
92
 
93
93
  /**
@@ -1,4 +1,5 @@
1
- import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
1
+ import { GeneratorIndex } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
2
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
4
 
4
5
  /**
@@ -14,5 +15,5 @@ export function deriveStorageSlotInMap(
14
15
  toField: () => Fr;
15
16
  },
16
17
  ): Promise<Fr> {
17
- return poseidon2Hash([mapSlot, key.toField()]);
18
+ return poseidon2HashWithSeparator([mapSlot, key.toField()], GeneratorIndex.PUBLIC_STORAGE_MAP_SLOT);
18
19
  }
@@ -1,3 +1,5 @@
1
1
  export const MAX_RPC_LEN = 100;
2
2
  export const MAX_RPC_TXS_LEN = 50;
3
3
  export const MAX_RPC_BLOCKS_LEN = 50;
4
+ export const MAX_RPC_CHECKPOINTS_LEN = 50;
5
+ export const MAX_LOGS_PER_TAG = 10;
@@ -4,11 +4,11 @@ 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 { BlockHash } from '../block/block_hash.js';
8
+ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
8
9
  import { L2Block } from '../block/l2_block.js';
9
- import { L2BlockNew } from '../block/l2_block_new.js';
10
10
  import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
11
- import { ValidateBlockResultSchema } from '../block/validate_block_result.js';
11
+ import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
12
12
  import { Checkpoint } from '../checkpoint/checkpoint.js';
13
13
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
14
14
  import {
@@ -52,14 +52,14 @@ export type ArchiverSpecificConfig = {
52
52
  /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb. */
53
53
  archiverStoreMapSizeKb?: number;
54
54
 
55
- /** Whether to skip validating block attestations (use only for testing). */
56
- skipValidateBlockAttestations?: boolean;
57
-
58
55
  /** Maximum allowed drift in seconds between the Ethereum client and current time. */
59
56
  maxAllowedEthClientDriftSeconds?: number;
60
57
 
61
58
  /** Whether to allow starting the archiver without debug/trace method support on Ethereum hosts */
62
59
  ethereumAllowNoDebugHosts?: boolean;
60
+
61
+ /** Skip validating checkpoint attestations (for testing purposes only) */
62
+ skipValidateCheckpointAttestations?: boolean;
63
63
  };
64
64
 
65
65
  export const ArchiverSpecificConfigSchema = z.object({
@@ -68,9 +68,9 @@ export const ArchiverSpecificConfigSchema = z.object({
68
68
  viemPollingIntervalMS: schemas.Integer.optional(),
69
69
  maxLogs: schemas.Integer.optional(),
70
70
  archiverStoreMapSizeKb: schemas.Integer.optional(),
71
- skipValidateBlockAttestations: z.boolean().optional(),
72
71
  maxAllowedEthClientDriftSeconds: schemas.Integer.optional(),
73
72
  ethereumAllowNoDebugHosts: z.boolean().optional(),
73
+ skipValidateCheckpointAttestations: z.boolean().optional(),
74
74
  });
75
75
 
76
76
  export type ArchiverApi = Omit<
@@ -83,45 +83,47 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
83
83
  getRegistryAddress: z.function().args().returns(schemas.EthAddress),
84
84
  getBlockNumber: z.function().args().returns(BlockNumberSchema),
85
85
  getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
86
+ getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
87
+ getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
86
88
  getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
87
89
  getBlockHeader: z
88
90
  .function()
89
91
  .args(z.union([BlockNumberSchema, z.literal('latest')]))
90
92
  .returns(BlockHeader.schema.optional()),
91
93
  getCheckpointedBlock: z.function().args(BlockNumberSchema).returns(CheckpointedL2Block.schema.optional()),
92
- getBlocks: z
94
+ getCheckpointedBlocks: z
93
95
  .function()
94
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
95
- .returns(z.array(L2Block.schema)),
96
- getPublishedCheckpoints: z
96
+ .args(BlockNumberSchema, schemas.Integer)
97
+ .returns(z.array(CheckpointedL2Block.schema)),
98
+ getBlocks: z.function().args(BlockNumberSchema, schemas.Integer).returns(z.array(L2Block.schema)),
99
+ getCheckpoints: z
97
100
  .function()
98
101
  .args(CheckpointNumberSchema, schemas.Integer)
99
102
  .returns(z.array(PublishedCheckpoint.schema)),
100
- getPublishedBlocks: z
101
- .function()
102
- .args(BlockNumberSchema, schemas.Integer, optional(z.boolean()))
103
- .returns(z.array(PublishedL2Block.schema)),
104
- getPublishedBlockByHash: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
105
- getPublishedBlockByArchive: z.function().args(schemas.Fr).returns(PublishedL2Block.schema.optional()),
106
- getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
103
+ getCheckpointedBlockByHash: z.function().args(BlockHash.schema).returns(CheckpointedL2Block.schema.optional()),
104
+ getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
105
+ getBlockHeaderByHash: z.function().args(BlockHash.schema).returns(BlockHeader.schema.optional()),
107
106
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
108
- getL2BlockNew: z.function().args(BlockNumberSchema).returns(L2BlockNew.schema.optional()),
107
+ getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
108
+ getL2BlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
109
+ getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
109
110
  getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
110
111
  getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
111
112
  getL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
112
113
  getL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
113
114
  getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
114
- getBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(L2Block.schema)),
115
- getBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
115
+ getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
116
+ getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
117
+ getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
116
118
  isEpochComplete: z.function().args(EpochNumberSchema).returns(z.boolean()),
117
119
  getL2Tips: z.function().args().returns(L2TipsSchema),
118
120
  getPrivateLogsByTags: z
119
121
  .function()
120
- .args(z.array(SiloedTag.schema))
122
+ .args(z.array(SiloedTag.schema), optional(z.number().gte(0)))
121
123
  .returns(z.array(z.array(TxScopedL2Log.schema))),
122
124
  getPublicLogsByTagsFromContract: z
123
125
  .function()
124
- .args(schemas.AztecAddress, z.array(Tag.schema))
126
+ .args(schemas.AztecAddress, z.array(Tag.schema), optional(z.number().gte(0)))
125
127
  .returns(z.array(z.array(TxScopedL2Log.schema))),
126
128
  getPublicLogs: z.function().args(LogFilterSchema).returns(GetPublicLogsResponseSchema),
127
129
  getContractClassLogs: z.function().args(LogFilterSchema).returns(GetContractClassLogsResponseSchema),
@@ -144,5 +146,5 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
144
146
  getL1Timestamp: z.function().args().returns(schemas.BigInt.optional()),
145
147
  syncImmediate: z.function().args().returns(z.void()),
146
148
  isPendingChainInvalid: z.function().args().returns(z.boolean()),
147
- getPendingChainValidationStatus: z.function().args().returns(ValidateBlockResultSchema),
149
+ getPendingChainValidationStatus: z.function().args().returns(ValidateCheckpointResultSchema),
148
150
  };
@@ -56,7 +56,10 @@ export type AztecNodeAdminConfig = ValidatorClientFullConfig &
56
56
  SequencerConfig &
57
57
  ProverConfig &
58
58
  SlasherConfig &
59
- Pick<ArchiverSpecificConfig, 'archiverPollingIntervalMS' | 'skipValidateBlockAttestations' | 'archiverBatchSize'> & {
59
+ Pick<
60
+ ArchiverSpecificConfig,
61
+ 'archiverPollingIntervalMS' | 'archiverBatchSize' | 'skipValidateCheckpointAttestations'
62
+ > & {
60
63
  maxPendingTxCount: number;
61
64
  };
62
65
 
@@ -66,8 +69,8 @@ export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConf
66
69
  .merge(
67
70
  ArchiverSpecificConfigSchema.pick({
68
71
  archiverPollingIntervalMS: true,
69
- skipValidateBlockAttestations: true,
70
72
  archiverBatchSize: true,
73
+ skipValidateCheckpointAttestations: true,
71
74
  }),
72
75
  )
73
76
  .merge(z.object({ maxPendingTxCount: z.number() }));
@@ -1,15 +1,12 @@
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,
11
5
  BlockNumberPositiveSchema,
12
6
  BlockNumberSchema,
7
+ CheckpointNumberPositiveSchema,
8
+ EpochNumber,
9
+ EpochNumberSchema,
13
10
  type SlotNumber,
14
11
  } from '@aztec/foundation/branded-types';
15
12
  import type { Fr } from '@aztec/foundation/curves/bn254';
@@ -20,11 +17,13 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
20
17
  import { z } from 'zod';
21
18
 
22
19
  import type { AztecAddress } from '../aztec-address/index.js';
20
+ import { BlockHash } from '../block/block_hash.js';
23
21
  import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
24
- import { PublishedL2Block } from '../block/checkpointed_l2_block.js';
22
+ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
25
23
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
26
24
  import { L2Block } from '../block/l2_block.js';
27
25
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
26
+ import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
28
27
  import {
29
28
  type ContractClassPublic,
30
29
  ContractClassPublicSchema,
@@ -57,7 +56,7 @@ import { SingleValidatorStatsSchema, ValidatorsStatsSchema } from '../validators
57
56
  import type { SingleValidatorStats, ValidatorsStats } from '../validators/types.js';
58
57
  import { type ComponentsVersions, getVersioningResponseHandler } from '../versioning/index.js';
59
58
  import { type AllowedElement, AllowedElementSchema } from './allowed_element.js';
60
- import { MAX_RPC_BLOCKS_LEN, MAX_RPC_LEN, MAX_RPC_TXS_LEN } from './api_limit.js';
59
+ import { MAX_RPC_BLOCKS_LEN, MAX_RPC_CHECKPOINTS_LEN, MAX_RPC_LEN, MAX_RPC_TXS_LEN } from './api_limit.js';
61
60
  import {
62
61
  type GetContractClassLogsResponse,
63
62
  GetContractClassLogsResponseSchema,
@@ -71,7 +70,10 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
71
70
  * We will probably implement the additional interfaces by means other than Aztec Node as it's currently a privacy leak
72
71
  */
73
72
  export interface AztecNode
74
- extends Pick<L2BlockSource, 'getBlocks' | 'getPublishedBlocks' | 'getBlockHeader' | 'getL2Tips'> {
73
+ extends Pick<
74
+ L2BlockSource,
75
+ 'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
76
+ > {
75
77
  /**
76
78
  * Returns the tips of the L2 chain.
77
79
  */
@@ -85,72 +87,28 @@ export interface AztecNode
85
87
  /**
86
88
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
87
89
  * the leaves were inserted.
88
- * @param blockNumber - The block number at which to get the data or 'latest' for latest data.
90
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
89
91
  * @param treeId - The tree to search in.
90
92
  * @param leafValues - The values to search for.
91
93
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
92
94
  */
93
95
  findLeavesIndexes(
94
- blockNumber: BlockParameter,
96
+ block: BlockParameter,
95
97
  treeId: MerkleTreeId,
96
98
  leafValues: Fr[],
97
99
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
98
100
 
99
- /**
100
- * Returns a sibling path for the given index in the nullifier tree.
101
- * @param blockNumber - The block number at which to get the data.
102
- * @param leafIndex - The index of the leaf for which the sibling path is required.
103
- * @returns The sibling path for the leaf index.
104
- */
105
- getNullifierSiblingPath(
106
- blockNumber: BlockParameter,
107
- leafIndex: bigint,
108
- ): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
109
-
110
- /**
111
- * Returns a sibling path for the given index in the note hash tree.
112
- * @param blockNumber - The block number at which to get the data.
113
- * @param leafIndex - The index of the leaf for which the sibling path is required.
114
- * @returns The sibling path for the leaf index.
115
- */
116
- getNoteHashSiblingPath(
117
- blockNumber: BlockParameter,
118
- leafIndex: bigint,
119
- ): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
120
-
121
- /**
122
- * Returns a sibling path for a leaf in the committed historic blocks tree.
123
- * @param blockNumber - The block number at which to get the data.
124
- * @param leafIndex - Index of the leaf in the tree.
125
- * @returns The sibling path.
126
- */
127
- getArchiveSiblingPath(blockNumber: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
128
-
129
- /**
130
- * Returns a sibling path for a leaf in the committed public data tree.
131
- * @param blockNumber - The block number at which to get the data.
132
- * @param leafIndex - Index of the leaf in the tree.
133
- * @returns The sibling path.
134
- */
135
- getPublicDataSiblingPath(
136
- blockNumber: BlockParameter,
137
- leafIndex: bigint,
138
- ): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
139
-
140
101
  /**
141
102
  * Returns a nullifier membership witness for a given nullifier at a given block.
142
- * @param blockNumber - The block number at which to get the data.
103
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
143
104
  * @param nullifier - Nullifier we try to find witness for.
144
105
  * @returns The nullifier membership witness (if found).
145
106
  */
146
- getNullifierMembershipWitness(
147
- blockNumber: BlockParameter,
148
- nullifier: Fr,
149
- ): Promise<NullifierMembershipWitness | undefined>;
107
+ getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
150
108
 
151
109
  /**
152
110
  * Returns a low nullifier membership witness for a given nullifier at a given block.
153
- * @param blockNumber - The block number at which to get the data.
111
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
154
112
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
155
113
  * @returns The low nullifier membership witness (if found).
156
114
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
@@ -158,49 +116,49 @@ export interface AztecNode
158
116
  * we are trying to prove non-inclusion for.
159
117
  */
160
118
  getLowNullifierMembershipWitness(
161
- blockNumber: BlockParameter,
119
+ block: BlockParameter,
162
120
  nullifier: Fr,
163
121
  ): Promise<NullifierMembershipWitness | undefined>;
164
122
 
165
123
  /**
166
124
  * Returns a public data tree witness for a given leaf slot at a given block.
167
- * @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.
168
126
  * @param leafSlot - The leaf slot we try to find the witness for.
169
127
  * @returns The public data witness (if found).
170
128
  * @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
171
129
  * "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
172
130
  * is contained in the leaf preimage.
173
131
  */
174
- getPublicDataWitness(blockNumber: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
132
+ getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
175
133
 
176
134
  /**
177
135
  * Returns a membership witness for a given archive leaf at a given block.
178
- * @param blockNumber - The block number at which to get the data.
136
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
179
137
  * @param archive - The archive leaf we try to find the witness for.
180
138
  */
181
139
  getArchiveMembershipWitness(
182
- blockNumber: BlockParameter,
140
+ block: BlockParameter,
183
141
  archive: Fr,
184
142
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
185
143
 
186
144
  /**
187
145
  * Returns a membership witness for a given note hash at a given block.
188
- * @param blockNumber - The block number at which to get the data.
146
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
189
147
  * @param noteHash - The note hash we try to find the witness for.
190
148
  */
191
149
  getNoteHashMembershipWitness(
192
- blockNumber: BlockParameter,
150
+ block: BlockParameter,
193
151
  noteHash: Fr,
194
152
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
195
153
 
196
154
  /**
197
155
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
198
- * @param blockNumber - The block number at which to get the data.
156
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
199
157
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
200
158
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
201
159
  */
202
160
  getL1ToL2MessageMembershipWitness(
203
- blockNumber: BlockParameter,
161
+ block: BlockParameter,
204
162
  l1ToL2Message: Fr,
205
163
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
206
164
 
@@ -216,15 +174,16 @@ export interface AztecNode
216
174
  isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
217
175
 
218
176
  /**
219
- * Returns all the L2 to L1 messages in a block.
220
- * @param blockNumber - The block number at which to get the data.
221
- * @returns The L2 to L1 messages (undefined if the block number is not found).
177
+ * Returns all the L2 to L1 messages in an epoch.
178
+ * @param epoch - The epoch at which to get the data.
179
+ * @returns A nested array of the L2 to L1 messages in each tx of each block in each checkpoint in the epoch (empty
180
+ * array if the epoch is not found).
222
181
  */
223
- getL2ToL1Messages(blockNumber: BlockParameter): Promise<Fr[][] | undefined>;
182
+ getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
224
183
 
225
184
  /**
226
- * Get a block specified by its number.
227
- * @param number - The block number being requested.
185
+ * Get a block specified by its block number or 'latest'.
186
+ * @param number - The block number or 'latest'.
228
187
  * @returns The requested block.
229
188
  */
230
189
  getBlock(number: BlockParameter): Promise<L2Block | undefined>;
@@ -234,7 +193,7 @@ export interface AztecNode
234
193
  * @param blockHash - The block hash being requested.
235
194
  * @returns The requested block.
236
195
  */
237
- getBlockByHash(blockHash: Fr): Promise<L2Block | undefined>;
196
+ getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
238
197
 
239
198
  /**
240
199
  * Get a block specified by its archive root.
@@ -255,6 +214,12 @@ export interface AztecNode
255
214
  */
256
215
  getProvenBlockNumber(): Promise<BlockNumber>;
257
216
 
217
+ /**
218
+ * Fetches the latest checkpointed block number.
219
+ * @returns The block number.
220
+ */
221
+ getCheckpointedBlockNumber(): Promise<BlockNumber>;
222
+
258
223
  /**
259
224
  * Method to determine if the node is ready to accept transactions.
260
225
  * @returns - Flag indicating the readiness for tx submission.
@@ -277,10 +242,10 @@ export interface AztecNode
277
242
  getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
278
243
 
279
244
  /**
280
- * Method to fetch the current base fees.
281
- * @returns The current base fees.
245
+ * Method to fetch the current min fees.
246
+ * @returns The current min fees.
282
247
  */
283
- getCurrentBaseFees(): Promise<GasFees>;
248
+ getCurrentMinFees(): Promise<GasFees>;
284
249
 
285
250
  /**
286
251
  * Method to fetch the current max priority fee of txs in the mempool.
@@ -338,16 +303,38 @@ export interface AztecNode
338
303
  getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
339
304
 
340
305
  /**
341
- * Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
306
+ * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
342
307
  * array implies no logs match that tag.
308
+ * @param tags - The tags to search for.
309
+ * @param page - The page number (0-indexed) for pagination.
310
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
311
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
312
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
313
+ * undefined behavior in the client's code.
314
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
315
+ * for a tag, the caller should fetch the next page to check for more logs.
343
316
  */
344
- getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
317
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
345
318
 
346
319
  /**
347
- * Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
320
+ * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
348
321
  * logs is returned. An empty array implies no logs match that tag.
349
- */
350
- getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
322
+ * @param contractAddress - The contract address to search logs for.
323
+ * @param tags - The tags to search for.
324
+ * @param page - The page number (0-indexed) for pagination.
325
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
326
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
327
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
328
+ * undefined behavior in the client's code.
329
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
330
+ * for a tag, the caller should fetch the next page to check for more logs.
331
+ */
332
+ getPublicLogsByTagsFromContract(
333
+ contractAddress: AztecAddress,
334
+ tags: Tag[],
335
+ page?: number,
336
+ referenceBlock?: BlockHash,
337
+ ): Promise<TxScopedL2Log[][]>;
351
338
 
352
339
  /**
353
340
  * Method to submit a transaction to the p2p pool.
@@ -405,25 +392,19 @@ export interface AztecNode
405
392
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
406
393
  * Aztec's version of `eth_getStorageAt`.
407
394
  *
395
+ * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
408
396
  * @param contract - Address of the contract to query.
409
397
  * @param slot - Slot to query.
410
- * @param blockNumber - The block number at which to get the data or 'latest'.
411
398
  * @returns Storage value at the given contract slot.
412
399
  */
413
- getPublicStorageAt(blockNumber: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
400
+ getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
414
401
 
415
402
  /**
416
- * Returns the currently committed block header.
417
- * @returns The current committed block header.
418
- */
419
- getBlockHeader(blockNumber?: BlockParameter): Promise<BlockHeader | undefined>;
420
-
421
- /**
422
- * Get a block header specified by its hash.
423
- * @param blockHash - The block hash being requested.
403
+ * Returns the block header for a given block number, block hash, or 'latest'.
404
+ * @param block - The block parameter (block number, block hash, or 'latest'). Defaults to 'latest'.
424
405
  * @returns The requested block header.
425
406
  */
426
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
407
+ getBlockHeader(block?: BlockParameter): Promise<BlockHeader | undefined>;
427
408
 
428
409
  /**
429
410
  * Get a block header specified by its archive root.
@@ -496,26 +477,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
496
477
  .args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
497
478
  .returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
498
479
 
499
- getNullifierSiblingPath: z
500
- .function()
501
- .args(BlockParameterSchema, schemas.BigInt)
502
- .returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
503
-
504
- getNoteHashSiblingPath: z
505
- .function()
506
- .args(BlockParameterSchema, schemas.BigInt)
507
- .returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
508
-
509
- getArchiveSiblingPath: z
510
- .function()
511
- .args(BlockParameterSchema, schemas.BigInt)
512
- .returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
513
-
514
- getPublicDataSiblingPath: z
515
- .function()
516
- .args(BlockParameterSchema, schemas.BigInt)
517
- .returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
518
-
519
480
  getNullifierMembershipWitness: z
520
481
  .function()
521
482
  .args(BlockParameterSchema, schemas.Fr)
@@ -552,12 +513,12 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
552
513
 
553
514
  getL2ToL1Messages: z
554
515
  .function()
555
- .args(BlockParameterSchema)
556
- .returns(z.array(z.array(schemas.Fr)).optional()),
516
+ .args(EpochNumberSchema)
517
+ .returns(z.array(z.array(z.array(z.array(schemas.Fr))))),
557
518
 
558
519
  getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
559
520
 
560
- getBlockByHash: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
521
+ getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
561
522
 
562
523
  getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
563
524
 
@@ -565,6 +526,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
565
526
 
566
527
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
567
528
 
529
+ getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
530
+
568
531
  isReady: z.function().returns(z.boolean()),
569
532
 
570
533
  getNodeInfo: z.function().returns(NodeInfoSchema),
@@ -574,12 +537,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
574
537
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
575
538
  .returns(z.array(L2Block.schema)),
576
539
 
577
- getPublishedBlocks: z
540
+ getCheckpoints: z
541
+ .function()
542
+ .args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
543
+ .returns(z.array(PublishedCheckpoint.schema)),
544
+
545
+ getCheckpointedBlocks: z
578
546
  .function()
579
547
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
580
- .returns(z.array(PublishedL2Block.schema)),
548
+ .returns(z.array(CheckpointedL2Block.schema)),
581
549
 
582
- getCurrentBaseFees: z.function().returns(GasFees.schema),
550
+ getCurrentMinFees: z.function().returns(GasFees.schema),
583
551
 
584
552
  getMaxPriorityFees: z.function().returns(GasFees.schema),
585
553
 
@@ -604,12 +572,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
604
572
 
605
573
  getPrivateLogsByTags: z
606
574
  .function()
607
- .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN))
575
+ .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
608
576
  .returns(z.array(z.array(TxScopedL2Log.schema))),
609
577
 
610
578
  getPublicLogsByTagsFromContract: z
611
579
  .function()
612
- .args(schemas.AztecAddress, z.array(Tag.schema).max(MAX_RPC_LEN))
580
+ .args(
581
+ schemas.AztecAddress,
582
+ z.array(Tag.schema).max(MAX_RPC_LEN),
583
+ optional(z.number().gte(0)),
584
+ optional(BlockHash.schema),
585
+ )
613
586
  .returns(z.array(z.array(TxScopedL2Log.schema))),
614
587
 
615
588
  sendTx: z.function().args(Tx.schema).returns(z.void()),
@@ -633,8 +606,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
633
606
 
634
607
  getBlockHeader: z.function().args(optional(BlockParameterSchema)).returns(BlockHeader.schema.optional()),
635
608
 
636
- getBlockHeaderByHash: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
637
-
638
609
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
639
610
 
640
611
  getValidatorsStats: z.function().returns(ValidatorsStatsSchema),