@aztec/stdlib 0.0.1-commit.96bb3f7 → 0.0.1-commit.9d2bcf6d

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 (492) hide show
  1. package/dest/abi/function_call.d.ts +9 -1
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/utils.d.ts +7 -1
  4. package/dest/abi/utils.d.ts.map +1 -1
  5. package/dest/abi/utils.js +7 -0
  6. package/dest/auth_witness/auth_witness.d.ts +2 -1
  7. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  8. package/dest/avm/avm.d.ts +62 -62
  9. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  10. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  11. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  12. package/dest/avm/avm_proving_request.d.ts +299 -299
  13. package/dest/avm/contract_storage_read.d.ts +13 -1
  14. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  15. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  16. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  17. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  18. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  19. package/dest/avm/public_data_read.d.ts +10 -1
  20. package/dest/avm/public_data_read.d.ts.map +1 -1
  21. package/dest/avm/public_data_update_request.d.ts +10 -1
  22. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  23. package/dest/avm/public_data_write.d.ts +7 -1
  24. package/dest/avm/public_data_write.d.ts.map +1 -1
  25. package/dest/avm/public_inner_call_request.d.ts +4 -1
  26. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  27. package/dest/avm/revert_code.d.ts +4 -4
  28. package/dest/avm/revert_code.d.ts.map +1 -1
  29. package/dest/block/block_hash.d.ts +18 -14
  30. package/dest/block/block_hash.d.ts.map +1 -1
  31. package/dest/block/block_hash.js +22 -20
  32. package/dest/block/block_parameter.d.ts +4 -3
  33. package/dest/block/block_parameter.d.ts.map +1 -1
  34. package/dest/block/block_parameter.js +2 -0
  35. package/dest/block/body.d.ts +1 -1
  36. package/dest/block/body.d.ts.map +1 -1
  37. package/dest/block/body.js +2 -1
  38. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  39. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  40. package/dest/block/checkpointed_l2_block.js +7 -45
  41. package/dest/block/in_block.d.ts +9 -9
  42. package/dest/block/in_block.d.ts.map +1 -1
  43. package/dest/block/in_block.js +4 -4
  44. package/dest/block/index.d.ts +1 -3
  45. package/dest/block/index.d.ts.map +1 -1
  46. package/dest/block/index.js +0 -2
  47. package/dest/block/l2_block.d.ts +56 -59
  48. package/dest/block/l2_block.d.ts.map +1 -1
  49. package/dest/block/l2_block.js +64 -110
  50. package/dest/block/l2_block_source.d.ts +65 -39
  51. package/dest/block/l2_block_source.d.ts.map +1 -1
  52. package/dest/block/l2_block_source.js +2 -1
  53. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  54. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  55. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  56. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  57. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  58. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  59. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  60. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  61. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  62. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  63. package/dest/block/validate_block_result.d.ts +1 -1
  64. package/dest/block/validate_block_result.d.ts.map +1 -1
  65. package/dest/block/validate_block_result.js +5 -4
  66. package/dest/checkpoint/checkpoint.d.ts +30 -20
  67. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  68. package/dest/checkpoint/checkpoint.js +18 -6
  69. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  70. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  71. package/dest/checkpoint/published_checkpoint.js +4 -3
  72. package/dest/config/node-rpc-config.js +1 -1
  73. package/dest/contract/complete_address.d.ts +4 -1
  74. package/dest/contract/complete_address.d.ts.map +1 -1
  75. package/dest/contract/contract_address.js +1 -1
  76. package/dest/contract/contract_class_id.d.ts +1 -1
  77. package/dest/contract/contract_class_id.js +1 -1
  78. package/dest/contract/contract_deployment_data.d.ts +5 -5
  79. package/dest/contract/index.d.ts +1 -3
  80. package/dest/contract/index.d.ts.map +1 -1
  81. package/dest/contract/index.js +0 -2
  82. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  83. package/dest/contract/private_function.d.ts +1 -1
  84. package/dest/contract/private_function.d.ts.map +1 -1
  85. package/dest/contract/private_function.js +2 -3
  86. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  87. package/dest/contract/private_function_membership_proof.js +1 -1
  88. package/dest/database-version/database_version.d.ts +58 -0
  89. package/dest/database-version/database_version.d.ts.map +1 -0
  90. package/dest/database-version/database_version.js +69 -0
  91. package/dest/database-version/version_manager.d.ts +3 -49
  92. package/dest/database-version/version_manager.d.ts.map +1 -1
  93. package/dest/database-version/version_manager.js +1 -66
  94. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  95. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  96. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  97. package/dest/deserialization/index.d.ts +11 -0
  98. package/dest/deserialization/index.d.ts.map +1 -0
  99. package/dest/deserialization/index.js +10 -0
  100. package/dest/epoch-helpers/index.d.ts +3 -1
  101. package/dest/epoch-helpers/index.d.ts.map +1 -1
  102. package/dest/epoch-helpers/index.js +5 -1
  103. package/dest/errors/proving_error.d.ts +2 -2
  104. package/dest/errors/proving_error.d.ts.map +1 -1
  105. package/dest/hash/hash.js +2 -2
  106. package/dest/hash/map_slot.d.ts +1 -1
  107. package/dest/hash/map_slot.d.ts.map +1 -1
  108. package/dest/hash/map_slot.js +4 -3
  109. package/dest/interfaces/api_limit.d.ts +2 -1
  110. package/dest/interfaces/api_limit.d.ts.map +1 -1
  111. package/dest/interfaces/api_limit.js +1 -0
  112. package/dest/interfaces/archiver.d.ts +1 -1
  113. package/dest/interfaces/archiver.d.ts.map +1 -1
  114. package/dest/interfaces/archiver.js +18 -15
  115. package/dest/interfaces/aztec-node-admin.d.ts +63 -27
  116. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  117. package/dest/interfaces/aztec-node-admin.js +3 -1
  118. package/dest/interfaces/aztec-node.d.ts +65 -68
  119. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  120. package/dest/interfaces/aztec-node.js +10 -16
  121. package/dest/interfaces/block-builder.d.ts +22 -14
  122. package/dest/interfaces/block-builder.d.ts.map +1 -1
  123. package/dest/interfaces/block-builder.js +7 -0
  124. package/dest/interfaces/configs.d.ts +8 -8
  125. package/dest/interfaces/configs.d.ts.map +1 -1
  126. package/dest/interfaces/get_logs_response.d.ts +8 -8
  127. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  128. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  129. package/dest/interfaces/prover-broker.d.ts +16 -1
  130. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  131. package/dest/interfaces/prover-broker.js +4 -1
  132. package/dest/interfaces/prover-client.d.ts +15 -1
  133. package/dest/interfaces/prover-client.d.ts.map +1 -1
  134. package/dest/interfaces/prover-client.js +12 -1
  135. package/dest/interfaces/proving-job.d.ts +48 -48
  136. package/dest/interfaces/tx_provider.d.ts +3 -3
  137. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  138. package/dest/interfaces/validator.d.ts +102 -14
  139. package/dest/interfaces/validator.d.ts.map +1 -1
  140. package/dest/interfaces/validator.js +2 -2
  141. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  142. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  143. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  144. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  145. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  146. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  147. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  148. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  149. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  150. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  151. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  152. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  153. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  154. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  155. package/dest/kernel/hints/read_request.d.ts +7 -1
  156. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  157. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  158. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  159. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  160. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  161. package/dest/kernel/private_call_data.d.ts +25 -1
  162. package/dest/kernel/private_call_data.d.ts.map +1 -1
  163. package/dest/kernel/private_call_request.d.ts +16 -1
  164. package/dest/kernel/private_call_request.d.ts.map +1 -1
  165. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  166. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  167. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  168. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  169. package/dest/kernel/private_kernel_data.d.ts +7 -1
  170. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  171. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  173. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  174. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  175. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  176. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  177. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  178. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  179. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  180. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  181. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  182. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  183. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  184. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  185. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  186. package/dest/kernel/private_validation_requests.d.ts +10 -1
  187. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  188. package/dest/kernel/public_call_request.d.ts +22 -1
  189. package/dest/kernel/public_call_request.d.ts.map +1 -1
  190. package/dest/kernel/utils/optional_number.d.ts +7 -1
  191. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  192. package/dest/keys/derivation.d.ts +3 -3
  193. package/dest/keys/derivation.js +8 -8
  194. package/dest/keys/key_types.d.ts +1 -1
  195. package/dest/keys/public_keys.d.ts +5 -1
  196. package/dest/keys/public_keys.d.ts.map +1 -1
  197. package/dest/keys/utils.d.ts +1 -1
  198. package/dest/keys/utils.d.ts.map +1 -1
  199. package/dest/keys/utils.js +7 -3
  200. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  201. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  202. package/dest/l1-contracts/slash_factory.js +1 -0
  203. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  204. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  205. package/dest/logs/extended_public_log.d.ts +11 -9
  206. package/dest/logs/extended_public_log.d.ts.map +1 -1
  207. package/dest/logs/log_id.d.ts +12 -8
  208. package/dest/logs/log_id.d.ts.map +1 -1
  209. package/dest/logs/log_id.js +6 -5
  210. package/dest/logs/siloed_tag.d.ts +1 -1
  211. package/dest/logs/siloed_tag.d.ts.map +1 -1
  212. package/dest/logs/siloed_tag.js +4 -3
  213. package/dest/messaging/inbox_leaf.d.ts +3 -1
  214. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  215. package/dest/messaging/l1_actor.d.ts +7 -1
  216. package/dest/messaging/l1_actor.d.ts.map +1 -1
  217. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  218. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  219. package/dest/messaging/l2_actor.d.ts +7 -1
  220. package/dest/messaging/l2_actor.d.ts.map +1 -1
  221. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  222. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  223. package/dest/messaging/l2_to_l1_membership.js +5 -3
  224. package/dest/messaging/out_hash.d.ts +41 -4
  225. package/dest/messaging/out_hash.d.ts.map +1 -1
  226. package/dest/messaging/out_hash.js +52 -26
  227. package/dest/note/note_dao.d.ts +36 -5
  228. package/dest/note/note_dao.d.ts.map +1 -1
  229. package/dest/note/note_dao.js +15 -12
  230. package/dest/p2p/block_proposal.d.ts +23 -8
  231. package/dest/p2p/block_proposal.d.ts.map +1 -1
  232. package/dest/p2p/block_proposal.js +25 -7
  233. package/dest/p2p/checkpoint_attestation.d.ts +5 -1
  234. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  235. package/dest/p2p/checkpoint_proposal.d.ts +20 -7
  236. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  237. package/dest/p2p/checkpoint_proposal.js +17 -5
  238. package/dest/p2p/consensus_payload.d.ts +4 -3
  239. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  240. package/dest/p2p/consensus_payload.js +0 -3
  241. package/dest/p2p/constants.d.ts +3 -0
  242. package/dest/p2p/constants.d.ts.map +1 -0
  243. package/dest/p2p/constants.js +2 -0
  244. package/dest/p2p/index.d.ts +2 -1
  245. package/dest/p2p/index.d.ts.map +1 -1
  246. package/dest/p2p/index.js +1 -0
  247. package/dest/p2p/message_validator.d.ts +18 -3
  248. package/dest/p2p/message_validator.d.ts.map +1 -1
  249. package/dest/p2p/message_validator.js +2 -1
  250. package/dest/p2p/signed_txs.d.ts +3 -1
  251. package/dest/p2p/signed_txs.d.ts.map +1 -1
  252. package/dest/p2p/signed_txs.js +6 -1
  253. package/dest/p2p/topic_type.js +2 -1
  254. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  255. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  256. package/dest/parity/parity_public_inputs.d.ts +4 -1
  257. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  258. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  259. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  260. package/dest/proofs/chonk_proof.d.ts +1 -1
  261. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  262. package/dest/proofs/chonk_proof.js +9 -4
  263. package/dest/proofs/proof.d.ts +4 -1
  264. package/dest/proofs/proof.d.ts.map +1 -1
  265. package/dest/proofs/recursive_proof.d.ts +10 -1
  266. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  267. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  268. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  269. package/dest/rollup/block_constant_data.d.ts +12 -1
  270. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  271. package/dest/rollup/block_headers_hash.js +1 -1
  272. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  273. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  274. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  275. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  276. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  277. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  278. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  279. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  280. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  281. package/dest/rollup/checkpoint_header.d.ts +29 -2
  282. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  283. package/dest/rollup/checkpoint_header.js +21 -5
  284. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  285. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  286. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
  287. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  288. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
  289. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  290. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  291. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  292. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  293. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  294. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  295. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  296. package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
  297. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  298. package/dest/rollup/root_rollup_public_inputs.js +4 -1
  299. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  300. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  301. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  302. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  303. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  304. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  305. package/dest/schemas/schemas.d.ts +1 -1
  306. package/dest/stats/stats.d.ts +1 -3
  307. package/dest/stats/stats.d.ts.map +1 -1
  308. package/dest/tests/factories.d.ts +2 -4
  309. package/dest/tests/factories.d.ts.map +1 -1
  310. package/dest/tests/factories.js +6 -15
  311. package/dest/tests/jest.js +1 -1
  312. package/dest/tests/mocks.d.ts +20 -14
  313. package/dest/tests/mocks.d.ts.map +1 -1
  314. package/dest/tests/mocks.js +45 -27
  315. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  316. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  317. package/dest/trees/nullifier_leaf.d.ts +13 -1
  318. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  319. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  320. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  321. package/dest/trees/public_data_leaf.d.ts +16 -1
  322. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  323. package/dest/trees/public_data_witness.d.ts +11 -1
  324. package/dest/trees/public_data_witness.d.ts.map +1 -1
  325. package/dest/tx/block_header.d.ts +14 -2
  326. package/dest/tx/block_header.d.ts.map +1 -1
  327. package/dest/tx/block_header.js +5 -1
  328. package/dest/tx/call_context.d.ts +13 -1
  329. package/dest/tx/call_context.d.ts.map +1 -1
  330. package/dest/tx/capsule.d.ts +4 -1
  331. package/dest/tx/capsule.d.ts.map +1 -1
  332. package/dest/tx/execution_payload.d.ts +9 -1
  333. package/dest/tx/execution_payload.d.ts.map +1 -1
  334. package/dest/tx/function_data.d.ts +4 -2
  335. package/dest/tx/function_data.d.ts.map +1 -1
  336. package/dest/tx/global_variables.d.ts +9 -1
  337. package/dest/tx/global_variables.d.ts.map +1 -1
  338. package/dest/tx/hashed_values.d.ts +7 -1
  339. package/dest/tx/hashed_values.d.ts.map +1 -1
  340. package/dest/tx/in_tx.d.ts +4 -4
  341. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  342. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  343. package/dest/tx/indexed_tx_effect.js +3 -2
  344. package/dest/tx/partial_state_reference.d.ts +4 -1
  345. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  346. package/dest/tx/private_execution_result.d.ts +23 -2
  347. package/dest/tx/private_execution_result.d.ts.map +1 -1
  348. package/dest/tx/private_execution_result.js +1 -1
  349. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  350. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  351. package/dest/tx/profiling.d.ts +149 -26
  352. package/dest/tx/profiling.d.ts.map +1 -1
  353. package/dest/tx/profiling.js +44 -7
  354. package/dest/tx/protocol_contracts.d.ts +1 -1
  355. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  356. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  357. package/dest/tx/state_reference.d.ts +3 -1
  358. package/dest/tx/state_reference.d.ts.map +1 -1
  359. package/dest/tx/tx.d.ts +24 -1
  360. package/dest/tx/tx.d.ts.map +1 -1
  361. package/dest/tx/tx.js +6 -3
  362. package/dest/tx/tx_context.d.ts +2 -1
  363. package/dest/tx/tx_context.d.ts.map +1 -1
  364. package/dest/tx/tx_effect.d.ts +32 -6
  365. package/dest/tx/tx_effect.d.ts.map +1 -1
  366. package/dest/tx/tx_effect.js +0 -7
  367. package/dest/tx/tx_execution_request.d.ts +30 -1
  368. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  369. package/dest/tx/tx_hash.d.ts +2 -1
  370. package/dest/tx/tx_hash.d.ts.map +1 -1
  371. package/dest/tx/tx_receipt.d.ts +47 -13
  372. package/dest/tx/tx_receipt.d.ts.map +1 -1
  373. package/dest/tx/tx_receipt.js +46 -15
  374. package/dest/tx/tx_request.d.ts +6 -1
  375. package/dest/tx/tx_request.d.ts.map +1 -1
  376. package/dest/tx/validator/error_texts.d.ts +2 -1
  377. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  378. package/dest/tx/validator/error_texts.js +2 -0
  379. package/dest/types/shared.d.ts +4 -1
  380. package/dest/types/shared.d.ts.map +1 -1
  381. package/dest/validators/schemas.d.ts +8 -8
  382. package/dest/vks/verification_key.d.ts +22 -1
  383. package/dest/vks/verification_key.d.ts.map +1 -1
  384. package/dest/vks/vk_data.d.ts +7 -1
  385. package/dest/vks/vk_data.d.ts.map +1 -1
  386. package/dest/zkpassport/index.d.ts +3 -4
  387. package/dest/zkpassport/index.d.ts.map +1 -1
  388. package/dest/zkpassport/index.js +9 -9
  389. package/package.json +14 -11
  390. package/src/abi/utils.ts +17 -0
  391. package/src/block/block_hash.ts +26 -25
  392. package/src/block/block_parameter.ts +4 -2
  393. package/src/block/body.ts +2 -1
  394. package/src/block/checkpointed_l2_block.ts +8 -58
  395. package/src/block/in_block.ts +5 -5
  396. package/src/block/index.ts +0 -2
  397. package/src/block/l2_block.ts +102 -150
  398. package/src/block/l2_block_source.ts +71 -42
  399. package/src/block/l2_block_stream/interfaces.ts +8 -5
  400. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  401. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  402. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  403. package/src/block/validate_block_result.ts +5 -4
  404. package/src/checkpoint/checkpoint.ts +33 -11
  405. package/src/checkpoint/published_checkpoint.ts +4 -3
  406. package/src/config/node-rpc-config.ts +1 -1
  407. package/src/contract/contract_address.ts +1 -1
  408. package/src/contract/contract_class_id.ts +1 -1
  409. package/src/contract/index.ts +0 -2
  410. package/src/contract/private_function.ts +2 -3
  411. package/src/contract/private_function_membership_proof.ts +1 -1
  412. package/src/database-version/database_version.ts +87 -0
  413. package/src/database-version/version_manager.ts +1 -77
  414. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  415. package/src/deserialization/index.ts +21 -0
  416. package/src/epoch-helpers/index.ts +10 -1
  417. package/src/hash/hash.ts +2 -2
  418. package/src/hash/map_slot.ts +3 -2
  419. package/src/interfaces/api_limit.ts +1 -0
  420. package/src/interfaces/archiver.ts +18 -24
  421. package/src/interfaces/aztec-node-admin.ts +3 -2
  422. package/src/interfaces/aztec-node.ts +85 -134
  423. package/src/interfaces/block-builder.ts +40 -23
  424. package/src/interfaces/configs.ts +1 -3
  425. package/src/interfaces/l2_logs_source.ts +17 -4
  426. package/src/interfaces/prover-broker.ts +22 -0
  427. package/src/interfaces/prover-client.ts +22 -0
  428. package/src/interfaces/tx_provider.ts +2 -2
  429. package/src/interfaces/validator.ts +9 -11
  430. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  431. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  432. package/src/keys/derivation.ts +8 -8
  433. package/src/keys/key_types.ts +1 -1
  434. package/src/keys/utils.ts +7 -3
  435. package/src/l1-contracts/slash_factory.ts +1 -0
  436. package/src/logs/log_id.ts +7 -6
  437. package/src/logs/siloed_tag.ts +3 -2
  438. package/src/messaging/l2_to_l1_membership.ts +5 -3
  439. package/src/messaging/out_hash.ts +60 -29
  440. package/src/note/note_dao.ts +18 -13
  441. package/src/p2p/block_proposal.ts +36 -13
  442. package/src/p2p/checkpoint_proposal.ts +29 -11
  443. package/src/p2p/consensus_payload.ts +0 -5
  444. package/src/p2p/constants.ts +3 -0
  445. package/src/p2p/index.ts +1 -0
  446. package/src/p2p/message_validator.ts +14 -2
  447. package/src/p2p/signed_txs.ts +6 -1
  448. package/src/p2p/topic_type.ts +1 -1
  449. package/src/proofs/chonk_proof.ts +9 -5
  450. package/src/rollup/block_headers_hash.ts +1 -1
  451. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  452. package/src/rollup/checkpoint_header.ts +20 -0
  453. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
  454. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  455. package/src/rollup/root_rollup_public_inputs.ts +4 -1
  456. package/src/stats/stats.ts +0 -2
  457. package/src/tests/factories.ts +6 -26
  458. package/src/tests/jest.ts +1 -1
  459. package/src/tests/mocks.ts +62 -42
  460. package/src/tx/block_header.ts +11 -3
  461. package/src/tx/indexed_tx_effect.ts +3 -2
  462. package/src/tx/private_execution_result.ts +1 -1
  463. package/src/tx/profiling.ts +46 -4
  464. package/src/tx/tx.ts +8 -9
  465. package/src/tx/tx_effect.ts +0 -9
  466. package/src/tx/tx_receipt.ts +75 -18
  467. package/src/tx/validator/error_texts.ts +3 -0
  468. package/src/zkpassport/index.ts +11 -12
  469. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  470. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  471. package/dest/block/l2_block_code_to_purge.js +0 -55
  472. package/dest/block/l2_block_header.d.ts +0 -94
  473. package/dest/block/l2_block_header.d.ts.map +0 -1
  474. package/dest/block/l2_block_header.js +0 -160
  475. package/dest/block/l2_block_new.d.ts +0 -134
  476. package/dest/block/l2_block_new.d.ts.map +0 -1
  477. package/dest/block/l2_block_new.js +0 -155
  478. package/dest/contract/contract_class_metadata.d.ts +0 -8
  479. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  480. package/dest/contract/contract_class_metadata.js +0 -1
  481. package/dest/contract/contract_metadata.d.ts +0 -7
  482. package/dest/contract/contract_metadata.d.ts.map +0 -1
  483. package/dest/contract/contract_metadata.js +0 -1
  484. package/dest/database-version/index.d.ts +0 -2
  485. package/dest/database-version/index.d.ts.map +0 -1
  486. package/dest/database-version/index.js +0 -1
  487. package/src/block/l2_block_code_to_purge.ts +0 -80
  488. package/src/block/l2_block_header.ts +0 -255
  489. package/src/block/l2_block_new.ts +0 -211
  490. package/src/contract/contract_class_metadata.ts +0 -8
  491. package/src/contract/contract_metadata.ts +0 -7
  492. package/src/database-version/index.ts +0 -1
