@aztec/stdlib 0.0.1-commit.7d4e6cd → 0.0.1-commit.808bf7f90

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 (656) hide show
  1. package/dest/abi/function_call.d.ts +47 -9
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/function_call.js +20 -3
  4. package/dest/abi/utils.d.ts +7 -1
  5. package/dest/abi/utils.d.ts.map +1 -1
  6. package/dest/abi/utils.js +7 -0
  7. package/dest/auth_witness/auth_witness.d.ts +2 -1
  8. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  9. package/dest/auth_witness/auth_witness.js +3 -3
  10. package/dest/avm/avm.d.ts +62 -62
  11. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  12. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  13. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  14. package/dest/avm/avm_proving_request.d.ts +299 -299
  15. package/dest/avm/contract_storage_read.d.ts +13 -1
  16. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  17. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  18. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  19. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  20. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  21. package/dest/avm/public_data_read.d.ts +10 -1
  22. package/dest/avm/public_data_read.d.ts.map +1 -1
  23. package/dest/avm/public_data_update_request.d.ts +10 -1
  24. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  25. package/dest/avm/public_data_write.d.ts +7 -1
  26. package/dest/avm/public_data_write.d.ts.map +1 -1
  27. package/dest/avm/public_inner_call_request.d.ts +4 -1
  28. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  29. package/dest/avm/revert_code.d.ts +4 -4
  30. package/dest/avm/revert_code.d.ts.map +1 -1
  31. package/dest/block/block_data.d.ts +52 -0
  32. package/dest/block/block_data.d.ts.map +1 -0
  33. package/dest/block/block_data.js +12 -0
  34. package/dest/block/block_hash.d.ts +18 -14
  35. package/dest/block/block_hash.d.ts.map +1 -1
  36. package/dest/block/block_hash.js +22 -20
  37. package/dest/block/block_parameter.d.ts +4 -3
  38. package/dest/block/block_parameter.d.ts.map +1 -1
  39. package/dest/block/block_parameter.js +2 -0
  40. package/dest/block/body.d.ts +1 -1
  41. package/dest/block/body.d.ts.map +1 -1
  42. package/dest/block/body.js +2 -1
  43. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  44. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  45. package/dest/block/checkpointed_l2_block.js +7 -45
  46. package/dest/block/in_block.d.ts +9 -9
  47. package/dest/block/in_block.d.ts.map +1 -1
  48. package/dest/block/in_block.js +5 -5
  49. package/dest/block/index.d.ts +2 -3
  50. package/dest/block/index.d.ts.map +1 -1
  51. package/dest/block/index.js +1 -2
  52. package/dest/block/l2_block.d.ts +56 -59
  53. package/dest/block/l2_block.d.ts.map +1 -1
  54. package/dest/block/l2_block.js +64 -110
  55. package/dest/block/l2_block_source.d.ts +84 -39
  56. package/dest/block/l2_block_source.d.ts.map +1 -1
  57. package/dest/block/l2_block_source.js +2 -1
  58. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  59. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  60. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  61. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  62. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  63. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  64. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  65. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  66. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  67. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  68. package/dest/block/validate_block_result.d.ts +1 -1
  69. package/dest/block/validate_block_result.d.ts.map +1 -1
  70. package/dest/block/validate_block_result.js +5 -4
  71. package/dest/checkpoint/checkpoint.d.ts +43 -19
  72. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  73. package/dest/checkpoint/checkpoint.js +37 -14
  74. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  75. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  76. package/dest/checkpoint/checkpoint_data.js +26 -0
  77. package/dest/checkpoint/index.d.ts +2 -1
  78. package/dest/checkpoint/index.d.ts.map +1 -1
  79. package/dest/checkpoint/index.js +1 -0
  80. package/dest/checkpoint/published_checkpoint.d.ts +33 -16
  81. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  82. package/dest/checkpoint/published_checkpoint.js +5 -5
  83. package/dest/config/index.d.ts +2 -1
  84. package/dest/config/index.d.ts.map +1 -1
  85. package/dest/config/index.js +1 -0
  86. package/dest/config/node-rpc-config.js +1 -1
  87. package/dest/config/sequencer-config.d.ts +10 -0
  88. package/dest/config/sequencer-config.d.ts.map +1 -0
  89. package/dest/config/sequencer-config.js +18 -0
  90. package/dest/contract/complete_address.d.ts +4 -1
  91. package/dest/contract/complete_address.d.ts.map +1 -1
  92. package/dest/contract/contract_address.js +4 -4
  93. package/dest/contract/contract_class.d.ts +2 -3
  94. package/dest/contract/contract_class.d.ts.map +1 -1
  95. package/dest/contract/contract_class_id.d.ts +2 -2
  96. package/dest/contract/contract_class_id.d.ts.map +1 -1
  97. package/dest/contract/contract_class_id.js +6 -5
  98. package/dest/contract/contract_deployment_data.d.ts +5 -5
  99. package/dest/contract/index.d.ts +1 -3
  100. package/dest/contract/index.d.ts.map +1 -1
  101. package/dest/contract/index.js +0 -2
  102. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  103. package/dest/contract/interfaces/node-info.d.ts +3 -1
  104. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  105. package/dest/contract/interfaces/node-info.js +2 -1
  106. package/dest/contract/private_function.d.ts +1 -1
  107. package/dest/contract/private_function.d.ts.map +1 -1
  108. package/dest/contract/private_function.js +3 -4
  109. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  110. package/dest/contract/private_function_membership_proof.js +1 -1
  111. package/dest/database-version/database_version.d.ts +58 -0
  112. package/dest/database-version/database_version.d.ts.map +1 -0
  113. package/dest/database-version/database_version.js +69 -0
  114. package/dest/database-version/version_manager.d.ts +3 -49
  115. package/dest/database-version/version_manager.d.ts.map +1 -1
  116. package/dest/database-version/version_manager.js +1 -66
  117. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  118. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  119. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  120. package/dest/deserialization/index.d.ts +11 -0
  121. package/dest/deserialization/index.d.ts.map +1 -0
  122. package/dest/deserialization/index.js +10 -0
  123. package/dest/epoch-helpers/index.d.ts +7 -1
  124. package/dest/epoch-helpers/index.d.ts.map +1 -1
  125. package/dest/epoch-helpers/index.js +9 -3
  126. package/dest/errors/proving_error.d.ts +2 -2
  127. package/dest/errors/proving_error.d.ts.map +1 -1
  128. package/dest/file-store/local.d.ts +3 -3
  129. package/dest/file-store/local.d.ts.map +1 -1
  130. package/dest/file-store/local.js +13 -4
  131. package/dest/file-store/s3.d.ts +1 -1
  132. package/dest/file-store/s3.d.ts.map +1 -1
  133. package/dest/file-store/s3.js +11 -3
  134. package/dest/ha-signing/config.d.ts +101 -0
  135. package/dest/ha-signing/config.d.ts.map +1 -0
  136. package/dest/ha-signing/config.js +92 -0
  137. package/dest/ha-signing/index.d.ts +3 -0
  138. package/dest/ha-signing/index.d.ts.map +1 -0
  139. package/dest/ha-signing/index.js +2 -0
  140. package/dest/ha-signing/types.d.ts +85 -0
  141. package/dest/ha-signing/types.d.ts.map +1 -0
  142. package/dest/ha-signing/types.js +32 -0
  143. package/dest/hash/hash.d.ts +2 -1
  144. package/dest/hash/hash.d.ts.map +1 -1
  145. package/dest/hash/hash.js +16 -10
  146. package/dest/hash/map_slot.d.ts +1 -1
  147. package/dest/hash/map_slot.d.ts.map +1 -1
  148. package/dest/hash/map_slot.js +4 -3
  149. package/dest/interfaces/api_limit.d.ts +2 -1
  150. package/dest/interfaces/api_limit.d.ts.map +1 -1
  151. package/dest/interfaces/api_limit.js +1 -0
  152. package/dest/interfaces/archiver.d.ts +1 -1
  153. package/dest/interfaces/archiver.d.ts.map +1 -1
  154. package/dest/interfaces/archiver.js +23 -15
  155. package/dest/interfaces/aztec-node-admin.d.ts +101 -28
  156. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  157. package/dest/interfaces/aztec-node-admin.js +12 -4
  158. package/dest/interfaces/aztec-node.d.ts +66 -69
  159. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  160. package/dest/interfaces/aztec-node.js +10 -16
  161. package/dest/interfaces/block-builder.d.ts +22 -14
  162. package/dest/interfaces/block-builder.d.ts.map +1 -1
  163. package/dest/interfaces/block-builder.js +7 -0
  164. package/dest/interfaces/configs.d.ts +24 -9
  165. package/dest/interfaces/configs.d.ts.map +1 -1
  166. package/dest/interfaces/configs.js +4 -1
  167. package/dest/interfaces/get_logs_response.d.ts +16 -9
  168. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  169. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  170. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  171. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  172. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  173. package/dest/interfaces/p2p.d.ts +2 -2
  174. package/dest/interfaces/p2p.d.ts.map +1 -1
  175. package/dest/interfaces/prover-broker.d.ts +16 -1
  176. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  177. package/dest/interfaces/prover-broker.js +4 -1
  178. package/dest/interfaces/prover-client.d.ts +15 -1
  179. package/dest/interfaces/prover-client.d.ts.map +1 -1
  180. package/dest/interfaces/prover-client.js +12 -1
  181. package/dest/interfaces/proving-job.d.ts +216 -216
  182. package/dest/interfaces/slasher.d.ts +9 -1
  183. package/dest/interfaces/slasher.d.ts.map +1 -1
  184. package/dest/interfaces/slasher.js +2 -0
  185. package/dest/interfaces/tx_provider.d.ts +3 -3
  186. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  187. package/dest/interfaces/validator.d.ts +118 -16
  188. package/dest/interfaces/validator.d.ts.map +1 -1
  189. package/dest/interfaces/validator.js +6 -3
  190. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  191. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  192. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  193. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  194. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  195. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  196. package/dest/kernel/hints/index.d.ts +2 -2
  197. package/dest/kernel/hints/index.js +2 -2
  198. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  199. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  200. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  201. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  202. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  203. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  204. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  205. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  206. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  207. package/dest/kernel/hints/read_request.d.ts +7 -1
  208. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  209. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  210. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  211. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  212. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  213. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  214. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  215. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  216. package/dest/kernel/private_call_data.d.ts +25 -1
  217. package/dest/kernel/private_call_data.d.ts.map +1 -1
  218. package/dest/kernel/private_call_request.d.ts +16 -1
  219. package/dest/kernel/private_call_request.d.ts.map +1 -1
  220. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  221. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  222. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  223. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  224. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  225. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  226. package/dest/kernel/private_kernel_data.d.ts +7 -1
  227. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  228. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  229. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  230. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  231. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  232. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  233. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  234. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  235. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  236. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  237. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +25 -3
  238. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  239. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
  240. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  241. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  242. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  243. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  244. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  245. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  246. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  247. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  248. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  249. package/dest/kernel/private_validation_requests.d.ts +13 -4
  250. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  251. package/dest/kernel/private_validation_requests.js +9 -9
  252. package/dest/kernel/public_call_request.d.ts +22 -1
  253. package/dest/kernel/public_call_request.d.ts.map +1 -1
  254. package/dest/kernel/utils/optional_number.d.ts +7 -1
  255. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  256. package/dest/keys/derivation.d.ts +3 -3
  257. package/dest/keys/derivation.js +15 -15
  258. package/dest/keys/key_types.d.ts +3 -3
  259. package/dest/keys/key_types.d.ts.map +1 -1
  260. package/dest/keys/public_keys.d.ts +5 -1
  261. package/dest/keys/public_keys.d.ts.map +1 -1
  262. package/dest/keys/public_keys.js +2 -2
  263. package/dest/keys/utils.d.ts +1 -1
  264. package/dest/keys/utils.d.ts.map +1 -1
  265. package/dest/keys/utils.js +8 -4
  266. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  267. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  268. package/dest/l1-contracts/slash_factory.js +1 -0
  269. package/dest/logs/debug_log_store.d.ts +30 -0
  270. package/dest/logs/debug_log_store.d.ts.map +1 -0
  271. package/dest/logs/debug_log_store.js +30 -0
  272. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  273. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  274. package/dest/logs/extended_public_log.d.ts +17 -9
  275. package/dest/logs/extended_public_log.d.ts.map +1 -1
  276. package/dest/logs/index.d.ts +2 -1
  277. package/dest/logs/index.d.ts.map +1 -1
  278. package/dest/logs/index.js +1 -0
  279. package/dest/logs/log_id.d.ts +21 -14
  280. package/dest/logs/log_id.d.ts.map +1 -1
  281. package/dest/logs/log_id.js +20 -17
  282. package/dest/logs/private_log.d.ts +2 -2
  283. package/dest/logs/private_log.d.ts.map +1 -1
  284. package/dest/logs/siloed_tag.d.ts +1 -1
  285. package/dest/logs/siloed_tag.d.ts.map +1 -1
  286. package/dest/logs/siloed_tag.js +2 -5
  287. package/dest/messaging/inbox_leaf.d.ts +3 -1
  288. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  289. package/dest/messaging/l1_actor.d.ts +7 -1
  290. package/dest/messaging/l1_actor.d.ts.map +1 -1
  291. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  292. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  293. package/dest/messaging/l2_actor.d.ts +7 -1
  294. package/dest/messaging/l2_actor.d.ts.map +1 -1
  295. package/dest/messaging/l2_to_l1_membership.d.ts +3 -3
  296. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  297. package/dest/messaging/l2_to_l1_membership.js +8 -6
  298. package/dest/messaging/out_hash.d.ts +41 -4
  299. package/dest/messaging/out_hash.d.ts.map +1 -1
  300. package/dest/messaging/out_hash.js +52 -26
  301. package/dest/note/index.d.ts +1 -2
  302. package/dest/note/index.d.ts.map +1 -1
  303. package/dest/note/index.js +0 -1
  304. package/dest/note/note_dao.d.ts +36 -5
  305. package/dest/note/note_dao.d.ts.map +1 -1
  306. package/dest/note/note_dao.js +15 -12
  307. package/dest/p2p/attestation_utils.d.ts +11 -1
  308. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  309. package/dest/p2p/attestation_utils.js +45 -0
  310. package/dest/p2p/block_proposal.d.ts +23 -8
  311. package/dest/p2p/block_proposal.d.ts.map +1 -1
  312. package/dest/p2p/block_proposal.js +26 -10
  313. package/dest/p2p/checkpoint_attestation.d.ts +6 -1
  314. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  315. package/dest/p2p/checkpoint_attestation.js +1 -1
  316. package/dest/p2p/checkpoint_proposal.d.ts +34 -9
  317. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  318. package/dest/p2p/checkpoint_proposal.js +46 -20
  319. package/dest/p2p/consensus_payload.d.ts +15 -5
  320. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  321. package/dest/p2p/consensus_payload.js +22 -18
  322. package/dest/p2p/constants.d.ts +5 -0
  323. package/dest/p2p/constants.d.ts.map +1 -0
  324. package/dest/p2p/constants.js +3 -0
  325. package/dest/p2p/index.d.ts +2 -1
  326. package/dest/p2p/index.d.ts.map +1 -1
  327. package/dest/p2p/index.js +1 -0
  328. package/dest/p2p/message_validator.d.ts +18 -3
  329. package/dest/p2p/message_validator.d.ts.map +1 -1
  330. package/dest/p2p/message_validator.js +2 -1
  331. package/dest/p2p/signed_txs.d.ts +3 -1
  332. package/dest/p2p/signed_txs.d.ts.map +1 -1
  333. package/dest/p2p/signed_txs.js +6 -1
  334. package/dest/p2p/topic_type.js +2 -1
  335. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  336. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  337. package/dest/parity/parity_public_inputs.d.ts +4 -1
  338. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  339. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  340. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  341. package/dest/proofs/chonk_proof.d.ts +1 -1
  342. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  343. package/dest/proofs/chonk_proof.js +9 -4
  344. package/dest/proofs/proof.d.ts +4 -1
  345. package/dest/proofs/proof.d.ts.map +1 -1
  346. package/dest/proofs/recursive_proof.d.ts +10 -1
  347. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  348. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  349. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  350. package/dest/rollup/block_constant_data.d.ts +12 -1
  351. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  352. package/dest/rollup/block_headers_hash.js +1 -1
  353. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  354. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  355. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  356. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  357. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  358. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  359. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  360. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  361. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  362. package/dest/rollup/checkpoint_header.d.ts +31 -4
  363. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  364. package/dest/rollup/checkpoint_header.js +23 -7
  365. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  366. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  367. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  368. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  369. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  370. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  371. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  372. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  373. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  374. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  375. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  376. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  377. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  378. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  379. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  380. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  381. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  382. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  383. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  384. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  385. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  386. package/dest/schemas/schemas.d.ts +1 -1
  387. package/dest/slashing/empire.d.ts +1 -1
  388. package/dest/slashing/empire.d.ts.map +1 -1
  389. package/dest/slashing/empire.js +2 -0
  390. package/dest/slashing/helpers.d.ts +2 -2
  391. package/dest/slashing/helpers.d.ts.map +1 -1
  392. package/dest/slashing/helpers.js +6 -0
  393. package/dest/slashing/tally.d.ts +2 -1
  394. package/dest/slashing/tally.d.ts.map +1 -1
  395. package/dest/slashing/tally.js +6 -2
  396. package/dest/slashing/types.d.ts +7 -3
  397. package/dest/slashing/types.d.ts.map +1 -1
  398. package/dest/slashing/types.js +13 -1
  399. package/dest/stats/stats.d.ts +1 -3
  400. package/dest/stats/stats.d.ts.map +1 -1
  401. package/dest/tests/factories.d.ts +2 -4
  402. package/dest/tests/factories.d.ts.map +1 -1
  403. package/dest/tests/factories.js +18 -27
  404. package/dest/tests/jest.js +1 -1
  405. package/dest/tests/mocks.d.ts +24 -15
  406. package/dest/tests/mocks.d.ts.map +1 -1
  407. package/dest/tests/mocks.js +63 -40
  408. package/dest/timetable/index.d.ts +37 -0
  409. package/dest/timetable/index.d.ts.map +1 -0
  410. package/dest/timetable/index.js +39 -0
  411. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  412. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  413. package/dest/trees/nullifier_leaf.d.ts +13 -1
  414. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  415. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  416. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  417. package/dest/trees/public_data_leaf.d.ts +17 -1
  418. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  419. package/dest/trees/public_data_leaf.js +7 -6
  420. package/dest/trees/public_data_witness.d.ts +11 -1
  421. package/dest/trees/public_data_witness.d.ts.map +1 -1
  422. package/dest/tx/block_header.d.ts +14 -2
  423. package/dest/tx/block_header.d.ts.map +1 -1
  424. package/dest/tx/block_header.js +6 -2
  425. package/dest/tx/call_context.d.ts +13 -1
  426. package/dest/tx/call_context.d.ts.map +1 -1
  427. package/dest/tx/capsule.d.ts +4 -1
  428. package/dest/tx/capsule.d.ts.map +1 -1
  429. package/dest/tx/execution_payload.d.ts +9 -1
  430. package/dest/tx/execution_payload.d.ts.map +1 -1
  431. package/dest/tx/function_data.d.ts +4 -2
  432. package/dest/tx/function_data.d.ts.map +1 -1
  433. package/dest/tx/global_variables.d.ts +12 -4
  434. package/dest/tx/global_variables.d.ts.map +1 -1
  435. package/dest/tx/hashed_values.d.ts +7 -1
  436. package/dest/tx/hashed_values.d.ts.map +1 -1
  437. package/dest/tx/in_tx.d.ts +4 -4
  438. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  439. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  440. package/dest/tx/indexed_tx_effect.js +3 -2
  441. package/dest/tx/partial_state_reference.d.ts +4 -1
  442. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  443. package/dest/tx/private_execution_result.d.ts +23 -2
  444. package/dest/tx/private_execution_result.d.ts.map +1 -1
  445. package/dest/tx/private_execution_result.js +1 -1
  446. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  447. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  448. package/dest/tx/profiling.d.ts +152 -29
  449. package/dest/tx/profiling.d.ts.map +1 -1
  450. package/dest/tx/profiling.js +47 -10
  451. package/dest/tx/protocol_contracts.d.ts +2 -2
  452. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  453. package/dest/tx/protocol_contracts.js +2 -2
  454. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  455. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  456. package/dest/tx/public_simulation_output.d.ts +4 -2
  457. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  458. package/dest/tx/public_simulation_output.js +7 -3
  459. package/dest/tx/state_reference.d.ts +3 -1
  460. package/dest/tx/state_reference.d.ts.map +1 -1
  461. package/dest/tx/tx.d.ts +24 -1
  462. package/dest/tx/tx.d.ts.map +1 -1
  463. package/dest/tx/tx.js +6 -3
  464. package/dest/tx/tx_context.d.ts +2 -1
  465. package/dest/tx/tx_context.d.ts.map +1 -1
  466. package/dest/tx/tx_effect.d.ts +32 -6
  467. package/dest/tx/tx_effect.d.ts.map +1 -1
  468. package/dest/tx/tx_effect.js +0 -7
  469. package/dest/tx/tx_execution_request.d.ts +30 -1
  470. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  471. package/dest/tx/tx_hash.d.ts +2 -1
  472. package/dest/tx/tx_hash.d.ts.map +1 -1
  473. package/dest/tx/tx_receipt.d.ts +62 -14
  474. package/dest/tx/tx_receipt.d.ts.map +1 -1
  475. package/dest/tx/tx_receipt.js +55 -16
  476. package/dest/tx/tx_request.d.ts +6 -1
  477. package/dest/tx/tx_request.d.ts.map +1 -1
  478. package/dest/tx/tx_request.js +2 -2
  479. package/dest/tx/validator/empty_validator.d.ts +2 -2
  480. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  481. package/dest/tx/validator/error_texts.d.ts +3 -2
  482. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  483. package/dest/tx/validator/error_texts.js +3 -1
  484. package/dest/tx/validator/tx_validator.d.ts +2 -2
  485. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  486. package/dest/types/shared.d.ts +4 -1
  487. package/dest/types/shared.d.ts.map +1 -1
  488. package/dest/validators/schemas.d.ts +38 -38
  489. package/dest/validators/schemas.d.ts.map +1 -1
  490. package/dest/validators/schemas.js +4 -3
  491. package/dest/validators/types.d.ts +3 -3
  492. package/dest/validators/types.d.ts.map +1 -1
  493. package/dest/vks/verification_key.d.ts +22 -1
  494. package/dest/vks/verification_key.d.ts.map +1 -1
  495. package/dest/vks/vk_data.d.ts +7 -1
  496. package/dest/vks/vk_data.d.ts.map +1 -1
  497. package/dest/zkpassport/index.d.ts +3 -4
  498. package/dest/zkpassport/index.d.ts.map +1 -1
  499. package/dest/zkpassport/index.js +9 -9
  500. package/package.json +27 -13
  501. package/src/abi/function_call.ts +25 -3
  502. package/src/abi/utils.ts +17 -0
  503. package/src/auth_witness/auth_witness.ts +3 -3
  504. package/src/block/block_data.ts +26 -0
  505. package/src/block/block_hash.ts +26 -25
  506. package/src/block/block_parameter.ts +4 -2
  507. package/src/block/body.ts +2 -1
  508. package/src/block/checkpointed_l2_block.ts +8 -58
  509. package/src/block/in_block.ts +6 -6
  510. package/src/block/index.ts +1 -2
  511. package/src/block/l2_block.ts +102 -150
  512. package/src/block/l2_block_source.ts +93 -42
  513. package/src/block/l2_block_stream/interfaces.ts +8 -5
  514. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  515. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  516. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  517. package/src/block/validate_block_result.ts +5 -4
  518. package/src/checkpoint/checkpoint.ts +61 -21
  519. package/src/checkpoint/checkpoint_data.ts +51 -0
  520. package/src/checkpoint/index.ts +1 -0
  521. package/src/checkpoint/published_checkpoint.ts +7 -4
  522. package/src/config/index.ts +1 -0
  523. package/src/config/node-rpc-config.ts +1 -1
  524. package/src/config/sequencer-config.ts +29 -0
  525. package/src/contract/contract_address.ts +4 -4
  526. package/src/contract/contract_class.ts +3 -3
  527. package/src/contract/contract_class_id.ts +6 -5
  528. package/src/contract/index.ts +0 -2
  529. package/src/contract/interfaces/node-info.ts +3 -0
  530. package/src/contract/private_function.ts +3 -4
  531. package/src/contract/private_function_membership_proof.ts +1 -1
  532. package/src/database-version/database_version.ts +87 -0
  533. package/src/database-version/version_manager.ts +1 -77
  534. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  535. package/src/deserialization/index.ts +21 -0
  536. package/src/epoch-helpers/index.ts +13 -1
  537. package/src/file-store/local.ts +15 -5
  538. package/src/file-store/s3.ts +12 -3
  539. package/src/ha-signing/config.ts +149 -0
  540. package/src/ha-signing/index.ts +18 -0
  541. package/src/ha-signing/types.ts +112 -0
  542. package/src/hash/hash.ts +14 -10
  543. package/src/hash/map_slot.ts +3 -2
  544. package/src/interfaces/api_limit.ts +1 -0
  545. package/src/interfaces/archiver.ts +23 -24
  546. package/src/interfaces/aztec-node-admin.ts +26 -2
  547. package/src/interfaces/aztec-node.ts +86 -135
  548. package/src/interfaces/block-builder.ts +41 -23
  549. package/src/interfaces/configs.ts +13 -4
  550. package/src/interfaces/l2_logs_source.ts +17 -4
  551. package/src/interfaces/merkle_tree_operations.ts +1 -1
  552. package/src/interfaces/p2p.ts +1 -1
  553. package/src/interfaces/prover-broker.ts +22 -0
  554. package/src/interfaces/prover-client.ts +22 -0
  555. package/src/interfaces/slasher.ts +4 -0
  556. package/src/interfaces/tx_provider.ts +2 -2
  557. package/src/interfaces/validator.ts +20 -12
  558. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  559. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  560. package/src/kernel/hints/index.ts +2 -2
  561. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  562. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  563. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  564. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  565. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  566. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
  567. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  568. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  569. package/src/kernel/private_validation_requests.ts +8 -8
  570. package/src/keys/derivation.ts +15 -15
  571. package/src/keys/key_types.ts +6 -2
  572. package/src/keys/public_keys.ts +2 -2
  573. package/src/keys/utils.ts +8 -4
  574. package/src/l1-contracts/slash_factory.ts +1 -0
  575. package/src/logs/debug_log_store.ts +54 -0
  576. package/src/logs/index.ts +1 -0
  577. package/src/logs/log_id.ts +22 -18
  578. package/src/logs/siloed_tag.ts +2 -2
  579. package/src/messaging/l2_to_l1_membership.ts +8 -6
  580. package/src/messaging/out_hash.ts +60 -29
  581. package/src/note/index.ts +0 -1
  582. package/src/note/note_dao.ts +18 -13
  583. package/src/p2p/attestation_utils.ts +56 -0
  584. package/src/p2p/block_proposal.ts +36 -15
  585. package/src/p2p/checkpoint_attestation.ts +6 -1
  586. package/src/p2p/checkpoint_proposal.ts +74 -24
  587. package/src/p2p/consensus_payload.ts +25 -17
  588. package/src/p2p/constants.ts +6 -0
  589. package/src/p2p/index.ts +1 -0
  590. package/src/p2p/message_validator.ts +14 -2
  591. package/src/p2p/signed_txs.ts +6 -1
  592. package/src/p2p/topic_type.ts +1 -1
  593. package/src/proofs/chonk_proof.ts +9 -5
  594. package/src/rollup/block_headers_hash.ts +1 -1
  595. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  596. package/src/rollup/checkpoint_header.ts +22 -2
  597. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  598. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  599. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  600. package/src/slashing/empire.ts +3 -1
  601. package/src/slashing/helpers.ts +8 -0
  602. package/src/slashing/tally.ts +8 -2
  603. package/src/slashing/types.ts +14 -0
  604. package/src/stats/stats.ts +0 -2
  605. package/src/tests/factories.ts +23 -43
  606. package/src/tests/jest.ts +1 -1
  607. package/src/tests/mocks.ts +90 -55
  608. package/src/timetable/index.ts +66 -0
  609. package/src/trees/public_data_leaf.ts +11 -5
  610. package/src/tx/block_header.ts +12 -4
  611. package/src/tx/global_variables.ts +3 -3
  612. package/src/tx/indexed_tx_effect.ts +3 -2
  613. package/src/tx/private_execution_result.ts +1 -1
  614. package/src/tx/profiling.ts +51 -9
  615. package/src/tx/protocol_contracts.ts +2 -2
  616. package/src/tx/public_simulation_output.ts +4 -0
  617. package/src/tx/tx.ts +8 -9
  618. package/src/tx/tx_effect.ts +0 -9
  619. package/src/tx/tx_receipt.ts +85 -18
  620. package/src/tx/tx_request.ts +2 -2
  621. package/src/tx/validator/empty_validator.ts +1 -1
  622. package/src/tx/validator/error_texts.ts +4 -1
  623. package/src/tx/validator/tx_validator.ts +1 -1
  624. package/src/validators/schemas.ts +8 -1
  625. package/src/validators/types.ts +5 -4
  626. package/src/zkpassport/index.ts +11 -12
  627. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  628. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  629. package/dest/block/l2_block_code_to_purge.js +0 -55
  630. package/dest/block/l2_block_header.d.ts +0 -94
  631. package/dest/block/l2_block_header.d.ts.map +0 -1
  632. package/dest/block/l2_block_header.js +0 -160
  633. package/dest/block/l2_block_new.d.ts +0 -134
  634. package/dest/block/l2_block_new.d.ts.map +0 -1
  635. package/dest/block/l2_block_new.js +0 -155
  636. package/dest/contract/contract_class_metadata.d.ts +0 -8
  637. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  638. package/dest/contract/contract_class_metadata.js +0 -1
  639. package/dest/contract/contract_metadata.d.ts +0 -7
  640. package/dest/contract/contract_metadata.d.ts.map +0 -1
  641. package/dest/contract/contract_metadata.js +0 -1
  642. package/dest/database-version/index.d.ts +0 -2
  643. package/dest/database-version/index.d.ts.map +0 -1
  644. package/dest/database-version/index.js +0 -1
  645. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  646. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  647. package/dest/note/notes_filter.d.ts +0 -27
  648. package/dest/note/notes_filter.d.ts.map +0 -1
  649. package/dest/note/notes_filter.js +0 -11
  650. package/src/block/l2_block_code_to_purge.ts +0 -80
  651. package/src/block/l2_block_header.ts +0 -255
  652. package/src/block/l2_block_new.ts +0 -211
  653. package/src/contract/contract_class_metadata.ts +0 -8
  654. package/src/contract/contract_metadata.ts +0 -7
  655. package/src/database-version/index.ts +0 -1
  656. package/src/note/notes_filter.ts +0 -38
