@aztec/stdlib 0.0.1-commit.1142ef1 → 0.0.1-commit.1bea0213

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 (439) 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 +16 -9
  30. package/dest/block/block_hash.d.ts.map +1 -1
  31. package/dest/block/block_hash.js +23 -8
  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 +8 -8
  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 +55 -59
  48. package/dest/block/l2_block.d.ts.map +1 -1
  49. package/dest/block/l2_block.js +64 -109
  50. package/dest/block/l2_block_source.d.ts +63 -38
  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_deployment_data.d.ts +5 -5
  76. package/dest/contract/index.d.ts +1 -3
  77. package/dest/contract/index.d.ts.map +1 -1
  78. package/dest/contract/index.js +0 -2
  79. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  80. package/dest/contract/private_function.d.ts +1 -1
  81. package/dest/contract/private_function.d.ts.map +1 -1
  82. package/dest/contract/private_function.js +1 -2
  83. package/dest/database-version/version_manager.d.ts +4 -2
  84. package/dest/database-version/version_manager.d.ts.map +1 -1
  85. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  86. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  87. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  88. package/dest/deserialization/index.d.ts +11 -0
  89. package/dest/deserialization/index.d.ts.map +1 -0
  90. package/dest/deserialization/index.js +10 -0
  91. package/dest/epoch-helpers/index.js +1 -1
  92. package/dest/errors/proving_error.d.ts +2 -2
  93. package/dest/errors/proving_error.d.ts.map +1 -1
  94. package/dest/interfaces/api_limit.d.ts +2 -1
  95. package/dest/interfaces/api_limit.d.ts.map +1 -1
  96. package/dest/interfaces/api_limit.js +1 -0
  97. package/dest/interfaces/archiver.d.ts +1 -1
  98. package/dest/interfaces/archiver.d.ts.map +1 -1
  99. package/dest/interfaces/archiver.js +16 -14
  100. package/dest/interfaces/aztec-node-admin.d.ts +56 -26
  101. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  102. package/dest/interfaces/aztec-node.d.ts +61 -43
  103. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  104. package/dest/interfaces/aztec-node.js +7 -9
  105. package/dest/interfaces/block-builder.d.ts +16 -14
  106. package/dest/interfaces/block-builder.d.ts.map +1 -1
  107. package/dest/interfaces/configs.d.ts +8 -8
  108. package/dest/interfaces/configs.d.ts.map +1 -1
  109. package/dest/interfaces/get_logs_response.d.ts +3 -3
  110. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  111. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  112. package/dest/interfaces/prover-client.d.ts +10 -1
  113. package/dest/interfaces/prover-client.d.ts.map +1 -1
  114. package/dest/interfaces/prover-client.js +7 -1
  115. package/dest/interfaces/proving-job.d.ts +14 -14
  116. package/dest/interfaces/tx_provider.d.ts +3 -3
  117. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  118. package/dest/interfaces/validator.d.ts +69 -13
  119. package/dest/interfaces/validator.d.ts.map +1 -1
  120. package/dest/interfaces/validator.js +2 -2
  121. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  122. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  123. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  124. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  125. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  126. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  127. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  128. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  129. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  130. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  131. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  132. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  133. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  134. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  135. package/dest/kernel/hints/read_request.d.ts +7 -1
  136. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  137. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  138. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  139. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  140. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  141. package/dest/kernel/private_call_data.d.ts +25 -1
  142. package/dest/kernel/private_call_data.d.ts.map +1 -1
  143. package/dest/kernel/private_call_request.d.ts +16 -1
  144. package/dest/kernel/private_call_request.d.ts.map +1 -1
  145. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  146. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  147. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  148. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  149. package/dest/kernel/private_kernel_data.d.ts +7 -1
  150. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  151. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  152. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  153. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  154. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  155. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  156. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  157. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  158. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  159. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  160. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  161. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  162. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  163. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  164. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  165. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  166. package/dest/kernel/private_validation_requests.d.ts +10 -1
  167. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  168. package/dest/kernel/public_call_request.d.ts +22 -1
  169. package/dest/kernel/public_call_request.d.ts.map +1 -1
  170. package/dest/kernel/utils/optional_number.d.ts +7 -1
  171. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  172. package/dest/keys/public_keys.d.ts +5 -1
  173. package/dest/keys/public_keys.d.ts.map +1 -1
  174. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  175. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  176. package/dest/logs/extended_public_log.d.ts +7 -5
  177. package/dest/logs/extended_public_log.d.ts.map +1 -1
  178. package/dest/logs/log_id.d.ts +10 -6
  179. package/dest/logs/log_id.d.ts.map +1 -1
  180. package/dest/logs/log_id.js +5 -5
  181. package/dest/messaging/inbox_leaf.d.ts +3 -1
  182. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  183. package/dest/messaging/l1_actor.d.ts +7 -1
  184. package/dest/messaging/l1_actor.d.ts.map +1 -1
  185. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  186. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  187. package/dest/messaging/l2_actor.d.ts +7 -1
  188. package/dest/messaging/l2_actor.d.ts.map +1 -1
  189. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  190. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  191. package/dest/messaging/l2_to_l1_membership.js +5 -3
  192. package/dest/messaging/out_hash.d.ts +41 -4
  193. package/dest/messaging/out_hash.d.ts.map +1 -1
  194. package/dest/messaging/out_hash.js +52 -26
  195. package/dest/note/note_dao.d.ts +36 -5
  196. package/dest/note/note_dao.d.ts.map +1 -1
  197. package/dest/note/note_dao.js +15 -12
  198. package/dest/p2p/block_proposal.d.ts +14 -6
  199. package/dest/p2p/block_proposal.d.ts.map +1 -1
  200. package/dest/p2p/block_proposal.js +25 -7
  201. package/dest/p2p/checkpoint_attestation.d.ts +5 -1
  202. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  203. package/dest/p2p/checkpoint_proposal.d.ts +11 -5
  204. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  205. package/dest/p2p/checkpoint_proposal.js +17 -5
  206. package/dest/p2p/consensus_payload.d.ts +4 -3
  207. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  208. package/dest/p2p/consensus_payload.js +0 -3
  209. package/dest/p2p/constants.d.ts +3 -0
  210. package/dest/p2p/constants.d.ts.map +1 -0
  211. package/dest/p2p/constants.js +2 -0
  212. package/dest/p2p/index.d.ts +2 -1
  213. package/dest/p2p/index.d.ts.map +1 -1
  214. package/dest/p2p/index.js +1 -0
  215. package/dest/p2p/message_validator.d.ts +18 -3
  216. package/dest/p2p/message_validator.d.ts.map +1 -1
  217. package/dest/p2p/message_validator.js +2 -1
  218. package/dest/p2p/signed_txs.d.ts +3 -1
  219. package/dest/p2p/signed_txs.d.ts.map +1 -1
  220. package/dest/p2p/signed_txs.js +6 -1
  221. package/dest/p2p/topic_type.js +2 -1
  222. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  223. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  224. package/dest/parity/parity_public_inputs.d.ts +4 -1
  225. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  226. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  227. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  228. package/dest/proofs/chonk_proof.d.ts +1 -1
  229. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  230. package/dest/proofs/chonk_proof.js +9 -4
  231. package/dest/proofs/proof.d.ts +4 -1
  232. package/dest/proofs/proof.d.ts.map +1 -1
  233. package/dest/proofs/recursive_proof.d.ts +10 -1
  234. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  235. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  236. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  237. package/dest/rollup/block_constant_data.d.ts +12 -1
  238. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  239. package/dest/rollup/block_headers_hash.js +1 -1
  240. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  241. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  242. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  243. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  244. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  245. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  246. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  247. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  248. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  249. package/dest/rollup/checkpoint_header.d.ts +29 -2
  250. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  251. package/dest/rollup/checkpoint_header.js +21 -5
  252. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  253. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  254. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
  255. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  256. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
  257. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  258. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  259. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  260. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  261. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  262. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  263. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  264. package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
  265. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  266. package/dest/rollup/root_rollup_public_inputs.js +4 -1
  267. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  268. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  269. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  270. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  271. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  272. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  273. package/dest/schemas/schemas.d.ts +1 -1
  274. package/dest/tests/factories.d.ts +2 -4
  275. package/dest/tests/factories.d.ts.map +1 -1
  276. package/dest/tests/factories.js +6 -15
  277. package/dest/tests/jest.js +1 -1
  278. package/dest/tests/mocks.d.ts +15 -13
  279. package/dest/tests/mocks.d.ts.map +1 -1
  280. package/dest/tests/mocks.js +41 -24
  281. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  282. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  283. package/dest/trees/nullifier_leaf.d.ts +13 -1
  284. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  285. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  286. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  287. package/dest/trees/public_data_leaf.d.ts +16 -1
  288. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  289. package/dest/trees/public_data_witness.d.ts +11 -1
  290. package/dest/trees/public_data_witness.d.ts.map +1 -1
  291. package/dest/tx/block_header.d.ts +14 -2
  292. package/dest/tx/block_header.d.ts.map +1 -1
  293. package/dest/tx/block_header.js +5 -1
  294. package/dest/tx/call_context.d.ts +13 -1
  295. package/dest/tx/call_context.d.ts.map +1 -1
  296. package/dest/tx/capsule.d.ts +4 -1
  297. package/dest/tx/capsule.d.ts.map +1 -1
  298. package/dest/tx/execution_payload.d.ts +9 -1
  299. package/dest/tx/execution_payload.d.ts.map +1 -1
  300. package/dest/tx/function_data.d.ts +4 -2
  301. package/dest/tx/function_data.d.ts.map +1 -1
  302. package/dest/tx/global_variables.d.ts +9 -1
  303. package/dest/tx/global_variables.d.ts.map +1 -1
  304. package/dest/tx/hashed_values.d.ts +7 -1
  305. package/dest/tx/hashed_values.d.ts.map +1 -1
  306. package/dest/tx/in_tx.d.ts +3 -3
  307. package/dest/tx/indexed_tx_effect.d.ts +4 -4
  308. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  309. package/dest/tx/indexed_tx_effect.js +2 -2
  310. package/dest/tx/partial_state_reference.d.ts +4 -1
  311. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  312. package/dest/tx/private_execution_result.d.ts +23 -2
  313. package/dest/tx/private_execution_result.d.ts.map +1 -1
  314. package/dest/tx/private_execution_result.js +1 -1
  315. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  316. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  317. package/dest/tx/profiling.d.ts +149 -26
  318. package/dest/tx/profiling.d.ts.map +1 -1
  319. package/dest/tx/profiling.js +44 -7
  320. package/dest/tx/protocol_contracts.d.ts +1 -1
  321. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  322. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  323. package/dest/tx/state_reference.d.ts +3 -1
  324. package/dest/tx/state_reference.d.ts.map +1 -1
  325. package/dest/tx/tx.d.ts +24 -1
  326. package/dest/tx/tx.d.ts.map +1 -1
  327. package/dest/tx/tx.js +6 -3
  328. package/dest/tx/tx_context.d.ts +2 -1
  329. package/dest/tx/tx_context.d.ts.map +1 -1
  330. package/dest/tx/tx_effect.d.ts +32 -6
  331. package/dest/tx/tx_effect.d.ts.map +1 -1
  332. package/dest/tx/tx_effect.js +0 -7
  333. package/dest/tx/tx_execution_request.d.ts +30 -1
  334. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  335. package/dest/tx/tx_hash.d.ts +2 -1
  336. package/dest/tx/tx_hash.d.ts.map +1 -1
  337. package/dest/tx/tx_receipt.d.ts +47 -13
  338. package/dest/tx/tx_receipt.d.ts.map +1 -1
  339. package/dest/tx/tx_receipt.js +46 -15
  340. package/dest/tx/tx_request.d.ts +6 -1
  341. package/dest/tx/tx_request.d.ts.map +1 -1
  342. package/dest/tx/validator/error_texts.d.ts +2 -1
  343. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  344. package/dest/tx/validator/error_texts.js +2 -0
  345. package/dest/types/shared.d.ts +4 -1
  346. package/dest/types/shared.d.ts.map +1 -1
  347. package/dest/validators/schemas.d.ts +8 -8
  348. package/dest/vks/verification_key.d.ts +22 -1
  349. package/dest/vks/verification_key.d.ts.map +1 -1
  350. package/dest/vks/vk_data.d.ts +7 -1
  351. package/dest/vks/vk_data.d.ts.map +1 -1
  352. package/dest/zkpassport/index.d.ts +3 -4
  353. package/dest/zkpassport/index.d.ts.map +1 -1
  354. package/dest/zkpassport/index.js +9 -9
  355. package/package.json +12 -10
  356. package/src/abi/utils.ts +17 -0
  357. package/src/block/block_hash.ts +36 -10
  358. package/src/block/block_parameter.ts +4 -2
  359. package/src/block/body.ts +2 -1
  360. package/src/block/checkpointed_l2_block.ts +8 -58
  361. package/src/block/in_block.ts +5 -5
  362. package/src/block/index.ts +0 -2
  363. package/src/block/l2_block.ts +101 -149
  364. package/src/block/l2_block_source.ts +69 -41
  365. package/src/block/l2_block_stream/interfaces.ts +8 -5
  366. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  367. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  368. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  369. package/src/block/validate_block_result.ts +5 -4
  370. package/src/checkpoint/checkpoint.ts +33 -11
  371. package/src/checkpoint/published_checkpoint.ts +4 -3
  372. package/src/config/node-rpc-config.ts +1 -1
  373. package/src/contract/index.ts +0 -2
  374. package/src/contract/private_function.ts +1 -2
  375. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  376. package/src/deserialization/index.ts +21 -0
  377. package/src/epoch-helpers/index.ts +1 -1
  378. package/src/interfaces/api_limit.ts +1 -0
  379. package/src/interfaces/archiver.ts +16 -23
  380. package/src/interfaces/aztec-node.ts +76 -74
  381. package/src/interfaces/block-builder.ts +31 -24
  382. package/src/interfaces/configs.ts +1 -3
  383. package/src/interfaces/l2_logs_source.ts +17 -4
  384. package/src/interfaces/prover-client.ts +15 -0
  385. package/src/interfaces/tx_provider.ts +2 -2
  386. package/src/interfaces/validator.ts +8 -9
  387. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  388. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  389. package/src/logs/log_id.ts +6 -6
  390. package/src/messaging/l2_to_l1_membership.ts +5 -3
  391. package/src/messaging/out_hash.ts +60 -29
  392. package/src/note/note_dao.ts +18 -13
  393. package/src/p2p/block_proposal.ts +27 -11
  394. package/src/p2p/checkpoint_proposal.ts +20 -9
  395. package/src/p2p/consensus_payload.ts +0 -5
  396. package/src/p2p/constants.ts +3 -0
  397. package/src/p2p/index.ts +1 -0
  398. package/src/p2p/message_validator.ts +14 -2
  399. package/src/p2p/signed_txs.ts +6 -1
  400. package/src/p2p/topic_type.ts +1 -1
  401. package/src/proofs/chonk_proof.ts +9 -5
  402. package/src/rollup/block_headers_hash.ts +1 -1
  403. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  404. package/src/rollup/checkpoint_header.ts +20 -0
  405. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
  406. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  407. package/src/rollup/root_rollup_public_inputs.ts +4 -1
  408. package/src/tests/factories.ts +6 -26
  409. package/src/tests/jest.ts +1 -1
  410. package/src/tests/mocks.ts +56 -38
  411. package/src/tx/block_header.ts +11 -3
  412. package/src/tx/indexed_tx_effect.ts +2 -2
  413. package/src/tx/private_execution_result.ts +1 -1
  414. package/src/tx/profiling.ts +46 -4
  415. package/src/tx/tx.ts +8 -9
  416. package/src/tx/tx_effect.ts +0 -9
  417. package/src/tx/tx_receipt.ts +75 -18
  418. package/src/tx/validator/error_texts.ts +3 -0
  419. package/src/zkpassport/index.ts +11 -12
  420. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  421. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  422. package/dest/block/l2_block_code_to_purge.js +0 -55
  423. package/dest/block/l2_block_header.d.ts +0 -94
  424. package/dest/block/l2_block_header.d.ts.map +0 -1
  425. package/dest/block/l2_block_header.js +0 -160
  426. package/dest/block/l2_block_new.d.ts +0 -134
  427. package/dest/block/l2_block_new.d.ts.map +0 -1
  428. package/dest/block/l2_block_new.js +0 -155
  429. package/dest/contract/contract_class_metadata.d.ts +0 -8
  430. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  431. package/dest/contract/contract_class_metadata.js +0 -1
  432. package/dest/contract/contract_metadata.d.ts +0 -7
  433. package/dest/contract/contract_metadata.d.ts.map +0 -1
  434. package/dest/contract/contract_metadata.js +0 -1
  435. package/src/block/l2_block_code_to_purge.ts +0 -80
  436. package/src/block/l2_block_header.ts +0 -255
  437. package/src/block/l2_block_new.ts +0 -211
  438. package/src/contract/contract_class_metadata.ts +0 -8
  439. package/src/contract/contract_metadata.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2C,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AACnH,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,gBAAgB,GAAG,gBAAgB,GAAG,WAAW,GAAG,yBAAyB,GAAG,uBAAuB,CACxG,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACxB,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBAsKnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