@@ -1,32 +1,42 @@
1
1
  import { type BlockBlobData } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { BufferReader } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
- import { Checkpoint } from '../checkpoint/checkpoint.js';
6
+ import type { PrivateLog } from '../logs/private_log.js';
7
7
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
- import type { BlockHeader } from '../tx/block_header.js';
8
+ import { BlockHeader } from '../tx/block_header.js';
9
+ import type { BlockHash } from './block_hash.js';
9
10
  import { Body } from './body.js';
10
- import { L2BlockHeader } from './l2_block_header.js';
11
11
  import type { L2BlockInfo } from './l2_block_info.js';
12
- import { L2BlockNew } from './l2_block_new.js';
13
12
  /**
14
- * The data that makes up the rollup proof, with encoder decoder functions.
15
- *
16
- * @deprecated Use `L2BlockNew` instead.
13
+ * An L2 block with a header and a body.
17
14
  */
18
15
  export declare class L2Block {
16
+ /** Snapshot of archive tree after the block is applied. */
19
17
  archive: AppendOnlyTreeSnapshot;
20
- header: L2BlockHeader;
18
+ /** Header of the block. */
19
+ header: BlockHeader;
20
+ /** L2 block body. */
21
21
  body: Body;
22
- private blockHash;
22
+ /** Number of the checkpoint that the block belongs to. */
23
+ checkpointNumber: CheckpointNumber;
24
+ /** Index of the block within the checkpoint. */
25
+ indexWithinCheckpoint: IndexWithinCheckpoint;
23
26
  constructor(
24
27
  /** Snapshot of archive tree after the block is applied. */
25
28
  archive: AppendOnlyTreeSnapshot,
26
- /** L2 block header. */
27
- header: L2BlockHeader,
29
+ /** Header of the block. */
30
+ header: BlockHeader,
28
31
  /** L2 block body. */
29
- body: Body, blockHash?: Fr | undefined);
32
+ body: Body,
33
+ /** Number of the checkpoint that the block belongs to. */
34
+ checkpointNumber: CheckpointNumber,
35
+ /** Index of the block within the checkpoint. */
36
+ indexWithinCheckpoint: IndexWithinCheckpoint);
37
+ get number(): BlockNumber;
38
+ get slot(): SlotNumber;
39
+ get timestamp(): bigint;
30
40
  static get schema(): z.ZodEffects<z.ZodObject<{
31
41
  archive: z.ZodEffects<z.ZodObject<{
32
42
  root: z.ZodType<Fr, any, string>;
@@ -41,12 +51,20 @@ export declare class L2Block {
41
51
  root: string;
42
52
  nextAvailableLeafIndex: string | number | bigint;
43
53
  }>;
44
- header: import("../schemas/schemas.js").ZodFor<L2BlockHeader>;
45
- body: import("../schemas/schemas.js").ZodFor<Body>;
54
+ header: import("@aztec/foundation/schemas").ZodFor<BlockHeader>;
55
+ body: import("@aztec/foundation/schemas").ZodFor<Body>;
56
+ checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
57
+ indexWithinCheckpoint: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, IndexWithinCheckpoint, string | number | bigint>;
46
58
  }, "strip", z.ZodTypeAny, {
47
59
  archive: AppendOnlyTreeSnapshot;
48
- header: L2BlockHeader;
60
+ header: BlockHeader;
49
61
  body: Body;
62
+ checkpointNumber: number & {
63
+ _branding: "CheckpointNumber";
64
+ };
65
+ indexWithinCheckpoint: number & {
66
+ _branding: "IndexWithinCheckpoint";
67
+ };
50
68
  }, {
51
69
  archive: {
52
70
  root: string;
@@ -54,6 +72,8 @@ export declare class L2Block {
54
72
  };
55
73
  header?: any;
56
74
  body?: any;
75
+ checkpointNumber: string | number | bigint;
76
+ indexWithinCheckpoint: string | number | bigint;
57
77
  }>, L2Block, {
58
78
  archive: {
59
79
  root: string;
@@ -61,6 +81,8 @@ export declare class L2Block {
61
81
  };
62
82
  header?: any;
63
83
  body?: any;
84
+ checkpointNumber: string | number | bigint;
85
+ indexWithinCheckpoint: string | number | bigint;
64
86
  }>;
65
87
  /**
66
88
  * Deserializes a block from a buffer
@@ -73,16 +95,19 @@ export declare class L2Block {
73
95
  */
74
96
  toBuffer(): Buffer<ArrayBufferLike>;
75
97
  /**
76
- * Deserializes L2 block from a buffer.
77
- * @param str - A serialized L2 block.
78
- * @returns Deserialized L2 block.
98
+ * Returns the block's hash (hash of block header).
99
+ * @returns The block's hash.
79
100
  */
80
- static fromString(str: string): L2Block;
101
+ hash(): Promise<BlockHash>;
81
102
  /**
82
- * Serializes a block to a string.
83
- * @returns A serialized L2 block as a string.
103
+ * Checks if this block equals another block.
104
+ * @param other - The other block to compare with.
105
+ * @returns True if both blocks are equal.
84
106
  */
85
- toString(): string;
107
+ equals(other: this): boolean;
108
+ toBlobFields(): Fr[];
109
+ toBlockBlobData(): BlockBlobData;
110
+ static empty(header?: BlockHeader): L2Block;
86
111
  /**
87
112
  * Creates an L2 block containing random data.
88
113
  * @param l2BlockNum - The number of the L2 block.
@@ -92,41 +117,13 @@ export declare class L2Block {
92
117
  * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
93
118
  * @returns The L2 block.
94
119
  */
95
- static random(l2BlockNum: BlockNumber, txsPerBlock?: number, numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, inHash?: Fr | undefined, slotNumber?: number | undefined, maxEffects?: number | undefined): Promise<L2Block>;
96
- /**
97
- * Creates an L2 block containing empty data.
98
- * @returns The L2 block.
99
- */
100
- static empty(): L2Block;
101
- get number(): BlockNumber;
102
- get slot(): SlotNumber;
103
- get timestamp(): bigint;
104
- /**
105
- * Returns the block's hash (hash of block header).
106
- * @returns The block's hash.
107
- */
108
- hash(): Promise<Fr>;
109
- /**
110
- * @deprecated
111
- * This only works when there's one block per checkpoint.
112
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
113
- */
114
- getCheckpointHeader(): import("../rollup/checkpoint_header.js").CheckpointHeader;
115
- getBlockHeader(): BlockHeader;
116
- toL2Block(args?: {
120
+ static random(blockNumber: BlockNumber, { checkpointNumber, indexWithinCheckpoint, txsPerBlock, txOptions, makeTxOptions, ...blockHeaderOverrides }?: {
117
121
  checkpointNumber?: CheckpointNumber;
118
- indexWithinCheckpoint?: number;
119
- }): L2BlockNew;
120
- toCheckpoint(): Checkpoint;
121
- static fromCheckpoint(checkpoint: Checkpoint): L2Block;
122
- /**
123
- * @deprecated
124
- * This only works when there's one block per checkpoint.
125
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
126
- */
127
- getCheckpointBlobFields(): Fr[];
128
- toBlobFields(): Fr[];
129
- toBlockBlobData(): BlockBlobData;
122
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
123
+ txsPerBlock?: number;
124
+ txOptions?: Partial<Parameters<typeof Body.random>[0]>;
125
+ makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
126
+ } & Partial<Parameters<typeof BlockHeader.random>[0]>): Promise<L2Block>;
130
127
  /**
131
128
  * Returns stats used for logging.
132
129
  * @returns Stats on tx count, number, and log size and count.
@@ -140,7 +137,7 @@ export declare class L2Block {
140
137
  blockNumber: BlockNumber;
141
138
  blockTimestamp: number;
142
139
  };
140
+ getPrivateLogs(): PrivateLog[];
143
141
  toBlockInfo(): L2BlockInfo;
144
- equals(other: L2Block): boolean;
145
142
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9sMl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQTJELE1BQU0sMEJBQTBCLENBQUM7QUFDdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0M7Ozs7R0FJRztBQUNILHFCQUFhLE9BQU87SUFHVCxPQUFPLEVBQUUsc0JBQXNCO0lBRS9CLE1BQU0sRUFBRSxhQUFhO0lBRXJCLElBQUksRUFBRSxJQUFJO0lBQ2pCLE9BQU8sQ0FBQyxTQUFTO0lBUG5CO0lBQ0UsMkRBQTJEO0lBQ3BELE9BQU8sRUFBRSxzQkFBc0I7SUFDdEMsdUJBQXVCO0lBQ2hCLE1BQU0sRUFBRSxhQUFhO0lBQzVCLHFCQUFxQjtJQUNkLElBQUksRUFBRSxJQUFJLEVBQ1QsU0FBUyxHQUFFLEVBQUUsR0FBRyxTQUFxQixFQUMzQztJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksV0FPM0M7SUFFRDs7O09BR0c7SUFDSCxRQUFRLDRCQUVQO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBRXRDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsTUFBTSxDQUNqQixVQUFVLEVBQUUsV0FBVyxFQUN2QixXQUFXLFNBQUksRUFDZixtQkFBbUIsU0FBSSxFQUN2QixvQkFBb0IsU0FBSSxFQUN4QixNQUFNLEdBQUUsRUFBRSxHQUFHLFNBQXFCLEVBQ2xDLFVBQVUsR0FBRSxNQUFNLEdBQUcsU0FBcUIsRUFDMUMsVUFBVSxHQUFFLE1BQU0sR0FBRyxTQUFxQixHQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBUWxCO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBRXRCO0lBRUQsSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksSUFBSSxJQUFJLFVBQVUsQ0FFckI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBRXRCO0lBRUQ7OztPQUdHO0lBQ1UsSUFBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLL0I7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLDhEQUV6QjtJQUdNLGNBQWMsSUFBSSxXQUFXLENBRW5DO0lBRU0sU0FBUyxDQUFDLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFPLEdBQUcsVUFBVSxDQVEvRztJQUVNLFlBQVksZUFPbEI7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLFdBZTNDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUF1QixTQUc3QjtJQUVNLFlBQVksSUFBSSxFQUFFLEVBQUUsQ0FHMUI7SUFFTSxlQUFlLElBQUksYUFBYSxDQXVCdEM7SUFFRDs7O09BR0c7SUFDSCxRQUFROzs7Ozs7OztNQXFCUDtJQUVELFdBQVcsSUFBSSxXQUFXLENBVXpCO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLFdBRXBCO0NBQ0YifQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9sMl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFDbkYsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFFaEIscUJBQXFCLEVBRXJCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLDJEQUEyRDtJQUNwRCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLDJCQUEyQjtJQUNwQixNQUFNLEVBQUUsV0FBVztJQUMxQixxQkFBcUI7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNqQiwwREFBMEQ7SUFDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ3pDLGdEQUFnRDtJQUN6QyxxQkFBcUIsRUFBRSxxQkFBcUI7SUFWckQ7SUFDRSwyREFBMkQ7SUFDcEQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QywyQkFBMkI7SUFDcEIsTUFBTSxFQUFFLFdBQVc7SUFDMUIscUJBQXFCO0lBQ2QsSUFBSSxFQUFFLElBQUk7SUFDakIsMERBQTBEO0lBQ25ELGdCQUFnQixFQUFFLGdCQUFnQjtJQUN6QyxnREFBZ0Q7SUFDekMscUJBQXFCLEVBQUUscUJBQXFCLEVBQ2pEO0lBRUosSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksSUFBSSxJQUFJLFVBQVUsQ0FFckI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBRXRCO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxXQVMzQztJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSSxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUVoQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxPQUFPLENBUWxDO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLGVBQWUsSUFBSSxhQUFhLENBc0J0QztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxXQVFoQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYSxNQUFNLENBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEVBQ0UsZ0JBQXdELEVBQ3hELHFCQUFnRCxFQUNoRCxXQUFlLEVBQ2YsU0FBYyxFQUNkLGFBQWEsRUFDYixHQUFHLG9CQUFvQixFQUN4QixHQUFFO1FBQ0QsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBcUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDO1FBQzlDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU0sR0FDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUtsQjtJQUVEOzs7T0FHRztJQUNILFFBQVE7Ozs7Ozs7O01BcUJQO0lBRUQsY0FBYyxJQUFJLFVBQVUsRUFBRSxDQUU3QjtJQUVELFdBQVcsSUFBSSxXQUFXLENBU3pCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA2D,MAAM,0BAA0B,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,OAAO;IAGT,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,aAAa;IAErB,IAAI,EAAE,IAAI;IACjB,OAAO,CAAC,SAAS;IAPnB;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,aAAa;IAC5B,qBAAqB;IACd,IAAI,EAAE,IAAI,EACT,SAAS,GAAE,EAAE,GAAG,SAAqB,EAC3C;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,WAO3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtC;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,UAAU,EAAE,WAAW,EACvB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,EAAE,GAAG,SAAqB,EAClC,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC,CAQlB;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAK/B;IAED;;;;OAIG;IACI,mBAAmB,8DAEzB;IAGM,cAAc,IAAI,WAAW,CAEnC;IAEM,SAAS,CAAC,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,UAAU,CAQ/G;IAEM,YAAY,eAOlB;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,WAe3C;IAED;;;;OAIG;IACI,uBAAuB,SAG7B;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAuBtC;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,WAAW,IAAI,WAAW,CAUzB;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpB;CACF"}
1
+ {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EACL,WAAW,EACX,gBAAgB,EAEhB,qBAAqB,EAErB,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,qBAAa,OAAO;IAEhB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,qBAAqB;IAVrD;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,qBAAqB,EACjD;IAEJ,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,WAS3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAEhC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAQlC;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAsBtC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,WAQhC;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,WAAW,EAAE,WAAW,EACxB,EACE,gBAAwD,EACxD,qBAAgD,EAChD,WAAe,EACf,SAAc,EACd,aAAa,EACb,GAAG,oBAAoB,EACxB,GAAE;QACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,OAAO,CAAC,CAKlB;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAED,WAAW,IAAI,WAAW,CASzB;CACF"}
@@ -1,150 +1,81 @@
1
- import { encodeBlockBlobData, encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
- import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
+ import { encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
+ import { CheckpointNumber, CheckpointNumberSchema, IndexWithinCheckpoint, IndexWithinCheckpointSchema } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
  import { z } from 'zod';
6
- import { Checkpoint } from '../checkpoint/checkpoint.js';
7
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
7
+ import { BlockHeader } from '../tx/block_header.js';
8
8
  import { Body } from './body.js';
9
- import { makeAppendOnlyTreeSnapshot, makeL2BlockHeader } from './l2_block_code_to_purge.js';
10
- import { L2BlockHeader } from './l2_block_header.js';
11
- import { L2BlockNew } from './l2_block_new.js';
12
9
  /**
13
- * The data that makes up the rollup proof, with encoder decoder functions.
14
- *
15
- * @deprecated Use `L2BlockNew` instead.
10
+ * An L2 block with a header and a body.
16
11
  */ export class L2Block {
17
12
  archive;
18
13
  header;
19
14
  body;
20
- blockHash;
21
- constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** L2 block header. */ header, /** L2 block body. */ body, blockHash = undefined){
15
+ checkpointNumber;
16
+ indexWithinCheckpoint;
17
+ constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** Header of the block. */ header, /** L2 block body. */ body, /** Number of the checkpoint that the block belongs to. */ checkpointNumber, /** Index of the block within the checkpoint. */ indexWithinCheckpoint){
22
18
  this.archive = archive;
23
19
  this.header = header;
24
20
  this.body = body;
25
- this.blockHash = blockHash;
21
+ this.checkpointNumber = checkpointNumber;
22
+ this.indexWithinCheckpoint = indexWithinCheckpoint;
23
+ }
24
+ get number() {
25
+ return this.header.globalVariables.blockNumber;
26
+ }
27
+ get slot() {
28
+ return this.header.globalVariables.slotNumber;
29
+ }
30
+ get timestamp() {
31
+ return this.header.globalVariables.timestamp;
26
32
  }
27
33
  static get schema() {
28
34
  return z.object({
29
35
  archive: AppendOnlyTreeSnapshot.schema,
30
- header: L2BlockHeader.schema,
31
- body: Body.schema
32
- }).transform(({ archive, header, body })=>new L2Block(archive, header, body));
36
+ header: BlockHeader.schema,
37
+ body: Body.schema,
38
+ checkpointNumber: CheckpointNumberSchema,
39
+ indexWithinCheckpoint: IndexWithinCheckpointSchema
40
+ }).transform(({ archive, header, body, checkpointNumber, indexWithinCheckpoint })=>new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint));
33
41
  }
