@aztec/stdlib 0.0.1-commit.6d3c34e → 0.0.1-commit.7035c9bd6

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 (779) hide show
  1. package/dest/abi/decoder.d.ts +2 -2
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +7 -5
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +37 -6
  7. package/dest/abi/event_metadata_definition.d.ts +3 -1
  8. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  9. package/dest/abi/event_metadata_definition.js +1 -1
  10. package/dest/abi/function_call.d.ts +47 -9
  11. package/dest/abi/function_call.d.ts.map +1 -1
  12. package/dest/abi/function_call.js +20 -3
  13. package/dest/abi/utils.d.ts +20 -1
  14. package/dest/abi/utils.d.ts.map +1 -1
  15. package/dest/abi/utils.js +22 -0
  16. package/dest/auth_witness/auth_witness.d.ts +2 -1
  17. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  18. package/dest/auth_witness/auth_witness.js +3 -3
  19. package/dest/avm/avm.d.ts +362 -362
  20. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  21. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  22. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  23. package/dest/avm/avm_proving_request.d.ts +465 -465
  24. package/dest/avm/contract_storage_read.d.ts +13 -1
  25. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  26. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  27. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  28. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  29. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  30. package/dest/avm/public_data_read.d.ts +10 -1
  31. package/dest/avm/public_data_read.d.ts.map +1 -1
  32. package/dest/avm/public_data_update_request.d.ts +10 -1
  33. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  34. package/dest/avm/public_data_write.d.ts +7 -1
  35. package/dest/avm/public_data_write.d.ts.map +1 -1
  36. package/dest/avm/public_inner_call_request.d.ts +4 -1
  37. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  38. package/dest/avm/revert_code.d.ts +19 -4
  39. package/dest/avm/revert_code.d.ts.map +1 -1
  40. package/dest/avm/revert_code.js +15 -5
  41. package/dest/block/block_data.d.ts +52 -0
  42. package/dest/block/block_data.d.ts.map +1 -0
  43. package/dest/block/block_data.js +12 -0
  44. package/dest/block/block_hash.d.ts +18 -14
  45. package/dest/block/block_hash.d.ts.map +1 -1
  46. package/dest/block/block_hash.js +22 -20
  47. package/dest/block/block_parameter.d.ts +4 -3
  48. package/dest/block/block_parameter.d.ts.map +1 -1
  49. package/dest/block/block_parameter.js +2 -0
  50. package/dest/block/body.d.ts +1 -1
  51. package/dest/block/body.d.ts.map +1 -1
  52. package/dest/block/body.js +2 -1
  53. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  54. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  55. package/dest/block/checkpointed_l2_block.js +7 -45
  56. package/dest/block/in_block.d.ts +9 -9
  57. package/dest/block/in_block.d.ts.map +1 -1
  58. package/dest/block/in_block.js +5 -5
  59. package/dest/block/index.d.ts +2 -3
  60. package/dest/block/index.d.ts.map +1 -1
  61. package/dest/block/index.js +1 -2
  62. package/dest/block/l2_block.d.ts +64 -59
  63. package/dest/block/l2_block.d.ts.map +1 -1
  64. package/dest/block/l2_block.js +73 -109
  65. package/dest/block/l2_block_source.d.ts +94 -43
  66. package/dest/block/l2_block_source.d.ts.map +1 -1
  67. package/dest/block/l2_block_source.js +2 -1
  68. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  69. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  70. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  71. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  72. package/dest/block/l2_block_stream/l2_block_stream.js +47 -34
  73. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  74. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  75. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  76. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  77. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  78. package/dest/block/validate_block_result.d.ts +1 -1
  79. package/dest/block/validate_block_result.d.ts.map +1 -1
  80. package/dest/block/validate_block_result.js +5 -4
  81. package/dest/checkpoint/checkpoint.d.ts +44 -19
  82. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  83. package/dest/checkpoint/checkpoint.js +45 -17
  84. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  85. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  86. package/dest/checkpoint/checkpoint_data.js +26 -0
  87. package/dest/checkpoint/index.d.ts +3 -1
  88. package/dest/checkpoint/index.d.ts.map +1 -1
  89. package/dest/checkpoint/index.js +2 -0
  90. package/dest/checkpoint/published_checkpoint.d.ts +33 -16
  91. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  92. package/dest/checkpoint/published_checkpoint.js +5 -5
  93. package/dest/checkpoint/validate.d.ts +36 -0
  94. package/dest/checkpoint/validate.d.ts.map +1 -0
  95. package/dest/checkpoint/validate.js +120 -0
  96. package/dest/config/index.d.ts +3 -1
  97. package/dest/config/index.d.ts.map +1 -1
  98. package/dest/config/index.js +2 -0
  99. package/dest/config/node-rpc-config.js +1 -1
  100. package/dest/config/pipelining-config.d.ts +19 -0
  101. package/dest/config/pipelining-config.d.ts.map +1 -0
  102. package/dest/config/pipelining-config.js +18 -0
  103. package/dest/config/sequencer-config.d.ts +12 -0
  104. package/dest/config/sequencer-config.d.ts.map +1 -0
  105. package/dest/config/sequencer-config.js +24 -0
  106. package/dest/contract/complete_address.d.ts +4 -1
  107. package/dest/contract/complete_address.d.ts.map +1 -1
  108. package/dest/contract/contract_address.d.ts +3 -3
  109. package/dest/contract/contract_address.js +7 -7
  110. package/dest/contract/contract_class.d.ts +2 -3
  111. package/dest/contract/contract_class.d.ts.map +1 -1
  112. package/dest/contract/contract_class_id.d.ts +3 -3
  113. package/dest/contract/contract_class_id.d.ts.map +1 -1
  114. package/dest/contract/contract_class_id.js +7 -6
  115. package/dest/contract/contract_deployment_data.d.ts +5 -5
  116. package/dest/contract/index.d.ts +1 -3
  117. package/dest/contract/index.d.ts.map +1 -1
  118. package/dest/contract/index.js +0 -2
  119. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  120. package/dest/contract/interfaces/node-info.d.ts +3 -1
  121. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  122. package/dest/contract/interfaces/node-info.js +2 -1
  123. package/dest/contract/private_function.d.ts +1 -1
  124. package/dest/contract/private_function.d.ts.map +1 -1
  125. package/dest/contract/private_function.js +3 -4
  126. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  127. package/dest/contract/private_function_membership_proof.js +1 -1
  128. package/dest/database-version/database_version.d.ts +58 -0
  129. package/dest/database-version/database_version.d.ts.map +1 -0
  130. package/dest/database-version/database_version.js +69 -0
  131. package/dest/database-version/version_manager.d.ts +3 -49
  132. package/dest/database-version/version_manager.d.ts.map +1 -1
  133. package/dest/database-version/version_manager.js +1 -66
  134. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  135. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  136. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  137. package/dest/deserialization/index.d.ts +11 -0
  138. package/dest/deserialization/index.d.ts.map +1 -0
  139. package/dest/deserialization/index.js +10 -0
  140. package/dest/epoch-helpers/index.d.ts +11 -1
  141. package/dest/epoch-helpers/index.d.ts.map +1 -1
  142. package/dest/epoch-helpers/index.js +11 -3
  143. package/dest/errors/proving_error.d.ts +2 -2
  144. package/dest/errors/proving_error.d.ts.map +1 -1
  145. package/dest/file-store/local.d.ts +3 -3
  146. package/dest/file-store/local.d.ts.map +1 -1
  147. package/dest/file-store/local.js +13 -4
  148. package/dest/file-store/s3.d.ts +1 -1
  149. package/dest/file-store/s3.d.ts.map +1 -1
  150. package/dest/file-store/s3.js +11 -3
  151. package/dest/gas/gas_fees.d.ts +1 -1
  152. package/dest/gas/gas_fees.d.ts.map +1 -1
  153. package/dest/gas/gas_fees.js +4 -1
  154. package/dest/ha-signing/config.d.ts +136 -0
  155. package/dest/ha-signing/config.d.ts.map +1 -0
  156. package/dest/ha-signing/config.js +97 -0
  157. package/dest/ha-signing/index.d.ts +4 -0
  158. package/dest/ha-signing/index.d.ts.map +1 -0
  159. package/dest/ha-signing/index.js +3 -0
  160. package/dest/ha-signing/local_config.d.ts +63 -0
  161. package/dest/ha-signing/local_config.d.ts.map +1 -0
  162. package/dest/ha-signing/local_config.js +24 -0
  163. package/dest/ha-signing/types.d.ts +85 -0
  164. package/dest/ha-signing/types.d.ts.map +1 -0
  165. package/dest/ha-signing/types.js +32 -0
  166. package/dest/hash/hash.d.ts +17 -1
  167. package/dest/hash/hash.d.ts.map +1 -1
  168. package/dest/hash/hash.js +40 -10
  169. package/dest/hash/map_slot.d.ts +1 -1
  170. package/dest/hash/map_slot.d.ts.map +1 -1
  171. package/dest/hash/map_slot.js +4 -3
  172. package/dest/interfaces/allowed_element.d.ts +26 -20
  173. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  174. package/dest/interfaces/allowed_element.js +8 -8
  175. package/dest/interfaces/api_limit.d.ts +2 -1
  176. package/dest/interfaces/api_limit.d.ts.map +1 -1
  177. package/dest/interfaces/api_limit.js +1 -0
  178. package/dest/interfaces/archiver.d.ts +1 -1
  179. package/dest/interfaces/archiver.d.ts.map +1 -1
  180. package/dest/interfaces/archiver.js +26 -17
  181. package/dest/interfaces/aztec-node-admin.d.ts +170 -51
  182. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  183. package/dest/interfaces/aztec-node-admin.js +12 -4
  184. package/dest/interfaces/aztec-node.d.ts +76 -73
  185. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  186. package/dest/interfaces/aztec-node.js +15 -18
  187. package/dest/interfaces/block-builder.d.ts +53 -18
  188. package/dest/interfaces/block-builder.d.ts.map +1 -1
  189. package/dest/interfaces/block-builder.js +16 -2
  190. package/dest/interfaces/configs.d.ts +81 -36
  191. package/dest/interfaces/configs.d.ts.map +1 -1
  192. package/dest/interfaces/configs.js +10 -3
  193. package/dest/interfaces/get_logs_response.d.ts +16 -9
  194. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  195. package/dest/interfaces/l2_logs_source.d.ts +16 -5
  196. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  197. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  198. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  199. package/dest/interfaces/p2p.d.ts +4 -9
  200. package/dest/interfaces/p2p.d.ts.map +1 -1
  201. package/dest/interfaces/prover-broker.d.ts +16 -1
  202. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  203. package/dest/interfaces/prover-broker.js +4 -1
  204. package/dest/interfaces/prover-client.d.ts +20 -1
  205. package/dest/interfaces/prover-client.d.ts.map +1 -1
  206. package/dest/interfaces/prover-client.js +18 -1
  207. package/dest/interfaces/proving-job.d.ts +50 -50
  208. package/dest/interfaces/slasher.d.ts +9 -1
  209. package/dest/interfaces/slasher.d.ts.map +1 -1
  210. package/dest/interfaces/slasher.js +2 -0
  211. package/dest/interfaces/tx_provider.d.ts +3 -3
  212. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  213. package/dest/interfaces/validator.d.ts +203 -39
  214. package/dest/interfaces/validator.d.ts.map +1 -1
  215. package/dest/interfaces/validator.js +11 -4
  216. package/dest/interfaces/world_state.d.ts +5 -4
  217. package/dest/interfaces/world_state.d.ts.map +1 -1
  218. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  219. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  220. package/dest/kernel/hints/build_note_hash_read_request_hints.js +29 -16
  221. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  222. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  223. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  224. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  225. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  226. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  227. package/dest/kernel/hints/index.d.ts +2 -2
  228. package/dest/kernel/hints/index.js +2 -2
  229. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  230. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  231. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  232. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  233. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  234. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  235. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  236. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  237. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  238. package/dest/kernel/hints/read_request.d.ts +7 -1
  239. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  240. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  241. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  242. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  243. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  244. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  245. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  246. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  247. package/dest/kernel/private_call_data.d.ts +25 -1
  248. package/dest/kernel/private_call_data.d.ts.map +1 -1
  249. package/dest/kernel/private_call_request.d.ts +16 -1
  250. package/dest/kernel/private_call_request.d.ts.map +1 -1
  251. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  252. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  253. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  254. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  255. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  256. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  257. package/dest/kernel/private_kernel_data.d.ts +7 -1
  258. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  259. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  260. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  261. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  262. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  263. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  264. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  265. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  266. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  267. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  268. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +26 -3
  269. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  270. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  271. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  272. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  273. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  274. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  275. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  276. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  277. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  278. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  279. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  280. package/dest/kernel/private_validation_requests.d.ts +13 -4
  281. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  282. package/dest/kernel/private_validation_requests.js +9 -9
  283. package/dest/kernel/public_call_request.d.ts +22 -1
  284. package/dest/kernel/public_call_request.d.ts.map +1 -1
  285. package/dest/kernel/utils/optional_number.d.ts +7 -1
  286. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  287. package/dest/keys/derivation.d.ts +3 -3
  288. package/dest/keys/derivation.js +15 -15
  289. package/dest/keys/key_types.d.ts +3 -3
  290. package/dest/keys/key_types.d.ts.map +1 -1
  291. package/dest/keys/public_keys.d.ts +5 -1
  292. package/dest/keys/public_keys.d.ts.map +1 -1
  293. package/dest/keys/public_keys.js +2 -2
  294. package/dest/keys/utils.d.ts +1 -1
  295. package/dest/keys/utils.d.ts.map +1 -1
  296. package/dest/keys/utils.js +8 -4
  297. package/dest/kv-store/config.d.ts +17 -0
  298. package/dest/kv-store/config.d.ts.map +1 -0
  299. package/dest/kv-store/config.js +26 -0
  300. package/dest/kv-store/index.d.ts +2 -0
  301. package/dest/kv-store/index.d.ts.map +1 -0
  302. package/dest/kv-store/index.js +1 -0
  303. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  304. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  305. package/dest/l1-contracts/slash_factory.js +1 -0
  306. package/dest/logs/debug_log_store.d.ts +30 -0
  307. package/dest/logs/debug_log_store.d.ts.map +1 -0
  308. package/dest/logs/debug_log_store.js +30 -0
  309. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  310. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  311. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  312. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  313. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  314. package/dest/logs/extended_public_log.d.ts +17 -9
  315. package/dest/logs/extended_public_log.d.ts.map +1 -1
  316. package/dest/logs/index.d.ts +4 -2
  317. package/dest/logs/index.d.ts.map +1 -1
  318. package/dest/logs/index.js +3 -1
  319. package/dest/logs/log_filter.d.ts +4 -1
  320. package/dest/logs/log_filter.d.ts.map +1 -1
  321. package/dest/logs/log_filter.js +2 -1
  322. package/dest/logs/log_id.d.ts +21 -14
  323. package/dest/logs/log_id.d.ts.map +1 -1
  324. package/dest/logs/log_id.js +20 -17
  325. package/dest/logs/pre_tag.d.ts +16 -11
  326. package/dest/logs/pre_tag.d.ts.map +1 -1
  327. package/dest/logs/pre_tag.js +2 -2
  328. package/dest/logs/private_log.d.ts +2 -2
  329. package/dest/logs/private_log.d.ts.map +1 -1
  330. package/dest/logs/public_log.d.ts +4 -3
  331. package/dest/logs/public_log.d.ts.map +1 -1
  332. package/dest/logs/public_log.js +2 -1
  333. package/dest/logs/siloed_tag.d.ts +5 -3
  334. package/dest/logs/siloed_tag.d.ts.map +1 -1
  335. package/dest/logs/siloed_tag.js +8 -6
  336. package/dest/logs/tag.js +1 -1
  337. package/dest/logs/tagging_index_range.d.ts +40 -0
  338. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  339. package/dest/logs/tagging_index_range.js +8 -0
  340. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  341. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  342. package/dest/logs/tx_scoped_l2_log.js +7 -0
  343. package/dest/messaging/inbox_leaf.d.ts +3 -1
  344. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  345. package/dest/messaging/l1_actor.d.ts +7 -1
  346. package/dest/messaging/l1_actor.d.ts.map +1 -1
  347. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  348. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  349. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  350. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  351. package/dest/messaging/l2_actor.d.ts +7 -1
  352. package/dest/messaging/l2_actor.d.ts.map +1 -1
  353. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  354. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  355. package/dest/messaging/l2_to_l1_membership.js +77 -32
  356. package/dest/messaging/out_hash.d.ts +41 -4
  357. package/dest/messaging/out_hash.d.ts.map +1 -1
  358. package/dest/messaging/out_hash.js +52 -26
  359. package/dest/noir/index.d.ts +3 -3
  360. package/dest/noir/index.d.ts.map +1 -1
  361. package/dest/note/index.d.ts +1 -2
  362. package/dest/note/index.d.ts.map +1 -1
  363. package/dest/note/index.js +0 -1
  364. package/dest/note/note_dao.d.ts +36 -5
  365. package/dest/note/note_dao.d.ts.map +1 -1
  366. package/dest/note/note_dao.js +15 -12
  367. package/dest/p2p/attestation_utils.d.ts +11 -1
  368. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  369. package/dest/p2p/attestation_utils.js +45 -0
  370. package/dest/p2p/block_proposal.d.ts +23 -8
  371. package/dest/p2p/block_proposal.d.ts.map +1 -1
  372. package/dest/p2p/block_proposal.js +26 -10
  373. package/dest/p2p/checkpoint_attestation.d.ts +6 -1
  374. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  375. package/dest/p2p/checkpoint_attestation.js +1 -1
  376. package/dest/p2p/checkpoint_proposal.d.ts +34 -14
  377. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  378. package/dest/p2p/checkpoint_proposal.js +56 -40
  379. package/dest/p2p/client_type.d.ts +2 -5
  380. package/dest/p2p/client_type.d.ts.map +1 -1
  381. package/dest/p2p/client_type.js +0 -7
  382. package/dest/p2p/consensus_payload.d.ts +15 -5
  383. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  384. package/dest/p2p/consensus_payload.js +22 -18
  385. package/dest/p2p/constants.d.ts +5 -0
  386. package/dest/p2p/constants.d.ts.map +1 -0
  387. package/dest/p2p/constants.js +3 -0
  388. package/dest/p2p/index.d.ts +2 -2
  389. package/dest/p2p/index.d.ts.map +1 -1
  390. package/dest/p2p/index.js +1 -1
  391. package/dest/p2p/message_validator.d.ts +18 -3
  392. package/dest/p2p/message_validator.d.ts.map +1 -1
  393. package/dest/p2p/message_validator.js +2 -1
  394. package/dest/p2p/peer_error.d.ts +3 -1
  395. package/dest/p2p/peer_error.d.ts.map +1 -1
  396. package/dest/p2p/peer_error.js +5 -0
  397. package/dest/p2p/signed_txs.d.ts +3 -1
  398. package/dest/p2p/signed_txs.d.ts.map +1 -1
  399. package/dest/p2p/signed_txs.js +6 -1
  400. package/dest/p2p/topic_type.d.ts +3 -4
  401. package/dest/p2p/topic_type.d.ts.map +1 -1
  402. package/dest/p2p/topic_type.js +7 -23
  403. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  404. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  405. package/dest/parity/parity_public_inputs.d.ts +4 -1
  406. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  407. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  408. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  409. package/dest/proofs/chonk_proof.d.ts +1 -1
  410. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  411. package/dest/proofs/chonk_proof.js +9 -4
  412. package/dest/proofs/proof.d.ts +4 -1
  413. package/dest/proofs/proof.d.ts.map +1 -1
  414. package/dest/proofs/recursive_proof.d.ts +10 -1
  415. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  416. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  417. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  418. package/dest/rollup/block_constant_data.d.ts +12 -1
  419. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  420. package/dest/rollup/block_headers_hash.js +1 -1
  421. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  422. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  423. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  424. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  425. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  426. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  427. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  428. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  429. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  430. package/dest/rollup/checkpoint_header.d.ts +31 -4
  431. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  432. package/dest/rollup/checkpoint_header.js +23 -7
  433. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  434. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  435. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  436. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  437. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  438. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  439. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  440. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  441. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  442. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  443. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  444. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  445. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  446. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  447. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  448. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  449. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  450. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  451. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  452. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  453. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  454. package/dest/schemas/schemas.d.ts +1 -1
  455. package/dest/slashing/empire.d.ts +1 -1
  456. package/dest/slashing/empire.d.ts.map +1 -1
  457. package/dest/slashing/empire.js +2 -0
  458. package/dest/slashing/helpers.d.ts +2 -2
  459. package/dest/slashing/helpers.d.ts.map +1 -1
  460. package/dest/slashing/helpers.js +6 -0
  461. package/dest/slashing/tally.d.ts +8 -2
  462. package/dest/slashing/tally.d.ts.map +1 -1
  463. package/dest/slashing/tally.js +35 -3
  464. package/dest/slashing/types.d.ts +7 -3
  465. package/dest/slashing/types.d.ts.map +1 -1
  466. package/dest/slashing/types.js +13 -1
  467. package/dest/stats/stats.d.ts +1 -3
  468. package/dest/stats/stats.d.ts.map +1 -1
  469. package/dest/tests/factories.d.ts +4 -4
  470. package/dest/tests/factories.d.ts.map +1 -1
  471. package/dest/tests/factories.js +26 -27
  472. package/dest/tests/jest.js +1 -1
  473. package/dest/tests/mocks.d.ts +26 -15
  474. package/dest/tests/mocks.d.ts.map +1 -1
  475. package/dest/tests/mocks.js +75 -47
  476. package/dest/timetable/index.d.ts +37 -0
  477. package/dest/timetable/index.d.ts.map +1 -0
  478. package/dest/timetable/index.js +39 -0
  479. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  480. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  481. package/dest/trees/nullifier_leaf.d.ts +13 -1
  482. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  483. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  484. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  485. package/dest/trees/public_data_leaf.d.ts +17 -1
  486. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  487. package/dest/trees/public_data_leaf.js +7 -6
  488. package/dest/trees/public_data_witness.d.ts +11 -1
  489. package/dest/trees/public_data_witness.d.ts.map +1 -1
  490. package/dest/tx/block_header.d.ts +16 -2
  491. package/dest/tx/block_header.d.ts.map +1 -1
  492. package/dest/tx/block_header.js +10 -2
  493. package/dest/tx/call_context.d.ts +13 -1
  494. package/dest/tx/call_context.d.ts.map +1 -1
  495. package/dest/tx/capsule.d.ts +4 -1
  496. package/dest/tx/capsule.d.ts.map +1 -1
  497. package/dest/tx/execution_payload.d.ts +9 -1
  498. package/dest/tx/execution_payload.d.ts.map +1 -1
  499. package/dest/tx/function_data.d.ts +4 -2
  500. package/dest/tx/function_data.d.ts.map +1 -1
  501. package/dest/tx/global_variables.d.ts +12 -4
  502. package/dest/tx/global_variables.d.ts.map +1 -1
  503. package/dest/tx/hashed_values.d.ts +7 -1
  504. package/dest/tx/hashed_values.d.ts.map +1 -1
  505. package/dest/tx/in_tx.d.ts +4 -4
  506. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  507. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  508. package/dest/tx/indexed_tx_effect.js +3 -2
  509. package/dest/tx/partial_state_reference.d.ts +4 -1
  510. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  511. package/dest/tx/private_execution_result.d.ts +27 -6
  512. package/dest/tx/private_execution_result.d.ts.map +1 -1
  513. package/dest/tx/private_execution_result.js +7 -7
  514. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  515. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  516. package/dest/tx/profiling.d.ts +165 -30
  517. package/dest/tx/profiling.d.ts.map +1 -1
  518. package/dest/tx/profiling.js +59 -12
  519. package/dest/tx/protocol_contracts.d.ts +2 -2
  520. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  521. package/dest/tx/protocol_contracts.js +2 -2
  522. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  523. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  524. package/dest/tx/public_simulation_output.d.ts +4 -2
  525. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  526. package/dest/tx/public_simulation_output.js +7 -3
  527. package/dest/tx/simulated_tx.d.ts +5 -2
  528. package/dest/tx/simulated_tx.d.ts.map +1 -1
  529. package/dest/tx/simulated_tx.js +4 -1
  530. package/dest/tx/state_reference.d.ts +3 -1
  531. package/dest/tx/state_reference.d.ts.map +1 -1
  532. package/dest/tx/tx.d.ts +29 -5
  533. package/dest/tx/tx.d.ts.map +1 -1
  534. package/dest/tx/tx.js +24 -9
  535. package/dest/tx/tx_context.d.ts +2 -1
  536. package/dest/tx/tx_context.d.ts.map +1 -1
  537. package/dest/tx/tx_effect.d.ts +32 -6
  538. package/dest/tx/tx_effect.d.ts.map +1 -1
  539. package/dest/tx/tx_effect.js +0 -7
  540. package/dest/tx/tx_execution_request.d.ts +30 -1
  541. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  542. package/dest/tx/tx_hash.d.ts +2 -1
  543. package/dest/tx/tx_hash.d.ts.map +1 -1
  544. package/dest/tx/tx_receipt.d.ts +68 -15
  545. package/dest/tx/tx_receipt.d.ts.map +1 -1
  546. package/dest/tx/tx_receipt.js +59 -17
  547. package/dest/tx/tx_request.d.ts +6 -1
  548. package/dest/tx/tx_request.d.ts.map +1 -1
  549. package/dest/tx/tx_request.js +2 -2
  550. package/dest/tx/validator/empty_validator.d.ts +2 -2
  551. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  552. package/dest/tx/validator/error_texts.d.ts +7 -2
  553. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  554. package/dest/tx/validator/error_texts.js +7 -1
  555. package/dest/tx/validator/tx_validator.d.ts +2 -2
  556. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  557. package/dest/types/shared.d.ts +4 -1
  558. package/dest/types/shared.d.ts.map +1 -1
  559. package/dest/update-checker/index.d.ts +3 -2
  560. package/dest/update-checker/index.d.ts.map +1 -1
  561. package/dest/update-checker/index.js +2 -1
  562. package/dest/update-checker/package_version.d.ts +3 -0
  563. package/dest/update-checker/package_version.d.ts.map +1 -0
  564. package/dest/update-checker/package_version.js +24 -0
  565. package/dest/update-checker/version_checker.d.ts +25 -0
  566. package/dest/update-checker/version_checker.d.ts.map +1 -0
  567. package/dest/update-checker/version_checker.js +50 -0
  568. package/dest/validators/errors.d.ts +6 -1
  569. package/dest/validators/errors.d.ts.map +1 -1
  570. package/dest/validators/errors.js +7 -0
  571. package/dest/validators/schemas.d.ts +38 -38
  572. package/dest/validators/schemas.d.ts.map +1 -1
  573. package/dest/validators/schemas.js +4 -3
  574. package/dest/validators/types.d.ts +3 -3
  575. package/dest/validators/types.d.ts.map +1 -1
  576. package/dest/versioning/versioning.d.ts +4 -2
  577. package/dest/versioning/versioning.d.ts.map +1 -1
  578. package/dest/versioning/versioning.js +4 -1
  579. package/dest/vks/verification_key.d.ts +22 -1
  580. package/dest/vks/verification_key.d.ts.map +1 -1
  581. package/dest/vks/vk_data.d.ts +7 -1
  582. package/dest/vks/vk_data.d.ts.map +1 -1
  583. package/dest/zkpassport/index.d.ts +3 -4
  584. package/dest/zkpassport/index.d.ts.map +1 -1
  585. package/dest/zkpassport/index.js +9 -9
  586. package/package.json +29 -14
  587. package/src/abi/decoder.ts +15 -6
  588. package/src/abi/encoder.ts +49 -6
  589. package/src/abi/event_metadata_definition.ts +2 -0
  590. package/src/abi/function_call.ts +25 -3
  591. package/src/abi/utils.ts +42 -0
  592. package/src/auth_witness/auth_witness.ts +3 -3
  593. package/src/avm/revert_code.ts +15 -0
  594. package/src/block/block_data.ts +26 -0
  595. package/src/block/block_hash.ts +26 -25
  596. package/src/block/block_parameter.ts +4 -2
  597. package/src/block/body.ts +2 -1
  598. package/src/block/checkpointed_l2_block.ts +8 -58
  599. package/src/block/in_block.ts +6 -6
  600. package/src/block/index.ts +1 -2
  601. package/src/block/l2_block.ts +112 -148
  602. package/src/block/l2_block_source.ts +104 -46
  603. package/src/block/l2_block_stream/interfaces.ts +8 -5
  604. package/src/block/l2_block_stream/l2_block_stream.ts +66 -37
  605. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  606. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  607. package/src/block/validate_block_result.ts +5 -4
  608. package/src/checkpoint/checkpoint.ts +72 -23
  609. package/src/checkpoint/checkpoint_data.ts +51 -0
  610. package/src/checkpoint/index.ts +2 -0
  611. package/src/checkpoint/published_checkpoint.ts +7 -4
  612. package/src/checkpoint/validate.ts +230 -0
  613. package/src/config/index.ts +2 -0
  614. package/src/config/node-rpc-config.ts +1 -1
  615. package/src/config/pipelining-config.ts +31 -0
  616. package/src/config/sequencer-config.ts +37 -0
  617. package/src/contract/contract_address.ts +7 -7
  618. package/src/contract/contract_class.ts +3 -3
  619. package/src/contract/contract_class_id.ts +7 -6
  620. package/src/contract/index.ts +0 -2
  621. package/src/contract/interfaces/node-info.ts +3 -0
  622. package/src/contract/private_function.ts +3 -4
  623. package/src/contract/private_function_membership_proof.ts +1 -1
  624. package/src/database-version/database_version.ts +87 -0
  625. package/src/database-version/version_manager.ts +1 -77
  626. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  627. package/src/deserialization/index.ts +21 -0
  628. package/src/epoch-helpers/index.ts +16 -1
  629. package/src/file-store/local.ts +15 -5
  630. package/src/file-store/s3.ts +12 -3
  631. package/src/gas/README.md +123 -0
  632. package/src/gas/gas_fees.ts +7 -1
  633. package/src/ha-signing/config.ts +156 -0
  634. package/src/ha-signing/index.ts +27 -0
  635. package/src/ha-signing/local_config.ts +46 -0
  636. package/src/ha-signing/types.ts +112 -0
  637. package/src/hash/hash.ts +43 -10
  638. package/src/hash/map_slot.ts +3 -2
  639. package/src/interfaces/allowed_element.ts +29 -9
  640. package/src/interfaces/api_limit.ts +1 -0
  641. package/src/interfaces/archiver.ts +26 -26
  642. package/src/interfaces/aztec-node-admin.ts +26 -2
  643. package/src/interfaces/aztec-node.ts +105 -135
  644. package/src/interfaces/block-builder.ts +93 -29
  645. package/src/interfaces/configs.ts +37 -11
  646. package/src/interfaces/l2_logs_source.ts +20 -4
  647. package/src/interfaces/merkle_tree_operations.ts +9 -19
  648. package/src/interfaces/p2p.ts +3 -14
  649. package/src/interfaces/prover-broker.ts +22 -0
  650. package/src/interfaces/prover-client.ts +30 -0
  651. package/src/interfaces/slasher.ts +4 -0
  652. package/src/interfaces/tx_provider.ts +2 -2
  653. package/src/interfaces/validator.ts +61 -31
  654. package/src/interfaces/world_state.ts +4 -3
  655. package/src/kernel/hints/build_note_hash_read_request_hints.ts +31 -24
  656. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  657. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  658. package/src/kernel/hints/index.ts +2 -2
  659. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  660. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  661. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  662. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  663. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  664. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  665. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  666. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  667. package/src/kernel/private_validation_requests.ts +8 -8
  668. package/src/keys/derivation.ts +15 -15
  669. package/src/keys/key_types.ts +6 -2
  670. package/src/keys/public_keys.ts +2 -2
  671. package/src/keys/utils.ts +8 -4
  672. package/src/kv-store/config.ts +36 -0
  673. package/src/kv-store/index.ts +1 -0
  674. package/src/l1-contracts/slash_factory.ts +1 -0
  675. package/src/logs/debug_log_store.ts +54 -0
  676. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  677. package/src/logs/index.ts +3 -1
  678. package/src/logs/log_filter.ts +5 -0
  679. package/src/logs/log_id.ts +22 -18
  680. package/src/logs/pre_tag.ts +5 -5
  681. package/src/logs/public_log.ts +4 -2
  682. package/src/logs/siloed_tag.ts +10 -4
  683. package/src/logs/tag.ts +1 -1
  684. package/src/logs/tagging_index_range.ts +24 -0
  685. package/src/logs/tx_scoped_l2_log.ts +16 -0
  686. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  687. package/src/messaging/l2_to_l1_membership.ts +106 -39
  688. package/src/messaging/out_hash.ts +60 -29
  689. package/src/noir/index.ts +2 -2
  690. package/src/note/index.ts +0 -1
  691. package/src/note/note_dao.ts +18 -13
  692. package/src/p2p/attestation_utils.ts +56 -0
  693. package/src/p2p/block_proposal.ts +36 -15
  694. package/src/p2p/checkpoint_attestation.ts +6 -1
  695. package/src/p2p/checkpoint_proposal.ts +94 -58
  696. package/src/p2p/client_type.ts +0 -6
  697. package/src/p2p/consensus_payload.ts +25 -17
  698. package/src/p2p/constants.ts +6 -0
  699. package/src/p2p/index.ts +1 -1
  700. package/src/p2p/message_validator.ts +14 -2
  701. package/src/p2p/peer_error.ts +7 -0
  702. package/src/p2p/signed_txs.ts +6 -1
  703. package/src/p2p/topic_type.ts +8 -15
  704. package/src/proofs/chonk_proof.ts +9 -5
  705. package/src/rollup/block_headers_hash.ts +1 -1
  706. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  707. package/src/rollup/checkpoint_header.ts +22 -2
  708. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  709. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  710. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  711. package/src/slashing/empire.ts +3 -1
  712. package/src/slashing/helpers.ts +8 -0
  713. package/src/slashing/tally.ts +41 -2
  714. package/src/slashing/types.ts +14 -0
  715. package/src/stats/stats.ts +0 -2
  716. package/src/tests/factories.ts +32 -43
  717. package/src/tests/jest.ts +1 -1
  718. package/src/tests/mocks.ts +106 -60
  719. package/src/timetable/index.ts +66 -0
  720. package/src/trees/public_data_leaf.ts +11 -5
  721. package/src/tx/block_header.ts +18 -4
  722. package/src/tx/global_variables.ts +3 -3
  723. package/src/tx/indexed_tx_effect.ts +3 -2
  724. package/src/tx/private_execution_result.ts +6 -6
  725. package/src/tx/profiling.ts +60 -9
  726. package/src/tx/protocol_contracts.ts +2 -2
  727. package/src/tx/public_simulation_output.ts +4 -0
  728. package/src/tx/simulated_tx.ts +8 -1
  729. package/src/tx/tx.ts +28 -20
  730. package/src/tx/tx_effect.ts +0 -9
  731. package/src/tx/tx_receipt.ts +91 -19
  732. package/src/tx/tx_request.ts +2 -2
  733. package/src/tx/validator/empty_validator.ts +1 -1
  734. package/src/tx/validator/error_texts.ts +8 -1
  735. package/src/tx/validator/tx_validator.ts +1 -1
  736. package/src/update-checker/index.ts +2 -1
  737. package/src/update-checker/package_version.ts +30 -0
  738. package/src/update-checker/version_checker.ts +65 -0
  739. package/src/validators/errors.ts +9 -0
  740. package/src/validators/schemas.ts +8 -1
  741. package/src/validators/types.ts +5 -4
  742. package/src/versioning/versioning.ts +4 -1
  743. package/src/zkpassport/index.ts +11 -12
  744. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  745. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  746. package/dest/block/l2_block_code_to_purge.js +0 -55
  747. package/dest/block/l2_block_header.d.ts +0 -94
  748. package/dest/block/l2_block_header.d.ts.map +0 -1
  749. package/dest/block/l2_block_header.js +0 -160
  750. package/dest/block/l2_block_new.d.ts +0 -134
  751. package/dest/block/l2_block_new.d.ts.map +0 -1
  752. package/dest/block/l2_block_new.js +0 -155
  753. package/dest/contract/contract_class_metadata.d.ts +0 -8
  754. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  755. package/dest/contract/contract_class_metadata.js +0 -1
  756. package/dest/contract/contract_metadata.d.ts +0 -7
  757. package/dest/contract/contract_metadata.d.ts.map +0 -1
  758. package/dest/contract/contract_metadata.js +0 -1
  759. package/dest/database-version/index.d.ts +0 -2
  760. package/dest/database-version/index.d.ts.map +0 -1
  761. package/dest/database-version/index.js +0 -1
  762. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  763. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  764. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  765. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  766. package/dest/note/notes_filter.d.ts +0 -27
  767. package/dest/note/notes_filter.d.ts.map +0 -1
  768. package/dest/note/notes_filter.js +0 -11
  769. package/dest/update-checker/update-checker.d.ts +0 -49
  770. package/dest/update-checker/update-checker.d.ts.map +0 -1
  771. package/dest/update-checker/update-checker.js +0 -130
  772. package/src/block/l2_block_code_to_purge.ts +0 -80
  773. package/src/block/l2_block_header.ts +0 -255
  774. package/src/block/l2_block_new.ts +0 -211
  775. package/src/contract/contract_class_metadata.ts +0 -8
  776. package/src/contract/contract_metadata.ts +0 -7
  777. package/src/database-version/index.ts +0 -1
  778. package/src/note/notes_filter.ts +0 -38
  779. package/src/update-checker/update-checker.ts +0 -166
