@aztec/stdlib 0.0.1-commit.9b94fc1 → 0.0.1-commit.c7c42ec

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