@aztec/stdlib 0.0.1-commit.9593d84 → 0.0.1-commit.96bb3f7

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 (959) hide show
  1. package/dest/abi/abi.d.ts +603 -5
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +7 -7
  4. package/dest/abi/authorization_selector.d.ts +2 -2
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/authorization_selector.js +2 -1
  7. package/dest/abi/buffer.d.ts +2 -2
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/buffer.js +1 -1
  10. package/dest/abi/contract_artifact.d.ts +2 -2
  11. package/dest/abi/contract_artifact.d.ts.map +1 -1
  12. package/dest/abi/contract_artifact.js +1 -1
  13. package/dest/abi/decoder.d.ts +2 -2
  14. package/dest/abi/decoder.d.ts.map +1 -1
  15. package/dest/abi/encoder.d.ts +2 -2
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +1 -1
  18. package/dest/abi/event_selector.d.ts +2 -2
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/event_selector.js +2 -1
  21. package/dest/abi/function_call.d.ts +2 -2
  22. package/dest/abi/function_call.d.ts.map +1 -1
  23. package/dest/abi/function_selector.d.ts +3 -2
  24. package/dest/abi/function_selector.d.ts.map +1 -1
  25. package/dest/abi/function_selector.js +9 -1
  26. package/dest/abi/note_selector.d.ts +2 -2
  27. package/dest/abi/note_selector.d.ts.map +1 -1
  28. package/dest/abi/note_selector.js +2 -2
  29. package/dest/abi/selector.d.ts +2 -2
  30. package/dest/abi/selector.d.ts.map +1 -1
  31. package/dest/abi/selector.js +4 -2
  32. package/dest/auth_witness/auth_witness.d.ts +2 -2
  33. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  34. package/dest/auth_witness/auth_witness.js +2 -2
  35. package/dest/avm/avm.d.ts +564 -352
  36. package/dest/avm/avm.d.ts.map +1 -1
  37. package/dest/avm/avm.js +238 -22
  38. package/dest/avm/avm_accumulated_data.d.ts +2 -2
  39. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  40. package/dest/avm/avm_accumulated_data.js +6 -3
  41. package/dest/avm/avm_circuit_public_inputs.d.ts +6 -4
  42. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  43. package/dest/avm/avm_circuit_public_inputs.js +4 -2
  44. package/dest/avm/avm_proving_request.d.ts +263 -259
  45. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  46. package/dest/avm/contract_storage_read.d.ts +2 -2
  47. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  48. package/dest/avm/contract_storage_read.js +1 -1
  49. package/dest/avm/contract_storage_update_request.d.ts +2 -2
  50. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  51. package/dest/avm/contract_storage_update_request.js +1 -1
  52. package/dest/avm/message_pack.d.ts +1 -1
  53. package/dest/avm/message_pack.d.ts.map +1 -1
  54. package/dest/avm/message_pack.js +2 -1
  55. package/dest/avm/public_call_stack_item_compressed.d.ts +2 -2
  56. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  57. package/dest/avm/public_call_stack_item_compressed.js +1 -1
  58. package/dest/avm/public_data_read.d.ts +2 -2
  59. package/dest/avm/public_data_read.d.ts.map +1 -1
  60. package/dest/avm/public_data_read.js +1 -1
  61. package/dest/avm/public_data_update_request.d.ts +2 -2
  62. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  63. package/dest/avm/public_data_update_request.js +4 -2
  64. package/dest/avm/public_data_write.d.ts +2 -2
  65. package/dest/avm/public_data_write.d.ts.map +1 -1
  66. package/dest/avm/public_data_write.js +1 -1
  67. package/dest/avm/public_inner_call_request.d.ts +2 -2
  68. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  69. package/dest/avm/public_inner_call_request.js +3 -1
  70. package/dest/avm/revert_code.d.ts +2 -2
  71. package/dest/avm/revert_code.d.ts.map +1 -1
  72. package/dest/avm/revert_code.js +4 -2
  73. package/dest/aztec-address/index.d.ts +3 -2
  74. package/dest/aztec-address/index.d.ts.map +1 -1
  75. package/dest/aztec-address/index.js +5 -2
  76. package/dest/block/attestation_info.d.ts +5 -5
  77. package/dest/block/attestation_info.d.ts.map +1 -1
  78. package/dest/block/attestation_info.js +5 -5
  79. package/dest/block/block_hash.d.ts +2 -2
  80. package/dest/block/block_hash.d.ts.map +1 -1
  81. package/dest/block/block_hash.js +1 -1
  82. package/dest/block/block_parameter.d.ts +5 -0
  83. package/dest/block/block_parameter.d.ts.map +1 -0
  84. package/dest/block/block_parameter.js +6 -0
  85. package/dest/block/body.js +3 -1
  86. package/dest/block/checkpointed_l2_block.d.ts +267 -0
  87. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  88. package/dest/block/{published_l2_block.js → checkpointed_l2_block.js} +40 -4
  89. package/dest/block/in_block.d.ts +31 -12
  90. package/dest/block/in_block.d.ts.map +1 -1
  91. package/dest/block/in_block.js +17 -8
  92. package/dest/block/index.d.ts +3 -3
  93. package/dest/block/index.d.ts.map +1 -1
  94. package/dest/block/index.js +2 -2
  95. package/dest/block/l2_block.d.ts +12 -9
  96. package/dest/block/l2_block.d.ts.map +1 -1
  97. package/dest/block/l2_block.js +15 -10
  98. package/dest/block/l2_block_code_to_purge.d.ts +2 -3
  99. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  100. package/dest/block/l2_block_code_to_purge.js +6 -12
  101. package/dest/block/l2_block_header.d.ts +11 -15
  102. package/dest/block/l2_block_header.d.ts.map +1 -1
  103. package/dest/block/l2_block_header.js +26 -19
  104. package/dest/block/l2_block_info.d.ts +16 -11
  105. package/dest/block/l2_block_info.d.ts.map +1 -1
  106. package/dest/block/l2_block_info.js +8 -7
  107. package/dest/block/l2_block_new.d.ts +36 -10
  108. package/dest/block/l2_block_new.d.ts.map +1 -1
  109. package/dest/block/l2_block_new.js +41 -21
  110. package/dest/block/l2_block_source.d.ts +340 -146
  111. package/dest/block/l2_block_source.d.ts.map +1 -1
  112. package/dest/block/l2_block_source.js +27 -15
  113. package/dest/block/l2_block_stream/index.d.ts +2 -1
  114. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  115. package/dest/block/l2_block_stream/index.js +1 -0
  116. package/dest/block/l2_block_stream/interfaces.d.ts +12 -5
  117. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  118. package/dest/block/l2_block_stream/l2_block_stream.d.ts +9 -2
  119. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  120. package/dest/block/l2_block_stream/l2_block_stream.js +112 -31
  121. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -15
  122. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  123. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -59
  124. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  125. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  126. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  127. package/dest/block/proposal/attestations_and_signers.d.ts +2 -2
  128. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  129. package/dest/block/proposal/committee_attestation.d.ts +2 -2
  130. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  131. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  132. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  133. package/dest/block/test/l2_tips_store_test_suite.js +487 -43
  134. package/dest/block/validate_block_result.d.ts +24 -24
  135. package/dest/block/validate_block_result.d.ts.map +1 -1
  136. package/dest/block/validate_block_result.js +13 -13
  137. package/dest/checkpoint/checkpoint.d.ts +44 -12
  138. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  139. package/dest/checkpoint/checkpoint.js +47 -8
  140. package/dest/checkpoint/checkpoint_info.d.ts +38 -0
  141. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  142. package/dest/checkpoint/checkpoint_info.js +34 -0
  143. package/dest/checkpoint/index.d.ts +2 -1
  144. package/dest/checkpoint/index.d.ts.map +1 -1
  145. package/dest/checkpoint/index.js +1 -0
  146. package/dest/checkpoint/published_checkpoint.d.ts +36 -10
  147. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  148. package/dest/checkpoint/published_checkpoint.js +12 -2
  149. package/dest/contract/artifact_hash.d.ts +2 -2
  150. package/dest/contract/artifact_hash.d.ts.map +1 -1
  151. package/dest/contract/artifact_hash.js +2 -2
  152. package/dest/contract/complete_address.d.ts +2 -2
  153. package/dest/contract/complete_address.d.ts.map +1 -1
  154. package/dest/contract/complete_address.js +1 -1
  155. package/dest/contract/contract_address.d.ts +2 -2
  156. package/dest/contract/contract_address.d.ts.map +1 -1
  157. package/dest/contract/contract_address.js +2 -2
  158. package/dest/contract/contract_class.d.ts +2 -2
  159. package/dest/contract/contract_class.d.ts.map +1 -1
  160. package/dest/contract/contract_class.js +1 -1
  161. package/dest/contract/contract_class_id.d.ts +2 -2
  162. package/dest/contract/contract_class_id.d.ts.map +1 -1
  163. package/dest/contract/contract_class_id.js +3 -3
  164. package/dest/contract/contract_deployment_data.d.ts +4 -4
  165. package/dest/contract/contract_instance.d.ts +2 -2
  166. package/dest/contract/contract_instance.d.ts.map +1 -1
  167. package/dest/contract/contract_instance.js +1 -1
  168. package/dest/contract/contract_instance_update.d.ts +2 -2
  169. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  170. package/dest/contract/contract_instance_update.js +1 -1
  171. package/dest/contract/deployment_info.d.ts +2 -2
  172. package/dest/contract/deployment_info.d.ts.map +1 -1
  173. package/dest/contract/interfaces/contract_class.d.ts +19 -14
  174. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  175. package/dest/contract/interfaces/contract_class.js +35 -18
  176. package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
  177. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  178. package/dest/contract/interfaces/contract_instance.d.ts +40 -31
  179. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  180. package/dest/contract/interfaces/contract_instance.js +30 -5
  181. package/dest/contract/interfaces/contract_instance_update.d.ts +7 -8
  182. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  183. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  184. package/dest/contract/partial_address.d.ts +2 -2
  185. package/dest/contract/partial_address.d.ts.map +1 -1
  186. package/dest/contract/private_function.d.ts +2 -2
  187. package/dest/contract/private_function.d.ts.map +1 -1
  188. package/dest/contract/private_function.js +3 -2
  189. package/dest/contract/private_function_membership_proof.js +2 -2
  190. package/dest/contract/utility_function_membership_proof.js +1 -1
  191. package/dest/database-version/version_manager.js +3 -1
  192. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  193. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  194. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +2 -2
  195. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
  196. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  197. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
  198. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
  199. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  200. package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
  201. package/dest/epoch-helpers/index.d.ts +1 -1
  202. package/dest/epoch-helpers/index.d.ts.map +1 -1
  203. package/dest/epoch-helpers/index.js +3 -3
  204. package/dest/errors/simulation_error.d.ts +2 -2
  205. package/dest/errors/simulation_error.d.ts.map +1 -1
  206. package/dest/fees/transaction_fee.d.ts +2 -2
  207. package/dest/fees/transaction_fee.d.ts.map +1 -1
  208. package/dest/gas/gas.d.ts +2 -2
  209. package/dest/gas/gas.d.ts.map +1 -1
  210. package/dest/gas/gas.js +4 -2
  211. package/dest/gas/gas_fees.d.ts +2 -2
  212. package/dest/gas/gas_fees.d.ts.map +1 -1
  213. package/dest/gas/gas_fees.js +3 -1
  214. package/dest/gas/gas_settings.d.ts +2 -2
  215. package/dest/gas/gas_settings.d.ts.map +1 -1
  216. package/dest/gas/gas_settings.js +1 -1
  217. package/dest/hash/hash.d.ts +2 -10
  218. package/dest/hash/hash.d.ts.map +1 -1
  219. package/dest/hash/hash.js +3 -14
  220. package/dest/hash/map_slot.d.ts +2 -2
  221. package/dest/hash/map_slot.d.ts.map +1 -1
  222. package/dest/hash/map_slot.js +1 -1
  223. package/dest/interfaces/allowed_element.d.ts +8 -9
  224. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  225. package/dest/interfaces/allowed_element.js +3 -3
  226. package/dest/interfaces/api_limit.d.ts +2 -1
  227. package/dest/interfaces/api_limit.d.ts.map +1 -1
  228. package/dest/interfaces/api_limit.js +1 -0
  229. package/dest/interfaces/archiver.d.ts +12 -7
  230. package/dest/interfaces/archiver.d.ts.map +1 -1
  231. package/dest/interfaces/archiver.js +27 -16
  232. package/dest/interfaces/aztec-node-admin.d.ts +47 -22
  233. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node-admin.js +3 -3
  235. package/dest/interfaces/aztec-node.d.ts +46 -48
  236. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  237. package/dest/interfaces/aztec-node.js +36 -31
  238. package/dest/interfaces/block-builder.d.ts +6 -4
  239. package/dest/interfaces/block-builder.d.ts.map +1 -1
  240. package/dest/interfaces/block-builder.js +9 -1
  241. package/dest/interfaces/configs.d.ts +56 -27
  242. package/dest/interfaces/configs.d.ts.map +1 -1
  243. package/dest/interfaces/configs.js +12 -6
  244. package/dest/interfaces/epoch-prover.d.ts +5 -5
  245. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  246. package/dest/interfaces/get_logs_response.d.ts +23 -6
  247. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  248. package/dest/interfaces/get_logs_response.js +5 -4
  249. package/dest/interfaces/l2_logs_source.d.ts +12 -15
  250. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  251. package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
  252. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  253. package/dest/interfaces/p2p.d.ts +7 -9
  254. package/dest/interfaces/p2p.d.ts.map +1 -1
  255. package/dest/interfaces/p2p.js +3 -4
  256. package/dest/interfaces/prover-client.d.ts +5 -3
  257. package/dest/interfaces/prover-client.d.ts.map +1 -1
  258. package/dest/interfaces/prover-client.js +5 -4
  259. package/dest/interfaces/proving-job.d.ts +178 -174
  260. package/dest/interfaces/proving-job.d.ts.map +1 -1
  261. package/dest/interfaces/proving-job.js +1 -7
  262. package/dest/interfaces/public_state_source.d.ts +2 -2
  263. package/dest/interfaces/public_state_source.d.ts.map +1 -1
  264. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  265. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  266. package/dest/interfaces/slasher.d.ts +1 -1
  267. package/dest/interfaces/slasher.d.ts.map +1 -1
  268. package/dest/interfaces/slasher.js +3 -3
  269. package/dest/interfaces/tx_provider.d.ts +3 -3
  270. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  271. package/dest/interfaces/validator.d.ts +48 -15
  272. package/dest/interfaces/validator.d.ts.map +1 -1
  273. package/dest/interfaces/validator.js +8 -6
  274. package/dest/interfaces/world_state.d.ts +23 -31
  275. package/dest/interfaces/world_state.d.ts.map +1 -1
  276. package/dest/interfaces/world_state.js +4 -3
  277. package/dest/kernel/claimed_length_array.d.ts +2 -2
  278. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  279. package/dest/kernel/claimed_length_array.js +3 -1
  280. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  281. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  282. package/dest/kernel/hints/build_note_hash_read_request_hints.js +5 -6
  283. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +2 -2
  284. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  285. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  286. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  287. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  288. package/dest/kernel/hints/key_validation_hint.d.ts +2 -2
  289. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  290. package/dest/kernel/hints/key_validation_hint.js +1 -1
  291. package/dest/kernel/hints/key_validation_request.d.ts +4 -3
  292. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  293. package/dest/kernel/hints/key_validation_request.js +2 -1
  294. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -2
  295. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  296. package/dest/kernel/hints/key_validation_request_and_generator.js +1 -1
  297. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
  298. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  299. package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
  300. package/dest/kernel/hints/read_request.d.ts +2 -2
  301. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  302. package/dest/kernel/hints/read_request.js +1 -1
  303. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +2 -2
  304. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  305. package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
  306. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  307. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
  308. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  309. package/dest/kernel/hints/transient_data_squashing_hint.js +4 -2
  310. package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
  311. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  312. package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
  313. package/dest/kernel/log_hash.d.ts +2 -2
  314. package/dest/kernel/log_hash.d.ts.map +1 -1
  315. package/dest/kernel/log_hash.js +4 -2
  316. package/dest/kernel/note_hash.d.ts +2 -2
  317. package/dest/kernel/note_hash.d.ts.map +1 -1
  318. package/dest/kernel/note_hash.js +1 -1
  319. package/dest/kernel/nullifier.d.ts +2 -2
  320. package/dest/kernel/nullifier.d.ts.map +1 -1
  321. package/dest/kernel/nullifier.js +1 -1
  322. package/dest/kernel/padded_side_effects.d.ts +2 -2
  323. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  324. package/dest/kernel/padded_side_effects.js +1 -1
  325. package/dest/kernel/private_call_data.d.ts +2 -2
  326. package/dest/kernel/private_call_data.d.ts.map +1 -1
  327. package/dest/kernel/private_call_data.js +1 -1
  328. package/dest/kernel/private_call_request.d.ts +2 -2
  329. package/dest/kernel/private_call_request.d.ts.map +1 -1
  330. package/dest/kernel/private_call_request.js +1 -1
  331. package/dest/kernel/private_circuit_public_inputs.d.ts +48 -48
  332. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  333. package/dest/kernel/private_circuit_public_inputs.js +60 -60
  334. package/dest/kernel/private_context_inputs.d.ts +2 -2
  335. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  336. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  337. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  338. package/dest/kernel/private_kernel_circuit_public_inputs.js +1 -1
  339. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +2 -2
  340. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  341. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +1 -1
  342. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -2
  343. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  344. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
  345. package/dest/kernel/private_log_data.d.ts +2 -2
  346. package/dest/kernel/private_log_data.d.ts.map +1 -1
  347. package/dest/kernel/private_log_data.js +5 -2
  348. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  349. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  350. package/dest/kernel/private_to_avm_accumulated_data.js +6 -3
  351. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -2
  352. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  353. package/dest/kernel/private_to_public_accumulated_data.js +4 -2
  354. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
  355. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  356. package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
  357. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -2
  358. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  359. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +1 -1
  360. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +2 -2
  361. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  362. package/dest/kernel/private_to_rollup_accumulated_data.js +4 -2
  363. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -2
  364. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  365. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +1 -1
  366. package/dest/kernel/private_validation_requests.js +3 -1
  367. package/dest/kernel/public_call_request.d.ts +2 -2
  368. package/dest/kernel/public_call_request.d.ts.map +1 -1
  369. package/dest/kernel/public_call_request.js +6 -3
  370. package/dest/kernel/utils/optional_number.d.ts +2 -2
  371. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  372. package/dest/keys/derivation.d.ts +4 -3
  373. package/dest/keys/derivation.d.ts.map +1 -1
  374. package/dest/keys/derivation.js +5 -2
  375. package/dest/keys/public_key.d.ts +2 -2
  376. package/dest/keys/public_key.d.ts.map +1 -1
  377. package/dest/keys/public_keys.d.ts +3 -2
  378. package/dest/keys/public_keys.d.ts.map +1 -1
  379. package/dest/keys/public_keys.js +3 -2
  380. package/dest/l1-contracts/slash_factory.d.ts +3 -2
  381. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  382. package/dest/l1-contracts/slash_factory.js +1 -1
  383. package/dest/logs/contract_class_log.d.ts +2 -2
  384. package/dest/logs/contract_class_log.d.ts.map +1 -1
  385. package/dest/logs/contract_class_log.js +5 -3
  386. package/dest/logs/debug_log.d.ts +2 -2
  387. package/dest/logs/debug_log.d.ts.map +1 -1
  388. package/dest/logs/debug_log.js +1 -1
  389. package/dest/logs/directional_app_tagging_secret.d.ts +2 -2
  390. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  391. package/dest/logs/directional_app_tagging_secret.js +3 -2
  392. package/dest/logs/extended_public_log.d.ts +11 -3
  393. package/dest/logs/extended_public_log.d.ts.map +1 -1
  394. package/dest/logs/index.d.ts +3 -2
  395. package/dest/logs/index.d.ts.map +1 -1
  396. package/dest/logs/index.js +2 -1
  397. package/dest/logs/log_id.d.ts +16 -5
  398. package/dest/logs/log_id.d.ts.map +1 -1
  399. package/dest/logs/log_id.js +19 -11
  400. package/dest/logs/message_context.d.ts +2 -2
  401. package/dest/logs/message_context.d.ts.map +1 -1
  402. package/dest/logs/message_context.js +1 -1
  403. package/dest/logs/pending_tagged_log.d.ts +2 -2
  404. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  405. package/dest/logs/pending_tagged_log.js +1 -1
  406. package/dest/logs/private_log.d.ts +2 -2
  407. package/dest/logs/private_log.d.ts.map +1 -1
  408. package/dest/logs/private_log.js +6 -3
  409. package/dest/logs/public_log.d.ts +3 -2
  410. package/dest/logs/public_log.d.ts.map +1 -1
  411. package/dest/logs/public_log.js +7 -2
  412. package/dest/logs/shared_secret_derivation.d.ts +2 -2
  413. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  414. package/dest/logs/shared_secret_derivation.js +1 -1
  415. package/dest/logs/siloed_tag.d.ts +23 -0
  416. package/dest/logs/siloed_tag.d.ts.map +1 -0
  417. package/dest/logs/siloed_tag.js +30 -0
  418. package/dest/logs/tag.d.ts +21 -0
  419. package/dest/logs/tag.d.ts.map +1 -0
  420. package/dest/logs/tag.js +30 -0
  421. package/dest/logs/tx_scoped_l2_log.d.ts +32 -38
  422. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  423. package/dest/logs/tx_scoped_l2_log.js +40 -45
  424. package/dest/messaging/in_hash.d.ts +5 -3
  425. package/dest/messaging/in_hash.d.ts.map +1 -1
  426. package/dest/messaging/in_hash.js +4 -2
  427. package/dest/messaging/inbox_leaf.d.ts +8 -7
  428. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  429. package/dest/messaging/inbox_leaf.js +10 -9
  430. package/dest/messaging/l1_actor.d.ts +2 -2
  431. package/dest/messaging/l1_actor.d.ts.map +1 -1
  432. package/dest/messaging/l1_actor.js +2 -2
  433. package/dest/messaging/l1_to_l2_message.d.ts +2 -2
  434. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  435. package/dest/messaging/l1_to_l2_message.js +2 -2
  436. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
  437. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  438. package/dest/messaging/l2_actor.d.ts +2 -2
  439. package/dest/messaging/l2_actor.d.ts.map +1 -1
  440. package/dest/messaging/l2_actor.js +2 -2
  441. package/dest/messaging/l2_to_l1_membership.d.ts +89 -6
  442. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  443. package/dest/messaging/l2_to_l1_membership.js +159 -43
  444. package/dest/messaging/l2_to_l1_message.d.ts +3 -2
  445. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  446. package/dest/messaging/l2_to_l1_message.js +4 -1
  447. package/dest/messaging/out_hash.d.ts +3 -2
  448. package/dest/messaging/out_hash.d.ts.map +1 -1
  449. package/dest/messaging/out_hash.js +14 -5
  450. package/dest/note/note.d.ts +2 -2
  451. package/dest/note/note.d.ts.map +1 -1
  452. package/dest/note/note.js +5 -2
  453. package/dest/note/note_dao.d.ts +14 -6
  454. package/dest/note/note_dao.d.ts.map +1 -1
  455. package/dest/note/note_dao.js +19 -8
  456. package/dest/note/notes_filter.d.ts +4 -2
  457. package/dest/note/notes_filter.d.ts.map +1 -1
  458. package/dest/note/notes_filter.js +1 -0
  459. package/dest/p2p/attestation_utils.d.ts +3 -3
  460. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  461. package/dest/p2p/attestation_utils.js +1 -1
  462. package/dest/p2p/block_proposal.d.ts +86 -22
  463. package/dest/p2p/block_proposal.d.ts.map +1 -1
  464. package/dest/p2p/block_proposal.js +122 -38
  465. package/dest/p2p/checkpoint_attestation.d.ts +77 -0
  466. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  467. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +24 -20
  468. package/dest/p2p/checkpoint_proposal.d.ts +154 -0
  469. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  470. package/dest/p2p/checkpoint_proposal.js +217 -0
  471. package/dest/p2p/consensus_payload.d.ts +7 -8
  472. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  473. package/dest/p2p/consensus_payload.js +4 -3
  474. package/dest/p2p/gossipable.d.ts +4 -3
  475. package/dest/p2p/gossipable.d.ts.map +1 -1
  476. package/dest/p2p/gossipable.js +16 -5
  477. package/dest/p2p/index.d.ts +4 -2
  478. package/dest/p2p/index.d.ts.map +1 -1
  479. package/dest/p2p/index.js +3 -1
  480. package/dest/p2p/signature_utils.d.ts +5 -3
  481. package/dest/p2p/signature_utils.d.ts.map +1 -1
  482. package/dest/p2p/signature_utils.js +5 -2
  483. package/dest/p2p/signed_txs.d.ts +40 -0
  484. package/dest/p2p/signed_txs.d.ts.map +1 -0
  485. package/dest/p2p/signed_txs.js +70 -0
  486. package/dest/p2p/topic_type.d.ts +3 -2
  487. package/dest/p2p/topic_type.d.ts.map +1 -1
  488. package/dest/p2p/topic_type.js +8 -2
  489. package/dest/parity/parity_base_private_inputs.d.ts +2 -2
  490. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  491. package/dest/parity/parity_base_private_inputs.js +1 -1
  492. package/dest/parity/parity_public_inputs.d.ts +2 -2
  493. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  494. package/dest/parity/parity_public_inputs.js +1 -1
  495. package/dest/proofs/chonk_proof.d.ts +2 -2
  496. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  497. package/dest/proofs/chonk_proof.js +2 -2
  498. package/dest/proofs/proof.d.ts +2 -2
  499. package/dest/proofs/proof.d.ts.map +1 -1
  500. package/dest/proofs/proof.js +1 -1
  501. package/dest/proofs/proof_data.d.ts +13 -1
  502. package/dest/proofs/proof_data.d.ts.map +1 -1
  503. package/dest/proofs/proof_data.js +17 -0
  504. package/dest/proofs/recursive_proof.d.ts +2 -2
  505. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  506. package/dest/proofs/recursive_proof.js +1 -1
  507. package/dest/rollup/avm_proof_data.d.ts +3 -5
  508. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  509. package/dest/rollup/avm_proof_data.js +1 -9
  510. package/dest/rollup/base_rollup_hints.d.ts +2 -2
  511. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  512. package/dest/rollup/base_rollup_hints.js +1 -1
  513. package/dest/rollup/block_constant_data.d.ts +2 -2
  514. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  515. package/dest/rollup/block_constant_data.js +1 -1
  516. package/dest/rollup/block_headers_hash.d.ts +2 -2
  517. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  518. package/dest/rollup/block_headers_hash.js +1 -1
  519. package/dest/rollup/block_rollup_public_inputs.d.ts +5 -10
  520. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  521. package/dest/rollup/block_rollup_public_inputs.js +7 -11
  522. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -2
  523. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  524. package/dest/rollup/block_root_rollup_private_inputs.js +1 -1
  525. package/dest/rollup/checkpoint_constant_data.d.ts +3 -2
  526. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  527. package/dest/rollup/checkpoint_constant_data.js +5 -2
  528. package/dest/rollup/checkpoint_header.d.ts +20 -13
  529. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  530. package/dest/rollup/checkpoint_header.js +39 -22
  531. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +7 -2
  532. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  533. package/dest/rollup/checkpoint_rollup_public_inputs.js +7 -3
  534. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +3 -2
  535. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  536. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +2 -1
  537. package/dest/rollup/epoch_constant_data.d.ts +2 -2
  538. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  539. package/dest/rollup/epoch_constant_data.js +1 -1
  540. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  541. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
  543. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  544. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  545. package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
  546. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  547. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  548. package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
  549. package/dest/rollup/root_rollup_public_inputs.d.ts +9 -4
  550. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  551. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  552. package/dest/rollup/tree_snapshot_diff_hints.d.ts +2 -2
  553. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  554. package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
  555. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  556. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  557. package/dest/rollup/tx_rollup_public_inputs.js +1 -1
  558. package/dest/schemas/schemas.d.ts +6 -3
  559. package/dest/schemas/schemas.d.ts.map +1 -1
  560. package/dest/schemas/schemas.js +2 -1
  561. package/dest/slashing/types.d.ts +4 -5
  562. package/dest/slashing/types.d.ts.map +1 -1
  563. package/dest/slashing/types.js +5 -5
  564. package/dest/snapshots/types.d.ts +1 -1
  565. package/dest/snapshots/types.d.ts.map +1 -1
  566. package/dest/snapshots/types.js +5 -5
  567. package/dest/stats/stats.d.ts +10 -6
  568. package/dest/stats/stats.d.ts.map +1 -1
  569. package/dest/tests/factories.d.ts +41 -9
  570. package/dest/tests/factories.d.ts.map +1 -1
  571. package/dest/tests/factories.js +99 -23
  572. package/dest/tests/mocks.d.ts +77 -15
  573. package/dest/tests/mocks.d.ts.map +1 -1
  574. package/dest/tests/mocks.js +155 -48
  575. package/dest/trees/append_only_tree_snapshot.d.ts +2 -2
  576. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  577. package/dest/trees/append_only_tree_snapshot.js +4 -2
  578. package/dest/trees/database_public_state_source.d.ts +2 -2
  579. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  580. package/dest/trees/database_public_state_source.js +1 -1
  581. package/dest/trees/nullifier_leaf.d.ts +2 -2
  582. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  583. package/dest/trees/nullifier_leaf.js +1 -1
  584. package/dest/trees/nullifier_membership_witness.d.ts +2 -2
  585. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  586. package/dest/trees/nullifier_membership_witness.js +1 -1
  587. package/dest/trees/public_data_leaf.d.ts +2 -2
  588. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  589. package/dest/trees/public_data_leaf.js +1 -1
  590. package/dest/trees/public_data_witness.d.ts +2 -2
  591. package/dest/trees/public_data_witness.d.ts.map +1 -1
  592. package/dest/trees/public_data_witness.js +1 -1
  593. package/dest/tx/block_header.d.ts +12 -11
  594. package/dest/tx/block_header.d.ts.map +1 -1
  595. package/dest/tx/block_header.js +11 -4
  596. package/dest/tx/call_context.d.ts +2 -2
  597. package/dest/tx/call_context.d.ts.map +1 -1
  598. package/dest/tx/call_context.js +3 -1
  599. package/dest/tx/capsule.d.ts +2 -2
  600. package/dest/tx/capsule.d.ts.map +1 -1
  601. package/dest/tx/capsule.js +1 -1
  602. package/dest/tx/function_data.d.ts +2 -2
  603. package/dest/tx/function_data.d.ts.map +1 -1
  604. package/dest/tx/function_data.js +1 -1
  605. package/dest/tx/global_variable_builder.d.ts +5 -3
  606. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  607. package/dest/tx/global_variables.d.ts +19 -12
  608. package/dest/tx/global_variables.d.ts.map +1 -1
  609. package/dest/tx/global_variables.js +11 -9
  610. package/dest/tx/hashed_values.d.ts +2 -2
  611. package/dest/tx/hashed_values.d.ts.map +1 -1
  612. package/dest/tx/hashed_values.js +1 -1
  613. package/dest/tx/in_tx.d.ts +26 -0
  614. package/dest/tx/in_tx.d.ts.map +1 -0
  615. package/dest/tx/in_tx.js +14 -0
  616. package/dest/tx/index.d.ts +2 -2
  617. package/dest/tx/index.d.ts.map +1 -1
  618. package/dest/tx/index.js +1 -1
  619. package/dest/tx/indexed_tx_effect.d.ts +12 -8
  620. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  621. package/dest/tx/indexed_tx_effect.js +5 -4
  622. package/dest/tx/offchain_effect.d.ts +2 -2
  623. package/dest/tx/offchain_effect.d.ts.map +1 -1
  624. package/dest/tx/offchain_effect.js +1 -1
  625. package/dest/tx/partial_state_reference.d.ts +2 -2
  626. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  627. package/dest/tx/private_execution_result.d.ts +5 -9
  628. package/dest/tx/private_execution_result.d.ts.map +1 -1
  629. package/dest/tx/private_execution_result.js +5 -22
  630. package/dest/tx/private_tx_constant_data.d.ts +2 -2
  631. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  632. package/dest/tx/private_tx_constant_data.js +1 -1
  633. package/dest/tx/processed_tx.d.ts +5 -4
  634. package/dest/tx/processed_tx.d.ts.map +1 -1
  635. package/dest/tx/processed_tx.js +8 -7
  636. package/dest/tx/profiling.d.ts +2 -2
  637. package/dest/tx/profiling.d.ts.map +1 -1
  638. package/dest/tx/profiling.js +1 -1
  639. package/dest/tx/protocol_contracts.d.ts +2 -2
  640. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  641. package/dest/tx/protocol_contracts.js +1 -1
  642. package/dest/tx/public_call_request_with_calldata.d.ts +2 -2
  643. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  644. package/dest/tx/public_call_request_with_calldata.js +4 -2
  645. package/dest/tx/public_simulation_output.d.ts +2 -2
  646. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  647. package/dest/tx/public_simulation_output.js +1 -1
  648. package/dest/tx/simulated_tx.d.ts +1031 -7
  649. package/dest/tx/simulated_tx.d.ts.map +1 -1
  650. package/dest/tx/state_reference.d.ts +2 -2
  651. package/dest/tx/state_reference.d.ts.map +1 -1
  652. package/dest/tx/state_reference.js +3 -1
  653. package/dest/tx/tree_snapshots.d.ts +2 -2
  654. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  655. package/dest/tx/tree_snapshots.js +3 -1
  656. package/dest/tx/tx.d.ts +12 -5
  657. package/dest/tx/tx.d.ts.map +1 -1
  658. package/dest/tx/tx.js +14 -4
  659. package/dest/tx/tx_constant_data.d.ts +2 -2
  660. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  661. package/dest/tx/tx_constant_data.js +1 -1
  662. package/dest/tx/tx_context.d.ts +2 -2
  663. package/dest/tx/tx_context.d.ts.map +1 -1
  664. package/dest/tx/tx_context.js +1 -1
  665. package/dest/tx/tx_effect.d.ts +2 -2
  666. package/dest/tx/tx_effect.d.ts.map +1 -1
  667. package/dest/tx/tx_effect.js +8 -4
  668. package/dest/tx/tx_execution_request.d.ts +2 -2
  669. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  670. package/dest/tx/tx_execution_request.js +7 -3
  671. package/dest/tx/tx_hash.d.ts +2 -2
  672. package/dest/tx/tx_hash.d.ts.map +1 -1
  673. package/dest/tx/tx_hash.js +1 -1
  674. package/dest/tx/tx_receipt.d.ts +4 -3
  675. package/dest/tx/tx_receipt.d.ts.map +1 -1
  676. package/dest/tx/tx_receipt.js +2 -1
  677. package/dest/tx/tx_request.d.ts +2 -2
  678. package/dest/tx/tx_request.d.ts.map +1 -1
  679. package/dest/tx/tx_request.js +2 -2
  680. package/dest/tx/validator/tx_validator.d.ts +1 -4
  681. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  682. package/dest/tx/validator/tx_validator.js +4 -4
  683. package/dest/update-checker/update-checker.d.ts +2 -2
  684. package/dest/update-checker/update-checker.d.ts.map +1 -1
  685. package/dest/update-checker/update-checker.js +1 -1
  686. package/dest/validators/errors.d.ts +2 -2
  687. package/dest/validators/errors.d.ts.map +1 -1
  688. package/dest/validators/schemas.d.ts +1 -1
  689. package/dest/validators/schemas.d.ts.map +1 -1
  690. package/dest/validators/schemas.js +13 -13
  691. package/dest/versioning/versioning.d.ts +2 -2
  692. package/dest/versioning/versioning.d.ts.map +1 -1
  693. package/dest/vks/verification_key.d.ts +2 -2
  694. package/dest/vks/verification_key.d.ts.map +1 -1
  695. package/dest/vks/verification_key.js +1 -1
  696. package/dest/vks/vk_data.d.ts +2 -2
  697. package/dest/vks/vk_data.d.ts.map +1 -1
  698. package/dest/vks/vk_data.js +1 -1
  699. package/dest/zkpassport/index.d.ts +2 -2
  700. package/dest/zkpassport/index.d.ts.map +1 -1
  701. package/dest/zkpassport/index.js +2 -2
  702. package/package.json +14 -9
  703. package/src/abi/abi.ts +40 -34
  704. package/src/abi/authorization_selector.ts +3 -2
  705. package/src/abi/buffer.ts +1 -1
  706. package/src/abi/contract_artifact.ts +10 -10
  707. package/src/abi/decoder.ts +1 -1
  708. package/src/abi/encoder.ts +1 -1
  709. package/src/abi/event_selector.ts +3 -2
  710. package/src/abi/function_call.ts +1 -1
  711. package/src/abi/function_selector.ts +11 -2
  712. package/src/abi/note_selector.ts +2 -2
  713. package/src/abi/selector.ts +1 -1
  714. package/src/auth_witness/auth_witness.ts +2 -2
  715. package/src/avm/avm.ts +338 -20
  716. package/src/avm/avm_accumulated_data.ts +1 -1
  717. package/src/avm/avm_circuit_public_inputs.ts +1 -1
  718. package/src/avm/contract_storage_read.ts +1 -1
  719. package/src/avm/contract_storage_update_request.ts +1 -1
  720. package/src/avm/message_pack.ts +2 -1
  721. package/src/avm/public_call_stack_item_compressed.ts +1 -1
  722. package/src/avm/public_data_read.ts +1 -1
  723. package/src/avm/public_data_update_request.ts +1 -1
  724. package/src/avm/public_data_write.ts +1 -1
  725. package/src/avm/public_inner_call_request.ts +1 -1
  726. package/src/avm/revert_code.ts +1 -1
  727. package/src/aztec-address/index.ts +2 -1
  728. package/src/block/attestation_info.ts +10 -7
  729. package/src/block/block_hash.ts +1 -1
  730. package/src/block/block_parameter.ts +8 -0
  731. package/src/block/{published_l2_block.ts → checkpointed_l2_block.ts} +58 -3
  732. package/src/block/in_block.ts +25 -12
  733. package/src/block/index.ts +2 -2
  734. package/src/block/l2_block.ts +28 -14
  735. package/src/block/l2_block_code_to_purge.ts +7 -15
  736. package/src/block/l2_block_header.ts +27 -18
  737. package/src/block/l2_block_info.ts +11 -10
  738. package/src/block/l2_block_new.ts +59 -19
  739. package/src/block/l2_block_source.ts +163 -67
  740. package/src/block/l2_block_stream/index.ts +1 -0
  741. package/src/block/l2_block_stream/interfaces.ts +12 -4
  742. package/src/block/l2_block_stream/l2_block_stream.ts +133 -36
  743. package/src/block/l2_block_stream/l2_tips_memory_store.ts +63 -54
  744. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  745. package/src/block/proposal/attestations_and_signers.ts +1 -1
  746. package/src/block/proposal/committee_attestation.ts +1 -1
  747. package/src/block/test/l2_tips_store_test_suite.ts +491 -36
  748. package/src/block/validate_block_result.ts +35 -31
  749. package/src/checkpoint/checkpoint.ts +59 -11
  750. package/src/checkpoint/checkpoint_info.ts +52 -0
  751. package/src/checkpoint/index.ts +1 -0
  752. package/src/checkpoint/published_checkpoint.ts +20 -6
  753. package/src/contract/artifact_hash.ts +2 -2
  754. package/src/contract/complete_address.ts +1 -1
  755. package/src/contract/contract_address.ts +2 -2
  756. package/src/contract/contract_class.ts +2 -2
  757. package/src/contract/contract_class_id.ts +3 -3
  758. package/src/contract/contract_instance.ts +1 -1
  759. package/src/contract/contract_instance_update.ts +1 -1
  760. package/src/contract/deployment_info.ts +1 -1
  761. package/src/contract/interfaces/contract_class.ts +78 -47
  762. package/src/contract/interfaces/contract_data_source.ts +3 -2
  763. package/src/contract/interfaces/contract_instance.ts +48 -16
  764. package/src/contract/interfaces/contract_instance_update.ts +12 -10
  765. package/src/contract/partial_address.ts +1 -1
  766. package/src/contract/private_function.ts +3 -2
  767. package/src/contract/private_function_membership_proof.ts +2 -2
  768. package/src/contract/utility_function_membership_proof.ts +1 -1
  769. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +2 -2
  770. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
  771. package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
  772. package/src/epoch-helpers/index.ts +11 -9
  773. package/src/errors/simulation_error.ts +1 -1
  774. package/src/fees/transaction_fee.ts +1 -1
  775. package/src/gas/gas.ts +1 -1
  776. package/src/gas/gas_fees.ts +1 -1
  777. package/src/gas/gas_settings.ts +1 -1
  778. package/src/hash/hash.ts +3 -13
  779. package/src/hash/map_slot.ts +2 -2
  780. package/src/interfaces/allowed_element.ts +10 -8
  781. package/src/interfaces/api_limit.ts +1 -0
  782. package/src/interfaces/archiver.ts +46 -20
  783. package/src/interfaces/aztec-node-admin.ts +7 -4
  784. package/src/interfaces/aztec-node.ts +119 -85
  785. package/src/interfaces/block-builder.ts +14 -3
  786. package/src/interfaces/configs.ts +69 -33
  787. package/src/interfaces/epoch-prover.ts +4 -4
  788. package/src/interfaces/get_logs_response.ts +13 -9
  789. package/src/interfaces/l2_logs_source.ts +11 -14
  790. package/src/interfaces/merkle_tree_operations.ts +7 -3
  791. package/src/interfaces/p2p.ts +8 -12
  792. package/src/interfaces/prover-client.ts +13 -10
  793. package/src/interfaces/proving-job.ts +2 -11
  794. package/src/interfaces/public_state_source.ts +1 -1
  795. package/src/interfaces/server_circuit_prover.ts +3 -3
  796. package/src/interfaces/slasher.ts +24 -22
  797. package/src/interfaces/tx_provider.ts +2 -2
  798. package/src/interfaces/validator.ts +80 -26
  799. package/src/interfaces/world_state.ts +26 -18
  800. package/src/kernel/claimed_length_array.ts +1 -1
  801. package/src/kernel/hints/build_note_hash_read_request_hints.ts +5 -8
  802. package/src/kernel/hints/build_nullifier_read_request_hints.ts +1 -1
  803. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  804. package/src/kernel/hints/key_validation_hint.ts +1 -1
  805. package/src/kernel/hints/key_validation_request.ts +2 -1
  806. package/src/kernel/hints/key_validation_request_and_generator.ts +1 -1
  807. package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
  808. package/src/kernel/hints/read_request.ts +1 -1
  809. package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +1 -1
  810. package/src/kernel/hints/scoped_value_cache.ts +1 -1
  811. package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
  812. package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
  813. package/src/kernel/log_hash.ts +1 -1
  814. package/src/kernel/note_hash.ts +1 -1
  815. package/src/kernel/nullifier.ts +1 -1
  816. package/src/kernel/padded_side_effects.ts +1 -1
  817. package/src/kernel/private_call_data.ts +1 -1
  818. package/src/kernel/private_call_request.ts +1 -1
  819. package/src/kernel/private_circuit_public_inputs.ts +86 -86
  820. package/src/kernel/private_context_inputs.ts +1 -1
  821. package/src/kernel/private_kernel_circuit_public_inputs.ts +1 -1
  822. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +1 -1
  823. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
  824. package/src/kernel/private_log_data.ts +1 -1
  825. package/src/kernel/private_to_avm_accumulated_data.ts +1 -1
  826. package/src/kernel/private_to_public_accumulated_data.ts +1 -1
  827. package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
  828. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
  829. package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
  830. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  831. package/src/kernel/public_call_request.ts +1 -1
  832. package/src/kernel/utils/optional_number.ts +1 -1
  833. package/src/keys/derivation.ts +5 -2
  834. package/src/keys/public_key.ts +1 -1
  835. package/src/keys/public_keys.ts +3 -2
  836. package/src/l1-contracts/slash_factory.ts +3 -1
  837. package/src/logs/contract_class_log.ts +2 -2
  838. package/src/logs/debug_log.ts +1 -1
  839. package/src/logs/directional_app_tagging_secret.ts +4 -2
  840. package/src/logs/index.ts +2 -1
  841. package/src/logs/log_id.ts +22 -11
  842. package/src/logs/message_context.ts +1 -1
  843. package/src/logs/pending_tagged_log.ts +1 -1
  844. package/src/logs/private_log.ts +3 -2
  845. package/src/logs/public_log.ts +8 -1
  846. package/src/logs/shared_secret_derivation.ts +2 -2
  847. package/src/logs/siloed_tag.ts +44 -0
  848. package/src/logs/tag.ts +42 -0
  849. package/src/logs/tx_scoped_l2_log.ts +48 -45
  850. package/src/messaging/in_hash.ts +4 -2
  851. package/src/messaging/inbox_leaf.ts +11 -10
  852. package/src/messaging/l1_actor.ts +2 -2
  853. package/src/messaging/l1_to_l2_message.ts +3 -2
  854. package/src/messaging/l1_to_l2_message_source.ts +5 -10
  855. package/src/messaging/l2_actor.ts +2 -2
  856. package/src/messaging/l2_to_l1_membership.ts +177 -52
  857. package/src/messaging/l2_to_l1_message.ts +5 -1
  858. package/src/messaging/out_hash.ts +18 -8
  859. package/src/note/note.ts +5 -2
  860. package/src/note/note_dao.ts +37 -6
  861. package/src/note/notes_filter.ts +4 -1
  862. package/src/p2p/attestation_utils.ts +3 -3
  863. package/src/p2p/block_proposal.ts +188 -43
  864. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +33 -26
  865. package/src/p2p/checkpoint_proposal.ts +337 -0
  866. package/src/p2p/consensus_payload.ts +6 -3
  867. package/src/p2p/gossipable.ts +14 -4
  868. package/src/p2p/index.ts +3 -1
  869. package/src/p2p/signature_utils.ts +5 -2
  870. package/src/p2p/signed_txs.ts +83 -0
  871. package/src/p2p/topic_type.ts +3 -2
  872. package/src/parity/parity_base_private_inputs.ts +1 -1
  873. package/src/parity/parity_public_inputs.ts +1 -1
  874. package/src/proofs/chonk_proof.ts +2 -2
  875. package/src/proofs/proof.ts +1 -1
  876. package/src/proofs/proof_data.ts +24 -0
  877. package/src/proofs/recursive_proof.ts +1 -1
  878. package/src/rollup/avm_proof_data.ts +2 -9
  879. package/src/rollup/base_rollup_hints.ts +1 -1
  880. package/src/rollup/block_constant_data.ts +1 -1
  881. package/src/rollup/block_headers_hash.ts +1 -1
  882. package/src/rollup/block_rollup_public_inputs.ts +4 -10
  883. package/src/rollup/block_root_rollup_private_inputs.ts +1 -1
  884. package/src/rollup/checkpoint_constant_data.ts +2 -1
  885. package/src/rollup/checkpoint_header.ts +49 -20
  886. package/src/rollup/checkpoint_rollup_public_inputs.ts +7 -1
  887. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +2 -1
  888. package/src/rollup/epoch_constant_data.ts +1 -1
  889. package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
  890. package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
  891. package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
  892. package/src/rollup/root_rollup_public_inputs.ts +7 -1
  893. package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
  894. package/src/rollup/tx_rollup_public_inputs.ts +1 -1
  895. package/src/schemas/schemas.ts +6 -1
  896. package/src/slashing/types.ts +24 -20
  897. package/src/snapshots/types.ts +33 -29
  898. package/src/stats/stats.ts +10 -5
  899. package/src/tests/factories.ts +128 -26
  900. package/src/tests/mocks.ts +248 -70
  901. package/src/trees/append_only_tree_snapshot.ts +1 -1
  902. package/src/trees/database_public_state_source.ts +1 -1
  903. package/src/trees/nullifier_leaf.ts +1 -1
  904. package/src/trees/nullifier_membership_witness.ts +1 -1
  905. package/src/trees/public_data_leaf.ts +1 -1
  906. package/src/trees/public_data_witness.ts +1 -1
  907. package/src/tx/block_header.ts +17 -11
  908. package/src/tx/call_context.ts +1 -1
  909. package/src/tx/capsule.ts +1 -1
  910. package/src/tx/function_data.ts +1 -1
  911. package/src/tx/global_variable_builder.ts +9 -2
  912. package/src/tx/global_variables.ts +16 -10
  913. package/src/tx/hashed_values.ts +1 -1
  914. package/src/tx/in_tx.ts +24 -0
  915. package/src/tx/index.ts +1 -1
  916. package/src/tx/indexed_tx_effect.ts +6 -5
  917. package/src/tx/offchain_effect.ts +1 -1
  918. package/src/tx/partial_state_reference.ts +1 -1
  919. package/src/tx/private_execution_result.ts +5 -20
  920. package/src/tx/private_tx_constant_data.ts +1 -1
  921. package/src/tx/processed_tx.ts +19 -16
  922. package/src/tx/profiling.ts +1 -1
  923. package/src/tx/protocol_contracts.ts +2 -2
  924. package/src/tx/public_call_request_with_calldata.ts +1 -1
  925. package/src/tx/public_simulation_output.ts +1 -1
  926. package/src/tx/state_reference.ts +1 -1
  927. package/src/tx/tree_snapshots.ts +1 -1
  928. package/src/tx/tx.ts +14 -4
  929. package/src/tx/tx_constant_data.ts +1 -1
  930. package/src/tx/tx_context.ts +1 -1
  931. package/src/tx/tx_effect.ts +5 -3
  932. package/src/tx/tx_execution_request.ts +3 -1
  933. package/src/tx/tx_hash.ts +1 -1
  934. package/src/tx/tx_receipt.ts +3 -2
  935. package/src/tx/tx_request.ts +2 -2
  936. package/src/tx/validator/tx_validator.ts +8 -6
  937. package/src/update-checker/update-checker.ts +2 -1
  938. package/src/validators/errors.ts +1 -1
  939. package/src/validators/schemas.ts +54 -48
  940. package/src/versioning/versioning.ts +1 -1
  941. package/src/vks/verification_key.ts +1 -1
  942. package/src/vks/vk_data.ts +1 -1
  943. package/src/zkpassport/index.ts +2 -2
  944. package/dest/block/l2_block_number.d.ts +0 -5
  945. package/dest/block/l2_block_number.d.ts.map +0 -1
  946. package/dest/block/l2_block_number.js +0 -6
  947. package/dest/block/published_l2_block.d.ts +0 -130
  948. package/dest/block/published_l2_block.d.ts.map +0 -1
  949. package/dest/logs/log_with_tx_data.d.ts +0 -19
  950. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  951. package/dest/logs/log_with_tx_data.js +0 -49
  952. package/dest/p2p/block_attestation.d.ts +0 -80
  953. package/dest/p2p/block_attestation.d.ts.map +0 -1
  954. package/dest/tx/content_commitment.d.ts +0 -48
  955. package/dest/tx/content_commitment.d.ts.map +0 -1
  956. package/dest/tx/content_commitment.js +0 -82
  957. package/src/block/l2_block_number.ts +0 -8
  958. package/src/logs/log_with_tx_data.ts +0 -46
  959. package/src/tx/content_commitment.ts +0 -104