@@ -4,15 +4,17 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import type { TypedEventEmitter } from '@aztec/foundation/types';
5
5
  import { z } from 'zod';
6
6
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
7
+ import type { CheckpointData } from '../checkpoint/checkpoint_data.js';
7
8
  import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
8
9
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
9
10
  import type { BlockHeader } from '../tx/block_header.js';
10
11
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
11
12
  import type { TxHash } from '../tx/tx_hash.js';
12
13
  import type { TxReceipt } from '../tx/tx_receipt.js';
13
- import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
14
+ import type { BlockData } from './block_data.js';
15
+ import type { BlockHash } from './block_hash.js';
16
+ import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
14
17
  import type { L2Block } from './l2_block.js';
15
- import type { L2BlockNew } from './l2_block_new.js';
16
18
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
17
19
  /**
18
20
  * Interface of classes allowing for the retrieval of L2 blocks.
@@ -33,11 +35,27 @@ export interface L2BlockSource {
33
35
  * @returns The number of the latest L2 block processed by the block source implementation.
34
36
  */
35
37
  getBlockNumber(): Promise<BlockNumber>;
38
+ /**
39
+ * Gets the number of the latest L2 checkpoint processed by the block source implementation.
40
+ * @returns The number of the latest L2 checkpoint processed by the block source implementation.
41
+ */
42
+ getCheckpointNumber(): Promise<CheckpointNumber>;
36
43
  /**
37
44
  * Gets the number of the latest L2 block proven seen by the block source implementation.
38
45
  * @returns The number of the latest L2 block proven seen by the block source implementation.
39
46
  */