34
42
  /**
35
43
  * Deserializes a block from a buffer
36
44
  * @returns A deserialized L2 block.
37
45
  */ static fromBuffer(buf) {
38
46
  const reader = BufferReader.asReader(buf);
39
- const header = reader.readObject(L2BlockHeader);
47
+ const header = reader.readObject(BlockHeader);
40
48
  const archive = reader.readObject(AppendOnlyTreeSnapshot);
41
49
  const body = reader.readObject(Body);
42
- return new L2Block(archive, header, body);
50
+ const checkpointNumber = CheckpointNumber(reader.readNumber());
51
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
52
+ return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
43
53
  }
44
54
  /**
45
55
  * Serializes a block
46
56
  * @returns A serialized L2 block as a Buffer.
47
57
  */ toBuffer() {
48
- return serializeToBuffer(this.header, this.archive, this.body);
49
- }
50
- /**
51
- * Deserializes L2 block from a buffer.
52
- * @param str - A serialized L2 block.
53
- * @returns Deserialized L2 block.
54
- */ static fromString(str) {
55
- return L2Block.fromBuffer(hexToBuffer(str));
56
- }
57
- /**
58
- * Serializes a block to a string.
59
- * @returns A serialized L2 block as a string.
60
- */ toString() {
61
- return bufferToHex(this.toBuffer());
62
- }
63
- /**
64
- * Creates an L2 block containing random data.
65
- * @param l2BlockNum - The number of the L2 block.
66
- * @param txsPerBlock - The number of transactions to include in the block.
67
- * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
68
- * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
69
- * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
70
- * @returns The L2 block.
71
- */ static async random(l2BlockNum, txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, inHash = undefined, slotNumber = undefined, maxEffects = undefined) {
72
- const body = await Body.random({
73
- txsPerBlock,
74
- numPublicCallsPerTx,
75
- numPublicLogsPerCall,
76
- maxEffects
77
- });
78
- return new L2Block(makeAppendOnlyTreeSnapshot(l2BlockNum + 1), makeL2BlockHeader(0, l2BlockNum, slotNumber ?? l2BlockNum, {
79
- inHash
80
- }), body);
81
- }
82
- /**
83
- * Creates an L2 block containing empty data.
84
- * @returns The L2 block.
85
- */ static empty() {
86
- return new L2Block(AppendOnlyTreeSnapshot.empty(), L2BlockHeader.empty(), Body.empty());
87
- }
88
- get number() {
89
- return this.header.getBlockNumber();
90
- }
91
- get slot() {
92
- return this.header.getSlot();
93
- }
94
- get timestamp() {
95
- return this.header.globalVariables.timestamp;
58
+ return serializeToBuffer(this.header, this.archive, this.body, this.checkpointNumber, this.indexWithinCheckpoint);
96
59
  }
