@aztec/stdlib 0.0.1-commit.3469e52 → 0.0.1-commit.35158ae7e

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 (591) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +2 -2
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +7 -5
  10. package/dest/abi/encoder.d.ts +1 -1
  11. package/dest/abi/encoder.d.ts.map +1 -1
  12. package/dest/abi/encoder.js +37 -6
  13. package/dest/abi/event_metadata_definition.d.ts +3 -1
  14. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  15. package/dest/abi/event_metadata_definition.js +1 -1
  16. package/dest/abi/function_call.d.ts +39 -9
  17. package/dest/abi/function_call.d.ts.map +1 -1
  18. package/dest/abi/function_call.js +20 -3
  19. package/dest/abi/utils.d.ts +14 -1
  20. package/dest/abi/utils.d.ts.map +1 -1
  21. package/dest/abi/utils.js +15 -0
  22. package/dest/auth_witness/auth_witness.js +3 -3
  23. package/dest/avm/avm_proving_request.d.ts +166 -166
  24. package/dest/avm/revert_code.d.ts +16 -1
  25. package/dest/avm/revert_code.d.ts.map +1 -1
  26. package/dest/avm/revert_code.js +15 -5
  27. package/dest/block/block_data.d.ts +52 -0
  28. package/dest/block/block_data.d.ts.map +1 -0
  29. package/dest/block/block_data.js +12 -0
  30. package/dest/block/block_hash.d.ts +16 -18
  31. package/dest/block/block_hash.d.ts.map +1 -1
  32. package/dest/block/block_hash.js +21 -31
  33. package/dest/block/block_parameter.d.ts +4 -4
  34. package/dest/block/block_parameter.d.ts.map +1 -1
  35. package/dest/block/block_parameter.js +2 -2
  36. package/dest/block/checkpointed_l2_block.d.ts +6 -6
  37. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  38. package/dest/block/checkpointed_l2_block.js +3 -3
  39. package/dest/block/in_block.d.ts +11 -11
  40. package/dest/block/in_block.d.ts.map +1 -1
  41. package/dest/block/in_block.js +5 -5
  42. package/dest/block/index.d.ts +3 -2
  43. package/dest/block/index.d.ts.map +1 -1
  44. package/dest/block/index.js +2 -1
  45. package/dest/block/{l2_block_new.d.ts → l2_block.d.ts} +16 -7
  46. package/dest/block/l2_block.d.ts.map +1 -0
  47. package/dest/block/{l2_block_new.js → l2_block.js} +17 -11
  48. package/dest/block/l2_block_source.d.ts +70 -34
  49. package/dest/block/l2_block_source.d.ts.map +1 -1
  50. package/dest/block/l2_block_stream/interfaces.d.ts +3 -3
  51. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  52. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -3
  53. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  54. package/dest/block/l2_block_stream/l2_block_stream.js +14 -4
  55. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  56. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  57. package/dest/block/test/l2_tips_store_test_suite.js +2 -2
  58. package/dest/checkpoint/checkpoint.d.ts +28 -13
  59. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  60. package/dest/checkpoint/checkpoint.js +35 -19
  61. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  62. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  63. package/dest/checkpoint/checkpoint_data.js +26 -0
  64. package/dest/checkpoint/index.d.ts +3 -1
  65. package/dest/checkpoint/index.d.ts.map +1 -1
  66. package/dest/checkpoint/index.js +2 -0
  67. package/dest/checkpoint/published_checkpoint.d.ts +19 -4
  68. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  69. package/dest/checkpoint/published_checkpoint.js +1 -2
  70. package/dest/checkpoint/validate.d.ts +36 -0
  71. package/dest/checkpoint/validate.d.ts.map +1 -0
  72. package/dest/checkpoint/validate.js +120 -0
  73. package/dest/config/index.d.ts +3 -1
  74. package/dest/config/index.d.ts.map +1 -1
  75. package/dest/config/index.js +2 -0
  76. package/dest/config/node-rpc-config.js +1 -1
  77. package/dest/config/pipelining-config.d.ts +19 -0
  78. package/dest/config/pipelining-config.d.ts.map +1 -0
  79. package/dest/config/pipelining-config.js +18 -0
  80. package/dest/config/sequencer-config.d.ts +12 -0
  81. package/dest/config/sequencer-config.d.ts.map +1 -0
  82. package/dest/config/sequencer-config.js +24 -0
  83. package/dest/contract/contract_address.d.ts +3 -3
  84. package/dest/contract/contract_address.js +7 -7
  85. package/dest/contract/contract_class.d.ts +2 -3
  86. package/dest/contract/contract_class.d.ts.map +1 -1
  87. package/dest/contract/contract_class_id.d.ts +3 -3
  88. package/dest/contract/contract_class_id.d.ts.map +1 -1
  89. package/dest/contract/contract_class_id.js +7 -6
  90. package/dest/contract/index.d.ts +1 -3
  91. package/dest/contract/index.d.ts.map +1 -1
  92. package/dest/contract/index.js +0 -2
  93. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  94. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  95. package/dest/contract/interfaces/contract_class.js +1 -28
  96. package/dest/contract/interfaces/node-info.d.ts +3 -1
  97. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  98. package/dest/contract/interfaces/node-info.js +2 -1
  99. package/dest/contract/private_function.d.ts +1 -1
  100. package/dest/contract/private_function.d.ts.map +1 -1
  101. package/dest/contract/private_function.js +3 -4
  102. package/dest/database-version/database_version.d.ts +58 -0
  103. package/dest/database-version/database_version.d.ts.map +1 -0
  104. package/dest/database-version/database_version.js +69 -0
  105. package/dest/database-version/version_manager.d.ts +2 -50
  106. package/dest/database-version/version_manager.d.ts.map +1 -1
  107. package/dest/database-version/version_manager.js +1 -66
  108. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  109. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  110. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  111. package/dest/epoch-helpers/index.d.ts +13 -1
  112. package/dest/epoch-helpers/index.d.ts.map +1 -1
  113. package/dest/epoch-helpers/index.js +17 -3
  114. package/dest/file-store/local.d.ts +3 -3
  115. package/dest/file-store/local.d.ts.map +1 -1
  116. package/dest/file-store/local.js +13 -4
  117. package/dest/file-store/s3.d.ts +1 -1
  118. package/dest/file-store/s3.d.ts.map +1 -1
  119. package/dest/file-store/s3.js +11 -3
  120. package/dest/gas/gas_fees.d.ts +1 -1
  121. package/dest/gas/gas_fees.d.ts.map +1 -1
  122. package/dest/gas/gas_fees.js +4 -1
  123. package/dest/ha-signing/config.d.ts +136 -0
  124. package/dest/ha-signing/config.d.ts.map +1 -0
  125. package/dest/ha-signing/config.js +97 -0
  126. package/dest/ha-signing/index.d.ts +4 -0
  127. package/dest/ha-signing/index.d.ts.map +1 -0
  128. package/dest/ha-signing/index.js +3 -0
  129. package/dest/ha-signing/local_config.d.ts +63 -0
  130. package/dest/ha-signing/local_config.d.ts.map +1 -0
  131. package/dest/ha-signing/local_config.js +24 -0
  132. package/dest/ha-signing/types.d.ts +85 -0
  133. package/dest/ha-signing/types.d.ts.map +1 -0
  134. package/dest/ha-signing/types.js +32 -0
  135. package/dest/hash/hash.d.ts +17 -1
  136. package/dest/hash/hash.d.ts.map +1 -1
  137. package/dest/hash/hash.js +40 -10
  138. package/dest/hash/map_slot.d.ts +1 -1
  139. package/dest/hash/map_slot.d.ts.map +1 -1
  140. package/dest/hash/map_slot.js +4 -3
  141. package/dest/interfaces/allowed_element.d.ts +26 -20
  142. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  143. package/dest/interfaces/allowed_element.js +8 -8
  144. package/dest/interfaces/archiver.d.ts +1 -1
  145. package/dest/interfaces/archiver.d.ts.map +1 -1
  146. package/dest/interfaces/archiver.js +25 -18
  147. package/dest/interfaces/aztec-node-admin.d.ts +124 -32
  148. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  149. package/dest/interfaces/aztec-node-admin.js +12 -4
  150. package/dest/interfaces/aztec-node.d.ts +61 -62
  151. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  152. package/dest/interfaces/aztec-node.js +18 -19
  153. package/dest/interfaces/block-builder.d.ts +47 -14
  154. package/dest/interfaces/block-builder.d.ts.map +1 -1
  155. package/dest/interfaces/block-builder.js +16 -2
  156. package/dest/interfaces/configs.d.ts +78 -33
  157. package/dest/interfaces/configs.d.ts.map +1 -1
  158. package/dest/interfaces/configs.js +10 -3
  159. package/dest/interfaces/get_logs_response.d.ts +15 -8
  160. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  161. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  162. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  163. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  164. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  165. package/dest/interfaces/p2p.d.ts +4 -9
  166. package/dest/interfaces/p2p.d.ts.map +1 -1
  167. package/dest/interfaces/prover-broker.d.ts +16 -1
  168. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  169. package/dest/interfaces/prover-broker.js +4 -1
  170. package/dest/interfaces/prover-client.d.ts +20 -1
  171. package/dest/interfaces/prover-client.d.ts.map +1 -1
  172. package/dest/interfaces/prover-client.js +18 -1
  173. package/dest/interfaces/proving-job.d.ts +36 -36
  174. package/dest/interfaces/slasher.d.ts +9 -1
  175. package/dest/interfaces/slasher.d.ts.map +1 -1
  176. package/dest/interfaces/slasher.js +2 -0
  177. package/dest/interfaces/tx_provider.d.ts +3 -3
  178. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  179. package/dest/interfaces/validator.d.ts +150 -42
  180. package/dest/interfaces/validator.d.ts.map +1 -1
  181. package/dest/interfaces/validator.js +11 -4
  182. package/dest/interfaces/world_state.d.ts +5 -4
  183. package/dest/interfaces/world_state.d.ts.map +1 -1
  184. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  185. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  186. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  187. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  188. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  189. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -15
  190. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  191. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  192. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  193. package/dest/kernel/hints/index.d.ts +2 -2
  194. package/dest/kernel/hints/index.js +2 -2
  195. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  196. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  197. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  198. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  199. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  200. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  201. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  202. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  203. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  204. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  205. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  206. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  207. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  208. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  209. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  210. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  211. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  212. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  213. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  214. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  215. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  216. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  217. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  218. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  219. package/dest/kernel/private_validation_requests.d.ts +3 -3
  220. package/dest/kernel/private_validation_requests.js +9 -9
  221. package/dest/keys/derivation.d.ts +3 -3
  222. package/dest/keys/derivation.js +15 -15
  223. package/dest/keys/key_types.d.ts +3 -3
  224. package/dest/keys/key_types.d.ts.map +1 -1
  225. package/dest/keys/public_keys.js +2 -2
  226. package/dest/keys/utils.d.ts +1 -1
  227. package/dest/keys/utils.d.ts.map +1 -1
  228. package/dest/keys/utils.js +8 -4
  229. package/dest/kv-store/config.d.ts +17 -0
  230. package/dest/kv-store/config.d.ts.map +1 -0
  231. package/dest/kv-store/config.js +26 -0
  232. package/dest/kv-store/index.d.ts +2 -0
  233. package/dest/kv-store/index.d.ts.map +1 -0
  234. package/dest/kv-store/index.js +1 -0
  235. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  236. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  237. package/dest/l1-contracts/slash_factory.js +1 -0
  238. package/dest/logs/debug_log_store.d.ts +30 -0
  239. package/dest/logs/debug_log_store.d.ts.map +1 -0
  240. package/dest/logs/debug_log_store.js +30 -0
  241. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  242. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  243. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  244. package/dest/logs/extended_public_log.d.ts +13 -7
  245. package/dest/logs/extended_public_log.d.ts.map +1 -1
  246. package/dest/logs/index.d.ts +4 -2
  247. package/dest/logs/index.d.ts.map +1 -1
  248. package/dest/logs/index.js +3 -1
  249. package/dest/logs/log_filter.d.ts +4 -1
  250. package/dest/logs/log_filter.d.ts.map +1 -1
  251. package/dest/logs/log_filter.js +2 -1
  252. package/dest/logs/log_id.d.ts +17 -14
  253. package/dest/logs/log_id.d.ts.map +1 -1
  254. package/dest/logs/log_id.js +20 -17
  255. package/dest/logs/pre_tag.d.ts +16 -11
  256. package/dest/logs/pre_tag.d.ts.map +1 -1
  257. package/dest/logs/pre_tag.js +2 -2
  258. package/dest/logs/private_log.d.ts +2 -2
  259. package/dest/logs/private_log.d.ts.map +1 -1
  260. package/dest/logs/public_log.d.ts +4 -3
  261. package/dest/logs/public_log.d.ts.map +1 -1
  262. package/dest/logs/public_log.js +2 -1
  263. package/dest/logs/siloed_tag.d.ts +5 -3
  264. package/dest/logs/siloed_tag.d.ts.map +1 -1
  265. package/dest/logs/siloed_tag.js +8 -6
  266. package/dest/logs/tag.js +1 -1
  267. package/dest/logs/tagging_index_range.d.ts +40 -0
  268. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  269. package/dest/logs/tagging_index_range.js +8 -0
  270. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  271. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  272. package/dest/logs/tx_scoped_l2_log.js +7 -0
  273. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  274. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  275. package/dest/messaging/l1_to_l2_message.js +11 -13
  276. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  277. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  278. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  279. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  280. package/dest/messaging/l2_to_l1_membership.js +72 -29
  281. package/dest/noir/index.d.ts +3 -3
  282. package/dest/noir/index.d.ts.map +1 -1
  283. package/dest/note/index.d.ts +1 -2
  284. package/dest/note/index.d.ts.map +1 -1
  285. package/dest/note/index.js +0 -1
  286. package/dest/p2p/attestation_utils.d.ts +11 -1
  287. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  288. package/dest/p2p/attestation_utils.js +45 -0
  289. package/dest/p2p/block_proposal.d.ts +14 -7
  290. package/dest/p2p/block_proposal.d.ts.map +1 -1
  291. package/dest/p2p/block_proposal.js +3 -5
  292. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  293. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  294. package/dest/p2p/checkpoint_attestation.js +1 -1
  295. package/dest/p2p/checkpoint_proposal.d.ts +27 -13
  296. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  297. package/dest/p2p/checkpoint_proposal.js +41 -37
  298. package/dest/p2p/client_type.d.ts +2 -5
  299. package/dest/p2p/client_type.d.ts.map +1 -1
  300. package/dest/p2p/client_type.js +0 -7
  301. package/dest/p2p/consensus_payload.d.ts +12 -3
  302. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  303. package/dest/p2p/consensus_payload.js +22 -15
  304. package/dest/p2p/constants.d.ts +3 -1
  305. package/dest/p2p/constants.d.ts.map +1 -1
  306. package/dest/p2p/constants.js +1 -0
  307. package/dest/p2p/index.d.ts +1 -2
  308. package/dest/p2p/index.d.ts.map +1 -1
  309. package/dest/p2p/index.js +0 -1
  310. package/dest/p2p/message_validator.d.ts +18 -3
  311. package/dest/p2p/message_validator.d.ts.map +1 -1
  312. package/dest/p2p/message_validator.js +2 -1
  313. package/dest/p2p/peer_error.d.ts +3 -1
  314. package/dest/p2p/peer_error.d.ts.map +1 -1
  315. package/dest/p2p/peer_error.js +5 -0
  316. package/dest/p2p/topic_type.d.ts +3 -4
  317. package/dest/p2p/topic_type.d.ts.map +1 -1
  318. package/dest/p2p/topic_type.js +7 -24
  319. package/dest/proofs/chonk_proof.d.ts +46 -2
  320. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  321. package/dest/proofs/chonk_proof.js +85 -10
  322. package/dest/rollup/checkpoint_header.d.ts +2 -2
  323. package/dest/rollup/checkpoint_header.js +2 -2
  324. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  325. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  326. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  327. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  328. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  329. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  330. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  331. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  332. package/dest/slashing/empire.d.ts +1 -1
  333. package/dest/slashing/empire.d.ts.map +1 -1
  334. package/dest/slashing/empire.js +2 -0
  335. package/dest/slashing/helpers.d.ts +2 -2
  336. package/dest/slashing/helpers.d.ts.map +1 -1
  337. package/dest/slashing/helpers.js +6 -0
  338. package/dest/slashing/tally.d.ts +8 -2
  339. package/dest/slashing/tally.d.ts.map +1 -1
  340. package/dest/slashing/tally.js +35 -3
  341. package/dest/slashing/types.d.ts +7 -3
  342. package/dest/slashing/types.d.ts.map +1 -1
  343. package/dest/slashing/types.js +13 -1
  344. package/dest/stats/stats.d.ts +1 -3
  345. package/dest/stats/stats.d.ts.map +1 -1
  346. package/dest/tests/factories.d.ts +4 -4
  347. package/dest/tests/factories.d.ts.map +1 -1
  348. package/dest/tests/factories.js +22 -41
  349. package/dest/tests/jest.d.ts +4 -4
  350. package/dest/tests/jest.js +9 -9
  351. package/dest/tests/mocks.d.ts +21 -11
  352. package/dest/tests/mocks.d.ts.map +1 -1
  353. package/dest/tests/mocks.js +49 -33
  354. package/dest/timetable/index.d.ts +37 -0
  355. package/dest/timetable/index.d.ts.map +1 -0
  356. package/dest/timetable/index.js +39 -0
  357. package/dest/trees/public_data_leaf.d.ts +2 -1
  358. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  359. package/dest/trees/public_data_leaf.js +7 -6
  360. package/dest/tx/block_header.d.ts +5 -2
  361. package/dest/tx/block_header.d.ts.map +1 -1
  362. package/dest/tx/block_header.js +8 -3
  363. package/dest/tx/global_variables.d.ts +4 -4
  364. package/dest/tx/global_variables.d.ts.map +1 -1
  365. package/dest/tx/in_tx.d.ts +3 -3
  366. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  367. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  368. package/dest/tx/indexed_tx_effect.js +3 -2
  369. package/dest/tx/private_execution_result.d.ts +6 -6
  370. package/dest/tx/private_execution_result.d.ts.map +1 -1
  371. package/dest/tx/private_execution_result.js +6 -6
  372. package/dest/tx/profiling.d.ts +17 -5
  373. package/dest/tx/profiling.d.ts.map +1 -1
  374. package/dest/tx/profiling.js +15 -5
  375. package/dest/tx/protocol_contracts.d.ts +1 -1
  376. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  377. package/dest/tx/protocol_contracts.js +2 -2
  378. package/dest/tx/public_simulation_output.d.ts +4 -2
  379. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  380. package/dest/tx/public_simulation_output.js +7 -3
  381. package/dest/tx/simulated_tx.d.ts +113 -2
  382. package/dest/tx/simulated_tx.d.ts.map +1 -1
  383. package/dest/tx/simulated_tx.js +4 -1
  384. package/dest/tx/tx.d.ts +6 -5
  385. package/dest/tx/tx.d.ts.map +1 -1
  386. package/dest/tx/tx.js +18 -6
  387. package/dest/tx/tx_receipt.d.ts +63 -16
  388. package/dest/tx/tx_receipt.d.ts.map +1 -1
  389. package/dest/tx/tx_receipt.js +59 -17
  390. package/dest/tx/tx_request.js +2 -2
  391. package/dest/tx/validator/empty_validator.d.ts +2 -2
  392. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  393. package/dest/tx/validator/error_texts.d.ts +10 -2
  394. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  395. package/dest/tx/validator/error_texts.js +11 -1
  396. package/dest/tx/validator/tx_validator.d.ts +2 -2
  397. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  398. package/dest/update-checker/index.d.ts +3 -2
  399. package/dest/update-checker/index.d.ts.map +1 -1
  400. package/dest/update-checker/index.js +2 -1
  401. package/dest/update-checker/package_version.d.ts +3 -0
  402. package/dest/update-checker/package_version.d.ts.map +1 -0
  403. package/dest/update-checker/package_version.js +24 -0
  404. package/dest/update-checker/version_checker.d.ts +25 -0
  405. package/dest/update-checker/version_checker.d.ts.map +1 -0
  406. package/dest/update-checker/version_checker.js +50 -0
  407. package/dest/validators/errors.d.ts +6 -1
  408. package/dest/validators/errors.d.ts.map +1 -1
  409. package/dest/validators/errors.js +7 -0
  410. package/dest/validators/schemas.d.ts +30 -30
  411. package/dest/validators/schemas.d.ts.map +1 -1
  412. package/dest/validators/schemas.js +4 -3
  413. package/dest/validators/types.d.ts +3 -3
  414. package/dest/validators/types.d.ts.map +1 -1
  415. package/dest/versioning/versioning.d.ts +4 -2
  416. package/dest/versioning/versioning.d.ts.map +1 -1
  417. package/dest/versioning/versioning.js +4 -1
  418. package/package.json +26 -13
  419. package/src/abi/abi.ts +25 -2
  420. package/src/abi/buffer.ts +25 -4
  421. package/src/abi/decoder.ts +15 -6
  422. package/src/abi/encoder.ts +49 -6
  423. package/src/abi/event_metadata_definition.ts +2 -0
  424. package/src/abi/function_call.ts +25 -3
  425. package/src/abi/utils.ts +25 -0
  426. package/src/auth_witness/auth_witness.ts +3 -3
  427. package/src/avm/revert_code.ts +15 -0
  428. package/src/block/block_data.ts +26 -0
  429. package/src/block/block_hash.ts +26 -47
  430. package/src/block/block_parameter.ts +3 -3
  431. package/src/block/checkpointed_l2_block.ts +4 -4
  432. package/src/block/in_block.ts +8 -8
  433. package/src/block/index.ts +2 -1
  434. package/src/block/{l2_block_new.ts → l2_block.ts} +21 -13
  435. package/src/block/l2_block_source.ts +75 -35
  436. package/src/block/l2_block_stream/interfaces.ts +2 -2
  437. package/src/block/l2_block_stream/l2_block_stream.ts +26 -6
  438. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  439. package/src/block/test/l2_tips_store_test_suite.ts +4 -4
  440. package/src/checkpoint/checkpoint.ts +49 -22
  441. package/src/checkpoint/checkpoint_data.ts +51 -0
  442. package/src/checkpoint/index.ts +2 -0
  443. package/src/checkpoint/published_checkpoint.ts +3 -1
  444. package/src/checkpoint/validate.ts +230 -0
  445. package/src/config/index.ts +2 -0
  446. package/src/config/node-rpc-config.ts +1 -1
  447. package/src/config/pipelining-config.ts +31 -0
  448. package/src/config/sequencer-config.ts +37 -0
  449. package/src/contract/contract_address.ts +7 -7
  450. package/src/contract/contract_class.ts +3 -3
  451. package/src/contract/contract_class_id.ts +7 -6
  452. package/src/contract/index.ts +0 -2
  453. package/src/contract/interfaces/contract_class.ts +2 -82
  454. package/src/contract/interfaces/node-info.ts +3 -0
  455. package/src/contract/private_function.ts +3 -4
  456. package/src/database-version/database_version.ts +87 -0
  457. package/src/database-version/version_manager.ts +1 -77
  458. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  459. package/src/epoch-helpers/index.ts +27 -1
  460. package/src/file-store/local.ts +15 -5
  461. package/src/file-store/s3.ts +12 -3
  462. package/src/gas/README.md +123 -0
  463. package/src/gas/gas_fees.ts +7 -1
  464. package/src/ha-signing/config.ts +156 -0
  465. package/src/ha-signing/index.ts +27 -0
  466. package/src/ha-signing/local_config.ts +46 -0
  467. package/src/ha-signing/types.ts +112 -0
  468. package/src/hash/hash.ts +43 -10
  469. package/src/hash/map_slot.ts +3 -2
  470. package/src/interfaces/allowed_element.ts +29 -9
  471. package/src/interfaces/archiver.ts +25 -27
  472. package/src/interfaces/aztec-node-admin.ts +26 -2
  473. package/src/interfaces/aztec-node.ts +92 -117
  474. package/src/interfaces/block-builder.ts +71 -14
  475. package/src/interfaces/configs.ts +37 -11
  476. package/src/interfaces/l2_logs_source.ts +4 -1
  477. package/src/interfaces/merkle_tree_operations.ts +9 -19
  478. package/src/interfaces/p2p.ts +3 -14
  479. package/src/interfaces/prover-broker.ts +22 -0
  480. package/src/interfaces/prover-client.ts +30 -0
  481. package/src/interfaces/slasher.ts +4 -0
  482. package/src/interfaces/tx_provider.ts +2 -2
  483. package/src/interfaces/validator.ts +59 -29
  484. package/src/interfaces/world_state.ts +4 -3
  485. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  486. package/src/kernel/hints/build_nullifier_read_request_hints.ts +16 -28
  487. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  488. package/src/kernel/hints/index.ts +2 -2
  489. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  490. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  491. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  492. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  493. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  494. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  495. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  496. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  497. package/src/kernel/private_validation_requests.ts +8 -8
  498. package/src/keys/derivation.ts +15 -15
  499. package/src/keys/key_types.ts +6 -2
  500. package/src/keys/public_keys.ts +2 -2
  501. package/src/keys/utils.ts +8 -4
  502. package/src/kv-store/config.ts +36 -0
  503. package/src/kv-store/index.ts +1 -0
  504. package/src/l1-contracts/slash_factory.ts +1 -0
  505. package/src/logs/debug_log_store.ts +54 -0
  506. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  507. package/src/logs/index.ts +3 -1
  508. package/src/logs/log_filter.ts +5 -0
  509. package/src/logs/log_id.ts +22 -18
  510. package/src/logs/pre_tag.ts +5 -5
  511. package/src/logs/public_log.ts +4 -2
  512. package/src/logs/siloed_tag.ts +10 -4
  513. package/src/logs/tag.ts +1 -1
  514. package/src/logs/tagging_index_range.ts +24 -0
  515. package/src/logs/tx_scoped_l2_log.ts +16 -0
  516. package/src/messaging/l1_to_l2_message.ts +12 -9
  517. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  518. package/src/messaging/l2_to_l1_membership.ts +101 -36
  519. package/src/noir/index.ts +2 -2
  520. package/src/note/index.ts +0 -1
  521. package/src/p2p/attestation_utils.ts +56 -0
  522. package/src/p2p/block_proposal.ts +13 -8
  523. package/src/p2p/checkpoint_attestation.ts +6 -1
  524. package/src/p2p/checkpoint_proposal.ts +76 -51
  525. package/src/p2p/client_type.ts +0 -6
  526. package/src/p2p/consensus_payload.ts +25 -12
  527. package/src/p2p/constants.ts +3 -0
  528. package/src/p2p/index.ts +0 -1
  529. package/src/p2p/message_validator.ts +14 -2
  530. package/src/p2p/peer_error.ts +7 -0
  531. package/src/p2p/topic_type.ts +8 -15
  532. package/src/proofs/chonk_proof.ts +91 -5
  533. package/src/rollup/checkpoint_header.ts +2 -2
  534. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  535. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  536. package/src/slashing/empire.ts +3 -1
  537. package/src/slashing/helpers.ts +8 -0
  538. package/src/slashing/tally.ts +41 -2
  539. package/src/slashing/types.ts +14 -0
  540. package/src/stats/stats.ts +0 -2
  541. package/src/tests/factories.ts +27 -51
  542. package/src/tests/jest.ts +9 -9
  543. package/src/tests/mocks.ts +71 -36
  544. package/src/timetable/index.ts +66 -0
  545. package/src/trees/public_data_leaf.ts +11 -5
  546. package/src/tx/block_header.ts +14 -5
  547. package/src/tx/global_variables.ts +3 -3
  548. package/src/tx/indexed_tx_effect.ts +3 -2
  549. package/src/tx/private_execution_result.ts +5 -5
  550. package/src/tx/profiling.ts +14 -5
  551. package/src/tx/protocol_contracts.ts +2 -2
  552. package/src/tx/public_simulation_output.ts +4 -0
  553. package/src/tx/simulated_tx.ts +8 -1
  554. package/src/tx/tx.ts +20 -11
  555. package/src/tx/tx_receipt.ts +91 -19
  556. package/src/tx/tx_request.ts +2 -2
  557. package/src/tx/validator/empty_validator.ts +1 -1
  558. package/src/tx/validator/error_texts.ts +13 -1
  559. package/src/tx/validator/tx_validator.ts +1 -1
  560. package/src/update-checker/index.ts +2 -1
  561. package/src/update-checker/package_version.ts +30 -0
  562. package/src/update-checker/version_checker.ts +65 -0
  563. package/src/validators/errors.ts +9 -0
  564. package/src/validators/schemas.ts +8 -1
  565. package/src/validators/types.ts +5 -4
  566. package/src/versioning/versioning.ts +4 -1
  567. package/dest/block/l2_block_new.d.ts.map +0 -1
  568. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  569. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  570. package/dest/contract/private_function_membership_proof.js +0 -124
  571. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  572. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  573. package/dest/contract/utility_function_membership_proof.js +0 -87
  574. package/dest/database-version/index.d.ts +0 -2
  575. package/dest/database-version/index.d.ts.map +0 -1
  576. package/dest/database-version/index.js +0 -1
  577. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  578. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  579. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  580. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  581. package/dest/note/notes_filter.d.ts +0 -27
  582. package/dest/note/notes_filter.d.ts.map +0 -1
  583. package/dest/note/notes_filter.js +0 -11
  584. package/dest/update-checker/update-checker.d.ts +0 -49
  585. package/dest/update-checker/update-checker.d.ts.map +0 -1
  586. package/dest/update-checker/update-checker.js +0 -130
  587. package/src/contract/private_function_membership_proof.ts +0 -167
  588. package/src/contract/utility_function_membership_proof.ts +0 -118
  589. package/src/database-version/index.ts +0 -1
  590. package/src/note/notes_filter.ts +0 -38
  591. package/src/update-checker/update-checker.ts +0 -166