40
47
  getProvenBlockNumber(): Promise<BlockNumber>;
48
+ /**
49
+ * Gets the number of the latest L2 block checkpointed seen by the block source implementation.
50
+ * @returns The number of the latest L2 block checkpointed seen by the block source implementation.
51
+ */
52
+ getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
53
+ /**
54
+ * Returns the finalized L2 block number. A block is finalized when it was proven
55
+ * in an L1 block that has itself been finalized on Ethereum.
56
+ * @returns The finalized block number.
57
+ */
58
+ getFinalizedL2BlockNumber(): Promise<BlockNumber>;
41
59
  /**
42
60
  * Gets an l2 block header.
43
61
  * @param number - The block number to return or 'latest' for the most recent one.
@@ -51,37 +69,66 @@ export interface L2BlockSource {
51
69
  * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
52
70
  */
53
71
  getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
54
- getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
72
+ getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
55
73
  /**
56
- * Retrieves a collection of published checkpoints
57
- * @param checkpointNumber The first checkpoint to be retrieved
58
- * @param limit The number of checkpoints to be retrieved
59
- * @returns The collection of complete checkpoints
74
+ * Retrieves a collection of 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.
60
78
  */
61
- getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
79
+ getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
62
80
  /**
63
81
  * Gets the checkpoints for a given epoch
64
82
  * @param epochNumber - Epoch for which we want checkpoint data
65
83
  */