@@ -1,17 +1,23 @@
1
1
  import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
 
5
6
  import { z } from 'zod';
6
7
 
8
+ import type { PrivateLog } from '../logs/private_log.js';
7
9
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
10
  import { BlockHeader } from '../tx/block_header.js';
9
11
  import { Body } from './body.js';
10
12
  import type { L2BlockInfo } from './l2_block_info.js';
11
13
 
14
+ // TODO(palla/mbps): Delete the existing `L2Block` class and rename this to `L2Block`.
15
+ // TODO(palla/mbps): Consider moving the checkpointNumber and indexWithinCheckpoint to the header:
16
+ // if the blockNumber is there, why not these as well? Consider whether they should be part of the
17
+ // circuits structs though.
18
+
12
19
  /**
13
20
  * An L2 block with a header and a body.
14
- * TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
15
21
  */
16
22
  export class L2BlockNew {
17
23
  constructor(
@@ -21,10 +27,13 @@ export class L2BlockNew {
21
27
  public header: BlockHeader,
22
28
  /** L2 block body. */
23
29
  public body: Body,
24
- private blockHash: Fr | undefined = undefined,
30
+ /** Number of the checkpoint that the block belongs to. */
31
+ public checkpointNumber: CheckpointNumber,
32
+ /** Index of the block within the checkpoint. */
33
+ public indexWithinCheckpoint: number,
25
34
  ) {}
26
35
 
27
- get number(): number {
36
+ get number(): BlockNumber {
28
37
  return this.header.globalVariables.blockNumber;
29
38
  }
30
39
 
@@ -38,8 +47,13 @@ export class L2BlockNew {
38
47
  archive: AppendOnlyTreeSnapshot.schema,
39
48
  header: BlockHeader.schema,
40
49
  body: Body.schema,
50
+ checkpointNumber: CheckpointNumberSchema,
51
+ indexWithinCheckpoint: z.number(),
41
52
  })
42
- .transform(({ archive, header, body }) => new L2BlockNew(archive, header, body));
53
+ .transform(
54
+ ({ archive, header, body, checkpointNumber, indexWithinCheckpoint }) =>
55
+ new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint),
56
+ );
43
57
  }