1
+ {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,GAAG,uBAAuB,CAC1F,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA0KnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
@@ -3,6 +3,7 @@ import { AbortError } from '@aztec/foundation/error';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
5
  import { makeL2BlockId } from '../l2_block_source.js';
6
+ /** Maximum number of checkpoints to prefetch at once during sync. Matches MAX_RPC_CHECKPOINTS_LEN. */ export const CHECKPOINT_PREFETCH_LIMIT = 50;
6
7
  /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */ export class L2BlockStream {
7
8
  l2BlockSource;
8
9
  localData;
@@ -70,18 +71,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
70
71
  throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
71
72
  }
72
73
  this.log.verbose(`Reorg detected. Pruning blocks from ${latestBlockNumber + 1} to ${localTips.proposed.number}.`);
73
- // This check is not 100% accurate
74
- // If the local tips are sufficiently behind the source tips, such that we are missing at least one checkpoint
75
- // that has now been re-orged due to a proof failure then this will indicate a failure to checkpoint rather than a failure to prove
76
- // TODO: (mbps/PhilWindle): Improve re-org detection accuracy when we come to do re-orgs
77
- let reason = 'unproven';
78
- if (latestBlockNumber === localTips.checkpointed.block.number && !this.opts.ignoreCheckpoints) {
79
- reason = 'uncheckpointed';
80
- }
81
74
  await this.emitEvent({
82
75
  type: 'chain-pruned',
83
76
  block: makeL2BlockId(latestBlockNumber, hash),
84
- reason,
85
77
  checkpoint: sourceTips.checkpointed.checkpoint
86
78
  });
87
79
  }