66
84
  getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
85
+ /**
86
+ * Gets lightweight checkpoint metadata for a given epoch, without fetching full block data.
87
+ * @param epochNumber - Epoch for which we want checkpoint data
88
+ */
89
+ getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
67
90
  /**
68
91
  * Gets a block header by its hash.
69
92
  * @param blockHash - The block hash to retrieve.
70
93
  * @returns The requested block header (or undefined if not found).
71
94
  */
72
- getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
95
+ getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
73
96
  /**
74
97
  * Gets a block header by its archive root.
75
98
  * @param archive - The archive root to retrieve.
76
99
  * @returns The requested block header (or undefined if not found).
77
100
  */
78
101
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
102
+ /**
103
+ * Gets block metadata (without tx data) by block number.
104
+ * @param number - The block number to retrieve.
105
+ * @returns The requested block data (or undefined if not found).
106
+ */
107
+ getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
108
+ /**
109
+ * Gets block metadata (without tx data) by archive root.
110
+ * @param archive - The archive root to retrieve.
111
+ * @returns The requested block data (or undefined if not found).
112
+ */
113
+ getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
79
114
  /**
80
115
  * Gets an L2 block by block number.
81
116
  * @param number - The block number to return.
82
117
  * @returns The requested L2 block (or undefined if not found).
83
118
  */
