@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
@@ -13,6 +13,7 @@ import type { TypedEventEmitter } from '@aztec/foundation/types';
13
13
  import { z } from 'zod';
14
14
 
15
15
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
16
+ import type { CheckpointData } from '../checkpoint/checkpoint_data.js';
16
17
  import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
17
18
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
18
19
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
@@ -20,8 +21,10 @@ import type { BlockHeader } from '../tx/block_header.js';
20
21
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
21
22
  import type { TxHash } from '../tx/tx_hash.js';
22
23
  import type { TxReceipt } from '../tx/tx_receipt.js';
24
+ import type { BlockData } from './block_data.js';
25
+ import type { BlockHash } from './block_hash.js';
23
26
  import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
24
- import type { L2BlockNew } from './l2_block_new.js';
27
+ import type { L2Block } from './l2_block.js';
25
28
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
26
29
 
27
30
  /**
@@ -46,12 +49,31 @@ export interface L2BlockSource {
46
49
  */
47
50
  getBlockNumber(): Promise<BlockNumber>;
48
51
 
52
+ /**
53
+ * Gets the number of the latest L2 checkpoint processed by the block source implementation.
54
+ * @returns The number of the latest L2 checkpoint processed by the block source implementation.
55
+ */
56
+ getCheckpointNumber(): Promise<CheckpointNumber>;
57
+
49
58
  /**
50
59
  * Gets the number of the latest L2 block proven seen by the block source implementation.
51
60
  * @returns The number of the latest L2 block proven seen by the block source implementation.
52
61
  */
53
62
  getProvenBlockNumber(): Promise<BlockNumber>;
54
63
 
64
+ /**
65
+ * Gets the number of the latest L2 block checkpointed seen by the block source implementation.
66
+ * @returns The number of the latest L2 block checkpointed seen by the block source implementation.
67
+ */
68
+ getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
69
+
70
+ /**
71
+ * Returns the finalized L2 block number. A block is finalized when it was proven
72
+ * in an L1 block that has itself been finalized on Ethereum.
73
+ * @returns The finalized block number.
74
+ */
75
+ getFinalizedL2BlockNumber(): Promise<BlockNumber>;
76
+
55
77
  /**
56
78
  * Gets an l2 block header.
57
79
  * @param number - The block number to return or 'latest' for the most recent one.
@@ -67,15 +89,15 @@ export interface L2BlockSource {
67
89
  */
68
90
  getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
69
91
 
70
- getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
92
+ getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
71
93
 
72
94
  /**
73
- * Retrieves a collection of published checkpoints
74
- * @param checkpointNumber The first checkpoint to be retrieved
75
- * @param limit The number of checkpoints to be retrieved
76
- * @returns The collection of complete checkpoints
95
+ * Retrieves a collection of checkpoints.
96
+ * @param checkpointNumber The first checkpoint to be retrieved.
97
+ * @param limit The number of checkpoints to be retrieved.
98
+ * @returns The collection of complete checkpoints.
77
99
  */
78
- getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
100
+ getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
79
101
 
80
102
  /**
81
103
  * Gets the checkpoints for a given epoch
@@ -83,12 +105,18 @@ export interface L2BlockSource {
83
105
  */
84
106
  getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
85
107
 
108
+ /**
109
+ * Gets lightweight checkpoint metadata for a given epoch, without fetching full block data.
110
+ * @param epochNumber - Epoch for which we want checkpoint data
111
+ */
112
+ getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
113
+
86
114
  /**
87
115
  * Gets a block header by its hash.
88
116
  * @param blockHash - The block hash to retrieve.
89
117
  * @returns The requested block header (or undefined if not found).
90
118
  */
91
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
119
+ getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
92
120
 
93
121
  /**
94
122
  * Gets a block header by its archive root.
@@ -97,26 +125,40 @@ export interface L2BlockSource {
97
125
  */
98
126
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
99
127
 
128
+ /**
129
+ * Gets block metadata (without tx data) by block number.
130
+ * @param number - The block number to retrieve.
131
+ * @returns The requested block data (or undefined if not found).
132
+ */
133
+ getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
134
+
135
+ /**
136
+ * Gets block metadata (without tx data) by archive root.
137
+ * @param archive - The archive root to retrieve.
138
+ * @returns The requested block data (or undefined if not found).
139
+ */
140
+ getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
141
+
100
142
  /**
101
143
  * Gets an L2 block by block number.
102
144
  * @param number - The block number to return.
103
145
  * @returns The requested L2 block (or undefined if not found).
104
146
  */