97
60
  /**
98
61
  * Returns the block's hash (hash of block header).
99
62
  * @returns The block's hash.
100
- */ async hash() {
101
- if (this.blockHash === undefined) {
102
- this.blockHash = await this.getBlockHeader().hash();
103
- }
104
- return this.blockHash;
63
+ */ hash() {
64
+ return this.header.hash();
105
65
  }
106
66
  /**
107
- * @deprecated
108
- * This only works when there's one block per checkpoint.
109
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
110
- */ getCheckpointHeader() {
111
- return this.header.toCheckpointHeader();
112
- }
113
- // Temporary helper to get the actual block header.
114
- getBlockHeader() {
115
- return this.header.toBlockHeader();
116
- }
117
- toL2Block(args = {}) {
118
- return new L2BlockNew(this.archive, this.getBlockHeader(), this.body, args?.checkpointNumber ?? CheckpointNumber.fromBlockNumber(this.number), args?.indexWithinCheckpoint ?? 0);
119
- }
120
- toCheckpoint() {
121
- return new Checkpoint(this.archive, this.getCheckpointHeader(), [
122
- this.toL2Block()
123
- ], CheckpointNumber.fromBlockNumber(this.number));
124
- }
125
- static fromCheckpoint(checkpoint) {
126
- const checkpointHeader = checkpoint.header;
127
- const block = checkpoint.blocks.at(-1);
128
- const header = new L2BlockHeader(new AppendOnlyTreeSnapshot(checkpointHeader.lastArchiveRoot, block.number), checkpointHeader.blobsHash, checkpointHeader.inHash, block.header.state, block.header.globalVariables, block.header.totalFees, checkpointHeader.totalManaUsed, block.header.spongeBlobHash, checkpointHeader.blockHeadersHash);
129
- return new L2Block(checkpoint.archive, header, block.body);
130
- }
131
- /**
132
- * @deprecated
133
- * This only works when there's one block per checkpoint.
134
- * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
135
- */ getCheckpointBlobFields() {
136
- const blockBlobData = this.toBlockBlobData();
137
- return encodeCheckpointBlobDataFromBlocks([
138
- blockBlobData
139
- ]);
67
+ * Checks if this block equals another block.
68
+ * @param other - The other block to compare with.
69
+ * @returns True if both blocks are equal.
70
+ */ equals(other) {
71
+ return this.archive.equals(other.archive) && this.header.equals(other.header) && this.body.equals(other.body) && this.checkpointNumber === other.checkpointNumber && this.indexWithinCheckpoint === other.indexWithinCheckpoint;
140
72
  }
141
73
  toBlobFields() {
142
74
  const blockBlobData = this.toBlockBlobData();
143
75
  return encodeBlockBlobData(blockBlobData);
144
76
  }
145
77
  toBlockBlobData() {
146
- // There's only one L2Block per checkpoint, so it's always the first block in the checkpoint.
147
- const isFirstBlock = true;
78
+ const isFirstBlock = this.indexWithinCheckpoint === 0;
148
79
  return {
149
80
  blockEndMarker: {
150
81
  numTxs: this.body.txEffects.length,
@@ -166,6 +97,30 @@ import { L2BlockNew } from './l2_block_new.js';
166
97
  txs: this.body.toTxBlobData()
167
98
  };
168
99
  }
100
+ static empty(header) {
101
+ return new L2Block(AppendOnlyTreeSnapshot.empty(), header ?? BlockHeader.empty(), Body.empty(), CheckpointNumber(0), IndexWithinCheckpoint(0));
102
+ }
103
+ /**
104
+ * Creates an L2 block containing random data.
105
+ * @param l2BlockNum - The number of the L2 block.
106
+ * @param txsPerBlock - The number of transactions to include in the block.
107
+ * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
108
+ * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
109
+ * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
110
+ * @returns The L2 block.
111
+ */ static async random(blockNumber, { checkpointNumber = CheckpointNumber(Number(blockNumber)), indexWithinCheckpoint = IndexWithinCheckpoint(0), txsPerBlock = 1, txOptions = {}, makeTxOptions, ...blockHeaderOverrides } = {}) {
112
+ const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
113
+ const header = BlockHeader.random({
114
+ blockNumber,
115
+ ...blockHeaderOverrides
116
+ });
117
+ const body = await Body.random({
118
+ txsPerBlock,
119
+ makeTxOptions,
120
+ ...txOptions
121
+ });
122
+ return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
123
+ }
169
124
  /**
170
125
  * Returns stats used for logging.
171
126
  * @returns Stats on tx count, number, and log size and count.
@@ -183,9 +138,11 @@ import { L2BlockNew } from './l2_block_new.js';
183
138
  ...logsStats
184
139
  };
185
140
  }
141
+ getPrivateLogs() {
142
+ return this.body.txEffects.map((txEffect)=>txEffect.privateLogs).flat();
143
+ }
186
144
  toBlockInfo() {
187
145
  return {
188
- blockHash: this.blockHash,
189
146
  archive: this.archive.root,
190
147
  lastArchive: this.header.lastArchive.root,
191
148
  blockNumber: this.number,
@@ -194,7 +151,4 @@ import { L2BlockNew } from './l2_block_new.js';
194
151
  timestamp: this.header.globalVariables.timestamp
195
152
  };
196
153
  }
197
- equals(other) {
198
- return this.archive.equals(other.archive) && this.header.equals(other.header) && this.body.equals(other.body);
199
- }
200
154
  }