84
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
119
+ getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
120
+ /**
121
+ * Gets an L2 block by its hash.
122
+ * @param blockHash - The block hash to retrieve.
123
+ * @returns The requested L2 block (or undefined if not found).
124
+ */
125
+ getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
126
+ /**
127
+ * Gets an L2 block by its archive root.
128
+ * @param archive - The archive root to retrieve.
129
+ * @returns The requested L2 block (or undefined if not found).
130
+ */
131
+ getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
85
132
  /**
86
133
  * Gets a tx effect.
87
134
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -95,19 +142,21 @@ export interface L2BlockSource {
95
142
  */
96
143
  getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
97
144
  /**
98
- * Returns the current L2 slot number based on the currently synced L1 timestamp.
145
+ * Returns the last L2 slot number that has been fully synchronized from L1.
146
+ * An L2 slot is fully synced when all L1 blocks that fall within its time range have been processed.
99
147
  */
100
- getL2SlotNumber(): Promise<SlotNumber | undefined>;
148
+ getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
101
149
  /**
102
- * Returns the current L2 epoch number based on the currently synced L1 timestamp.
150
+ * Returns the last L2 epoch number that has been fully synchronized from L1.
151
+ * An epoch is fully synced when all its L2 slots have been fully synced.
103
152
  */
104
- getL2EpochNumber(): Promise<EpochNumber | undefined>;
153
+ getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
105
154
  /**
106
- * Returns all block headers for a given epoch.
155
+ * Returns all checkpointed block headers for a given epoch.
107
156
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
108
157
  * @param epochNumber - The epoch number to return headers for.
109
158
  */
110
- getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
159
+ getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
111
160
  /**
112
161
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
113
162
  * @param epochNumber - The epoch number to check.
@@ -143,39 +192,39 @@ export interface L2BlockSource {
143
192
  * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
144
193
  * @param number - The block number to return (inclusive).
145
194
  * @returns The requested L2 block.
146
- * @deprecated Use getL2BlockNew instead.
147
195
  */
148
196
  getBlock(number: BlockNumber): Promise<L2Block | undefined>;
149
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
150
- getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
151
197
  /**
152
- * Returns all blocks for a given epoch.
198
+ * Returns all checkpointed blocks for a given epoch.
153
199
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
154
200
  * @param epochNumber - The epoch number to return blocks for.
155
201
  */
156
- getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
202
+ getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
203
+ /**
204
+ * Returns all blocks for a given slot.
205
+ * @dev Use this method only with recent slots, since it walks the block list backwards.
206
+ * @param slotNumber - The slot number to return blocks for.
207
+ */
208
+ getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
157
209
  /**
158
- * Gets a published block by its block hash.
210
+ * Gets a checkpointed block by its block hash.
159
211
  * @param blockHash - The block hash to retrieve.
160
212
  * @returns The requested block (or undefined if not found).
161
213
  */
162
- getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
214
+ getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
163
215
  /**
164
- * Gets a published block by its archive root.
216
+ * Gets a checkpointed block by its archive root.
165
217
  * @param archive - The archive root to retrieve.
166
218
  * @returns The requested block (or undefined if not found).
167
219
  */
168
- getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
220
+ getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
169
221
  /**
170
222
  * Gets up to `limit` amount of L2 blocks starting from `from`.
171
223
  * @param from - Number of the first block to return (inclusive).
172
224
  * @param limit - The maximum number of blocks to return.
173
- * @param proven - If true, only return blocks that have been proven.
174
225
  * @returns The requested L2 blocks.
175
226
  */
176
- getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
177
- /** Equivalent to getBlocks but includes publish data. */
178
- getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
227
+ getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
179
228
  }
180
229
  /**
181
230
  * Interface for classes that can receive and store L2 blocks.
@@ -186,19 +235,21 @@ export interface L2BlockSink {
186
235
  * @param block - The L2 block to add.
187
236
  * @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
188
237
  */
189
- addBlock(block: L2BlockNew): Promise<void>;
238
+ addBlock(block: L2Block): Promise<void>;
190
239
  }
191
240
  /**
192
241
  * L2BlockSource that emits events upon pending / proven chain changes.
193
242
  * see L2BlockSourceEvents for the events emitted.
194
243
  */