105
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
147
+ getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
106
148
 
107
149
  /**
108
150
  * Gets an L2 block by its hash.
109
151
  * @param blockHash - The block hash to retrieve.
110
152
  * @returns The requested L2 block (or undefined if not found).
111
153
  */
112
- getL2BlockNewByHash(blockHash: Fr): Promise<L2BlockNew | undefined>;
154
+ getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
113
155
 
114
156
  /**
115
157
  * Gets an L2 block by its archive root.
116
158
  * @param archive - The archive root to retrieve.
117
159
  * @returns The requested L2 block (or undefined if not found).
118
160
  */
119
- getL2BlockNewByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
161
+ getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
120
162
 
121
163
  /**
122
164
  * Gets a tx effect.
@@ -133,21 +175,25 @@ export interface L2BlockSource {
133
175
  getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
134
176
 
135
177
  /**
136
- * Returns the current L2 slot number based on the currently synced L1 timestamp.
178
+ * Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
179
+ * Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
180
+ * The checkpoint signal handles missed L1 blocks, since a published checkpoint seals the message tree
181
+ * for the next checkpoint via the inbox LAG mechanism.
137
182
  */
138
- getL2SlotNumber(): Promise<SlotNumber | undefined>;
183
+ getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
139
184
 
140
185
  /**
141
- * Returns the current L2 epoch number based on the currently synced L1 timestamp.
186
+ * Returns the last L2 epoch number that has been fully synchronized from L1.
187
+ * An epoch is fully synced when all its L2 slots have been fully synced.
142
188
  */
143
- getL2EpochNumber(): Promise<EpochNumber | undefined>;
189
+ getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
144
190
 
145
191
  /**
146
- * Returns all block headers for a given epoch.
192
+ * Returns all checkpointed block headers for a given epoch.
147
193
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
148
194
  * @param epochNumber - The epoch number to return headers for.
149
195
  */
150
- getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
196
+ getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
151
197
 
152
198
  /**
153
199
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
@@ -193,49 +239,43 @@ export interface L2BlockSource {
193
239
  * @param number - The block number to return (inclusive).
194
240
  * @returns The requested L2 block.
195
241
  */
196
- getBlock(number: BlockNumber): Promise<L2BlockNew | undefined>;
197
-
198
- getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
242
+ getBlock(number: BlockNumber): Promise<L2Block | undefined>;
199
243
 
200
244
  /**
201
- * Returns all blocks for a given epoch.
245
+ * Returns all checkpointed blocks for a given epoch.
202
246
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
203
247
  * @param epochNumber - The epoch number to return blocks for.
204
248
  */
205
- getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2BlockNew[]>;
249
+ getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
206
250
 
207
251
  /**
208
252
  * Returns all blocks for a given slot.
209
253
  * @dev Use this method only with recent slots, since it walks the block list backwards.
210
254
  * @param slotNumber - The slot number to return blocks for.
211
255
  */
212
- getBlocksForSlot(slotNumber: SlotNumber): Promise<L2BlockNew[]>;
256
+ getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
213
257
 
214
258
  /**
215
- * Gets a published block by its block hash.
259
+ * Gets a checkpointed block by its block hash.
216
260
  * @param blockHash - The block hash to retrieve.
217
261
  * @returns The requested block (or undefined if not found).
218
262
  */
219
- getPublishedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
263
+ getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
220
264
 
221
265
  /**
222
- * Gets a published block by its archive root.
266
+ * Gets a checkpointed block by its archive root.
223
267
  * @param archive - The archive root to retrieve.
224
268
  * @returns The requested block (or undefined if not found).
225
269
  */
226
- getPublishedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
270
+ getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
227
271
 
228
272
  /**
229
273
  * Gets up to `limit` amount of L2 blocks starting from `from`.
230
274
  * @param from - Number of the first block to return (inclusive).
231
275
  * @param limit - The maximum number of blocks to return.
232
- * @param proven - If true, only return blocks that have been proven.
233
276
  * @returns The requested L2 blocks.
234
277
  */
235
- getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
236
-
237
- /** Equivalent to getBlocks but includes publish data. */
238
- getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
278
+ getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
239
279
  }
240
280
 