@@ -1,16 +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
+ CheckpointNumber,
13
8
  CheckpointNumberPositiveSchema,
9
+ CheckpointNumberSchema,
14
10
  EpochNumber,
15
11
  EpochNumberSchema,
16
12
  type SlotNumber,
@@ -23,11 +19,13 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
23
19
  import { z } from 'zod';
24
20
 
25
21
  import type { AztecAddress } from '../aztec-address/index.js';
22
+ import { BlockHash } from '../block/block_hash.js';
26
23
  import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
27
24
  import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
28
25
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
29
- import { L2BlockNew } from '../block/l2_block_new.js';
26
+ import { L2Block } from '../block/l2_block.js';
30
27
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
28
+ import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
31
29
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
32
30
  import {
33
31
  type ContractClassPublic,
@@ -78,12 +76,11 @@ export interface AztecNode
78
76
  extends Pick<
79
77
  L2BlockSource,
80
78
  | 'getBlocks'
81
- | 'getL2BlocksNew'
82
- | 'getPublishedBlocks'
83
- | 'getPublishedCheckpoints'
79
+ | 'getCheckpoints'
84
80
  | 'getBlockHeader'
85
81
  | 'getL2Tips'
86
82
  | 'getCheckpointedBlocks'
83
+ | 'getCheckpointsDataForEpoch'
87
84
  > {
88
85
  /**
89
86
  * Returns the tips of the L2 chain.
@@ -98,124 +95,100 @@ export interface AztecNode
98
95
  /**
99
96
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
100
97
  * the leaves were inserted.
101
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
98
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
102
99
  * @param treeId - The tree to search in.
103
100
  * @param leafValues - The values to search for.
104
101
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
105
102
  */
106
103
  findLeavesIndexes(
107
- block: BlockParameter,
104
+ referenceBlock: BlockParameter,
108
105
  treeId: MerkleTreeId,
109
106
  leafValues: Fr[],
110
107
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
111
108
 
112
- /**
113
- * Returns a sibling path for the given index in the nullifier tree.
114
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
115
- * @param leafIndex - The index of the leaf for which the sibling path is required.
116
- * @returns The sibling path for the leaf index.
117
- */
118
- getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
119
-
120
- /**
121
- * Returns a sibling path for the given index in the note hash tree.
122
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
123
- * @param leafIndex - The index of the leaf for which the sibling path is required.
124
- * @returns The sibling path for the leaf index.
125
- */
126
- getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
127
-
128
- /**
129
- * Returns a sibling path for a leaf in the committed historic blocks tree.
130
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
131
- * @param leafIndex - Index of the leaf in the tree.
132
- * @returns The sibling path.
133
- */
134
- getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
135
-
136
- /**
137
- * Returns a sibling path for a leaf in the committed public data tree.
138
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
139
- * @param leafIndex - Index of the leaf in the tree.
140
- * @returns The sibling path.
141
- */
142
- getPublicDataSiblingPath(
143
- block: BlockParameter,
144
- leafIndex: bigint,
145
- ): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
146
-
147
109
  /**
148
110
  * Returns a nullifier membership witness for a given nullifier at a given block.
149
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
111
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
150
112
  * @param nullifier - Nullifier we try to find witness for.
151
113
  * @returns The nullifier membership witness (if found).
152
114
  */
153
- getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
115
+ getNullifierMembershipWitness(
116
+ referenceBlock: BlockParameter,
117
+ nullifier: Fr,
118
+ ): Promise<NullifierMembershipWitness | undefined>;
154
119
 
155
120
  /**
156
121
  * Returns a low nullifier membership witness for a given nullifier at a given block.
157
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
122
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
158
123
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
159
124
  * @returns The low nullifier membership witness (if found).
125
+ * @throws If the nullifier already exists in the tree, since non-inclusion cannot be proven.
160
126
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
161
127
  * list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
162
128
  * we are trying to prove non-inclusion for.
163
129
  */
164
130
  getLowNullifierMembershipWitness(
165
- block: BlockParameter,
131
+ referenceBlock: BlockParameter,
166
132
  nullifier: Fr,
167
133
  ): Promise<NullifierMembershipWitness | undefined>;
168
134
 
169
135
  /**
170
136
  * Returns a public data tree witness for a given leaf slot at a given block.
171
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
137
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
172
138
  * @param leafSlot - The leaf slot we try to find the witness for.
173
139
  * @returns The public data witness (if found).
174
140
  * @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
175
141
  * "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
176
142
  * is contained in the leaf preimage.
177
143
  */
178
- getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
144
+ getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
179
145
 
180
146
  /**
181
- * Returns a membership witness for a given archive leaf at a given block.
182
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
183
- * @param archive - The archive leaf we try to find the witness for.
147
+ * Returns a membership witness for a given block hash in the archive tree.
148
+ *
149
+ * Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
150
+ * its block hash is appended as a new leaf to the archive tree. This method finds the membership
151
+ * witness (leaf index and sibling path) for a given block hash, which can be used to prove that
152
+ * a specific block exists in the chain's history.
153
+ *
154
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
155
+ * (which contains the root of the archive tree in which we are searching for the block hash).
156
+ * @param blockHash - The block hash to find in the archive tree.
184
157
  */
185
- getArchiveMembershipWitness(
186
- block: BlockParameter,
187
- archive: Fr,
158
+ getBlockHashMembershipWitness(
159
+ referenceBlock: BlockParameter,
160
+ blockHash: BlockHash,
188
161
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
189
162
 
190
163
  /**
191
164
  * Returns a membership witness for a given note hash at a given block.
192
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
165
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
193
166
  * @param noteHash - The note hash we try to find the witness for.
194
167
  */
195
168
  getNoteHashMembershipWitness(
196
- block: BlockParameter,
169
+ referenceBlock: BlockParameter,
197
170
  noteHash: Fr,
198
171
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
199
172
 
200
173
  /**
201
174
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
202
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
175
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
203
176
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
204
177
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
205
178
  */
206
179
  getL1ToL2MessageMembershipWitness(
207
- block: BlockParameter,
180
+ referenceBlock: BlockParameter,
208
181
  l1ToL2Message: Fr,
209
182
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
210
183
 
211
- /** Returns the L2 block number in which this L1 to L2 message becomes available, or undefined if not found. */
212
- getL1ToL2MessageBlock(l1ToL2Message: Fr): Promise<BlockNumber | undefined>;
184
+ /** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
185
+ getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
213
186
 
214
187
  /**
215
188
  * Returns whether an L1 to L2 message is synced by archiver.
216
189
  * @param l1ToL2Message - The L1 to L2 message to check.
217
190
  * @returns Whether the message is synced.
218
- * @deprecated Use `getL1ToL2MessageBlock` instead. This method may return true even if the message is not ready to use.
191
+ * @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
219
192
  */
220
193
  isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
221
194
 
@@ -229,24 +202,24 @@ export interface AztecNode
229
202
 
230
203
  /**
231
204
  * Get a block specified by its block number or 'latest'.
232
- * @param number - The block number or 'latest'.
205
+ * @param blockParameter - The block parameter (block number, block hash, or 'latest').
233
206
  * @returns The requested block.
234
207
  */
235
- getBlock(number: BlockParameter): Promise<L2BlockNew | undefined>;
208
+ getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
236
209
 
237
210
  /**
238
211
  * Get a block specified by its hash.
239
212
  * @param blockHash - The block hash being requested.
240
213
  * @returns The requested block.
241
214
  */
242
- getBlockByHash(blockHash: Fr): Promise<L2BlockNew | undefined>;
215
+ getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
243
216
 
244
217
  /**
245
218
  * Get a block specified by its archive root.
246
219
  * @param archive - The archive root being requested.
247
220
  * @returns The requested block.
248
221
  */
249
- getBlockByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
222
+ getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
250
223
 
251
224
  /**
252
225
  * Method to fetch the latest block number synchronized by the node.
@@ -260,6 +233,18 @@ export interface AztecNode
260
233
  */
261
234
  getProvenBlockNumber(): Promise<BlockNumber>;
262
235
 
236
+ /**
237
+ * Fetches the latest checkpointed block number.
238
+ * @returns The block number.
239
+ */
240
+ getCheckpointedBlockNumber(): Promise<BlockNumber>;
241
+
242
+ /**
243
+ * Method to fetch the latest checkpoint number synchronized by the node.
244
+ * @returns The checkpoint number.
245
+ */
246
+ getCheckpointNumber(): Promise<CheckpointNumber>;
247
+
263
248
  /**
264
249
  * Method to determine if the node is ready to accept transactions.
265
250
  * @returns - Flag indicating the readiness for tx submission.
@@ -279,7 +264,7 @@ export interface AztecNode
279
264
  * @param limit - The maximum number of blocks to return.
280
265
  * @returns The blocks requested.
281
266
  */
282
- getBlocks(from: BlockNumber, limit: number): Promise<L2BlockNew[]>;
267
+ getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
283
268
 
284
269
  /**
285
270
  * Method to fetch the current min fees.
@@ -347,10 +332,14 @@ export interface AztecNode
347
332
  * array implies no logs match that tag.
348
333
  * @param tags - The tags to search for.
349
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.
350
339
  * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
351
340
  * for a tag, the caller should fetch the next page to check for more logs.
352
341
  */
353
- getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
342
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
354
343
 
355
344
  /**
356
345
  * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
@@ -358,6 +347,10 @@ export interface AztecNode
358
347
  * @param contractAddress - The contract address to search logs for.
359
348
  * @param tags - The tags to search for.
360
349
  * @param page - The page number (0-indexed) for pagination.
350
+ * @param referenceBlock - Optional block hash used to ensure the block still exists before logs are retrieved.
351
+ * This block is expected to represent the latest block to which the client has synced (called anchor block in PXE).
352
+ * If specified and the block is not found, an error is thrown. This helps detect reorgs, which could result in
353
+ * undefined behavior in the client's code.
361
354
  * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
362
355
  * for a tag, the caller should fetch the next page to check for more logs.
363
356
  */
@@ -365,6 +358,7 @@ export interface AztecNode
365
358
  contractAddress: AztecAddress,
366
359
  tags: Tag[],
367
360
  page?: number,
361
+ referenceBlock?: BlockHash,
368
362
  ): Promise<TxScopedL2Log[][]>;
369
363
 
370
364
  /**
@@ -423,12 +417,12 @@ export interface AztecNode
423
417
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
424
418
  * Aztec's version of `eth_getStorageAt`.
425
419
  *
426
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
420
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
427
421
  * @param contract - Address of the contract to query.
428
422
  * @param slot - Slot to query.
429
423
  * @returns Storage value at the given contract slot.
430
424
  */
431
- getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
425
+ getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
432
426
 
433
427
  /**
434
428
  * Returns the block header for a given block number, block hash, or 'latest'.
@@ -464,7 +458,7 @@ export interface AztecNode
464
458
  /**
465
459
  * Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
466
460
  * made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
467
- * due to e.g. the include_by_timestamp property.
461
+ * due to e.g. the expiration_timestamp property.
468
462
  * @param tx - The transaction to validate for correctness.
469
463
  * @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
470
464
  * @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
@@ -508,26 +502,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
508
502
  .args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
509
503
  .returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
510
504
 
511
- getNullifierSiblingPath: z
512
- .function()
513
- .args(BlockParameterSchema, schemas.BigInt)
514
- .returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
515
-
516
- getNoteHashSiblingPath: z
517
- .function()
518
- .args(BlockParameterSchema, schemas.BigInt)
519
- .returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
520
-
521
- getArchiveSiblingPath: z
522
- .function()
523
- .args(BlockParameterSchema, schemas.BigInt)
524
- .returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
525
-
526
- getPublicDataSiblingPath: z
527
- .function()
528
- .args(BlockParameterSchema, schemas.BigInt)
529
- .returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
530
-
531
505
  getNullifierMembershipWitness: z
532
506
  .function()
533
507
  .args(BlockParameterSchema, schemas.Fr)
@@ -543,9 +517,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
543
517
  .args(BlockParameterSchema, schemas.Fr)
544
518
  .returns(PublicDataWitness.schema.optional()),
545
519
 
546
- getArchiveMembershipWitness: z
520
+ getBlockHashMembershipWitness: z
547
521
  .function()
548
- .args(BlockParameterSchema, schemas.Fr)
522
+ .args(BlockParameterSchema, BlockHash.schema)
549
523
  .returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
550
524
 
551
525
  getNoteHashMembershipWitness: z
@@ -558,7 +532,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
558
532
  .args(BlockParameterSchema, schemas.Fr)
559
533
  .returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
560
534
 
561
- getL1ToL2MessageBlock: z.function().args(schemas.Fr).returns(BlockNumberSchema.optional()),
535
+ getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
562
536
 
563
537
  isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
564
538
 
@@ -567,16 +541,20 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
567
541
  .args(EpochNumberSchema)
568
542
  .returns(z.array(z.array(z.array(z.array(schemas.Fr))))),
569
543
 
570
- getBlock: z.function().args(BlockParameterSchema).returns(L2BlockNew.schema.optional()),
544
+ getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
571
545
 
572
- getBlockByHash: z.function().args(schemas.Fr).returns(L2BlockNew.schema.optional()),
546
+ getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
573
547
 
574
- getBlockByArchive: z.function().args(schemas.Fr).returns(L2BlockNew.schema.optional()),
548
+ getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
575
549
 
576
550
  getBlockNumber: z.function().returns(BlockNumberSchema),
577
551
 
552
+ getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
553
+
578
554
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
579
555
 
556
+ getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
557
+
580
558
  isReady: z.function().returns(z.boolean()),
581
559
 
582
560
  getNodeInfo: z.function().returns(NodeInfoSchema),
@@ -584,28 +562,20 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
584
562
  getBlocks: z
585
563
  .function()
586
564
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
587
- .returns(z.array(L2BlockNew.schema)),
565
+ .returns(z.array(L2Block.schema)),
588
566
 
589
- getPublishedBlocks: z
590
- .function()
591
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
592
- .returns(z.array(CheckpointedL2Block.schema)),
593
-
594
- getPublishedCheckpoints: z
567
+ getCheckpoints: z
595
568
  .function()
596
569
  .args(CheckpointNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_CHECKPOINTS_LEN))
597
570
  .returns(z.array(PublishedCheckpoint.schema)),
598
571
 
599
- getL2BlocksNew: z
600
- .function()
601
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
602
- .returns(z.array(L2BlockNew.schema)),
603
-
604
572
  getCheckpointedBlocks: z
605
573
  .function()
606
- .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN), optional(z.boolean()))
574
+ .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
607
575
  .returns(z.array(CheckpointedL2Block.schema)),
608
576
 
577
+ getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
578
+
609
579
  getCurrentMinFees: z.function().returns(GasFees.schema),
610
580
 
611
581
  getMaxPriorityFees: z.function().returns(GasFees.schema),
@@ -631,12 +601,17 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
631
601
 
632
602
  getPrivateLogsByTags: z
633
603
  .function()
634
- .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)))
604
+ .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
635
605
  .returns(z.array(z.array(TxScopedL2Log.schema))),
636
606
 
637
607
  getPublicLogsByTagsFromContract: z
638
608
  .function()
639
- .args(schemas.AztecAddress, z.array(Tag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)))
609
+ .args(
610
+ schemas.AztecAddress,
611
+ z.array(Tag.schema).max(MAX_RPC_LEN),
612
+ optional(z.number().gte(0)),
613
+ optional(BlockHash.schema),
614
+ )
640
615
  .returns(z.array(z.array(TxScopedL2Log.schema))),
641
616
 
642
617
  sendTx: z.function().args(Tx.schema).returns(z.void()),
@@ -1,7 +1,8 @@
1
1
  import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { LoggerBindings } from '@aztec/foundation/log';
3
4
 
4
- import type { L2BlockNew } from '../block/l2_block_new.js';
5
+ import type { L2Block } from '../block/l2_block.js';
5
6
  import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
6
7
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
7
8
  import type { Gas } from '../gas/gas.js';
@@ -31,54 +32,108 @@ export interface IBlockFactory extends ProcessedTxHandler {
31
32
  /**
32
33
  * Assembles the block and updates the archive tree.
33
34
  */
34
- setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2BlockNew>;
35
+ setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2Block>;
35
36
  }
36
37
 
37
- export interface PublicProcessorLimits {
38
+ /** Limits passed to the public processor for tx processing within a block. */
39
+ export type PublicProcessorLimits = {
40
+ /** Maximum number of txs to process. */
38
41
  maxTransactions?: number;
39
- maxBlockSize?: number;
42
+ /** L2 and DA gas limits. */
40
43
  maxBlockGas?: Gas;
44
+ /** Maximum number of blob fields allowed. */
41
45
  maxBlobFields?: number;
46
+ /** Deadline for processing the txs. Processor will stop as soon as it hits this time. */
42
47
  deadline?: Date;
43
- }
48
+ /** Whether this processor is building a proposal (as opposed to re-executing one). Skipping txs due to gas or blob limits is only done during proposal building. */
49
+ isBuildingProposal?: boolean;
50
+ };
51
+
52
+ /** Base fields shared by both proposer and validator block builder options. */
53
+ type BlockBuilderOptionsBase = PublicProcessorLimits & {
54
+ /** Minimum number of successfully processed txs required. Block is rejected if fewer succeed. */
55
+ minValidTxs: number;
56
+ };
57
+
58
+ /** Proposer mode: redistribution params are required. */
59
+ type ProposerBlockBuilderOptions = BlockBuilderOptionsBase & {
60
+ isBuildingProposal: true;
61
+ /** Maximum number of blocks per checkpoint, derived from the timetable. */
62
+ maxBlocksPerCheckpoint: number;
63
+ /** Per-block gas budget multiplier. Budget = (remaining / remainingBlocks) * multiplier. */
64
+ perBlockAllocationMultiplier: number;
65
+ };
66
+
67
+ /** Validator mode: no redistribution params needed. */
68
+ type ValidatorBlockBuilderOptions = BlockBuilderOptionsBase & {
69
+ isBuildingProposal: false;
70
+ };
71
+
72
+ /** Options for building a block within a checkpoint. When proposing, redistribution params are required. */
73
+ export type BlockBuilderOptions = ProposerBlockBuilderOptions | ValidatorBlockBuilderOptions;
44
74
 
45
75
  export interface PublicProcessorValidator {
46
76
  preprocessValidator?: TxValidator<Tx>;
47
77
  nullifierCache?: { addNullifiers: (nullifiers: Buffer[]) => void };
48
78
  }
49
79
 
50
- export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
80
+ export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'rollupManaLimit'> &
51
81
  Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
52
- Pick<SequencerConfig, 'txPublicSetupAllowList' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount'>;
82
+ Pick<
83
+ SequencerConfig,
84
+ | 'txPublicSetupAllowListExtend'
85
+ | 'fakeProcessingDelayPerTxMs'
86
+ | 'fakeThrowAfterProcessingTxCount'
87
+ | 'maxTxsPerBlock'
88
+ | 'maxTxsPerCheckpoint'
89
+ | 'maxL2BlockGas'
90
+ | 'maxDABlockGas'
91
+ >;
53
92
 
54
93
  export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[] = [
55
94
  'l1GenesisTime',
56
95
  'slotDuration',
57
96
  'l1ChainId',
58
97
  'rollupVersion',
59
- 'txPublicSetupAllowList',
98
+ 'txPublicSetupAllowListExtend',
60
99
  'fakeProcessingDelayPerTxMs',
61
100
  'fakeThrowAfterProcessingTxCount',
101
+ 'maxTxsPerBlock',
102
+ 'maxTxsPerCheckpoint',
103
+ 'maxL2BlockGas',
104
+ 'maxDABlockGas',
105
+ 'rollupManaLimit',
62
106
  ] as const;
63
107
 
108
+ /** Thrown when the number of successfully processed transactions is below the required minimum. */
109
+ export class InsufficientValidTxsError extends Error {
110
+ constructor(
111
+ public readonly processedCount: number,
112
+ public readonly minRequired: number,
113
+ public readonly failedTxs: FailedTx[],
114
+ ) {
115
+ super(`Insufficient valid txs: got ${processedCount} but need ${minRequired}`);
116
+ this.name = 'InsufficientValidTxsError';
117
+ }
118
+ }
119
+
64
120
  /** Result of building a block within a checkpoint. */
65
- export interface BuildBlockInCheckpointResult {
66
- block: L2BlockNew;
67
- publicGas: Gas;
121
+ export type BuildBlockInCheckpointResult = {
122
+ block: L2Block;
68
123
  publicProcessorDuration: number;
69
124
  numTxs: number;
70
125
  failedTxs: FailedTx[];
71
126
  usedTxs: Tx[];
72
- usedTxBlobFields: number;
73
- }
127
+ };
74
128
 
75
129
  /** Interface for building blocks within a checkpoint context. */
76
130
  export interface ICheckpointBlockBuilder {
131
+ /** Builds a single block within this checkpoint. Throws InsufficientValidTxsError if fewer than minValidTxs succeed. */
77
132
  buildBlock(
78
133
  pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
79
134
  blockNumber: BlockNumber,
80
135
  timestamp: bigint,
81
- opts: PublicProcessorLimits,
136
+ opts: BlockBuilderOptions,
82
137
  ): Promise<BuildBlockInCheckpointResult>;
83
138
  }
84
139
 
@@ -89,8 +144,10 @@ export interface ICheckpointsBuilder {
89
144
  startCheckpoint(
90
145
  checkpointNumber: CheckpointNumber,
91
146
  constants: CheckpointGlobalVariables,
147
+ feeAssetPriceModifier: bigint,
92
148
  l1ToL2Messages: Fr[],
93
149
  previousCheckpointOutHashes: Fr[],
94
150
  fork: MerkleTreeWriteOperations,
151
+ bindings?: LoggerBindings,
95
152
  ): Promise<ICheckpointBlockBuilder>;
96
153
  }