@@ -1,6 +1,5 @@
1
+ export * from './block_data.js';
1
2
  export * from './l2_block.js';
2
- export * from './l2_block_new.js';
3
- export * from './l2_block_header.js';
4
3
  export * from './l2_block_stream/index.js';
5
4
  export * from './in_block.js';
6
5
  export * from './body.js';
@@ -1,44 +1,66 @@
1
- import { type BlockBlobData, encodeBlockBlobData, encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
+ import {
3
+ BlockNumber,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ IndexWithinCheckpoint,
7
+ IndexWithinCheckpointSchema,
8
+ SlotNumber,
9
+ } from '@aztec/foundation/branded-types';
3
10
  import { Fr } from '@aztec/foundation/curves/bn254';
4
11
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
- import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
12
 
7
13
  import { z } from 'zod';
8
14
 
9
- import { Checkpoint } from '../checkpoint/checkpoint.js';
15
+ import type { PrivateLog } from '../logs/private_log.js';
10
16
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
11
- import type { BlockHeader } from '../tx/block_header.js';
17
+ import { BlockHeader } from '../tx/block_header.js';
18
+ import type { BlockHash } from './block_hash.js';
12
19
  import { Body } from './body.js';
13
- import { makeAppendOnlyTreeSnapshot, makeL2BlockHeader } from './l2_block_code_to_purge.js';
14
- import { L2BlockHeader } from './l2_block_header.js';
15
20
  import type { L2BlockInfo } from './l2_block_info.js';
16
- import { L2BlockNew } from './l2_block_new.js';
17
21
 
18
22
  /**
19
- * The data that makes up the rollup proof, with encoder decoder functions.
20
- *
21
- * @deprecated Use `L2BlockNew` instead.
23
+ * An L2 block with a header and a body.
22
24
  */
23
25
  export class L2Block {
24
26
  constructor(
25
27
  /** Snapshot of archive tree after the block is applied. */
26
28
  public archive: AppendOnlyTreeSnapshot,
27
- /** L2 block header. */
28
- public header: L2BlockHeader,
29
+ /** Header of the block. */
30
+ public header: BlockHeader,
29
31
  /** L2 block body. */
30
32
  public body: Body,
31
- private blockHash: Fr | undefined = undefined,
33
+ /** Number of the checkpoint that the block belongs to. */
34
+ public checkpointNumber: CheckpointNumber,
35
+ /** Index of the block within the checkpoint. */
36
+ public indexWithinCheckpoint: IndexWithinCheckpoint,
32
37
  ) {}
33
38
 
39
+ get number(): BlockNumber {
40
+ return this.header.globalVariables.blockNumber;
41
+ }
42
+
43
+ get slot(): SlotNumber {
44
+ return this.header.globalVariables.slotNumber;
45
+ }
46
+
47
+ get timestamp(): bigint {
48
+ return this.header.globalVariables.timestamp;
49
+ }
50
+
34
51
  static get schema() {
35
52
  return z
36
53
  .object({
37
54
  archive: AppendOnlyTreeSnapshot.schema,
38
- header: L2BlockHeader.schema,
55
+ header: BlockHeader.schema,
39
56
  body: Body.schema,
57
+ checkpointNumber: CheckpointNumberSchema,
58
+ indexWithinCheckpoint: IndexWithinCheckpointSchema,
40
59
  })
41
- .transform(({ archive, header, body }) => new L2Block(archive, header, body));
60
+ .transform(
61
+ ({ archive, header, body, checkpointNumber, indexWithinCheckpoint }) =>
62
+ new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint),
63
+ );
42
64
  }
43
65
 
44
66
  /**
@@ -47,11 +69,13 @@ export class L2Block {
47
69
  */
48
70
  static fromBuffer(buf: Buffer | BufferReader) {
49
71
  const reader = BufferReader.asReader(buf);
50
- const header = reader.readObject(L2BlockHeader);
72
+ const header = reader.readObject(BlockHeader);
51
73
  const archive = reader.readObject(AppendOnlyTreeSnapshot);
52
74
  const body = reader.readObject(Body);
75
+ const checkpointNumber = CheckpointNumber(reader.readNumber());
76
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
53
77
 
54
- return new L2Block(archive, header, body);
78
+ return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
55
79
  }
56
80
 
57
81
  /**
@@ -59,152 +83,39 @@ export class L2Block {
59
83
  * @returns A serialized L2 block as a Buffer.
60
84
  */
61
85
  toBuffer() {
62
- return serializeToBuffer(this.header, this.archive, this.body);
63
- }
64
-
65
- /**
66
- * Deserializes L2 block from a buffer.
67
- * @param str - A serialized L2 block.
68
- * @returns Deserialized L2 block.
69
- */
70
- static fromString(str: string): L2Block {
71
- return L2Block.fromBuffer(hexToBuffer(str));
72
- }
73
-
74
- /**
75
- * Serializes a block to a string.
76
- * @returns A serialized L2 block as a string.
77
- */
78
- toString(): string {
79
- return bufferToHex(this.toBuffer());
80
- }
81
-
82
- /**
83
- * Creates an L2 block containing random data.
84
- * @param l2BlockNum - The number of the L2 block.
85
- * @param txsPerBlock - The number of transactions to include in the block.
86
- * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
87
- * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
88
- * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
89
- * @returns The L2 block.
90
- */
91
- static async random(
92
- l2BlockNum: BlockNumber,
93
- txsPerBlock = 4,
94
- numPublicCallsPerTx = 3,
95
- numPublicLogsPerCall = 1,
96
- inHash: Fr | undefined = undefined,
97
- slotNumber: number | undefined = undefined,
98
- maxEffects: number | undefined = undefined,
99
- ): Promise<L2Block> {
100
- const body = await Body.random({ txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall, maxEffects });
101
-
102
- return new L2Block(
103
- makeAppendOnlyTreeSnapshot(l2BlockNum + 1),
104
- makeL2BlockHeader(0, l2BlockNum, slotNumber ?? l2BlockNum, { inHash }),
105
- body,
106
- );
107
- }
108
-
109
- /**
110
- * Creates an L2 block containing empty data.
111
- * @returns The L2 block.
112
- */
113
- static empty(): L2Block {
114
- return new L2Block(AppendOnlyTreeSnapshot.empty(), L2BlockHeader.empty(), Body.empty());
115
- }
116
-
117
- get number(): BlockNumber {
118
- return this.header.getBlockNumber();
119
- }
120
-
121
- get slot(): SlotNumber {
122
- return this.header.getSlot();
123
- }
124
-
125
- get timestamp(): bigint {
126
- return this.header.globalVariables.timestamp;
86
+ return serializeToBuffer(this.header, this.archive, this.body, this.checkpointNumber, this.indexWithinCheckpoint);
127
87
  }
128
88
 
129
89
  /**
130
90
  * Returns the block's hash (hash of block header).
131
91
  * @returns The block's hash.
132
92
  */
133
- public async hash(): Promise<Fr> {
134
- if (this.blockHash === undefined) {
135
- this.blockHash = await this.getBlockHeader().hash();
136
- }
137
- return this.blockHash;
93
+ public hash(): Promise<BlockHash> {
94
+ return this.header.hash();
138
95
  }
139
96
 
140
97
  /**
141
- * @deprecated
142
- * This only works when there's one block per checkpoint.
143
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
98
+ * Checks if this block equals another block.
99
+ * @param other - The other block to compare with.
100
+ * @returns True if both blocks are equal.
144
101
  */
145
- public getCheckpointHeader() {
146
- return this.header.toCheckpointHeader();
147
- }
148
-
149
- // Temporary helper to get the actual block header.
150
- public getBlockHeader(): BlockHeader {
151
- return this.header.toBlockHeader();
152
- }
153
-
154
- public toL2Block(args: { checkpointNumber?: CheckpointNumber; indexWithinCheckpoint?: number } = {}): L2BlockNew {
155
- return new L2BlockNew(
156
- this.archive,
157
- this.getBlockHeader(),
158
- this.body,
159
- args?.checkpointNumber ?? CheckpointNumber.fromBlockNumber(this.number),
160
- args?.indexWithinCheckpoint ?? 0,
102
+ public equals(other: this): boolean {
103
+ return (
104
+ this.archive.equals(other.archive) &&
105
+ this.header.equals(other.header) &&
106
+ this.body.equals(other.body) &&
107
+ this.checkpointNumber === other.checkpointNumber &&
108
+ this.indexWithinCheckpoint === other.indexWithinCheckpoint
161
109
  );
162
110
  }
163
111
 
164
- public toCheckpoint() {
165
- return new Checkpoint(
166
- this.archive,
167
- this.getCheckpointHeader(),
168
- [this.toL2Block()],
169
- CheckpointNumber.fromBlockNumber(this.number),
170
- );
171
- }
172
-
173
- static fromCheckpoint(checkpoint: Checkpoint) {
174
- const checkpointHeader = checkpoint.header;
175
- const block = checkpoint.blocks.at(-1)!;
176
- const header = new L2BlockHeader(
177
- new AppendOnlyTreeSnapshot(checkpointHeader.lastArchiveRoot, block.number),
178
- checkpointHeader.blobsHash,
179
- checkpointHeader.inHash,
180
- block.header.state,
181
- block.header.globalVariables,
182
- block.header.totalFees,
183
- checkpointHeader.totalManaUsed,
184
- block.header.spongeBlobHash,
185
- checkpointHeader.blockHeadersHash,
186
- );
187
- return new L2Block(checkpoint.archive, header, block.body);
188
- }
189
-
190
- /**
191
- * @deprecated
192
- * This only works when there's one block per checkpoint.
193
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
194
- */
195
- public getCheckpointBlobFields() {
196
- const blockBlobData = this.toBlockBlobData();
197
- return encodeCheckpointBlobDataFromBlocks([blockBlobData]);
198
- }
199
-
200
112
  public toBlobFields(): Fr[] {
201
113
  const blockBlobData = this.toBlockBlobData();
202
114
  return encodeBlockBlobData(blockBlobData);
203
115
  }
204
116
 
205
117
  public toBlockBlobData(): BlockBlobData {
206
- // There's only one L2Block per checkpoint, so it's always the first block in the checkpoint.
207
- const isFirstBlock = true;
118
+ const isFirstBlock = this.indexWithinCheckpoint === 0;
208
119
  return {
209
120
  blockEndMarker: {
210
121
  numTxs: this.body.txEffects.length,
@@ -227,6 +138,48 @@ export class L2Block {
227
138
  };
228
139
  }
229
140
 
141
+ static empty(header?: BlockHeader) {
142
+ return new L2Block(
143
+ AppendOnlyTreeSnapshot.empty(),
144
+ header ?? BlockHeader.empty(),
145
+ Body.empty(),
146
+ CheckpointNumber(0),
147
+ IndexWithinCheckpoint(0),
148
+ );
149
+ }
150
+
151
+ /**
152
+ * Creates an L2 block containing random data.
153
+ * @param l2BlockNum - The number of the L2 block.
154
+ * @param txsPerBlock - The number of transactions to include in the block.
155
+ * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
156
+ * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
157
+ * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
158
+ * @returns The L2 block.
159
+ */
160
+ static async random(
161
+ blockNumber: BlockNumber,
162
+ {
163
+ checkpointNumber = CheckpointNumber(Number(blockNumber)),
164
+ indexWithinCheckpoint = IndexWithinCheckpoint(0),
165
+ txsPerBlock = 1,
166
+ txOptions = {},
167
+ makeTxOptions,
168
+ ...blockHeaderOverrides
169
+ }: {
170
+ checkpointNumber?: CheckpointNumber;
171
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
172
+ txsPerBlock?: number;
173
+ txOptions?: Partial<Parameters<typeof Body.random>[0]>;
174
+ makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
175
+ } & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
176
+ ): Promise<L2Block> {
177
+ const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
178
+ const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
179
+ const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
180
+ return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
181
+ }
182
+
230
183
  /**
231
184
  * Returns stats used for logging.
232
185
  * @returns Stats on tx count, number, and log size and count.
@@ -254,9 +207,12 @@ export class L2Block {
254
207
  };
255
208
  }
256
209
 
210
+ getPrivateLogs(): PrivateLog[] {
211
+ return this.body.txEffects.map(txEffect => txEffect.privateLogs).flat();
212
+ }
213
+
257
214
  toBlockInfo(): L2BlockInfo {
258
215
  return {
259
- blockHash: this.blockHash,
260
216
  archive: this.archive.root,
261
217
  lastArchive: this.header.lastArchive.root,
262
218
  blockNumber: this.number,
@@ -265,8 +221,4 @@ export class L2Block {
265
221
  timestamp: this.header.globalVariables.timestamp,
266
222
  };
267
223
  }
268
-
269
- equals(other: L2Block) {
270
- return this.archive.equals(other.archive) && this.header.equals(other.header) && this.body.equals(other.body);
271
- }
272
224
  }
@@ -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,9 +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';
23
- import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
24
+ import type { BlockData } from './block_data.js';
25
+ import type { BlockHash } from './block_hash.js';
26
+ import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
24
27
  import type { L2Block } from './l2_block.js';
25
- import type { L2BlockNew } from './l2_block_new.js';
26
28
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
27
29
 
28
30
  /**
@@ -53,6 +55,20 @@ export interface L2BlockSource {
53
55
  */
54
56
  getProvenBlockNumber(): Promise<BlockNumber>;
55
57
 
58
+ /**
59
+ * Gets the number of the latest L2 block checkpointed seen by the block source implementation.
60
+ * @returns The number of the latest L2 block checkpointed seen by the block source implementation.
61
+ */
62
+ getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
63
+
64
+ /**
65
+ * Computes the finalized block number based on the proven block number.
66
+ * A block is considered finalized when it's 2 epochs behind the proven block.
67
+ * TODO(#13569): Compute proper finalized block number based on L1 finalized block.
68
+ * @returns The finalized block number.
69
+ */
70
+ getFinalizedL2BlockNumber(): Promise<BlockNumber>;
71
+
56
72
  /**
57
73
  * Gets an l2 block header.
58
74
  * @param number - The block number to return or 'latest' for the most recent one.
@@ -68,15 +84,15 @@ export interface L2BlockSource {
68
84
  */
69
85
  getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
70
86
 
71
- getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
87
+ getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
72
88
 
73
89
  /**
74
- * Retrieves a collection of published checkpoints
75
- * @param checkpointNumber The first checkpoint to be retrieved
76
- * @param limit The number of checkpoints to be retrieved
77
- * @returns The collection of complete checkpoints
90
+ * Retrieves a collection of checkpoints.
91
+ * @param checkpointNumber The first checkpoint to be retrieved.
92
+ * @param limit The number of checkpoints to be retrieved.
93
+ * @returns The collection of complete checkpoints.
78
94
  */
79
- getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
95
+ getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
80
96
 
81
97
  /**
82
98
  * Gets the checkpoints for a given epoch
@@ -84,12 +100,18 @@ export interface L2BlockSource {
84
100
  */
85
101
  getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
86
102
 
103
+ /**
104
+ * Gets lightweight checkpoint metadata for a given epoch, without fetching full block data.
105
+ * @param epochNumber - Epoch for which we want checkpoint data
106
+ */
107
+ getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
108
+
87
109
  /**
88
110
  * Gets a block header by its hash.
89
111
  * @param blockHash - The block hash to retrieve.
90
112
  * @returns The requested block header (or undefined if not found).
91
113
  */
92
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
114
+ getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
93
115
 
94
116
  /**
95
117
  * Gets a block header by its archive root.
@@ -98,12 +120,40 @@ export interface L2BlockSource {
98
120
  */
99
121
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
100
122
 
123
+ /**
124
+ * Gets block metadata (without tx data) by block number.
125
+ * @param number - The block number to retrieve.
126
+ * @returns The requested block data (or undefined if not found).
127
+ */
128
+ getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
129
+
130
+ /**
131
+ * Gets block metadata (without tx data) by archive root.
132
+ * @param archive - The archive root to retrieve.
133
+ * @returns The requested block data (or undefined if not found).
134
+ */
135
+ getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
136
+
101
137
  /**
102
138
  * Gets an L2 block by block number.
103
139
  * @param number - The block number to return.
104
140
  * @returns The requested L2 block (or undefined if not found).
105
141
  */
106
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
142
+ getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
143
+
144
+ /**
145
+ * Gets an L2 block by its hash.
146
+ * @param blockHash - The block hash to retrieve.
147
+ * @returns The requested L2 block (or undefined if not found).
148
+ */
149
+ getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
150
+
151
+ /**
152
+ * Gets an L2 block by its archive root.
153
+ * @param archive - The archive root to retrieve.
154
+ * @returns The requested L2 block (or undefined if not found).
155
+ */
156
+ getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
107
157
 
108
158
  /**
109
159
  * Gets a tx effect.
@@ -130,11 +180,11 @@ export interface L2BlockSource {
130
180
  getL2EpochNumber(): Promise<EpochNumber | undefined>;
131
181
 
132
182
  /**
133
- * Returns all block headers for a given epoch.
183
+ * Returns all checkpointed block headers for a given epoch.
134
184
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
135
185
  * @param epochNumber - The epoch number to return headers for.
136
186
  */
137
- getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
187
+ getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
138
188
 
139
189
  /**
140
190
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
@@ -179,46 +229,44 @@ export interface L2BlockSource {
179
229
  * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
180
230
  * @param number - The block number to return (inclusive).
181
231
  * @returns The requested L2 block.
182
- * @deprecated Use getL2BlockNew instead.
183
232
  */
184
233
  getBlock(number: BlockNumber): Promise<L2Block | undefined>;
185
234
 
186
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
187
-
188
- getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
189
-
190
235
  /**
191
- * Returns all blocks for a given epoch.
236
+ * Returns all checkpointed blocks for a given epoch.
192
237
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
193
238
  * @param epochNumber - The epoch number to return blocks for.
194
239
  */
195
- getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
240
+ getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
241
+
242
+ /**
243
+ * Returns all blocks for a given slot.
244
+ * @dev Use this method only with recent slots, since it walks the block list backwards.
245
+ * @param slotNumber - The slot number to return blocks for.
246
+ */
247
+ getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
196
248
 
197
249
  /**
198
- * Gets a published block by its block hash.
250
+ * Gets a checkpointed block by its block hash.
199
251
  * @param blockHash - The block hash to retrieve.
200
252
  * @returns The requested block (or undefined if not found).
201
253
  */
202
- getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
254
+ getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
203
255
 
204
256
  /**
205
- * Gets a published block by its archive root.
257
+ * Gets a checkpointed block by its archive root.
206
258
  * @param archive - The archive root to retrieve.
207
259
  * @returns The requested block (or undefined if not found).
208
260
  */
209
- getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
261
+ getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
210
262
 
211
263
  /**
212
264
  * Gets up to `limit` amount of L2 blocks starting from `from`.
213
265
  * @param from - Number of the first block to return (inclusive).
214
266
  * @param limit - The maximum number of blocks to return.
215
- * @param proven - If true, only return blocks that have been proven.
216
267
  * @returns The requested L2 blocks.
217
268
  */
218
- getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
219
-
220
- /** Equivalent to getBlocks but includes publish data. */
221
- getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
269
+ getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
222
270
  }
223
271
 
224
272
  /**
@@ -230,7 +278,7 @@ export interface L2BlockSink {
230
278
  * @param block - The L2 block to add.
231
279
  * @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
232
280
  */
233
- addBlock(block: L2BlockNew): Promise<void>;
281
+ addBlock(block: L2Block): Promise<void>;
234
282
  }
235
283
 
236
284
  /**
@@ -238,12 +286,15 @@ export interface L2BlockSink {
238
286
  * see L2BlockSourceEvents for the events emitted.
239
287
  */
240
288
  export type ArchiverEmitter = TypedEventEmitter<{
241
- [L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockPruneEvent) => void;
289
+ [L2BlockSourceEvents.L2PruneUnproven]: (args: L2PruneUnprovenEvent) => void;
290
+ [L2BlockSourceEvents.L2PruneUncheckpointed]: (args: L2PruneUncheckpointedEvent) => void;
242
291
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
243
292
  [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
244
293
  [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
245
294
  }>;
246
- export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {}
295
+ export interface L2BlockSourceEventEmitter extends L2BlockSource {
296
+ events: ArchiverEmitter;
297
+ }
247
298
 
248
299
  /**
249
300
  * Identifier for L2 block tags.
@@ -254,13 +305,6 @@ export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitte
254
305
  */
255
306
  export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
256
307
 
257
- /**
258
- * Reason for L2 block prune.
259
- * - uncheckpointed: L2 blocks were pruned due to a failure to checkpoint.
260
- * - unproven: L2 blocks were pruned due to a failure to prove.
261
- */
262
- export type L2BlockPruneReason = 'uncheckpointed' | 'unproven';
263
-
264
308
  /** Tips of the L2 chain. */
265
309
  export type L2Tips = {
266
310
  proposed: L2BlockId;
@@ -314,7 +358,8 @@ export const L2TipsSchema = z.object({
314
358
  });
315
359
 
316
360
  export enum L2BlockSourceEvents {
317
- L2PruneDetected = 'l2PruneDetected',
361
+ L2PruneUnproven = 'l2PruneUnproven',
362
+ L2PruneUncheckpointed = 'l2PruneUncheckpointed',
318
363
  L2BlockProven = 'l2BlockProven',
319
364
  L2BlocksCheckpointed = 'l2BlocksCheckpointed',
320
365
  InvalidAttestationsCheckpointDetected = 'invalidCheckpointDetected',
@@ -327,10 +372,16 @@ export type L2BlockProvenEvent = {
327
372
  epochNumber: EpochNumber;
328
373
  };
329
374
 
330
- export type L2BlockPruneEvent = {
331
- type: 'l2PruneDetected';
375
+ export type L2PruneUnprovenEvent = {
376
+ type: 'l2PruneUnproven';
332
377
  epochNumber: EpochNumber;
333
- blocks: L2BlockNew[];
378
+ blocks: L2Block[];
379
+ };
380
+
381
+ export type L2PruneUncheckpointedEvent = {
382
+ type: 'l2PruneUncheckpointed';
383
+ slotNumber: SlotNumber;
384
+ blocks: L2Block[];
334
385
  };
335
386
 
336
387
  export type L2CheckpointEvent = {
@@ -1,6 +1,6 @@
1
1
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
2
- import type { L2BlockNew } from '../l2_block_new.js';
3
- import type { CheckpointId, L2BlockId, L2BlockPruneReason, L2Tips } from '../l2_block_source.js';
2
+ import type { L2Block } from '../l2_block.js';
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. */
6
6
  export interface L2BlockStreamLocalDataProvider {
@@ -16,16 +16,19 @@ 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';
23
23
  checkpoint: PublishedCheckpoint;
24
24
  block: L2BlockId;
25
25
  }
26
- | /** Reports last correct block (new tip of the proposed chain). */ {
26
+ | /**
27
+ * Reports last correct block (new tip of the proposed chain). Note that this is not necessarily the anchor block
28
+ * that will be used in the transaction - if the chain has already moved past the reorg, we'll also see blocks-added
29
+ * events that will push the anchor block forward.
30
+ */ {
27
31
  type: 'chain-pruned';
28
- reason: L2BlockPruneReason;
29
32
  block: L2BlockId;
30
33
  checkpoint: CheckpointId;
31
34
  }