241
281
  /**
@@ -247,7 +287,7 @@ export interface L2BlockSink {
247
287
  * @param block - The L2 block to add.
248
288
  * @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
249
289
  */
250
- addBlock(block: L2BlockNew): Promise<void>;
290
+ addBlock(block: L2Block): Promise<void>;
251
291
  }
252
292
 
253
293
  /**
@@ -344,13 +384,13 @@ export type L2BlockProvenEvent = {
344
384
  export type L2PruneUnprovenEvent = {
345
385
  type: 'l2PruneUnproven';
346
386
  epochNumber: EpochNumber;
347
- blocks: L2BlockNew[];
387
+ blocks: L2Block[];
348
388
  };
349
389
 
350
390
  export type L2PruneUncheckpointedEvent = {
351
391
  type: 'l2PruneUncheckpointed';
352
392
  slotNumber: SlotNumber;
353
- blocks: L2BlockNew[];
393
+ blocks: L2Block[];
354
394
  };
355
395
 
356
396
  export type L2CheckpointEvent = {
@@ -1,5 +1,5 @@
1
1
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
2
- import type { L2BlockNew } from '../l2_block_new.js';
2
+ import type { L2Block } from '../l2_block.js';
3
3
  import type { CheckpointId, L2BlockId, L2Tips } from '../l2_block_source.js';
4
4
 
5
5
  /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
@@ -16,7 +16,7 @@ export interface L2BlockStreamEventHandler {
16
16
  export type L2BlockStreamEvent =
17
17
  | /** Emits blocks added to the chain. */ {
18
18
  type: 'blocks-added';
19
- blocks: L2BlockNew[];
19
+ blocks: L2Block[];
20
20
  }