44
58
 
45
59
  /**
@@ -51,8 +65,10 @@ export class L2BlockNew {
51
65
  const header = reader.readObject(BlockHeader);
52
66
  const archive = reader.readObject(AppendOnlyTreeSnapshot);
53
67
  const body = reader.readObject(Body);
68
+ const checkpointNumber = CheckpointNumber(reader.readNumber());
69
+ const indexWithinCheckpoint = reader.readNumber();
54
70
 
55
- return new L2BlockNew(archive, header, body);
71
+ return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
56
72
  }
57
73
 
58
74
  /**
@@ -60,26 +76,39 @@ export class L2BlockNew {
60
76
  * @returns A serialized L2 block as a Buffer.
61
77
  */
62
78
  toBuffer() {
63
- return serializeToBuffer(this.header, this.archive, this.body);
79
+ return serializeToBuffer(this.header, this.archive, this.body, this.checkpointNumber, this.indexWithinCheckpoint);
64
80
  }
65
81
 
66
82
  /**
67
83
  * Returns the block's hash (hash of block header).
68
84
  * @returns The block's hash.
69
85
  */
70
- public async hash(): Promise<Fr> {
71
- if (this.blockHash === undefined) {
72
- this.blockHash = await this.header.hash();
73
- }
74
- return this.blockHash;
86
+ public hash(): Promise<Fr> {
87
+ return this.header.hash();
88
+ }
89
+
90
+ /**
91
+ * Checks if this block equals another block.
92
+ * @param other - The other block to compare with.
93
+ * @returns True if both blocks are equal.
94
+ */
95
+ public equals(other: this): boolean {
96
+ return (
97
+ this.archive.equals(other.archive) &&
98
+ this.header.equals(other.header) &&
99
+ this.body.equals(other.body) &&
100
+ this.checkpointNumber === other.checkpointNumber &&
101
+ this.indexWithinCheckpoint === other.indexWithinCheckpoint
102
+ );
75
103
  }
76
104
 
77
- public toBlobFields(isFirstBlock: boolean): Fr[] {
78
- const blockBlobData = this.toBlockBlobData(isFirstBlock);
105
+ public toBlobFields(): Fr[] {
106
+ const blockBlobData = this.toBlockBlobData();
79
107
  return encodeBlockBlobData(blockBlobData);
80
108
  }
81
109
 
82
- public toBlockBlobData(isFirstBlock: boolean): BlockBlobData {
110
+ public toBlockBlobData(): BlockBlobData {
111
+ const isFirstBlock = this.indexWithinCheckpoint === 0;
83
112
  return {
84
113
  blockEndMarker: {
85
114
  numTxs: this.body.txEffects.length,
@@ -102,6 +131,10 @@ export class L2BlockNew {
102
131
  };
103
132
  }
104
133
 
134
+ static empty() {
135
+ return new L2BlockNew(AppendOnlyTreeSnapshot.empty(), BlockHeader.empty(), Body.empty(), CheckpointNumber(0), 0);
136
+ }
137
+
105
138
  /**
106
139
  * Creates an L2 block containing random data.
107
140
  * @param l2BlockNum - The number of the L2 block.
@@ -112,13 +145,17 @@ export class L2BlockNew {
112
145
  * @returns The L2 block.
113
146
  */
114
147
  static async random(
115
- blockNumber: number,
148
+ blockNumber: BlockNumber,
116
149
  {
150
+ checkpointNumber = CheckpointNumber(Number(blockNumber)),
151
+ indexWithinCheckpoint = 0,
117
152
  txsPerBlock = 1,
118
153
  txOptions = {},
119
154
  makeTxOptions,
120
155
  ...blockHeaderOverrides
121
156
  }: {
157
+ checkpointNumber?: CheckpointNumber;
158
+ indexWithinCheckpoint?: number;
122
159
  txsPerBlock?: number;
123
160
  txOptions?: Partial<Parameters<typeof Body.random>[0]>;
124
161
  makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
@@ -127,7 +164,7 @@ export class L2BlockNew {
127
164
  const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
128
165
  const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
129
166
  const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
130
- return new L2BlockNew(archive, header, body);
167
+ return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
131
168
  }
132
169
 
133
170
  /**
@@ -157,13 +194,16 @@ export class L2BlockNew {
157
194
  };
158
195
  }
159
196
 
197
+ getPrivateLogs(): PrivateLog[] {
198
+ return this.body.txEffects.map(txEffect => txEffect.privateLogs).flat();
199
+ }
200
+
160
201
  toBlockInfo(): L2BlockInfo {
161
202
  return {
162
- blockHash: this.blockHash,
163
203
  archive: this.archive.root,
164
204
  lastArchive: this.header.lastArchive.root,
165
205
  blockNumber: this.number,
166
- slotNumber: Number(this.header.getSlot()),
206
+ slotNumber: this.header.getSlot(),
167
207
  txCount: this.body.txEffects.length,
168
208
  timestamp: this.header.globalVariables.timestamp,
169
209
  };
@@ -1,18 +1,29 @@
1
- import type { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import {
2
+ BlockNumber,
3
+ BlockNumberSchema,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ type EpochNumber,
7
+ type SlotNumber,
8
+ } from '@aztec/foundation/branded-types';
9
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
10
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
- import type { Fr } from '@aztec/foundation/fields';
4
11
  import type { TypedEventEmitter } from '@aztec/foundation/types';
5
12
 
6
13
  import { z } from 'zod';
7
14
 
15
+ import type { Checkpoint } from '../checkpoint/checkpoint.js';
16
+ import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
8
17
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
18
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
9
19
  import type { BlockHeader } from '../tx/block_header.js';
10
20
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
11
21
  import type { TxHash } from '../tx/tx_hash.js';
12
22
  import type { TxReceipt } from '../tx/tx_receipt.js';
23
+ import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
13
24
  import type { L2Block } from './l2_block.js';
14
- import { PublishedL2Block } from './published_l2_block.js';
15
- import type { ValidateBlockNegativeResult, ValidateBlockResult } from './validate_block_result.js';
25
+ import type { L2BlockNew } from './l2_block_new.js';
26
+ import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
16
27
 
17
28
  /**
18
29
  * Interface of classes allowing for the retrieval of L2 blocks.
@@ -34,53 +45,44 @@ export interface L2BlockSource {
34
45
  * Gets the number of the latest L2 block processed by the block source implementation.
35
46
  * @returns The number of the latest L2 block processed by the block source implementation.
36
47
  */
37
- getBlockNumber(): Promise<number>;
48
+ getBlockNumber(): Promise<BlockNumber>;
38
49
 
39
50
  /**
40
51
  * Gets the number of the latest L2 block proven seen by the block source implementation.
41
52
  * @returns The number of the latest L2 block proven seen by the block source implementation.
42
53
  */
43
- getProvenBlockNumber(): Promise<number>;
44
-
45
- /**
46
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
47
- * @param number - The block number to return (inclusive).
48
- * @returns The requested L2 block.
49
- */
50
- getBlock(number: number): Promise<L2Block | undefined>;
54
+ getProvenBlockNumber(): Promise<BlockNumber>;
51
55
 
52
56
  /**
53
57
  * Gets an l2 block header.
54
58
  * @param number - The block number to return or 'latest' for the most recent one.
55
59
  * @returns The requested L2 block header.
56
60
  */
57
- getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
61
+ getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
58
62
 
59
63
  /**
60
- * Gets up to `limit` amount of L2 blocks starting from `from`.
61
- * @param from - Number of the first block to return (inclusive).
62
- * @param limit - The maximum number of blocks to return.
63
- * @param proven - If true, only return blocks that have been proven.
64
- * @returns The requested L2 blocks.
64
+ * Gets a checkpointed L2 block by block number.
65
+ * Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
66
+ * @param number - The block number to retrieve.
67
+ * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
65
68
  */
66
- getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
69
+ getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
67
70
 
68
- /** Equivalent to getBlocks but includes publish data. */
69
- getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
71
+ getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
70
72
 
71
73
  /**
72
- * Gets a published block by its hash.
73
- * @param blockHash - The block hash to retrieve.
74
- * @returns The requested published block (or undefined if not found).
74
+ * Retrieves a collection of published checkpoints
75
+ * @param checkpointNumber The first checkpoint to be retrieved
76
+ * @param limit The number of checkpoints to be retrieved
77
+ * @returns The collection of complete checkpoints
75
78
  */
76
- getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
79
+ getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
77
80
 
78
81
  /**
79
- * Gets a published block by its archive root.
80
- * @param archive - The archive root to retrieve.
81
- * @returns The requested published block (or undefined if not found).
82
+ * Gets the checkpoints for a given epoch
83
+ * @param epochNumber - Epoch for which we want checkpoint data
82
84
  */
83
- getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
85
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
84
86
 
85
87
  /**
86
88
  * Gets a block header by its hash.
@@ -96,6 +98,13 @@ export interface L2BlockSource {
96
98
  */
97
99
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
98
100
 
101
+ /**
102
+ * Gets an L2 block by block number.
103
+ * @param number - The block number to return.
104
+ * @returns The requested L2 block (or undefined if not found).
105
+ */
106
+ getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
107
+
99
108
  /**
100
109
  * Gets a tx effect.
101
110
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -120,13 +129,6 @@ export interface L2BlockSource {
120
129
  */
121
130
  getL2EpochNumber(): Promise<EpochNumber | undefined>;
122
131
 
123
- /**
124
- * Returns all blocks for a given epoch.
125
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
126
- * @param epochNumber - The epoch number to return blocks for.
127
- */
128
- getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
129
-
130
132
  /**
131
133
  * Returns all block headers for a given epoch.
132
134
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
@@ -163,13 +165,72 @@ export interface L2BlockSource {
163
165
  isPendingChainInvalid(): Promise<boolean>;
164
166
 
165
167
  /**
166
- * Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive block
167
- * that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
168
+ * Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive
169
+ * checkpoint that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
168
170
  */
169
- getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
171
+ getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
170
172
 
171
173
  /** Force a sync. */
172
174
  syncImmediate(): Promise<void>;
175
+
176
+ /* Legacy APIS */
177
+
178
+ /**
179
+ * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
180
+ * @param number - The block number to return (inclusive).
181
+ * @returns The requested L2 block.
182
+ * @deprecated Use getL2BlockNew instead.
183
+ */
184
+ getBlock(number: BlockNumber): Promise<L2Block | undefined>;
185
+
186
+ getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
187
+
188
+ getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
189
+
190
+ /**
191
+ * Returns all blocks for a given epoch.
192
+ * @dev Use this method only with recent epochs, since it walks the block list backwards.
193
+ * @param epochNumber - The epoch number to return blocks for.
194
+ */
195
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
196
+
197
+ /**
198
+ * Gets a published block by its block hash.
199
+ * @param blockHash - The block hash to retrieve.
200
+ * @returns The requested block (or undefined if not found).
201
+ */
202
+ getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
203
+
204
+ /**
205
+ * Gets a published block by its archive root.
206
+ * @param archive - The archive root to retrieve.
207
+ * @returns The requested block (or undefined if not found).
208
+ */
209
+ getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
210
+
211
+ /**
212
+ * Gets up to `limit` amount of L2 blocks starting from `from`.
213
+ * @param from - Number of the first block to return (inclusive).
214
+ * @param limit - The maximum number of blocks to return.
215
+ * @param proven - If true, only return blocks that have been proven.
216
+ * @returns The requested L2 blocks.
217
+ */
218
+ getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
219
+
220
+ /** Equivalent to getBlocks but includes publish data. */
221
+ getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
222
+ }
223
+
224
+ /**
225
+ * Interface for classes that can receive and store L2 blocks.
226
+ */
227
+ export interface L2BlockSink {
228
+ /**
229
+ * Adds a block to the store.
230
+ * @param block - The L2 block to add.
231
+ * @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
232
+ */
233
+ addBlock(block: L2BlockNew): Promise<void>;
173
234
  }
174
235
 
175
236
  /**
@@ -179,59 +240,89 @@ export interface L2BlockSource {
179
240
  export type ArchiverEmitter = TypedEventEmitter<{
180
241
  [L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockPruneEvent) => void;
181
242
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
182
- [L2BlockSourceEvents.InvalidAttestationsBlockDetected]: (args: InvalidBlockDetectedEvent) => void;
243
+ [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
244
+ [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
183
245
  }>;
184
246
  export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {}
185
247
 
186
248
  /**
187
249
  * Identifier for L2 block tags.
188
- * - latest: Latest block pushed to L1.
250
+ * - proposed: Latest block proposed on L2.
251
+ * - checkpointed: Checkpointed block on L1.
189
252
  * - proven: Proven block on L1.
190
253
  * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
191
254
  */
192
- export type L2BlockTag = 'latest' | 'proven' | 'finalized';
255
+ export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
256
+
257
+ /**
258
+ * Reason for L2 block prune.
259
+ * - uncheckpointed: L2 blocks were pruned due to a failure to checkpoint.
260
+ * - unproven: L2 blocks were pruned due to a failure to prove.
261
+ */
262
+ export type L2BlockPruneReason = 'uncheckpointed' | 'unproven';
193
263
 
194
264
  /** Tips of the L2 chain. */
195
- export type L2Tips = Record<L2BlockTag, L2BlockId>;
265
+ export type L2Tips = {
266
+ proposed: L2BlockId;
267
+ checkpointed: L2TipId;
268
+ proven: L2TipId;
269
+ finalized: L2TipId;
270
+ };
271
+
272
+ export const GENESIS_CHECKPOINT_HEADER_HASH = CheckpointHeader.empty().hash();
196
273
 
197
274
  /** Identifies a block by number and hash. */
198
- export type L2BlockId = z.infer<typeof L2BlockIdSchema>;
275
+ export type L2BlockId = { number: BlockNumber; hash: string };
276
+
277
+ export type CheckpointId = { number: CheckpointNumber; hash: string };
278
+
279
+ export type L2TipId = { block: L2BlockId; checkpoint: CheckpointId };
199
280
 
200
281
  /** Creates an L2 block id */
201
- export function makeL2BlockId(number: number, hash?: string): L2BlockId {
282
+ export function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId {
202
283
  if (number !== 0 && !hash) {
203
284
  throw new Error(`Hash is required for non-genesis blocks (got block number ${number})`);
204
285
  }
205
286
  return { number, hash: hash! };
206
287
  }
207
288
 
208
- // TODO(palla/schemas): This package should know what is the block hash of the genesis block 0.
209
- const L2BlockIdSchema = z.union([
210
- z.object({
211
- number: z.literal(0),
212
- hash: z.undefined(),
213
- }),
214
- z.object({
215
- number: z.number(),
216
- hash: z.string(),
217
- }),
218
- ]);
289
+ /** Creates an L2 checkpoint id */
290
+ export function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId {
291
+ return { number, hash };
292
+ }
293
+
294
+ const L2BlockIdSchema = z.object({
295
+ number: BlockNumberSchema,
296
+ hash: z.string(),
297
+ });
298
+
299
+ const L2CheckpointIdSchema = z.object({
300
+ number: CheckpointNumberSchema,
301
+ hash: z.string(),
302
+ });
303
+
304
+ const L2TipIdSchema = z.object({
305
+ block: L2BlockIdSchema,
306
+ checkpoint: L2CheckpointIdSchema,
307
+ });
219
308
 
220
309
  export const L2TipsSchema = z.object({
221
- latest: L2BlockIdSchema,
222
- proven: L2BlockIdSchema,
223
- finalized: L2BlockIdSchema,
224
- }) satisfies z.ZodType<L2Tips>;
310
+ proposed: L2BlockIdSchema,
311
+ checkpointed: L2TipIdSchema,
312
+ proven: L2TipIdSchema,
313
+ finalized: L2TipIdSchema,
314
+ });
225
315
 
226
316
  export enum L2BlockSourceEvents {
227
317
  L2PruneDetected = 'l2PruneDetected',
228
318
  L2BlockProven = 'l2BlockProven',
229
- InvalidAttestationsBlockDetected = 'invalidBlockDetected',
319
+ L2BlocksCheckpointed = 'l2BlocksCheckpointed',
320
+ InvalidAttestationsCheckpointDetected = 'invalidCheckpointDetected',
230
321
  }
231
322
 
232
323
  export type L2BlockProvenEvent = {
233
324
  type: 'l2BlockProven';
234
- blockNumber: bigint;
325
+ blockNumber: BlockNumber;
235
326
  slotNumber: SlotNumber;
236
327
  epochNumber: EpochNumber;
237
328
  };
@@ -239,10 +330,15 @@ export type L2BlockProvenEvent = {
239
330
  export type L2BlockPruneEvent = {
240
331
  type: 'l2PruneDetected';
241
332
  epochNumber: EpochNumber;
242
- blocks: L2Block[];
333
+ blocks: L2BlockNew[];
334
+ };
335
+
336
+ export type L2CheckpointEvent = {
337
+ type: 'l2BlocksCheckpointed';
338
+ checkpoint: PublishedCheckpoint;
243
339
  };
244
340
 
245
- export type InvalidBlockDetectedEvent = {
246
- type: 'invalidBlockDetected';
247
- validationResult: ValidateBlockNegativeResult;
341
+ export type InvalidCheckpointDetectedEvent = {
342
+ type: 'invalidCheckpointDetected';
343
+ validationResult: ValidateCheckpointNegativeResult;
248
344
  };
@@ -1,3 +1,4 @@
1
1
  export * from './interfaces.js';
2
2
  export * from './l2_block_stream.js';
3
3
  export * from './l2_tips_memory_store.js';
4
+ export * from './l2_tips_store_base.js';
@@ -1,5 +1,6 @@
1
- import type { L2BlockId, L2Tips } from '../l2_block_source.js';
2
- import type { PublishedL2Block } from '../published_l2_block.js';
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';
3
4
 
4
5
  /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
5
6
  export interface L2BlockStreamLocalDataProvider {
@@ -15,11 +16,18 @@ export interface L2BlockStreamEventHandler {
15
16
  export type L2BlockStreamEvent =
16
17
  | /** Emits blocks added to the chain. */ {
17
18
  type: 'blocks-added';
18
- blocks: PublishedL2Block[];
19
+ blocks: L2BlockNew[];
19
20
  }
20
- | /** Reports last correct block (new tip of the unproven chain). */ {
21
+ | /** Emits checkpoints published to L1. */ {
22
+ type: 'chain-checkpointed';
23
+ checkpoint: PublishedCheckpoint;
24
+ block: L2BlockId;
25
+ }
26
+ | /** Reports last correct block (new tip of the proposed chain). */ {
21
27
  type: 'chain-pruned';
28
+ reason: L2BlockPruneReason;
22
29
  block: L2BlockId;
30
+ checkpoint: CheckpointId;
23
31
  }
24
32
  | /** Reports new proven block. */ {
25
33
  type: 'chain-proven';