@@ -114,7 +106,7 @@ import { makeL2BlockId } from '../l2_block_source.js';
114
106
  if (!this.opts.ignoreCheckpoints) {
115
107
  let loop1Iterations = 0;
116
108
  while(nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number){
117
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(nextCheckpointToEmit, 1);
109
+ const checkpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointToEmit, 1);
118
110
  if (checkpoints.length === 0) {
119
111
  break;
120
112
  }
@@ -136,25 +128,32 @@ import { makeL2BlockId } from '../l2_block_source.js';
136
128
  nextCheckpointToEmit = CheckpointNumber(nextCheckpointToEmit + 1);
137
129
  }
138
130
  }
139
- // Loop 2: Fetch new checkpointed blocks. For each block, get its checkpoint, emit all blocks
131
+ // Loop 2: Fetch new checkpointed blocks. For each checkpoint, emit all blocks
140
132
  // from that checkpoint that we need, then emit the checkpoint event.
141
- // We cache the current checkpoint to avoid redundant fetches when batchSize < checkpoint size.
142
- let checkpoint;
143
- while(nextBlockNumber <= sourceTips.checkpointed.block.number){
144
- const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
145
- // Check if we need to fetch a new checkpoint (nextBlockNumber is beyond the cached one)
146
- if (!checkpoint || nextBlockNumber > checkpoint.checkpoint.blocks.at(-1).number) {
147
- const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
148
- if (blocks.length === 0) {
149
- break;
150
- }
151
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(blocks[0].checkpointNumber, 1);
152
- if (checkpoints.length === 0) {
133
+ // We prefetch multiple checkpoints, then process them one by one.
134
+ let prefetchedCheckpoints = [];
135
+ let prefetchIdx = 0;
136
+ let nextCheckpointNumber;
137
+ // Find the starting checkpoint number
138
+ if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
139
+ const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
140
+ if (blocks.length > 0) {
141
+ nextCheckpointNumber = blocks[0].checkpointNumber;
142
+ }
143
+ }
144
+ while(nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined){
145
+ // Refill the prefetch buffer when exhausted
146
+ if (prefetchIdx >= prefetchedCheckpoints.length) {
147
+ const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
148
+ prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointNumber, prefetchLimit);
149
+ prefetchIdx = 0;
150
+ if (prefetchedCheckpoints.length === 0) {
153
151
  break;
154
152
  }
155
- checkpoint = checkpoints[0];
156
153
  }
154
+ const checkpoint = prefetchedCheckpoints[prefetchIdx];
157
155
  // Get all blocks from this checkpoint that we need, respecting batchSize
156
+ const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
158
157
  const blocksForCheckpoint = checkpoint.checkpoint.blocks.filter((b)=>b.number >= nextBlockNumber).slice(0, limit);
159
158
  if (blocksForCheckpoint.length === 0) {
160
159
  break;
@@ -164,22 +163,26 @@ import { makeL2BlockId } from '../l2_block_source.js';
164
163
  blocks: blocksForCheckpoint
165
164
  });
166
165
  nextBlockNumber = blocksForCheckpoint.at(-1).number + 1;
167
- // If we've reached the end of this checkpoint, emit the checkpoint event
166
+ // If we've reached the end of this checkpoint, emit the checkpoint event and move to next
168
167
  const lastBlockInCheckpoint = checkpoint.checkpoint.blocks.at(-1);
169
- if (!this.opts.ignoreCheckpoints && nextBlockNumber > lastBlockInCheckpoint.number) {
170
- const lastBlockHash = await lastBlockInCheckpoint.hash();
171
- await this.emitEvent({
172
- type: 'chain-checkpointed',
173
- checkpoint,
174
- block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
175
- });
168
+ if (nextBlockNumber > lastBlockInCheckpoint.number) {
169
+ if (!this.opts.ignoreCheckpoints) {
170
+ const lastBlockHash = await lastBlockInCheckpoint.hash();
171
+ await this.emitEvent({
172
+ type: 'chain-checkpointed',
173
+ checkpoint,
174
+ block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
175
+ });
176
+ }
177
+ prefetchIdx++;
178
+ nextCheckpointNumber = CheckpointNumber(nextCheckpointNumber + 1);
176
179
  }
177
180
  }
178
181
  // Loop 3: Fetch any remaining uncheckpointed (proposed) blocks.
179
182
  while(nextBlockNumber <= sourceTips.proposed.number){
180
183
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
181
- this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
182
- const blocks = await this.l2BlockSource.getL2BlocksNew(BlockNumber(nextBlockNumber), limit, this.opts.proven);
184
+ this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
185
+ const blocks = await this.l2BlockSource.getBlocks(BlockNumber(nextBlockNumber), BlockNumber(limit));
183
186
  if (blocks.length === 0) {
184
187
  break;
185
188
  }
@@ -1,6 +1,6 @@
1
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
3
- import type { L2BlockNew } from '../l2_block_new.js';
3
+ import type { L2Block } from '../l2_block.js';
4
4
  import { type L2BlockTag, type L2Tips } from '../l2_block_source.js';
5
5
  import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
6
6
  /**
@@ -35,7 +35,7 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
35
35
  getL2BlockHash(number: BlockNumber): Promise<string | undefined>;
36
36
  getL2Tips(): Promise<L2Tips>;
37
37
  handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
38
- protected computeBlockHash(block: L2BlockNew): Promise<string>;
38
+ protected computeBlockHash(block: L2Block): Promise<string>;
39
39
  private getBlockId;
40
40
  private getCheckpointId;
41
41
  private handleBlocksAdded;
@@ -46,4 +46,4 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
46
46
  private saveTag;
47
47
  private saveCheckpoint;
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBSUwsS0FBSyxVQUFVLEVBQ2YsS0FBSyxNQUFNLEVBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJIOzs7R0FHRztBQUNILDhCQUFzQixlQUFnQixZQUFXLHlCQUF5QixFQUFFLDhCQUE4QjtJQUd4Ryw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoSCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FDNUMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQix5RkFBeUY7SUFDekYsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRix1Q0FBdUM7SUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9HLDBCQUEwQjtJQUMxQixTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEYsa0VBQWtFO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLDRGQUE0RjtJQUM1RixTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSWxFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FzQmxDO0lBRVksc0JBQXNCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FrQjVFO0lBR0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU3RDtZQUlhLFVBQVU7WUFZVixlQUFlO1lBaUJmLGlCQUFpQjtZQWFqQix1QkFBdUI7WUFVdkIsaUJBQWlCO1lBY2pCLGlCQUFpQjtZQVNqQixvQkFBb0I7WUFpQnBCLE9BQU87WUFPUCxjQUFjO0NBUzdCIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBSUwsS0FBSyxVQUFVLEVBQ2YsS0FBSyxNQUFNLEVBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJIOzs7R0FHRztBQUNILDhCQUFzQixlQUFnQixZQUFXLHlCQUF5QixFQUFFLDhCQUE4QjtJQUd4Ryw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoSCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FDNUMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQix5RkFBeUY7SUFDekYsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRix1Q0FBdUM7SUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9HLDBCQUEwQjtJQUMxQixTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEYsa0VBQWtFO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLDRGQUE0RjtJQUM1RixTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSWxFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FzQmxDO0lBRVksc0JBQXNCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FrQjVFO0lBR0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxRDtZQUlhLFVBQVU7WUFZVixlQUFlO1lBaUJmLGlCQUFpQjtZQWFqQix1QkFBdUI7WUFVdkIsaUJBQWlCO1lBY2pCLGlCQUFpQjtZQVNqQixvQkFBb0I7WUFpQnBCLE9BQU87WUFPUCxjQUFjO0NBUzdCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,yBAAyB,EAAE,8BAA8B;IAGxG,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7F,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhH,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,yFAAyF;IACzF,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1F,uCAAuC;IACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE/G,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAIlE,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtE;IAEM,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAsBlC;IAEY,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;IAGD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;YAIa,UAAU;YAYV,eAAe;YAiBf,iBAAiB;YAajB,uBAAuB;YAUvB,iBAAiB;YAcjB,iBAAiB;YASjB,oBAAoB;YAiBpB,OAAO;YAOP,cAAc;CAS7B"}
1
+ {"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { L2TipsStore } from '../l2_block_stream/index.js';
2
2
  export declare function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>): void;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBNGdCeEUifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBdWdCeEUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QA4gBxE"}
1
+ {"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAugBxE"}
@@ -2,7 +2,7 @@ import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
2
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
3
  import { times } from '@aztec/foundation/collection';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
- import { GENESIS_CHECKPOINT_HEADER_HASH, L2BlockNew } from '@aztec/stdlib/block';
5
+ import { GENESIS_CHECKPOINT_HEADER_HASH, L2Block } from '@aztec/stdlib/block';
6
6
  import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
7
7
  import { jestExpect as expect } from '@jest/expect';
8
8
  export function testL2TipsStore(makeTipsStore) {
@@ -20,7 +20,7 @@ export function testL2TipsStore(makeTipsStore) {
20
20
  blockToCheckpoint.clear();
21
21
  });
22
22
  const makeBlock = async (number)=>{
23
- const block = await L2BlockNew.random(BlockNumber(number));
23
+ const block = await L2Block.random(BlockNumber(number));
24
24
  blockHashes.set(number, (await block.hash()).toString());
25
25
  return block;
26
26
  };
@@ -246,7 +246,6 @@ export function testL2TipsStore(makeTipsStore) {
246
246
  await tipsStore.handleBlockStreamEvent({
247
247
  type: 'chain-pruned',
248
248
  block: makeBlockId(5),
249
- reason: 'unproven',
250
249
  checkpoint: {
251
250
  number: CheckpointNumber.ZERO,
252
251
  hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
@@ -272,7 +271,6 @@ export function testL2TipsStore(makeTipsStore) {
272
271
  await tipsStore.handleBlockStreamEvent({
273
272
  type: 'chain-pruned',
274
273
  block: makeTip(0),
275
- reason: 'unproven',
276
274
  checkpoint: {
277
275
  number: CheckpointNumber.ZERO,
278
276
  hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
@@ -337,7 +335,6 @@ export function testL2TipsStore(makeTipsStore) {
337
335
  await tipsStore.handleBlockStreamEvent({
338
336
  type: 'chain-pruned',
339
337
  block: makeBlockId(5),
340
- reason: 'unproven',
341
338
  checkpoint: {
342
339
  number: CheckpointNumber.ZERO,
343
340
  hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
@@ -401,7 +398,6 @@ export function testL2TipsStore(makeTipsStore) {
401
398
  await tipsStore.handleBlockStreamEvent({
402
399
  type: 'chain-pruned',
403
400
  block: makeBlockId(3),
404
- reason: 'unproven',
405
401
  checkpoint: {
406
402
  number: CheckpointNumber.ZERO,
407
403
  hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
@@ -482,7 +478,6 @@ export function testL2TipsStore(makeTipsStore) {
482
478
  await tipsStore.handleBlockStreamEvent({
483
479
  type: 'chain-pruned',
484
480
  block: makeBlockId(3),
485
- reason: 'unproven',
486
481
  checkpoint: {
487
482
  number: CheckpointNumber.ZERO,
488
483
  hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
@@ -47,4 +47,4 @@ export type ValidateCheckpointResult = {
47
47
  export declare const ValidateCheckpointResultSchema: ZodFor<ValidateCheckpointResult>;
48
48
  export declare function serializeValidateCheckpointResult(result: ValidateCheckpointResult): Buffer;
49
49
  export declare function deserializeValidateCheckpointResult(bufferOrReader: Buffer | BufferReader): ValidateCheckpointResult;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVfYmxvY2tfcmVzdWx0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svdmFsaWRhdGVfYmxvY2tfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUlwQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTNFLHdEQUF3RDtBQUN4RCxNQUFNLE1BQU0sZ0NBQWdDLEdBQ3hDO0lBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNiLDhDQUE4QztJQUM5QyxVQUFVLEVBQUUsY0FBYyxDQUFDO0lBQzNCLGtFQUFrRTtJQUNsRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsa0RBQWtEO0lBQ2xELEtBQUssRUFBRSxXQUFXLENBQUM7SUFDbkIsNENBQTRDO0lBQzVDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixvRUFBb0U7SUFDcEUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLDJFQUEyRTtJQUMzRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxtRkFBbUY7SUFDbkYsTUFBTSxFQUFFLDJCQUEyQixDQUFDO0NBQ3JDLEdBQ0Q7SUFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ2IsOENBQThDO0lBQzlDLFVBQVUsRUFBRSxjQUFjLENBQUM7SUFDM0Isa0VBQWtFO0lBQ2xFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixrREFBa0Q7SUFDbEQsS0FBSyxFQUFFLFdBQVcsQ0FBQztJQUNuQiw0Q0FBNEM7SUFDNUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLG9FQUFvRTtJQUNwRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsMkVBQTJFO0lBQzNFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLGlGQUFpRjtJQUNqRixNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDOUIsd0VBQXdFO0lBQ3hFLFlBQVksRUFBRSxNQUFNLENBQUM7Q0FDdEIsQ0FBQztBQUVOLHlEQUF5RDtBQUN6RCxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFBO0NBQUUsR0FBRyxnQ0FBZ0MsQ0FBQztBQUUxRixlQUFPLE1BQU0sOEJBQThCLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQXVCMUUsQ0FBQztBQUVILHdCQUFnQixpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEdBQUcsTUFBTSxDQXFCMUY7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsd0JBQXdCLENBc0JuSCJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVfYmxvY2tfcmVzdWx0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svdmFsaWRhdGVfYmxvY2tfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUlwQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTNFLHdEQUF3RDtBQUN4RCxNQUFNLE1BQU0sZ0NBQWdDLEdBQ3hDO0lBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNiLDhDQUE4QztJQUM5QyxVQUFVLEVBQUUsY0FBYyxDQUFDO0lBQzNCLGtFQUFrRTtJQUNsRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsa0RBQWtEO0lBQ2xELEtBQUssRUFBRSxXQUFXLENBQUM7SUFDbkIsNENBQTRDO0lBQzVDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixvRUFBb0U7SUFDcEUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLDJFQUEyRTtJQUMzRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxtRkFBbUY7SUFDbkYsTUFBTSxFQUFFLDJCQUEyQixDQUFDO0NBQ3JDLEdBQ0Q7SUFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ2IsOENBQThDO0lBQzlDLFVBQVUsRUFBRSxjQUFjLENBQUM7SUFDM0Isa0VBQWtFO0lBQ2xFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixrREFBa0Q7SUFDbEQsS0FBSyxFQUFFLFdBQVcsQ0FBQztJQUNuQiw0Q0FBNEM7SUFDNUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLG9FQUFvRTtJQUNwRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsMkVBQTJFO0lBQzNFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLGlGQUFpRjtJQUNqRixNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDOUIsd0VBQXdFO0lBQ3hFLFlBQVksRUFBRSxNQUFNLENBQUM7Q0FDdEIsQ0FBQztBQUVOLHlEQUF5RDtBQUN6RCxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFBO0NBQUUsR0FBRyxnQ0FBZ0MsQ0FBQztBQUUxRixlQUFPLE1BQU0sOEJBQThCLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQXVCMUUsQ0FBQztBQUVILHdCQUFnQixpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEdBQUcsTUFBTSxDQXFCMUY7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsd0JBQXdCLENBc0JuSCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GACxC;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,mFAAmF;IACnF,MAAM,EAAE,2BAA2B,CAAC;CACrC,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,iFAAiF;IACjF,MAAM,EAAE,qBAAqB,CAAC;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,gCAAgC,CAAC;AAE1F,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,wBAAwB,CAuB1E,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAqB1F;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,wBAAwB,CAsBnH"}
1
+ {"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GACxC;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,mFAAmF;IACnF,MAAM,EAAE,2BAA2B,CAAC;CACrC,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,iFAAiF;IACjF,MAAM,EAAE,qBAAqB,CAAC;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,gCAAgC,CAAC;AAE1F,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,wBAAwB,CAuB1E,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAqB1F;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,wBAAwB,CAsBnH"}
@@ -4,6 +4,7 @@ import { schemas } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
6
  import { CheckpointInfoSchema, deserializeCheckpointInfo, serializeCheckpointInfo } from '../checkpoint/checkpoint_info.js';
7
+ import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
7
8
  import { CommitteeAttestation } from './proposal/committee_attestation.js';
8
9
  export const ValidateCheckpointResultSchema = z.union([
9
10
  z.object({
@@ -46,13 +47,13 @@ export function deserializeValidateCheckpointResult(bufferOrReader) {
46
47
  valid
47
48
  };
48
49
  }
49
- const reason = reader.readString();
50
+ const reason = reader.readString(64);
50
51
  const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
51
- const committee = reader.readVector(EthAddress);
52
+ const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
52
53
  const epoch = EpochNumber(reader.readNumber());
53
54
  const seed = reader.readBigInt();
54
- const attestors = reader.readVector(EthAddress);
55
- const attestations = reader.readVector(CommitteeAttestation);
55
+ const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
56
+ const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
56
57
  const invalidIndex = reader.readNumber();
57
58
  if (reason === 'insufficient-attestations') {
58
59
  return {
@@ -1,16 +1,21 @@
1
- import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
+ import { CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
  import { z } from 'zod';
6
- import { L2BlockNew } from '../block/l2_block_new.js';
6
+ import { L2Block } from '../block/l2_block.js';
7
7
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
8
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
9
  import type { CheckpointInfo } from './checkpoint_info.js';
10
+ type FieldsOfCheckpoint = Omit<FieldsOf<Checkpoint>, 'slot'>;
10
11
  export declare class Checkpoint {
12
+ /** Snapshot of archive tree after the checkpoint is added. */
11
13
  archive: AppendOnlyTreeSnapshot;
14
+ /** Header of the checkpoint. */
12
15
  header: CheckpointHeader;
13
- blocks: L2BlockNew[];
16
+ /** L2 blocks in the checkpoint. */
17
+ blocks: L2Block[];
18
+ /** Number of the checkpoint. */
14
19
  number: CheckpointNumber;
15
20
  constructor(
16
21
  /** Snapshot of archive tree after the checkpoint is added. */
@@ -18,9 +23,10 @@ export declare class Checkpoint {
18
23
  /** Header of the checkpoint. */
19
24
  header: CheckpointHeader,
20
25
  /** L2 blocks in the checkpoint. */
21
- blocks: L2BlockNew[],
26
+ blocks: L2Block[],
22
27
  /** Number of the checkpoint. */
23
28
  number: CheckpointNumber);
29
+ get slot(): SlotNumber;
24
30
  static get schema(): z.ZodEffects<z.ZodObject<{
25
31
  archive: z.ZodEffects<z.ZodObject<{
26
32
  root: z.ZodType<Fr, any, string>;
@@ -35,7 +41,7 @@ export declare class Checkpoint {
35
41
  root: string;
36
42
  nextAvailableLeafIndex: string | number | bigint;
37
43
  }>;
38
- header: import("../schemas/schemas.js").ZodFor<CheckpointHeader>;
44
+ header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
39
45
  blocks: z.ZodArray<z.ZodEffects<z.ZodObject<{
40
46
  archive: z.ZodEffects<z.ZodObject<{
41
47
  root: z.ZodType<Fr, any, string>;
@@ -50,10 +56,10 @@ export declare class Checkpoint {
50
56
  root: string;
51
57
  nextAvailableLeafIndex: string | number | bigint;
52
58
  }>;
53
- header: import("../schemas/schemas.js").ZodFor<import("../tx/block_header.js").BlockHeader>;
54
- body: import("../schemas/schemas.js").ZodFor<import("../block/body.js").Body>;
59
+ header: import("@aztec/foundation/schemas").ZodFor<import("../tx/block_header.js").BlockHeader>;
60
+ body: import("@aztec/foundation/schemas").ZodFor<import("../block/body.js").Body>;
55
61
  checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
56
- indexWithinCheckpoint: z.ZodNumber;
62
+ indexWithinCheckpoint: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, IndexWithinCheckpoint, string | number | bigint>;
57
63
  }, "strip", z.ZodTypeAny, {
58
64
  archive: AppendOnlyTreeSnapshot;
59
65
  header: import("../tx/block_header.js").BlockHeader;
@@ -61,7 +67,9 @@ export declare class Checkpoint {
61
67
  checkpointNumber: number & {
62
68
  _branding: "CheckpointNumber";
63
69
  };
64
- indexWithinCheckpoint: number;
70
+ indexWithinCheckpoint: number & {
71
+ _branding: "IndexWithinCheckpoint";
72
+ };
65
73
  }, {
66
74
  archive: {
67
75
  root: string;
@@ -70,8 +78,8 @@ export declare class Checkpoint {
70
78
  header?: any;
71
79
  body?: any;
72
80
  checkpointNumber: string | number | bigint;
73
- indexWithinCheckpoint: number;
74
- }>, L2BlockNew, {
81
+ indexWithinCheckpoint: string | number | bigint;
82
+ }>, L2Block, {
75
83
  archive: {
76
84
  root: string;
77
85
  nextAvailableLeafIndex: string | number | bigint;
@@ -79,13 +87,13 @@ export declare class Checkpoint {
79
87
  header?: any;
80
88
  body?: any;
81
89
  checkpointNumber: string | number | bigint;
82
- indexWithinCheckpoint: number;
90
+ indexWithinCheckpoint: string | number | bigint;
83
91
  }>, "many">;
84
92
  number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
85
93
  }, "strip", z.ZodTypeAny, {
86
94
  archive: AppendOnlyTreeSnapshot;
87
95
  header: CheckpointHeader;
88
- blocks: L2BlockNew[];
96
+ blocks: L2Block[];
89
97
  number: number & {
90
98
  _branding: "CheckpointNumber";
91
99
  };
@@ -103,7 +111,7 @@ export declare class Checkpoint {
103
111
  header?: any;
104
112
  body?: any;
105
113
  checkpointNumber: string | number | bigint;
106
- indexWithinCheckpoint: number;
114
+ indexWithinCheckpoint: string | number | bigint;
107
115
  }[];
108
116
  number: string | number | bigint;
109
117
  }>, Checkpoint, {
@@ -120,16 +128,17 @@ export declare class Checkpoint {
120
128
  header?: any;
121
129
  body?: any;
122
130
  checkpointNumber: string | number | bigint;
123
- indexWithinCheckpoint: number;
131
+ indexWithinCheckpoint: string | number | bigint;
124
132
  }[];
125
133
  number: string | number | bigint;
126
134
  }>;
127
- static from(fields: FieldsOf<Checkpoint>): Checkpoint;
128
- static getFields(fields: FieldsOf<Checkpoint>): readonly [AppendOnlyTreeSnapshot, CheckpointHeader, L2BlockNew[], CheckpointNumber];
135
+ static from(fields: FieldsOfCheckpoint): Checkpoint;
136
+ static getFields(fields: FieldsOfCheckpoint): readonly [AppendOnlyTreeSnapshot, CheckpointHeader, L2Block[], CheckpointNumber];
129
137
  static fromBuffer(buf: Buffer | BufferReader): Checkpoint;
130
138
  toBuffer(): Buffer<ArrayBufferLike>;
131
139
  toBlobFields(): Fr[];
132
140
  hash(): Fr;
141
+ getCheckpointOutHash(): Fr;
133
142
  getState(): import("../tx/state_reference.js").StateReference;
134
143
  toCheckpointInfo(): CheckpointInfo;
135
144
  /** Returns stats used for logging */
@@ -140,7 +149,7 @@ export declare class Checkpoint {
140
149
  contractClassLogSize: number;
141
150
  txCount: number;
142
151
  blockCount: number;
143
- slotNumber: import("@aztec/foundation/branded-types").SlotNumber;
152
+ slotNumber: SlotNumber;
144
153
  checkpointNumber: CheckpointNumber;
145
154
  timestamp: bigint;
146
155
  };
@@ -148,6 +157,7 @@ export declare class Checkpoint {
148
157
  numBlocks?: number;
149
158
  startBlockNumber?: number;
150
159
  previousArchive?: AppendOnlyTreeSnapshot;
151
- } & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2BlockNew.random>[1]>): Promise<Checkpoint>;
160
+ } & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
152
161
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZ0JBQWdCLEVBQTBCLE1BQU0saUNBQWlDLENBQUM7QUFFeEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QscUJBQWEsVUFBVTtJQUdaLE9BQU8sRUFBRSxzQkFBc0I7SUFFL0IsTUFBTSxFQUFFLGdCQUFnQjtJQUV4QixNQUFNLEVBQUUsVUFBVSxFQUFFO0lBRXBCLE1BQU0sRUFBRSxnQkFBZ0I7SUFSakM7SUFDRSw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLFVBQVUsRUFBRTtJQUMzQixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQixFQUM3QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FTaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBRXZDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyx1RkFFNUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVEzQztJQUVNLFFBQVEsNEJBRWQ7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sSUFBSSxJQUFJLEVBQUUsQ0FFaEI7SUFFTSxRQUFRLHNEQUVkO0lBRU0sZ0JBQWdCLElBQUksY0FBYyxDQVF4QztJQUVELHFDQUFxQztJQUM5QixRQUFROzs7Ozs7Ozs7O01Ba0JkO0lBRUQsT0FBYSxNQUFNLENBQ2pCLGdCQUFnQixtQkFBc0IsRUFDdEMsRUFDRSxTQUFhLEVBQ2IsZ0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixHQUFHLE9BQU8sRUFDWCxHQUFFO1FBQ0QsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ25CLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQzFCLGVBQWUsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO0tBQzFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ3hELE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU0sdUJBbUJ4RDtDQUNGIn0=
162
+ export {};
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQVJqQztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCLEVBQzdCO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVNoQjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixjQUVyQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGtCQUFrQixvRkFFMUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVEzQztJQUVNLFFBQVEsNEJBRWQ7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sSUFBSSxJQUFJLEVBQUUsQ0FFaEI7SUFLTSxvQkFBb0IsSUFBSSxFQUFFLENBR2hDO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztLQUMxQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQW1CckQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AAExG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,gBAAgB;IAExB,MAAM,EAAE,UAAU,EAAE;IAEpB,MAAM,EAAE,gBAAgB;IARjC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,UAAU,EAAE;IAC3B,gCAAgC;IACzB,MAAM,EAAE,gBAAgB,EAC7B;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,uFAE5C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BAEd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;KAC1C,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBAmBxD;CACF"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IARjC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB,EAC7B;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,oFAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BAEd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAKM,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;KAC1C,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBAmBrD;CACF"}
@@ -1,9 +1,11 @@
1
1
  import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
2
+ import { BlockNumber, CheckpointNumber, CheckpointNumberSchema, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
3
  import { sum } from '@aztec/foundation/collection';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
- import { L2BlockNew } from '../block/l2_block_new.js';
6
+ import { L2Block } from '../block/l2_block.js';
7
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
8
+ import { computeCheckpointOutHash } from '../messaging/out_hash.js';
7
9
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
10
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
11
  export class Checkpoint {
@@ -17,11 +19,14 @@ export class Checkpoint {
17
19
  this.blocks = blocks;
18
20
  this.number = number;
19
21
  }
22
+ get slot() {
23
+ return this.header.slotNumber;
24
+ }
20
25
  static get schema() {
21
26
  return z.object({
22
27
  archive: AppendOnlyTreeSnapshot.schema,
23
28
  header: CheckpointHeader.schema,
24
- blocks: z.array(L2BlockNew.schema),
29
+ blocks: z.array(L2Block.schema),
25
30
  number: CheckpointNumberSchema
26
31
  }).transform(({ archive, header, blocks, number })=>new Checkpoint(archive, header, blocks, number));
27
32
  }
@@ -38,7 +43,7 @@ export class Checkpoint {
38
43
  }
39
44
  static fromBuffer(buf) {
40
45
  const reader = BufferReader.asReader(buf);
41
- return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(L2BlockNew), CheckpointNumber(reader.readNumber()));
46
+ return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(L2Block, MAX_BLOCKS_PER_CHECKPOINT), CheckpointNumber(reader.readNumber()));
42
47
  }
43
48
  toBuffer() {
44
49
  return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
@@ -50,6 +55,13 @@ export class Checkpoint {
50
55
  hash() {
51
56
  return this.header.hash();
52
57
  }
58
+ // Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
59
+ // Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
60
+ // checkpoints up to and including this one in the epoch.
61
+ getCheckpointOutHash() {
62
+ const msgs = this.blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
63
+ return computeCheckpointOutHash(msgs);
64
+ }
53
65
  getState() {
54
66
  return this.blocks.at(-1).header.state;
55
67
  }
@@ -86,8 +98,8 @@ export class Checkpoint {
86
98
  const blocks = [];
87
99
  let lastArchive = previousArchive;
88
100
  for(let i = 0; i < numBlocks; i++){
89
- const block = await L2BlockNew.random(BlockNumber(startBlockNumber + i), {
90
- indexWithinCheckpoint: i,
101
+ const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
102
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
91
103
  ...options,
92
104
  ...lastArchive ? {
93
105
  lastArchive