21
21
  | /** Emits checkpoints published to L1. */ {
22
22
  type: 'chain-checkpointed';
@@ -19,13 +19,12 @@ export class L2BlockStream {
19
19
  constructor(
20
20
  private l2BlockSource: Pick<
21
21
  L2BlockSource,
22
- 'getL2BlocksNew' | 'getBlockHeader' | 'getL2Tips' | 'getPublishedCheckpoints' | 'getCheckpointedBlocks'
22
+ 'getBlocks' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpoints' | 'getCheckpointedBlocks'
23
23
  >,
24
24
  private localData: L2BlockStreamLocalDataProvider,
25
25
  private handler: L2BlockStreamEventHandler,
26
26
  private readonly log = createLogger('types:block_stream'),
27
27
  private opts: {
28
- proven?: boolean;
29
28
  pollIntervalMS?: number;
30
29
  batchSize?: number;
31
30
  startingBlock?: number;
@@ -110,6 +109,27 @@ export class L2BlockStream {
110
109
 
111
110
  let nextBlockNumber = latestBlockNumber + 1;
112
111
  let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
112
+
113
+ // When startingBlock is set, also skip ahead for checkpoints.
114
+ if (
115
+ this.opts.startingBlock !== undefined &&
116
+ this.opts.startingBlock >= 1 &&
117
+ nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number
118
+ ) {
119
+ const startingBlockCheckpoints = await this.l2BlockSource.getCheckpointedBlocks(
120
+ BlockNumber(this.opts.startingBlock),
121
+ 1,
122
+ );
123
+ if (startingBlockCheckpoints.length > 0) {
124
+ nextCheckpointToEmit = CheckpointNumber(
125
+ Math.max(nextCheckpointToEmit, startingBlockCheckpoints[0].checkpointNumber),
126
+ );
127
+ } else {
128
+ // startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
129
+ nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
130
+ }
131
+ }
132
+
113
133
  if (this.opts.skipFinalized) {
114
134
  // When skipping finalized blocks we need to provide reliable reorg detection while fetching as few blocks as
115
135
  // possible. Finalized blocks cannot be reorged by definition, so we can skip most of them. We do need the very
@@ -129,7 +149,7 @@ export class L2BlockStream {
129
149
  if (!this.opts.ignoreCheckpoints) {
130
150
  let loop1Iterations = 0;
131
151
  while (nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number) {
132
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(nextCheckpointToEmit, 1);
152
+ const checkpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointToEmit, 1);
133
153
  if (checkpoints.length === 0) {
134
154
  break;
135
155
  }
@@ -174,7 +194,7 @@ export class L2BlockStream {
174
194
  // Refill the prefetch buffer when exhausted
175
195
  if (prefetchIdx >= prefetchedCheckpoints.length) {
176
196
  const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
177
- prefetchedCheckpoints = await this.l2BlockSource.getPublishedCheckpoints(nextCheckpointNumber, prefetchLimit);
197
+ prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointNumber, prefetchLimit);
178
198
  prefetchIdx = 0;
179
199
  if (prefetchedCheckpoints.length === 0) {
180
200
  break;
@@ -213,8 +233,8 @@ export class L2BlockStream {
213
233
  // Loop 3: Fetch any remaining uncheckpointed (proposed) blocks.
214
234
  while (nextBlockNumber <= sourceTips.proposed.number) {
215
235
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
216
- this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
217
- const blocks = await this.l2BlockSource.getL2BlocksNew(BlockNumber(nextBlockNumber), limit, this.opts.proven);
236
+ this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
237
+ const blocks = await this.l2BlockSource.getBlocks(BlockNumber(nextBlockNumber), BlockNumber(limit));
218
238
  if (blocks.length === 0) {
219
239
  break;
220
240
  }
@@ -2,7 +2,7 @@ import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
2
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
3
 
4
4
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
5
- import type { L2BlockNew } from '../l2_block_new.js';
5
+ import type { L2Block } from '../l2_block.js';
6
6
  import {
7
7
  type CheckpointId,
8
8
  GENESIS_CHECKPOINT_HEADER_HASH,
@@ -109,7 +109,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
109
109
  }
110
110
 
111
111
  // Protected helper that subclasses can override for block hash computation
112
- protected computeBlockHash(block: L2BlockNew): Promise<string> {
112
+ protected computeBlockHash(block: L2Block): Promise<string> {
113
113
  return block.hash().then(hash => hash.toString());
114
114
  }
115
115
 
@@ -5,8 +5,8 @@ import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import {
6
6
  type CheckpointId,
7
7
  GENESIS_CHECKPOINT_HEADER_HASH,
8
+ L2Block,
8
9
  type L2BlockId,
9
- L2BlockNew,
10
10
  type L2TipId,
11
11
  } from '@aztec/stdlib/block';
12
12
  import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
@@ -31,8 +31,8 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
31
31
  blockToCheckpoint.clear();
32
32
  });
33
33
 
34
- const makeBlock = async (number: number): Promise<L2BlockNew> => {
35
- const block = await L2BlockNew.random(BlockNumber(number));
34
+ const makeBlock = async (number: number): Promise<L2Block> => {
35
+ const block = await L2Block.random(BlockNumber(number));
36
36
  blockHashes.set(number, (await block.hash()).toString());
37
37
  return block;
38
38
  };
@@ -74,7 +74,7 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
74
74
  checkpointed: makeTipId(checkpointed),
75
75
  });
76
76
 
77
- const makeCheckpoint = async (checkpointNumber: number, blocks: L2BlockNew[]): Promise<PublishedCheckpoint> => {
77
+ const makeCheckpoint = async (checkpointNumber: number, blocks: L2Block[]): Promise<PublishedCheckpoint> => {
78
78
  const checkpoint = await Checkpoint.random(CheckpointNumber(checkpointNumber), {
79
79
  numBlocks: blocks.length,
80
80
  startBlockNumber: blocks[0].number,
@@ -6,17 +6,18 @@ import {
6
6
  IndexWithinCheckpoint,
7
7
  SlotNumber,
8
8
  } from '@aztec/foundation/branded-types';
9
- import { sum } from '@aztec/foundation/collection';
9
+ import { pick, sum } from '@aztec/foundation/collection';
10
10
  import { Fr } from '@aztec/foundation/curves/bn254';
11
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
11
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
12
12
  import type { FieldsOf } from '@aztec/foundation/types';
13
13
 
14
14
  import { z } from 'zod';
15
15
 
16
- import { L2BlockNew } from '../block/l2_block_new.js';
16
+ import { L2Block } from '../block/l2_block.js';
17
17
  import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
18
18
  import { computeCheckpointOutHash } from '../messaging/out_hash.js';
19
19
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
20
+ import { schemas } from '../schemas/schemas.js';
20
21
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
21
22
  import type { CheckpointInfo } from './checkpoint_info.js';
22
23
 
@@ -29,9 +30,11 @@ export class Checkpoint {
29
30
  /** Header of the checkpoint. */
30
31
  public header: CheckpointHeader,
31
32
  /** L2 blocks in the checkpoint. */
32
- public blocks: L2BlockNew[],
33
+ public blocks: L2Block[],
33
34
  /** Number of the checkpoint. */
34
35
  public number: CheckpointNumber,
36
+ /** Fee asset price modifier in basis points (from oracle). Defaults to 0 (no change). */
37
+ public feeAssetPriceModifier: bigint = 0n,
35
38
  ) {}
36
39
 
37
40
  get slot(): SlotNumber {
@@ -43,10 +46,14 @@ export class Checkpoint {
43
46
  .object({
44
47
  archive: AppendOnlyTreeSnapshot.schema,
45
48
  header: CheckpointHeader.schema,
46
- blocks: z.array(L2BlockNew.schema),
49
+ blocks: z.array(L2Block.schema),
47
50
  number: CheckpointNumberSchema,
51
+ feeAssetPriceModifier: schemas.BigInt,
48
52
  })
49
- .transform(({ archive, header, blocks, number }) => new Checkpoint(archive, header, blocks, number));
53
+ .transform(
54
+ ({ archive, header, blocks, number, feeAssetPriceModifier }) =>
55
+ new Checkpoint(archive, header, blocks, number, feeAssetPriceModifier),
56
+ );
50
57
  }
51
58
 
52
59
  static from(fields: FieldsOfCheckpoint) {
@@ -54,21 +61,28 @@ export class Checkpoint {
54
61
  }
55
62
 
56
63
  static getFields(fields: FieldsOfCheckpoint) {
57
- return [fields.archive, fields.header, fields.blocks, fields.number] as const;
64
+ return [fields.archive, fields.header, fields.blocks, fields.number, fields.feeAssetPriceModifier] as const;
58
65
  }
59
66
 
60
67
  static fromBuffer(buf: Buffer | BufferReader) {
61
68
  const reader = BufferReader.asReader(buf);
62
- return new Checkpoint(
63
- reader.readObject(AppendOnlyTreeSnapshot),
64
- reader.readObject(CheckpointHeader),
65
- reader.readVector(L2BlockNew, MAX_BLOCKS_PER_CHECKPOINT),
66
- CheckpointNumber(reader.readNumber()),
67
- );
69
+ const archive = reader.readObject(AppendOnlyTreeSnapshot);
70
+ const header = reader.readObject(CheckpointHeader);
71
+ const blocks = reader.readVector(L2Block, MAX_BLOCKS_PER_CHECKPOINT);
72
+ const number = CheckpointNumber(reader.readNumber());
73
+ const feeAssetPriceModifier = reader.readInt256();
74
+ return new Checkpoint(archive, header, blocks, number, feeAssetPriceModifier);
68
75
  }
69
76
 
70
77
  public toBuffer() {
71
- return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
78
+ return serializeToBuffer(
79
+ this.archive,
80
+ this.header,
81
+ this.blocks.length,
82
+ this.blocks,
83
+ this.number,
84
+ serializeSignedBigInt(this.feeAssetPriceModifier),
85
+ );
72
86
  }
73
87
 
74
88
  public toBlobFields(): Fr[] {
@@ -80,9 +94,11 @@ export class Checkpoint {
80
94
  return this.header.hash();
81
95
  }
82
96
 
83
- // Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
84
- // Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
85
- // checkpoints up to and including this one in the epoch.
97
+ /**
98
+ * Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
99
+ * Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
100
+ * checkpoints up to and including this one in the epoch.
101
+ */
86
102
  public getCheckpointOutHash(): Fr {
87
103
  const msgs = this.blocks.map(block => block.body.txEffects.map(txEffect => txEffect.l2ToL1Msgs));
88
104
  return computeCheckpointOutHash(msgs);
@@ -129,30 +145,41 @@ export class Checkpoint {
129
145
  numBlocks = 1,
130
146
  startBlockNumber = 1,
131
147
  previousArchive,
148
+ feeAssetPriceModifier = 0n,
132
149
  ...options
133
150
  }: {
134
151
  numBlocks?: number;
135
152
  startBlockNumber?: number;
136
153
  previousArchive?: AppendOnlyTreeSnapshot;
154
+ feeAssetPriceModifier?: bigint;
155
+ archive?: AppendOnlyTreeSnapshot;
137
156
  } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
138
- Partial<Parameters<typeof L2BlockNew.random>[1]> = {},
157
+ Partial<Parameters<typeof L2Block.random>[1]> = {},
139
158
  ) {
140
- const header = CheckpointHeader.random(options);
159
+ const headerOptions = previousArchive ? { lastArchiveRoot: previousArchive.root, ...options } : options;
160
+ const header = CheckpointHeader.random(headerOptions);
141
161
 
142
162
  // Create blocks sequentially to chain archive roots properly.
143
163
  // Each block's header.lastArchive must equal the previous block's archive.
144
- const blocks: L2BlockNew[] = [];
164
+ const blocks: L2Block[] = [];
145
165
  let lastArchive = previousArchive;
146
166
  for (let i = 0; i < numBlocks; i++) {
147
- const block = await L2BlockNew.random(BlockNumber(startBlockNumber + i), {
167
+ const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
148
168
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
149
169
  ...options,
150
170
  ...(lastArchive ? { lastArchive } : {}),
171
+ ...pick(header, 'slotNumber', 'timestamp', 'coinbase', 'feeRecipient', 'gasFees'),
151
172
  });
152
173
  lastArchive = block.archive;
153
174
  blocks.push(block);
154
175
  }
155
176
 
156
- return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber);
177
+ return new Checkpoint(
178
+ options.archive ?? AppendOnlyTreeSnapshot.random(),
179
+ header,
180
+ blocks,
181
+ checkpointNumber,
182
+ feeAssetPriceModifier,
183
+ );
157
184
  }
158
185
  }
@@ -0,0 +1,51 @@
1
+ import {
2
+ BlockNumber,
3
+ BlockNumberSchema,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ } from '@aztec/foundation/branded-types';
7
+ import { Fr } from '@aztec/foundation/curves/bn254';
8
+ import { schemas } from '@aztec/foundation/schemas';
9
+
10
+ import { z } from 'zod';
11
+
12
+ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
13
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
14
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
15
+ import { L1PublishedData } from './published_checkpoint.js';
16
+
17
+ /** Lightweight checkpoint metadata without full block data. */
18
+ export type CheckpointData = {
19
+ checkpointNumber: CheckpointNumber;
20
+ header: CheckpointHeader;
21
+ archive: AppendOnlyTreeSnapshot;
22
+ checkpointOutHash: Fr;
23
+ startBlock: BlockNumber;
24
+ blockCount: number;
25
+ attestations: CommitteeAttestation[];
26
+ l1: L1PublishedData;
27
+ };
28
+
29
+ export const CheckpointDataSchema = z
30
+ .object({
31
+ checkpointNumber: CheckpointNumberSchema,
32
+ header: CheckpointHeader.schema,
33
+ archive: AppendOnlyTreeSnapshot.schema,
34
+ checkpointOutHash: schemas.Fr,
35
+ startBlock: BlockNumberSchema,
36
+ blockCount: schemas.Integer,
37
+ attestations: z.array(CommitteeAttestation.schema),
38
+ l1: L1PublishedData.schema,
39
+ })
40
+ .transform(
41
+ (obj): CheckpointData => ({
42
+ checkpointNumber: obj.checkpointNumber,
43
+ header: obj.header,
44
+ archive: obj.archive,
45
+ checkpointOutHash: obj.checkpointOutHash,
46
+ startBlock: obj.startBlock,
47
+ blockCount: obj.blockCount,
48
+ attestations: obj.attestations,
49
+ l1: obj.l1,
50
+ }),
51
+ );
@@ -1,3 +1,5 @@
1
1
  export * from './checkpoint.js';
2
+ export * from './checkpoint_data.js';
2
3
  export * from './checkpoint_info.js';
3
4
  export * from './published_checkpoint.js';
5
+ export * from './validate.js';
@@ -55,9 +55,11 @@ export class L1PublishedData {
55
55
 
56
56
  export class PublishedCheckpoint {
57
57
  constructor(
58
+ /** The checkpoint itself. */
58
59
  public checkpoint: Checkpoint,
60
+ /** Info on when this checkpoint was published on L1. */
59
61
  public l1: L1PublishedData,
60
- // The attestations for the last block in the checkpoint.
62
+ /** The attestations for the last block in the checkpoint. */
61
63
  public attestations: CommitteeAttestation[],
62
64
  ) {}
63
65