195
244
  export type ArchiverEmitter = TypedEventEmitter<{
196
- [L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockPruneEvent) => void;
245
+ [L2BlockSourceEvents.L2PruneUnproven]: (args: L2PruneUnprovenEvent) => void;
246
+ [L2BlockSourceEvents.L2PruneUncheckpointed]: (args: L2PruneUncheckpointedEvent) => void;
197
247
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
198
248
  [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
199
249
  [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
200
250
  }>;
201
- export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {
251
+ export interface L2BlockSourceEventEmitter extends L2BlockSource {
252
+ events: ArchiverEmitter;
202
253
  }
203
254
  /**
204
255
  * Identifier for L2 block tags.
@@ -208,12 +259,6 @@ export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitte
208
259
  * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
209
260
  */
210
261
  export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
211
- /**
212
- * Reason for L2 block prune.
213
- * - uncheckpointed: L2 blocks were pruned due to a failure to checkpoint.
214
- * - unproven: L2 blocks were pruned due to a failure to prove.
215
- */
216
- export type L2BlockPruneReason = 'uncheckpointed' | 'unproven';
217
262
  /** Tips of the L2 chain. */
218
263
  export type L2Tips = {
219
264
  proposed: L2BlockId;
@@ -482,7 +527,8 @@ export declare const L2TipsSchema: z.ZodObject<{
482
527
  };
483
528
  }>;
484
529
  export declare enum L2BlockSourceEvents {
485
- L2PruneDetected = "l2PruneDetected",
530
+ L2PruneUnproven = "l2PruneUnproven",
531
+ L2PruneUncheckpointed = "l2PruneUncheckpointed",
486
532
  L2BlockProven = "l2BlockProven",
487
533
  L2BlocksCheckpointed = "l2BlocksCheckpointed",
488
534
  InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected"
@@ -493,10 +539,15 @@ export type L2BlockProvenEvent = {
493
539
  slotNumber: SlotNumber;
494
540
  epochNumber: EpochNumber;
495
541
  };
496
- export type L2BlockPruneEvent = {
497
- type: 'l2PruneDetected';
542
+ export type L2PruneUnprovenEvent = {
543
+ type: 'l2PruneUnproven';
498
544
  epochNumber: EpochNumber;
499
- blocks: L2BlockNew[];
545
+ blocks: L2Block[];
546
+ };
547
+ export type L2PruneUncheckpointedEvent = {
548
+ type: 'l2PruneUncheckpointed';
549
+ slotNumber: SlotNumber;
550
+ blocks: L2Block[];
500
551
  };
501
552
  export type L2CheckpointEvent = {
502
553
  type: 'l2BlocksCheckpointed';
@@ -506,4 +557,4 @@ export type InvalidCheckpointDetectedEvent = {
506
557
  type: 'invalidCheckpointDetected';
507
558
  validationResult: ValidateCheckpointNegativeResult;
508
559
  };
509
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFD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
560
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLGdDQUFnQyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0c7O0dBRUc7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1Qjs7O09BR0c7SUFDSCxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFeEM7OztPQUdHO0lBQ0gsa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDOzs7T0FHRztJQUNILGNBQWMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkM7OztPQUdHO0lBQ0gsbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFakQ7OztPQUdHO0lBQ0gsb0JBQW9CLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTdDOzs7T0FHRztJQUNILDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVyRDs7OztPQUlHO0lBQ0gseUJBQXlCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVqRjs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXBGLHFCQUFxQixDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXhGOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUVsRzs7O09BR0c7SUFDSCxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRXhFOzs7T0FHRztJQUNILDBCQUEwQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFFaEY7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RTs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXZFOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRWxFOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFbkU7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFOUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVyRTs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9EOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRWxFOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFcEU7OztPQUdHO0lBQ0gscUJBQXFCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV6RDs7O09BR0c7SUFDSCxzQkFBc0IsSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTNEOzs7O09BSUc7SUFDSCxtQ0FBbUMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRXRGOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1RDs7T0FFRztJQUNILFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0I7O09BRUc7SUFDSCxjQUFjLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFN0MsMkNBQTJDO0lBQzNDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQztRQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FBQztJQUV4RCxrQ0FBa0M7SUFDbEMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFOUM7OztPQUdHO0lBQ0gscUJBQXFCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTFDOzs7T0FHRztJQUNILCtCQUErQixJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRXJFLG9CQUFvQjtJQUNwQixhQUFhLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBSS9COzs7O09BSUc7SUFDSCxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTVEOzs7O09BSUc7SUFDSCw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFFeEY7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNILDBCQUEwQixDQUFDLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTNGOzs7O09BSUc7SUFDSCw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVyRjs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Q0FDakU7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxXQUFXO0lBQzFCOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDekM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDO0lBQzlDLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEtBQUssSUFBSSxDQUFDO0lBQzVFLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSwwQkFBMEIsS0FBSyxJQUFJLENBQUM7SUFDeEYsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxrQkFBa0IsS0FBSyxJQUFJLENBQUM7SUFDeEUsQ0FBQyxtQkFBbUIsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLDhCQUE4QixLQUFLLElBQUksQ0FBQztJQUM1RyxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEtBQUssSUFBSSxDQUFDO0NBQy9FLENBQUMsQ0FBQztBQUNILE1BQU0sV0FBVyx5QkFBMEIsU0FBUSxhQUFhO0lBQzlELE1BQU0sRUFBRSxlQUFlLENBQUM7Q0FDekI7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxjQUFjLEdBQUcsUUFBUSxHQUFHLFdBQVcsQ0FBQztBQUU5RSw0QkFBNEI7QUFDNUIsTUFBTSxNQUFNLE1BQU0sR0FBRztJQUNuQixRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQ3BCLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQztJQUNoQixTQUFTLEVBQUUsT0FBTyxDQUFDO0NBQ3BCLENBQUM7QUFFRixlQUFPLE1BQU0sOEJBQThCLElBQWtDLENBQUM7QUFFOUUsNkNBQTZDO0FBQzdDLE1BQU0sTUFBTSxTQUFTLEdBQUc7SUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUM7QUFFOUQsTUFBTSxNQUFNLFlBQVksR0FBRztJQUFFLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLElBQUksRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBRXRFLE1BQU0sTUFBTSxPQUFPLEdBQUc7SUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDO0lBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQTtDQUFFLENBQUM7QUFFckUsNkJBQTZCO0FBQzdCLHdCQUFnQixhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUszRTtBQUVELGtDQUFrQztBQUNsQyx3QkFBZ0Isa0JBQWtCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsWUFBWSxDQUV2RjtBQWlCRCxlQUFPLE1BQU0sWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUt2QixDQUFDO0FBRUgsb0JBQVksbUJBQW1CO0lBQzdCLGVBQWUsb0JBQW9CO0lBQ25DLHFCQUFxQiwwQkFBMEI7SUFDL0MsYUFBYSxrQkFBa0I7SUFDL0Isb0JBQW9CLHlCQUF5QjtJQUM3QyxxQ0FBcUMsOEJBQThCO0NBQ3BFO0FBRUQsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLElBQUksRUFBRSxlQUFlLENBQUM7SUFDdEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLFdBQVcsRUFBRSxXQUFXLENBQUM7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxJQUFJLEVBQUUsaUJBQWlCLENBQUM7SUFDeEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sTUFBTSwwQkFBMEIsR0FBRztJQUN2QyxJQUFJLEVBQUUsdUJBQXVCLENBQUM7SUFDOUIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5QixJQUFJLEVBQUUsc0JBQXNCLENBQUM7SUFDN0IsVUFBVSxFQUFFLG1CQUFtQixDQUFDO0NBQ2pDLENBQUM7QUFFRixNQUFNLE1BQU0sOEJBQThCLEdBQUc7SUFDM0MsSUFBSSxFQUFFLDJCQUEyQixDQUFDO0lBQ2xDLGdCQUFnQixFQUFFLGdDQUFnQyxDQUFDO0NBQ3BELENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,8 @@ export const L2TipsSchema = z.object({
36
36
  finalized: L2TipIdSchema
37
37
  });
38
38
  export var L2BlockSourceEvents = /*#__PURE__*/ function(L2BlockSourceEvents) {
39
- L2BlockSourceEvents["L2PruneDetected"] = "l2PruneDetected";
39
+ L2BlockSourceEvents["L2PruneUnproven"] = "l2PruneUnproven";
40
+ L2BlockSourceEvents["L2PruneUncheckpointed"] = "l2PruneUncheckpointed";
40
41
  L2BlockSourceEvents["L2BlockProven"] = "l2BlockProven";
41
42
  L2BlockSourceEvents["L2BlocksCheckpointed"] = "l2BlocksCheckpointed";
42
43
  L2BlockSourceEvents["InvalidAttestationsCheckpointDetected"] = "invalidCheckpointDetected";
@@ -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
  /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
5
5
  export interface L2BlockStreamLocalDataProvider {
6
6
  getL2BlockHash(number: number): Promise<string | undefined>;
@@ -12,14 +12,17 @@ export interface L2BlockStreamEventHandler {
12
12
  }
13
13
  export type L2BlockStreamEvent = /** Emits blocks added to the chain. */ {
14
14
  type: 'blocks-added';
15
- blocks: L2BlockNew[];
15
+ blocks: L2Block[];
16
16
  } | /** Emits checkpoints published to L1. */ {
17
17
  type: 'chain-checkpointed';
18
18
  checkpoint: PublishedCheckpoint;
19
19
  block: L2BlockId;
20
- } | /** Reports last correct block (new tip of the proposed chain). */ {
20
+ } | /**
21
+ * Reports last correct block (new tip of the proposed chain). Note that this is not necessarily the anchor block
22
+ * that will be used in the transaction - if the chain has already moved past the reorg, we'll also see blocks-added
23
+ * events that will push the anchor block forward.
24
+ */ {
21
25
  type: 'chain-pruned';
22
- reason: L2BlockPruneReason;
23
26
  block: L2BlockId;
24
27
  checkpoint: CheckpointId;
25
28
  } | /** Reports new proven block. */ {
@@ -30,4 +33,4 @@ export type L2BlockStreamEvent = /** Emits blocks added to the chain. */ {
30
33
  block: L2BlockId;
31
34
  };
32
35
  export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jsb2NrL2wyX2Jsb2NrX3N0cmVhbS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRyw4RkFBOEY7QUFDOUYsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzVELFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDOUI7QUFFRCxnREFBZ0Q7QUFDaEQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ2xFO0FBRUQsTUFBTSxNQUFNLGtCQUFrQixHQUMxQix1Q0FBdUMsQ0FBQztJQUN0QyxJQUFJLEVBQUUsY0FBYyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QixHQUNELHlDQUF5QyxDQUFDO0lBQ3hDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztJQUMzQixVQUFVLEVBQUUsbUJBQW1CLENBQUM7SUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQztDQUNsQixHQUNELGtFQUFrRSxDQUFDO0lBQ2pFLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzNCLEtBQUssRUFBRSxTQUFTLENBQUM7SUFDakIsVUFBVSxFQUFFLFlBQVksQ0FBQztDQUMxQixHQUNELGdDQUFnQyxDQUFDO0lBQy9CLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsS0FBSyxFQUFFLFNBQVMsQ0FBQztDQUNsQixHQUNELGdFQUFnRSxDQUFDO0lBQy9ELElBQUksRUFBRSxpQkFBaUIsQ0FBQztJQUN4QixLQUFLLEVBQUUsU0FBUyxDQUFDO0NBQ2xCLENBQUM7QUFFTixNQUFNLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixHQUFHLDhCQUE4QixDQUFDIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jsb2NrL2wyX2Jsb2NrX3N0cmVhbS9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RSw4RkFBOEY7QUFDOUYsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzVELFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDOUI7QUFFRCxnREFBZ0Q7QUFDaEQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ2xFO0FBRUQsTUFBTSxNQUFNLGtCQUFrQixHQUMxQix1Q0FBdUMsQ0FBQztJQUN0QyxJQUFJLEVBQUUsY0FBYyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztDQUNuQixHQUNELHlDQUF5QyxDQUFDO0lBQ3hDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztJQUMzQixVQUFVLEVBQUUsbUJBQW1CLENBQUM7SUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQztDQUNsQixHQUNEOzs7O0dBSUMsQ0FBQztJQUNBLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsS0FBSyxFQUFFLFNBQVMsQ0FBQztJQUNqQixVQUFVLEVBQUUsWUFBWSxDQUFDO0NBQzFCLEdBQ0QsZ0NBQWdDLENBQUM7SUFDL0IsSUFBSSxFQUFFLGNBQWMsQ0FBQztJQUNyQixLQUFLLEVBQUUsU0FBUyxDQUFDO0NBQ2xCLEdBQ0QsZ0VBQWdFLENBQUM7SUFDL0QsSUFBSSxFQUFFLGlCQUFpQixDQUFDO0lBQ3hCLEtBQUssRUFBRSxTQUFTLENBQUM7Q0FDbEIsQ0FBQztBQUVOLE1BQU0sTUFBTSxXQUFXLEdBQUcseUJBQXlCLEdBQUcsOEJBQThCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEjG,8FAA8F;AAC9F,MAAM,WAAW,8BAA8B;IAC7C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,kBAAkB,GAC1B,uCAAuC,CAAC;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,GACD,yCAAyC,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;CAClB,GACD,kEAAkE,CAAC;IACjE,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;CAC1B,GACD,gCAAgC,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB,GACD,gEAAgE,CAAC;IAC/D,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,WAAW,GAAG,yBAAyB,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE7E,8FAA8F;AAC9F,MAAM,WAAW,8BAA8B;IAC7C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,kBAAkB,GAC1B,uCAAuC,CAAC;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,GACD,yCAAyC,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;;;;GAIC,CAAC;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;CAC1B,GACD,gCAAgC,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB,GACD,gEAAgE,CAAC;IAC/D,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,WAAW,GAAG,yBAAyB,GAAG,8BAA8B,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { type L2BlockSource } from '../l2_block_source.js';
2
2
  import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
3
+ /** Maximum number of checkpoints to prefetch at once during sync. Matches MAX_RPC_CHECKPOINTS_LEN. */
4
+ export declare const CHECKPOINT_PREFETCH_LIMIT = 50;
3
5
  /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */
4
6
  export declare class L2BlockStream {
5
7
  private l2BlockSource;
@@ -10,8 +12,7 @@ export declare class L2BlockStream {
10
12
  private readonly runningPromise;
11
13
  private isSyncing;
12
14
  private hasStarted;
13
- constructor(l2BlockSource: Pick<L2BlockSource, 'getL2BlocksNew' | 'getBlockHeader' | 'getL2Tips' | 'getPublishedCheckpoints' | 'getCheckpointedBlocks'>, localData: L2BlockStreamLocalDataProvider, handler: L2BlockStreamEventHandler, log?: import("@aztec/foundation/log").Logger, opts?: {
14
- proven?: boolean;
15
+ constructor(l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpoints' | 'getCheckpointedBlocks'>, localData: L2BlockStreamLocalDataProvider, handler: L2BlockStreamEventHandler, log?: import("@aztec/foundation/log").Logger, opts?: {
15
16
  pollIntervalMS?: number;
16
17
  batchSize?: number;
17
18
  startingBlock?: number;
@@ -19,6 +20,8 @@ export declare class L2BlockStream {
19
20
  skipFinalized?: boolean;
20
21
  /** When true, checkpoint events will not be emitted. Blocks are still fetched via checkpoints but only blocks-added events are emitted. */
21
22
  ignoreCheckpoints?: boolean;
23
+ /** Maximum number of checkpoints to prefetch at once during sync. Defaults to CHECKPOINT_PREFETCH_LIMIT (50). */
24
+ checkpointPrefetchLimit?: number;
22
25
  });
23
26
  start(): void;
24
27
  stop(): Promise<void>;
@@ -34,4 +37,4 @@ export declare class L2BlockStream {
34
37
  private getBlockHashFromSource;
35
38
  private emitEvent;
36
39
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQTJDLEtBQUssYUFBYSxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFzQix5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJILHVIQUF1SDtBQUN2SCxxQkFBYSxhQUFhO0lBTXRCLE9BQU8sQ0FBQyxhQUFhO0lBSXJCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBQ3BCLE9BQU8sQ0FBQyxJQUFJO0lBWmQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQWlCO0lBQ2hELE9BQU8sQ0FBQyxTQUFTLENBQVM7SUFDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBUztJQUUzQixZQUNVLGFBQWEsRUFBRSxJQUFJLENBQ3pCLGFBQWEsRUFDYixnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxXQUFXLEdBQUcseUJBQXlCLEdBQUcsdUJBQXVCLENBQ3hHLEVBQ08sU0FBUyxFQUFFLDhCQUE4QixFQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQ3pCLEdBQUcseUNBQXFDLEVBQ2pELElBQUksR0FBRTtRQUNaLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUNqQixjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDeEIsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ25CLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN2QixrSEFBa0g7UUFDbEgsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQ3hCLDJJQUEySTtRQUMzSSxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztLQUN4QixFQU9QO0lBRU0sS0FBSyxTQUdYO0lBRVksSUFBSSxrQkFFaEI7SUFFTSxTQUFTLFlBRWY7SUFFRDs7OztPQUlHO0lBQ1UsSUFBSSxrQkFJaEI7SUFFRCxVQUFnQixJQUFJLGtCQXNLbkI7WUFPYSxxQkFBcUI7SUF3Qm5DLE9BQU8sQ0FBQyxzQkFBc0I7WUFPaEIsU0FBUztDQVN4QiJ9
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWtCLEtBQUssYUFBYSxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sS0FBSyxFQUFzQix5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJILHNHQUFzRztBQUN0RyxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qyx1SEFBdUg7QUFDdkgscUJBQWEsYUFBYTtJQU10QixPQUFPLENBQUMsYUFBYTtJQUlyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUNwQixPQUFPLENBQUMsSUFBSTtJQVpkLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFpQjtJQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxVQUFVLENBQVM7SUFFM0IsWUFDVSxhQUFhLEVBQUUsSUFBSSxDQUN6QixhQUFhLEVBQ2IsV0FBVyxHQUFHLGdCQUFnQixHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FDMUYsRUFDTyxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDekIsR0FBRyx5Q0FBcUMsRUFDakQsSUFBSSxHQUFFO1FBQ1osY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkIsa0hBQWtIO1FBQ2xILGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUN4QiwySUFBMkk7UUFDM0ksaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDNUIsaUhBQWlIO1FBQ2pILHVCQUF1QixDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBT1A7SUFFTSxLQUFLLFNBR1g7SUFFWSxJQUFJLGtCQUVoQjtJQUVNLFNBQVMsWUFFZjtJQUVEOzs7O09BSUc7SUFDVSxJQUFJLGtCQUloQjtJQUVELFVBQWdCLElBQUksa0JBK0xuQjtZQU9hLHFCQUFxQjtJQXdCbkMsT0FBTyxDQUFDLHNCQUFzQjtZQU9oQixTQUFTO0NBU3hCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2C,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AACnH,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,gBAAgB,GAAG,gBAAgB,GAAG,WAAW,GAAG,yBAAyB,GAAG,uBAAuB,CACxG,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACxB,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBAsKnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
1
+ {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,GAAG,uBAAuB,CAC1F,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA+LnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
@@ -3,6 +3,7 @@ import { AbortError } from '@aztec/foundation/error';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
5
  import { makeL2BlockId } from '../l2_block_source.js';
6
+ /** Maximum number of checkpoints to prefetch at once during sync. Matches MAX_RPC_CHECKPOINTS_LEN. */ export const CHECKPOINT_PREFETCH_LIMIT = 50;
6
7
  /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */ export class L2BlockStream {
7
8
  l2BlockSource;
8
9
  localData;
@@ -70,18 +71,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
70
71
  throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
71
72
  }
72
73
  this.log.verbose(`Reorg detected. Pruning blocks from ${latestBlockNumber + 1} to ${localTips.proposed.number}.`);
73
- // This check is not 100% accurate
74
- // If the local tips are sufficiently behind the source tips, such that we are missing at least one checkpoint
75
- // that has now been re-orged due to a proof failure then this will indicate a failure to checkpoint rather than a failure to prove
76
- // TODO: (mbps/PhilWindle): Improve re-org detection accuracy when we come to do re-orgs
77
- let reason = 'unproven';
78
- if (latestBlockNumber === localTips.checkpointed.block.number && !this.opts.ignoreCheckpoints) {
79
- reason = 'uncheckpointed';
80
- }
81
74
  await this.emitEvent({
82
75
  type: 'chain-pruned',
83
76
  block: makeL2BlockId(latestBlockNumber, hash),
84
- reason,
85
77
  checkpoint: sourceTips.checkpointed.checkpoint
86
78
  });
87
79
  }
@@ -96,6 +88,16 @@ import { makeL2BlockId } from '../l2_block_source.js';
96
88
  }
97
89
  let nextBlockNumber = latestBlockNumber + 1;
98
90
  let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
91
+ // When startingBlock is set, also skip ahead for checkpoints.
92
+ if (this.opts.startingBlock !== undefined && this.opts.startingBlock >= 1 && nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number) {
93
+ const startingBlockCheckpoints = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(this.opts.startingBlock), 1);
94
+ if (startingBlockCheckpoints.length > 0) {
95
+ nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, startingBlockCheckpoints[0].checkpointNumber));
96
+ } else {
97
+ // startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
98
+ nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
99
+ }
100
+ }
99
101
  if (this.opts.skipFinalized) {
100
102
  // When skipping finalized blocks we need to provide reliable reorg detection while fetching as few blocks as
101
103
  // possible. Finalized blocks cannot be reorged by definition, so we can skip most of them. We do need the very
@@ -114,7 +116,7 @@ import { makeL2BlockId } from '../l2_block_source.js';
114
116
  if (!this.opts.ignoreCheckpoints) {
115
117
  let loop1Iterations = 0;
116
118
  while(nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number){
117
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(nextCheckpointToEmit, 1);
119
+ const checkpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointToEmit, 1);
118
120
  if (checkpoints.length === 0) {
119
121
  break;
120
122
  }
@@ -136,25 +138,32 @@ import { makeL2BlockId } from '../l2_block_source.js';
136
138
  nextCheckpointToEmit = CheckpointNumber(nextCheckpointToEmit + 1);
137
139
  }
138
140
  }
139
- // Loop 2: Fetch new checkpointed blocks. For each block, get its checkpoint, emit all blocks
141
+ // Loop 2: Fetch new checkpointed blocks. For each checkpoint, emit all blocks
140
142
  // from that checkpoint that we need, then emit the checkpoint event.
141
- // We cache the current checkpoint to avoid redundant fetches when batchSize < checkpoint size.
142
- let checkpoint;
143
- while(nextBlockNumber <= sourceTips.checkpointed.block.number){
144
- const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
145
- // Check if we need to fetch a new checkpoint (nextBlockNumber is beyond the cached one)
146
- if (!checkpoint || nextBlockNumber > checkpoint.checkpoint.blocks.at(-1).number) {
147
- const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
148
- if (blocks.length === 0) {
149
- break;
150
- }
151
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(blocks[0].checkpointNumber, 1);
152
- if (checkpoints.length === 0) {
143
+ // We prefetch multiple checkpoints, then process them one by one.
144
+ let prefetchedCheckpoints = [];
145
+ let prefetchIdx = 0;
146
+ let nextCheckpointNumber;
147
+ // Find the starting checkpoint number
148
+ if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
149
+ const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
150
+ if (blocks.length > 0) {
151
+ nextCheckpointNumber = blocks[0].checkpointNumber;
152
+ }
153
+ }
154
+ while(nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined){
155
+ // Refill the prefetch buffer when exhausted
156
+ if (prefetchIdx >= prefetchedCheckpoints.length) {
157
+ const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
158
+ prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointNumber, prefetchLimit);
159
+ prefetchIdx = 0;
160
+ if (prefetchedCheckpoints.length === 0) {
153
161
  break;
154
162
  }
155
- checkpoint = checkpoints[0];
156
163
  }
164
+ const checkpoint = prefetchedCheckpoints[prefetchIdx];
157
165
  // Get all blocks from this checkpoint that we need, respecting batchSize
166
+ const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
158
167
  const blocksForCheckpoint = checkpoint.checkpoint.blocks.filter((b)=>b.number >= nextBlockNumber).slice(0, limit);
159
168
  if (blocksForCheckpoint.length === 0) {
160
169
  break;
@@ -164,22 +173,26 @@ import { makeL2BlockId } from '../l2_block_source.js';
164
173
  blocks: blocksForCheckpoint
165
174
  });
166
175
  nextBlockNumber = blocksForCheckpoint.at(-1).number + 1;
167
- // If we've reached the end of this checkpoint, emit the checkpoint event
176
+ // If we've reached the end of this checkpoint, emit the checkpoint event and move to next
168
177
  const lastBlockInCheckpoint = checkpoint.checkpoint.blocks.at(-1);
169
- if (!this.opts.ignoreCheckpoints && nextBlockNumber > lastBlockInCheckpoint.number) {
170
- const lastBlockHash = await lastBlockInCheckpoint.hash();
171
- await this.emitEvent({
172
- type: 'chain-checkpointed',
173
- checkpoint,
174
- block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
175
- });
178
+ if (nextBlockNumber > lastBlockInCheckpoint.number) {
179
+ if (!this.opts.ignoreCheckpoints) {
180
+ const lastBlockHash = await lastBlockInCheckpoint.hash();
181
+ await this.emitEvent({
182
+ type: 'chain-checkpointed',
183
+ checkpoint,
184
+ block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
185
+ });
186
+ }
187
+ prefetchIdx++;
188
+ nextCheckpointNumber = CheckpointNumber(nextCheckpointNumber + 1);
176
189
  }
177
190
  }
178
191
  // Loop 3: Fetch any remaining uncheckpointed (proposed) blocks.
179
192
  while(nextBlockNumber <= sourceTips.proposed.number){
180
193
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
181
- this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
182
- const blocks = await this.l2BlockSource.getL2BlocksNew(BlockNumber(nextBlockNumber), limit, this.opts.proven);
194
+ this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
195
+ const blocks = await this.l2BlockSource.getBlocks(BlockNumber(nextBlockNumber), BlockNumber(limit));
183
196
  if (blocks.length === 0) {
184
197
  break;
185
198
  }
@@ -1,6 +1,6 @@
1
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
3
- import type { L2BlockNew } from '../l2_block_new.js';
3
+ import type { L2Block } from '../l2_block.js';
4
4
  import { type L2BlockTag, type L2Tips } from '../l2_block_source.js';
5
5
  import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
6
6
  /**
@@ -35,7 +35,7 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
35
35
  getL2BlockHash(number: BlockNumber): Promise<string | undefined>;
36
36
  getL2Tips(): Promise<L2Tips>;
37
37
  handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
38
- protected computeBlockHash(block: L2BlockNew): Promise<string>;
38
+ protected computeBlockHash(block: L2Block): Promise<string>;
39
39
  private getBlockId;
40
40
  private getCheckpointId;
41
41
  private handleBlocksAdded;
@@ -46,4 +46,4 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
46
46
  private saveTag;
47
47
  private saveCheckpoint;
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBSUwsS0FBSyxVQUFVLEVBQ2YsS0FBSyxNQUFNLEVBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJIOzs7R0FHRztBQUNILDhCQUFzQixlQUFnQixZQUFXLHlCQUF5QixFQUFFLDhCQUE4QjtJQUd4Ryw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoSCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FDNUMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQix5RkFBeUY7SUFDekYsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRix1Q0FBdUM7SUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9HLDBCQUEwQjtJQUMxQixTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEYsa0VBQWtFO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLDRGQUE0RjtJQUM1RixTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSWxFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FzQmxDO0lBRVksc0JBQXNCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FrQjVFO0lBR0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU3RDtZQUlhLFVBQVU7WUFZVixlQUFlO1lBaUJmLGlCQUFpQjtZQWFqQix1QkFBdUI7WUFVdkIsaUJBQWlCO1lBY2pCLGlCQUFpQjtZQVNqQixvQkFBb0I7WUFpQnBCLE9BQU87WUFPUCxjQUFjO0NBUzdCIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBSUwsS0FBSyxVQUFVLEVBQ2YsS0FBSyxNQUFNLEVBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJIOzs7R0FHRztBQUNILDhCQUFzQixlQUFnQixZQUFXLHlCQUF5QixFQUFFLDhCQUE4QjtJQUd4Ryw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoSCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FDNUMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQix5RkFBeUY7SUFDekYsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRix1Q0FBdUM7SUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9HLDBCQUEwQjtJQUMxQixTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEYsa0VBQWtFO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLDRGQUE0RjtJQUM1RixTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSWxFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FzQmxDO0lBRVksc0JBQXNCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FrQjVFO0lBR0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxRDtZQUlhLFVBQVU7WUFZVixlQUFlO1lBaUJmLGlCQUFpQjtZQWFqQix1QkFBdUI7WUFVdkIsaUJBQWlCO1lBY2pCLGlCQUFpQjtZQVNqQixvQkFBb0I7WUFpQnBCLE9BQU87WUFPUCxjQUFjO0NBUzdCIn0=