@aztec/stdlib 0.0.1-commit.03f7ef2 → 0.0.1-commit.04852196a

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 (834) hide show
  1. package/dest/abi/contract_artifact.d.ts +2 -2
  2. package/dest/abi/contract_artifact.d.ts.map +1 -1
  3. package/dest/abi/contract_artifact.js +1 -1
  4. package/dest/abi/decoder.d.ts +2 -2
  5. package/dest/abi/decoder.d.ts.map +1 -1
  6. package/dest/abi/decoder.js +7 -5
  7. package/dest/abi/encoder.d.ts +1 -1
  8. package/dest/abi/encoder.d.ts.map +1 -1
  9. package/dest/abi/encoder.js +37 -6
  10. package/dest/abi/event_metadata_definition.d.ts +3 -1
  11. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  12. package/dest/abi/event_metadata_definition.js +1 -1
  13. package/dest/abi/function_call.d.ts +47 -9
  14. package/dest/abi/function_call.d.ts.map +1 -1
  15. package/dest/abi/function_call.js +20 -3
  16. package/dest/abi/selector.js +3 -1
  17. package/dest/abi/utils.d.ts +20 -1
  18. package/dest/abi/utils.d.ts.map +1 -1
  19. package/dest/abi/utils.js +22 -0
  20. package/dest/auth_witness/auth_witness.d.ts +2 -1
  21. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  22. package/dest/auth_witness/auth_witness.js +3 -3
  23. package/dest/avm/avm.d.ts +362 -362
  24. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  25. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  26. package/dest/avm/avm_accumulated_data.js +5 -2
  27. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  28. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  29. package/dest/avm/avm_proving_request.d.ts +465 -465
  30. package/dest/avm/contract_storage_read.d.ts +13 -1
  31. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  32. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  33. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  34. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  35. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  36. package/dest/avm/public_data_read.d.ts +10 -1
  37. package/dest/avm/public_data_read.d.ts.map +1 -1
  38. package/dest/avm/public_data_update_request.d.ts +10 -1
  39. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  40. package/dest/avm/public_data_update_request.js +3 -1
  41. package/dest/avm/public_data_write.d.ts +7 -1
  42. package/dest/avm/public_data_write.d.ts.map +1 -1
  43. package/dest/avm/public_inner_call_request.d.ts +4 -1
  44. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  45. package/dest/avm/public_inner_call_request.js +3 -1
  46. package/dest/avm/revert_code.d.ts +19 -4
  47. package/dest/avm/revert_code.d.ts.map +1 -1
  48. package/dest/avm/revert_code.js +18 -6
  49. package/dest/aztec-address/index.js +4 -2
  50. package/dest/block/attestation_info.d.ts +5 -5
  51. package/dest/block/attestation_info.d.ts.map +1 -1
  52. package/dest/block/attestation_info.js +4 -4
  53. package/dest/block/block_data.d.ts +52 -0
  54. package/dest/block/block_data.d.ts.map +1 -0
  55. package/dest/block/block_data.js +12 -0
  56. package/dest/block/block_hash.d.ts +18 -14
  57. package/dest/block/block_hash.d.ts.map +1 -1
  58. package/dest/block/block_hash.js +22 -20
  59. package/dest/block/block_parameter.d.ts +4 -3
  60. package/dest/block/block_parameter.d.ts.map +1 -1
  61. package/dest/block/block_parameter.js +2 -0
  62. package/dest/block/body.d.ts +1 -1
  63. package/dest/block/body.d.ts.map +1 -1
  64. package/dest/block/body.js +5 -2
  65. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  66. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  67. package/dest/block/checkpointed_l2_block.js +7 -45
  68. package/dest/block/in_block.d.ts +9 -9
  69. package/dest/block/in_block.d.ts.map +1 -1
  70. package/dest/block/in_block.js +5 -5
  71. package/dest/block/index.d.ts +2 -3
  72. package/dest/block/index.d.ts.map +1 -1
  73. package/dest/block/index.js +1 -2
  74. package/dest/block/l2_block.d.ts +65 -57
  75. package/dest/block/l2_block.d.ts.map +1 -1
  76. package/dest/block/l2_block.js +73 -107
  77. package/dest/block/l2_block_source.d.ts +322 -68
  78. package/dest/block/l2_block_source.d.ts.map +1 -1
  79. package/dest/block/l2_block_source.js +25 -6
  80. package/dest/block/l2_block_stream/index.d.ts +2 -1
  81. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  82. package/dest/block/l2_block_stream/index.js +1 -0
  83. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  84. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  85. package/dest/block/l2_block_stream/l2_block_stream.d.ts +8 -3
  86. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.js +116 -31
  88. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  89. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  91. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  92. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  93. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  94. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  95. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  96. package/dest/block/test/l2_tips_store_test_suite.js +478 -38
  97. package/dest/block/validate_block_result.d.ts +24 -24
  98. package/dest/block/validate_block_result.d.ts.map +1 -1
  99. package/dest/block/validate_block_result.js +18 -17
  100. package/dest/checkpoint/checkpoint.d.ts +44 -19
  101. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  102. package/dest/checkpoint/checkpoint.js +46 -17
  103. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  104. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  105. package/dest/checkpoint/checkpoint_data.js +26 -0
  106. package/dest/checkpoint/checkpoint_info.d.ts +32 -3
  107. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  108. package/dest/checkpoint/checkpoint_info.js +34 -1
  109. package/dest/checkpoint/index.d.ts +4 -1
  110. package/dest/checkpoint/index.d.ts.map +1 -1
  111. package/dest/checkpoint/index.js +3 -0
  112. package/dest/checkpoint/published_checkpoint.d.ts +33 -16
  113. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  114. package/dest/checkpoint/published_checkpoint.js +5 -5
  115. package/dest/checkpoint/validate.d.ts +36 -0
  116. package/dest/checkpoint/validate.d.ts.map +1 -0
  117. package/dest/checkpoint/validate.js +120 -0
  118. package/dest/config/index.d.ts +2 -1
  119. package/dest/config/index.d.ts.map +1 -1
  120. package/dest/config/index.js +1 -0
  121. package/dest/config/node-rpc-config.js +1 -1
  122. package/dest/config/sequencer-config.d.ts +12 -0
  123. package/dest/config/sequencer-config.d.ts.map +1 -0
  124. package/dest/config/sequencer-config.js +24 -0
  125. package/dest/contract/complete_address.d.ts +4 -1
  126. package/dest/contract/complete_address.d.ts.map +1 -1
  127. package/dest/contract/contract_address.js +4 -4
  128. package/dest/contract/contract_class.d.ts +2 -3
  129. package/dest/contract/contract_class.d.ts.map +1 -1
  130. package/dest/contract/contract_class_id.d.ts +2 -2
  131. package/dest/contract/contract_class_id.d.ts.map +1 -1
  132. package/dest/contract/contract_class_id.js +6 -5
  133. package/dest/contract/contract_deployment_data.d.ts +5 -5
  134. package/dest/contract/index.d.ts +1 -3
  135. package/dest/contract/index.d.ts.map +1 -1
  136. package/dest/contract/index.js +0 -2
  137. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  138. package/dest/contract/interfaces/node-info.d.ts +3 -1
  139. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  140. package/dest/contract/interfaces/node-info.js +2 -1
  141. package/dest/contract/private_function.d.ts +1 -1
  142. package/dest/contract/private_function.d.ts.map +1 -1
  143. package/dest/contract/private_function.js +3 -4
  144. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  145. package/dest/contract/private_function_membership_proof.js +1 -1
  146. package/dest/database-version/database_version.d.ts +58 -0
  147. package/dest/database-version/database_version.d.ts.map +1 -0
  148. package/dest/database-version/database_version.js +69 -0
  149. package/dest/database-version/version_manager.d.ts +3 -49
  150. package/dest/database-version/version_manager.d.ts.map +1 -1
  151. package/dest/database-version/version_manager.js +1 -64
  152. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  153. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  154. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  155. package/dest/deserialization/index.d.ts +11 -0
  156. package/dest/deserialization/index.d.ts.map +1 -0
  157. package/dest/deserialization/index.js +10 -0
  158. package/dest/epoch-helpers/index.d.ts +7 -1
  159. package/dest/epoch-helpers/index.d.ts.map +1 -1
  160. package/dest/epoch-helpers/index.js +9 -3
  161. package/dest/errors/proving_error.d.ts +2 -2
  162. package/dest/errors/proving_error.d.ts.map +1 -1
  163. package/dest/file-store/local.d.ts +3 -3
  164. package/dest/file-store/local.d.ts.map +1 -1
  165. package/dest/file-store/local.js +13 -4
  166. package/dest/file-store/s3.d.ts +1 -1
  167. package/dest/file-store/s3.d.ts.map +1 -1
  168. package/dest/file-store/s3.js +11 -3
  169. package/dest/gas/gas.js +3 -1
  170. package/dest/gas/gas_fees.d.ts +1 -1
  171. package/dest/gas/gas_fees.d.ts.map +1 -1
  172. package/dest/gas/gas_fees.js +7 -2
  173. package/dest/ha-signing/config.d.ts +136 -0
  174. package/dest/ha-signing/config.d.ts.map +1 -0
  175. package/dest/ha-signing/config.js +97 -0
  176. package/dest/ha-signing/index.d.ts +4 -0
  177. package/dest/ha-signing/index.d.ts.map +1 -0
  178. package/dest/ha-signing/index.js +3 -0
  179. package/dest/ha-signing/local_config.d.ts +63 -0
  180. package/dest/ha-signing/local_config.d.ts.map +1 -0
  181. package/dest/ha-signing/local_config.js +24 -0
  182. package/dest/ha-signing/types.d.ts +85 -0
  183. package/dest/ha-signing/types.d.ts.map +1 -0
  184. package/dest/ha-signing/types.js +32 -0
  185. package/dest/hash/hash.d.ts +2 -1
  186. package/dest/hash/hash.d.ts.map +1 -1
  187. package/dest/hash/hash.js +16 -10
  188. package/dest/hash/map_slot.d.ts +1 -1
  189. package/dest/hash/map_slot.d.ts.map +1 -1
  190. package/dest/hash/map_slot.js +4 -3
  191. package/dest/interfaces/allowed_element.d.ts +26 -20
  192. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  193. package/dest/interfaces/allowed_element.js +8 -8
  194. package/dest/interfaces/api_limit.d.ts +3 -1
  195. package/dest/interfaces/api_limit.d.ts.map +1 -1
  196. package/dest/interfaces/api_limit.js +2 -0
  197. package/dest/interfaces/archiver.d.ts +6 -6
  198. package/dest/interfaces/archiver.d.ts.map +1 -1
  199. package/dest/interfaces/archiver.js +28 -17
  200. package/dest/interfaces/aztec-node-admin.d.ts +178 -59
  201. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  202. package/dest/interfaces/aztec-node-admin.js +15 -7
  203. package/dest/interfaces/aztec-node.d.ts +83 -80
  204. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  205. package/dest/interfaces/aztec-node.js +17 -17
  206. package/dest/interfaces/block-builder.d.ts +30 -16
  207. package/dest/interfaces/block-builder.d.ts.map +1 -1
  208. package/dest/interfaces/block-builder.js +14 -2
  209. package/dest/interfaces/configs.d.ts +80 -35
  210. package/dest/interfaces/configs.d.ts.map +1 -1
  211. package/dest/interfaces/configs.js +10 -3
  212. package/dest/interfaces/get_logs_response.d.ts +16 -9
  213. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  214. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  215. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  216. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  217. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  218. package/dest/interfaces/p2p.d.ts +9 -16
  219. package/dest/interfaces/p2p.d.ts.map +1 -1
  220. package/dest/interfaces/p2p.js +3 -4
  221. package/dest/interfaces/prover-broker.d.ts +16 -1
  222. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  223. package/dest/interfaces/prover-broker.js +4 -1
  224. package/dest/interfaces/prover-client.d.ts +15 -1
  225. package/dest/interfaces/prover-client.d.ts.map +1 -1
  226. package/dest/interfaces/prover-client.js +12 -1
  227. package/dest/interfaces/proving-job.d.ts +52 -52
  228. package/dest/interfaces/proving-job.d.ts.map +1 -1
  229. package/dest/interfaces/proving-job.js +1 -7
  230. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  231. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  232. package/dest/interfaces/slasher.d.ts +9 -1
  233. package/dest/interfaces/slasher.d.ts.map +1 -1
  234. package/dest/interfaces/slasher.js +2 -0
  235. package/dest/interfaces/tx_provider.d.ts +3 -3
  236. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  237. package/dest/interfaces/validator.d.ts +240 -42
  238. package/dest/interfaces/validator.d.ts.map +1 -1
  239. package/dest/interfaces/validator.js +13 -4
  240. package/dest/interfaces/world_state.d.ts +8 -6
  241. package/dest/interfaces/world_state.d.ts.map +1 -1
  242. package/dest/kernel/claimed_length_array.js +3 -1
  243. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +7 -6
  244. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  245. package/dest/kernel/hints/build_note_hash_read_request_hints.js +31 -19
  246. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  247. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  248. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  249. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  250. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  251. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  252. package/dest/kernel/hints/index.d.ts +2 -2
  253. package/dest/kernel/hints/index.js +2 -2
  254. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  255. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  256. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  257. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  258. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  259. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  260. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  261. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  262. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  263. package/dest/kernel/hints/read_request.d.ts +7 -1
  264. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  265. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  266. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  267. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  268. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  269. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  270. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  271. package/dest/kernel/log_hash.js +3 -1
  272. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  273. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  274. package/dest/kernel/private_call_data.d.ts +25 -1
  275. package/dest/kernel/private_call_data.d.ts.map +1 -1
  276. package/dest/kernel/private_call_request.d.ts +16 -1
  277. package/dest/kernel/private_call_request.d.ts.map +1 -1
  278. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  279. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  280. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  281. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  282. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  283. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  284. package/dest/kernel/private_kernel_data.d.ts +7 -1
  285. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  286. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  287. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  288. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  289. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  290. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  291. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  292. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  293. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  294. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  295. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +26 -3
  296. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  297. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  298. package/dest/kernel/private_log_data.js +5 -2
  299. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  300. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  301. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  302. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  303. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  304. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  305. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  306. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  307. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  308. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  309. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  310. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  311. package/dest/kernel/private_validation_requests.d.ts +13 -4
  312. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  313. package/dest/kernel/private_validation_requests.js +12 -10
  314. package/dest/kernel/public_call_request.d.ts +22 -1
  315. package/dest/kernel/public_call_request.d.ts.map +1 -1
  316. package/dest/kernel/public_call_request.js +5 -2
  317. package/dest/kernel/utils/optional_number.d.ts +7 -1
  318. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  319. package/dest/keys/derivation.d.ts +3 -3
  320. package/dest/keys/derivation.js +15 -15
  321. package/dest/keys/key_types.d.ts +3 -3
  322. package/dest/keys/key_types.d.ts.map +1 -1
  323. package/dest/keys/public_keys.d.ts +5 -1
  324. package/dest/keys/public_keys.d.ts.map +1 -1
  325. package/dest/keys/public_keys.js +2 -2
  326. package/dest/keys/utils.d.ts +1 -1
  327. package/dest/keys/utils.d.ts.map +1 -1
  328. package/dest/keys/utils.js +8 -4
  329. package/dest/kv-store/config.d.ts +17 -0
  330. package/dest/kv-store/config.d.ts.map +1 -0
  331. package/dest/kv-store/config.js +26 -0
  332. package/dest/kv-store/index.d.ts +2 -0
  333. package/dest/kv-store/index.d.ts.map +1 -0
  334. package/dest/kv-store/index.js +1 -0
  335. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  336. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  337. package/dest/l1-contracts/slash_factory.js +1 -0
  338. package/dest/logs/contract_class_log.js +3 -1
  339. package/dest/logs/debug_log_store.d.ts +30 -0
  340. package/dest/logs/debug_log_store.d.ts.map +1 -0
  341. package/dest/logs/debug_log_store.js +30 -0
  342. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  343. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  344. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  345. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  346. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  347. package/dest/logs/extended_public_log.d.ts +17 -9
  348. package/dest/logs/extended_public_log.d.ts.map +1 -1
  349. package/dest/logs/index.d.ts +3 -3
  350. package/dest/logs/index.d.ts.map +1 -1
  351. package/dest/logs/index.js +2 -2
  352. package/dest/logs/log_id.d.ts +21 -14
  353. package/dest/logs/log_id.d.ts.map +1 -1
  354. package/dest/logs/log_id.js +20 -17
  355. package/dest/logs/pre_tag.d.ts +16 -11
  356. package/dest/logs/pre_tag.d.ts.map +1 -1
  357. package/dest/logs/pre_tag.js +2 -2
  358. package/dest/logs/private_log.d.ts +2 -2
  359. package/dest/logs/private_log.d.ts.map +1 -1
  360. package/dest/logs/private_log.js +3 -1
  361. package/dest/logs/public_log.d.ts +4 -3
  362. package/dest/logs/public_log.d.ts.map +1 -1
  363. package/dest/logs/public_log.js +5 -2
  364. package/dest/logs/siloed_tag.d.ts +5 -3
  365. package/dest/logs/siloed_tag.d.ts.map +1 -1
  366. package/dest/logs/siloed_tag.js +8 -6
  367. package/dest/logs/tag.js +1 -1
  368. package/dest/logs/tx_scoped_l2_log.d.ts +18 -39
  369. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  370. package/dest/logs/tx_scoped_l2_log.js +29 -50
  371. package/dest/messaging/in_hash.d.ts +4 -2
  372. package/dest/messaging/in_hash.d.ts.map +1 -1
  373. package/dest/messaging/in_hash.js +3 -1
  374. package/dest/messaging/inbox_leaf.d.ts +3 -1
  375. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  376. package/dest/messaging/l1_actor.d.ts +7 -1
  377. package/dest/messaging/l1_actor.d.ts.map +1 -1
  378. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  379. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  380. package/dest/messaging/l2_actor.d.ts +7 -1
  381. package/dest/messaging/l2_actor.d.ts.map +1 -1
  382. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  383. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  384. package/dest/messaging/l2_to_l1_membership.js +160 -42
  385. package/dest/messaging/out_hash.d.ts +41 -3
  386. package/dest/messaging/out_hash.d.ts.map +1 -1
  387. package/dest/messaging/out_hash.js +54 -19
  388. package/dest/note/index.d.ts +1 -2
  389. package/dest/note/index.d.ts.map +1 -1
  390. package/dest/note/index.js +0 -1
  391. package/dest/note/note_dao.d.ts +36 -5
  392. package/dest/note/note_dao.d.ts.map +1 -1
  393. package/dest/note/note_dao.js +15 -12
  394. package/dest/p2p/attestation_utils.d.ts +13 -3
  395. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  396. package/dest/p2p/attestation_utils.js +46 -1
  397. package/dest/p2p/block_proposal.d.ts +102 -23
  398. package/dest/p2p/block_proposal.d.ts.map +1 -1
  399. package/dest/p2p/block_proposal.js +138 -39
  400. package/dest/p2p/checkpoint_attestation.d.ts +82 -0
  401. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  402. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  403. package/dest/p2p/checkpoint_proposal.d.ts +174 -0
  404. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  405. package/dest/p2p/checkpoint_proposal.js +231 -0
  406. package/dest/p2p/client_type.d.ts +2 -5
  407. package/dest/p2p/client_type.d.ts.map +1 -1
  408. package/dest/p2p/client_type.js +0 -7
  409. package/dest/p2p/consensus_payload.d.ts +20 -11
  410. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  411. package/dest/p2p/consensus_payload.js +24 -19
  412. package/dest/p2p/constants.d.ts +5 -0
  413. package/dest/p2p/constants.d.ts.map +1 -0
  414. package/dest/p2p/constants.js +3 -0
  415. package/dest/p2p/gossipable.d.ts +4 -3
  416. package/dest/p2p/gossipable.d.ts.map +1 -1
  417. package/dest/p2p/gossipable.js +16 -5
  418. package/dest/p2p/index.d.ts +5 -3
  419. package/dest/p2p/index.d.ts.map +1 -1
  420. package/dest/p2p/index.js +4 -2
  421. package/dest/p2p/message_validator.d.ts +18 -3
  422. package/dest/p2p/message_validator.d.ts.map +1 -1
  423. package/dest/p2p/message_validator.js +2 -1
  424. package/dest/p2p/peer_error.d.ts +3 -1
  425. package/dest/p2p/peer_error.d.ts.map +1 -1
  426. package/dest/p2p/peer_error.js +5 -0
  427. package/dest/p2p/signature_utils.d.ts +5 -3
  428. package/dest/p2p/signature_utils.d.ts.map +1 -1
  429. package/dest/p2p/signature_utils.js +3 -1
  430. package/dest/p2p/signed_txs.d.ts +42 -0
  431. package/dest/p2p/signed_txs.d.ts.map +1 -0
  432. package/dest/p2p/signed_txs.js +75 -0
  433. package/dest/p2p/topic_type.d.ts +5 -5
  434. package/dest/p2p/topic_type.d.ts.map +1 -1
  435. package/dest/p2p/topic_type.js +9 -19
  436. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  437. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  438. package/dest/parity/parity_public_inputs.d.ts +4 -1
  439. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  440. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  441. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  442. package/dest/proofs/chonk_proof.d.ts +1 -1
  443. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  444. package/dest/proofs/chonk_proof.js +9 -4
  445. package/dest/proofs/proof.d.ts +4 -1
  446. package/dest/proofs/proof.d.ts.map +1 -1
  447. package/dest/proofs/recursive_proof.d.ts +10 -1
  448. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  449. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  450. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  451. package/dest/rollup/block_constant_data.d.ts +12 -1
  452. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  453. package/dest/rollup/block_headers_hash.js +1 -1
  454. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  455. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  456. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  457. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  458. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  459. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  460. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  461. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  462. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  463. package/dest/rollup/checkpoint_constant_data.js +3 -1
  464. package/dest/rollup/checkpoint_header.d.ts +43 -13
  465. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  466. package/dest/rollup/checkpoint_header.js +50 -20
  467. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  468. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  469. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +46 -6
  470. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  471. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
  472. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  473. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  474. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  475. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  476. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  477. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  478. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  479. package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
  480. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  481. package/dest/rollup/root_rollup_public_inputs.js +10 -4
  482. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  483. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  484. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  485. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  486. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  487. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  488. package/dest/schemas/schemas.d.ts +1 -1
  489. package/dest/slashing/empire.d.ts +1 -1
  490. package/dest/slashing/empire.d.ts.map +1 -1
  491. package/dest/slashing/empire.js +2 -0
  492. package/dest/slashing/helpers.d.ts +2 -2
  493. package/dest/slashing/helpers.d.ts.map +1 -1
  494. package/dest/slashing/helpers.js +6 -0
  495. package/dest/slashing/tally.d.ts +8 -2
  496. package/dest/slashing/tally.d.ts.map +1 -1
  497. package/dest/slashing/tally.js +35 -3
  498. package/dest/slashing/types.d.ts +7 -3
  499. package/dest/slashing/types.d.ts.map +1 -1
  500. package/dest/slashing/types.js +13 -1
  501. package/dest/stats/stats.d.ts +1 -3
  502. package/dest/stats/stats.d.ts.map +1 -1
  503. package/dest/tests/factories.d.ts +41 -10
  504. package/dest/tests/factories.d.ts.map +1 -1
  505. package/dest/tests/factories.js +99 -36
  506. package/dest/tests/jest.js +1 -1
  507. package/dest/tests/mocks.d.ts +79 -19
  508. package/dest/tests/mocks.d.ts.map +1 -1
  509. package/dest/tests/mocks.js +148 -72
  510. package/dest/timetable/index.d.ts +37 -0
  511. package/dest/timetable/index.d.ts.map +1 -0
  512. package/dest/timetable/index.js +39 -0
  513. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  514. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  515. package/dest/trees/append_only_tree_snapshot.js +3 -1
  516. package/dest/trees/nullifier_leaf.d.ts +13 -1
  517. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  518. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  519. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  520. package/dest/trees/public_data_leaf.d.ts +17 -1
  521. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  522. package/dest/trees/public_data_leaf.js +7 -6
  523. package/dest/trees/public_data_witness.d.ts +11 -1
  524. package/dest/trees/public_data_witness.d.ts.map +1 -1
  525. package/dest/tx/block_header.d.ts +16 -2
  526. package/dest/tx/block_header.d.ts.map +1 -1
  527. package/dest/tx/block_header.js +13 -3
  528. package/dest/tx/call_context.d.ts +13 -1
  529. package/dest/tx/call_context.d.ts.map +1 -1
  530. package/dest/tx/call_context.js +3 -1
  531. package/dest/tx/capsule.d.ts +4 -1
  532. package/dest/tx/capsule.d.ts.map +1 -1
  533. package/dest/tx/execution_payload.d.ts +9 -1
  534. package/dest/tx/execution_payload.d.ts.map +1 -1
  535. package/dest/tx/function_data.d.ts +4 -2
  536. package/dest/tx/function_data.d.ts.map +1 -1
  537. package/dest/tx/global_variable_builder.d.ts +2 -2
  538. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  539. package/dest/tx/global_variables.d.ts +12 -4
  540. package/dest/tx/global_variables.d.ts.map +1 -1
  541. package/dest/tx/global_variables.js +3 -1
  542. package/dest/tx/hashed_values.d.ts +7 -1
  543. package/dest/tx/hashed_values.d.ts.map +1 -1
  544. package/dest/tx/in_tx.d.ts +4 -4
  545. package/dest/tx/index.d.ts +1 -2
  546. package/dest/tx/index.d.ts.map +1 -1
  547. package/dest/tx/index.js +0 -1
  548. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  549. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  550. package/dest/tx/indexed_tx_effect.js +3 -2
  551. package/dest/tx/partial_state_reference.d.ts +4 -1
  552. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  553. package/dest/tx/private_execution_result.d.ts +23 -6
  554. package/dest/tx/private_execution_result.d.ts.map +1 -1
  555. package/dest/tx/private_execution_result.js +4 -21
  556. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  557. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  558. package/dest/tx/profiling.d.ts +152 -29
  559. package/dest/tx/profiling.d.ts.map +1 -1
  560. package/dest/tx/profiling.js +47 -10
  561. package/dest/tx/protocol_contracts.d.ts +2 -2
  562. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  563. package/dest/tx/protocol_contracts.js +2 -2
  564. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  565. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  566. package/dest/tx/public_call_request_with_calldata.js +3 -1
  567. package/dest/tx/public_simulation_output.d.ts +4 -2
  568. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  569. package/dest/tx/public_simulation_output.js +7 -3
  570. package/dest/tx/simulated_tx.d.ts +5 -2
  571. package/dest/tx/simulated_tx.d.ts.map +1 -1
  572. package/dest/tx/simulated_tx.js +4 -1
  573. package/dest/tx/state_reference.d.ts +3 -1
  574. package/dest/tx/state_reference.d.ts.map +1 -1
  575. package/dest/tx/state_reference.js +3 -1
  576. package/dest/tx/tree_snapshots.js +3 -1
  577. package/dest/tx/tx.d.ts +38 -7
  578. package/dest/tx/tx.d.ts.map +1 -1
  579. package/dest/tx/tx.js +36 -12
  580. package/dest/tx/tx_context.d.ts +2 -1
  581. package/dest/tx/tx_context.d.ts.map +1 -1
  582. package/dest/tx/tx_effect.d.ts +32 -6
  583. package/dest/tx/tx_effect.d.ts.map +1 -1
  584. package/dest/tx/tx_effect.js +6 -9
  585. package/dest/tx/tx_execution_request.d.ts +30 -1
  586. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  587. package/dest/tx/tx_execution_request.js +6 -2
  588. package/dest/tx/tx_hash.d.ts +2 -1
  589. package/dest/tx/tx_hash.d.ts.map +1 -1
  590. package/dest/tx/tx_receipt.d.ts +62 -14
  591. package/dest/tx/tx_receipt.d.ts.map +1 -1
  592. package/dest/tx/tx_receipt.js +55 -16
  593. package/dest/tx/tx_request.d.ts +6 -1
  594. package/dest/tx/tx_request.d.ts.map +1 -1
  595. package/dest/tx/tx_request.js +2 -2
  596. package/dest/tx/validator/empty_validator.d.ts +2 -2
  597. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  598. package/dest/tx/validator/error_texts.d.ts +7 -2
  599. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  600. package/dest/tx/validator/error_texts.js +7 -1
  601. package/dest/tx/validator/tx_validator.d.ts +2 -2
  602. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  603. package/dest/types/shared.d.ts +4 -1
  604. package/dest/types/shared.d.ts.map +1 -1
  605. package/dest/update-checker/index.d.ts +3 -2
  606. package/dest/update-checker/index.d.ts.map +1 -1
  607. package/dest/update-checker/index.js +2 -1
  608. package/dest/update-checker/package_version.d.ts +3 -0
  609. package/dest/update-checker/package_version.d.ts.map +1 -0
  610. package/dest/update-checker/package_version.js +11 -0
  611. package/dest/update-checker/version_checker.d.ts +25 -0
  612. package/dest/update-checker/version_checker.d.ts.map +1 -0
  613. package/dest/update-checker/version_checker.js +50 -0
  614. package/dest/validators/schemas.d.ts +38 -38
  615. package/dest/validators/schemas.d.ts.map +1 -1
  616. package/dest/validators/schemas.js +4 -3
  617. package/dest/validators/types.d.ts +3 -3
  618. package/dest/validators/types.d.ts.map +1 -1
  619. package/dest/vks/verification_key.d.ts +22 -1
  620. package/dest/vks/verification_key.d.ts.map +1 -1
  621. package/dest/vks/vk_data.d.ts +7 -1
  622. package/dest/vks/vk_data.d.ts.map +1 -1
  623. package/dest/zkpassport/index.d.ts +3 -4
  624. package/dest/zkpassport/index.d.ts.map +1 -1
  625. package/dest/zkpassport/index.js +9 -9
  626. package/package.json +29 -14
  627. package/src/abi/contract_artifact.ts +10 -10
  628. package/src/abi/decoder.ts +15 -6
  629. package/src/abi/encoder.ts +49 -6
  630. package/src/abi/event_metadata_definition.ts +2 -0
  631. package/src/abi/function_call.ts +25 -3
  632. package/src/abi/utils.ts +42 -0
  633. package/src/auth_witness/auth_witness.ts +3 -3
  634. package/src/avm/revert_code.ts +15 -0
  635. package/src/block/attestation_info.ts +9 -6
  636. package/src/block/block_data.ts +26 -0
  637. package/src/block/block_hash.ts +26 -25
  638. package/src/block/block_parameter.ts +4 -2
  639. package/src/block/body.ts +2 -1
  640. package/src/block/checkpointed_l2_block.ts +8 -58
  641. package/src/block/in_block.ts +6 -6
  642. package/src/block/index.ts +1 -2
  643. package/src/block/l2_block.ts +112 -147
  644. package/src/block/l2_block_source.ts +151 -44
  645. package/src/block/l2_block_stream/index.ts +1 -0
  646. package/src/block/l2_block_stream/interfaces.ts +15 -4
  647. package/src/block/l2_block_stream/l2_block_stream.ts +151 -39
  648. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  649. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  650. package/src/block/test/l2_tips_store_test_suite.ts +480 -36
  651. package/src/block/validate_block_result.ts +40 -35
  652. package/src/checkpoint/checkpoint.ts +73 -23
  653. package/src/checkpoint/checkpoint_data.ts +51 -0
  654. package/src/checkpoint/checkpoint_info.ts +45 -2
  655. package/src/checkpoint/index.ts +3 -0
  656. package/src/checkpoint/published_checkpoint.ts +7 -4
  657. package/src/checkpoint/validate.ts +230 -0
  658. package/src/config/index.ts +1 -0
  659. package/src/config/node-rpc-config.ts +1 -1
  660. package/src/config/sequencer-config.ts +37 -0
  661. package/src/contract/contract_address.ts +4 -4
  662. package/src/contract/contract_class.ts +3 -3
  663. package/src/contract/contract_class_id.ts +6 -5
  664. package/src/contract/index.ts +0 -2
  665. package/src/contract/interfaces/node-info.ts +3 -0
  666. package/src/contract/private_function.ts +3 -4
  667. package/src/contract/private_function_membership_proof.ts +1 -1
  668. package/src/database-version/database_version.ts +87 -0
  669. package/src/database-version/version_manager.ts +1 -77
  670. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  671. package/src/deserialization/index.ts +21 -0
  672. package/src/epoch-helpers/index.ts +13 -1
  673. package/src/file-store/local.ts +15 -5
  674. package/src/file-store/s3.ts +12 -3
  675. package/src/gas/gas_fees.ts +7 -1
  676. package/src/ha-signing/config.ts +156 -0
  677. package/src/ha-signing/index.ts +27 -0
  678. package/src/ha-signing/local_config.ts +46 -0
  679. package/src/ha-signing/types.ts +112 -0
  680. package/src/hash/hash.ts +14 -10
  681. package/src/hash/map_slot.ts +3 -2
  682. package/src/interfaces/allowed_element.ts +29 -9
  683. package/src/interfaces/api_limit.ts +2 -0
  684. package/src/interfaces/archiver.ts +32 -24
  685. package/src/interfaces/aztec-node-admin.ts +33 -6
  686. package/src/interfaces/aztec-node.ts +124 -133
  687. package/src/interfaces/block-builder.ts +64 -26
  688. package/src/interfaces/configs.ts +36 -8
  689. package/src/interfaces/l2_logs_source.ts +17 -4
  690. package/src/interfaces/merkle_tree_operations.ts +1 -1
  691. package/src/interfaces/p2p.ts +10 -25
  692. package/src/interfaces/prover-broker.ts +22 -0
  693. package/src/interfaces/prover-client.ts +22 -0
  694. package/src/interfaces/proving-job.ts +2 -11
  695. package/src/interfaces/server_circuit_prover.ts +3 -2
  696. package/src/interfaces/slasher.ts +4 -0
  697. package/src/interfaces/tx_provider.ts +2 -2
  698. package/src/interfaces/validator.ts +112 -32
  699. package/src/interfaces/world_state.ts +9 -7
  700. package/src/kernel/hints/build_note_hash_read_request_hints.ts +34 -30
  701. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  702. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  703. package/src/kernel/hints/index.ts +2 -2
  704. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  705. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  706. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  707. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  708. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  709. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  710. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  711. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  712. package/src/kernel/private_validation_requests.ts +8 -8
  713. package/src/keys/derivation.ts +15 -15
  714. package/src/keys/key_types.ts +6 -2
  715. package/src/keys/public_keys.ts +2 -2
  716. package/src/keys/utils.ts +8 -4
  717. package/src/kv-store/config.ts +36 -0
  718. package/src/kv-store/index.ts +1 -0
  719. package/src/l1-contracts/slash_factory.ts +1 -0
  720. package/src/logs/debug_log_store.ts +54 -0
  721. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  722. package/src/logs/index.ts +2 -2
  723. package/src/logs/log_id.ts +22 -18
  724. package/src/logs/pre_tag.ts +5 -5
  725. package/src/logs/public_log.ts +4 -2
  726. package/src/logs/siloed_tag.ts +10 -4
  727. package/src/logs/tag.ts +1 -1
  728. package/src/logs/tx_scoped_l2_log.ts +37 -53
  729. package/src/messaging/in_hash.ts +3 -1
  730. package/src/messaging/l2_to_l1_membership.ts +178 -52
  731. package/src/messaging/out_hash.ts +62 -21
  732. package/src/note/index.ts +0 -1
  733. package/src/note/note_dao.ts +18 -13
  734. package/src/p2p/attestation_utils.ts +59 -3
  735. package/src/p2p/block_proposal.ts +211 -46
  736. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +36 -25
  737. package/src/p2p/checkpoint_proposal.ts +370 -0
  738. package/src/p2p/client_type.ts +0 -6
  739. package/src/p2p/consensus_payload.ts +29 -18
  740. package/src/p2p/constants.ts +6 -0
  741. package/src/p2p/gossipable.ts +14 -4
  742. package/src/p2p/index.ts +4 -2
  743. package/src/p2p/message_validator.ts +14 -2
  744. package/src/p2p/peer_error.ts +7 -0
  745. package/src/p2p/signature_utils.ts +3 -1
  746. package/src/p2p/signed_txs.ts +88 -0
  747. package/src/p2p/topic_type.ts +10 -16
  748. package/src/proofs/chonk_proof.ts +9 -5
  749. package/src/rollup/block_headers_hash.ts +1 -1
  750. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  751. package/src/rollup/checkpoint_header.ts +64 -21
  752. package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
  753. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  754. package/src/rollup/root_rollup_public_inputs.ts +16 -7
  755. package/src/slashing/empire.ts +3 -1
  756. package/src/slashing/helpers.ts +8 -0
  757. package/src/slashing/tally.ts +41 -2
  758. package/src/slashing/types.ts +14 -0
  759. package/src/stats/stats.ts +0 -2
  760. package/src/tests/factories.ts +124 -54
  761. package/src/tests/jest.ts +1 -1
  762. package/src/tests/mocks.ts +251 -103
  763. package/src/timetable/index.ts +66 -0
  764. package/src/trees/public_data_leaf.ts +11 -5
  765. package/src/tx/block_header.ts +18 -4
  766. package/src/tx/global_variable_builder.ts +1 -1
  767. package/src/tx/global_variables.ts +3 -3
  768. package/src/tx/index.ts +0 -1
  769. package/src/tx/indexed_tx_effect.ts +3 -2
  770. package/src/tx/private_execution_result.ts +1 -16
  771. package/src/tx/profiling.ts +51 -9
  772. package/src/tx/protocol_contracts.ts +2 -2
  773. package/src/tx/public_simulation_output.ts +4 -0
  774. package/src/tx/simulated_tx.ts +8 -1
  775. package/src/tx/tx.ts +39 -22
  776. package/src/tx/tx_effect.ts +3 -10
  777. package/src/tx/tx_execution_request.ts +2 -0
  778. package/src/tx/tx_receipt.ts +85 -18
  779. package/src/tx/tx_request.ts +2 -2
  780. package/src/tx/validator/empty_validator.ts +1 -1
  781. package/src/tx/validator/error_texts.ts +8 -1
  782. package/src/tx/validator/tx_validator.ts +1 -1
  783. package/src/update-checker/index.ts +2 -1
  784. package/src/update-checker/package_version.ts +17 -0
  785. package/src/update-checker/version_checker.ts +65 -0
  786. package/src/validators/schemas.ts +8 -1
  787. package/src/validators/types.ts +5 -4
  788. package/src/zkpassport/index.ts +11 -12
  789. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  790. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  791. package/dest/block/l2_block_code_to_purge.js +0 -61
  792. package/dest/block/l2_block_header.d.ts +0 -98
  793. package/dest/block/l2_block_header.d.ts.map +0 -1
  794. package/dest/block/l2_block_header.js +0 -153
  795. package/dest/block/l2_block_new.d.ts +0 -135
  796. package/dest/block/l2_block_new.d.ts.map +0 -1
  797. package/dest/block/l2_block_new.js +0 -152
  798. package/dest/contract/contract_class_metadata.d.ts +0 -8
  799. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  800. package/dest/contract/contract_class_metadata.js +0 -1
  801. package/dest/contract/contract_metadata.d.ts +0 -7
  802. package/dest/contract/contract_metadata.d.ts.map +0 -1
  803. package/dest/contract/contract_metadata.js +0 -1
  804. package/dest/database-version/index.d.ts +0 -2
  805. package/dest/database-version/index.d.ts.map +0 -1
  806. package/dest/database-version/index.js +0 -1
  807. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  808. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  809. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  810. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  811. package/dest/logs/log_with_tx_data.d.ts +0 -19
  812. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  813. package/dest/logs/log_with_tx_data.js +0 -49
  814. package/dest/note/notes_filter.d.ts +0 -27
  815. package/dest/note/notes_filter.d.ts.map +0 -1
  816. package/dest/note/notes_filter.js +0 -11
  817. package/dest/p2p/block_attestation.d.ts +0 -80
  818. package/dest/p2p/block_attestation.d.ts.map +0 -1
  819. package/dest/tx/content_commitment.d.ts +0 -49
  820. package/dest/tx/content_commitment.d.ts.map +0 -1
  821. package/dest/tx/content_commitment.js +0 -90
  822. package/dest/update-checker/update-checker.d.ts +0 -49
  823. package/dest/update-checker/update-checker.d.ts.map +0 -1
  824. package/dest/update-checker/update-checker.js +0 -130
  825. package/src/block/l2_block_code_to_purge.ts +0 -88
  826. package/src/block/l2_block_header.ts +0 -246
  827. package/src/block/l2_block_new.ts +0 -207
  828. package/src/contract/contract_class_metadata.ts +0 -8
  829. package/src/contract/contract_metadata.ts +0 -7
  830. package/src/database-version/index.ts +0 -1
  831. package/src/logs/log_with_tx_data.ts +0 -46
  832. package/src/note/notes_filter.ts +0 -38
  833. package/src/tx/content_commitment.ts +0 -113
  834. package/src/update-checker/update-checker.ts +0 -166
@@ -1,27 +1,29 @@
1
1
  import {
2
- FIXED_DA_GAS,
3
- FIXED_L2_GAS,
4
2
  MAX_ENQUEUED_CALLS_PER_TX,
5
- MAX_INCLUDE_BY_TIMESTAMP_DURATION,
6
3
  MAX_NULLIFIERS_PER_TX,
7
4
  MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
5
+ MAX_TX_LIFETIME,
6
+ PRIVATE_TX_L2_GAS_OVERHEAD,
7
+ PUBLIC_TX_L2_GAS_OVERHEAD,
8
+ TX_DA_GAS_OVERHEAD,
8
9
  } from '@aztec/constants';
9
- import { makeTuple } from '@aztec/foundation/array';
10
- import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
10
+ import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
11
+ import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
11
12
  import { Buffer32 } from '@aztec/foundation/buffer';
12
13
  import { padArrayEnd, times } from '@aztec/foundation/collection';
13
14
  import { randomBytes } from '@aztec/foundation/crypto/random';
14
15
  import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
15
16
  import { Fr } from '@aztec/foundation/curves/bn254';
17
+ import { Signature } from '@aztec/foundation/eth-signature';
16
18
 
17
19
  import type { ContractArtifact } from '../abi/abi.js';
18
20
  import { PublicTxEffect } from '../avm/avm.js';
21
+ import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
19
22
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
20
23
  import { PublicDataWrite } from '../avm/public_data_write.js';
21
24
  import { RevertCode } from '../avm/revert_code.js';
22
25
  import { AztecAddress } from '../aztec-address/index.js';
23
- import { CommitteeAttestation, L2BlockHeader, L2BlockNew, PublishedL2Block } from '../block/index.js';
24
- import { L2Block } from '../block/l2_block.js';
26
+ import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
25
27
  import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
26
28
  import { Checkpoint } from '../checkpoint/checkpoint.js';
27
29
  import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
@@ -45,12 +47,14 @@ import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulate
45
47
  import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
46
48
  import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
47
49
  import { computeInHashFromL1ToL2Messages } from '../messaging/in_hash.js';
48
- import { BlockAttestation } from '../p2p/block_attestation.js';
49
50
  import { BlockProposal } from '../p2p/block_proposal.js';
51
+ import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
52
+ import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
50
53
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
51
54
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
52
55
  import { ChonkProof } from '../proofs/chonk_proof.js';
53
56
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
57
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
54
58
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
55
59
  import {
56
60
  BlockHeader,
@@ -72,9 +76,9 @@ import {
72
76
  makeAvmCircuitInputs,
73
77
  makeAztecAddress,
74
78
  makeBlockHeader,
79
+ makeCheckpointHeader,
75
80
  makeGas,
76
81
  makeGlobalVariables,
77
- makeL2BlockHeader,
78
82
  makePrivateToPublicAccumulatedData,
79
83
  makePrivateToRollupAccumulatedData,
80
84
  makeProtocolContracts,
@@ -94,12 +98,15 @@ export const mockTx = async (
94
98
  publicCalldataSize = 2,
95
99
  feePayer,
96
100
  chonkProof = ChonkProof.random(),
101
+ gasLimits,
102
+ maxFeesPerGas = new GasFees(10, 10),
97
103
  maxPriorityFeesPerGas,
98
104
  gasUsed = Gas.empty(),
99
105
  chainId = Fr.ZERO,
100
106
  version = Fr.ZERO,
101
107
  vkTreeRoot = Fr.ZERO,
102
108
  protocolContractsHash = Fr.ZERO,
109
+ anchorBlockHeader = BlockHeader.empty(),
103
110
  }: {
104
111
  numberOfNonRevertiblePublicCallRequests?: number;
105
112
  numberOfRevertiblePublicCallRequests?: number;
@@ -108,12 +115,15 @@ export const mockTx = async (
108
115
  publicCalldataSize?: number;
109
116
  feePayer?: AztecAddress;
110
117
  chonkProof?: ChonkProof;
118
+ gasLimits?: Gas;
119
+ maxFeesPerGas?: GasFees;
111
120
  maxPriorityFeesPerGas?: GasFees;
112
121
  gasUsed?: Gas;
113
122
  chainId?: Fr;
114
123
  version?: Fr;
115
124
  vkTreeRoot?: Fr;
116
125
  protocolContractsHash?: Fr;
126
+ anchorBlockHeader?: BlockHeader;
117
127
  } = {},
118
128
  ) => {
119
129
  const totalPublicCallRequests =
@@ -123,10 +133,8 @@ export const mockTx = async (
123
133
  const isForPublic = totalPublicCallRequests > 0;
124
134
  const data = PrivateKernelTailCircuitPublicInputs.empty();
125
135
  const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
126
- data.constants.txContext.gasSettings = GasSettings.default({
127
- maxFeesPerGas: new GasFees(10, 10),
128
- maxPriorityFeesPerGas,
129
- });
136
+ data.constants.anchorBlockHeader = anchorBlockHeader;
137
+ data.constants.txContext.gasSettings = GasSettings.default({ gasLimits, maxFeesPerGas, maxPriorityFeesPerGas });
130
138
  data.feePayer = feePayer ?? (await AztecAddress.random());
131
139
  data.gasUsed = gasUsed;
132
140
  data.constants.txContext.chainId = chainId;
@@ -134,8 +142,8 @@ export const mockTx = async (
134
142
  data.constants.vkTreeRoot = vkTreeRoot;
135
143
  data.constants.protocolContractsHash = protocolContractsHash;
136
144
 
137
- // Set includeByTimestamp to the maximum allowed duration from the current time.
138
- data.includeByTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_INCLUDE_BY_TIMESTAMP_DURATION);
145
+ // Set expirationTimestamp to the maximum allowed duration from the current time.
146
+ data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
139
147
 
140
148
  const publicFunctionCalldata: HashedValues[] = [];
141
149
  if (!isForPublic) {
@@ -200,8 +208,12 @@ export async function mockProcessedTx({
200
208
  feePayer,
201
209
  feePaymentPublicDataWrite,
202
210
  // The default gasUsed is the tx overhead.
203
- gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
204
211
  privateOnly = false,
212
+ gasUsed = Gas.from({
213
+ daGas: TX_DA_GAS_OVERHEAD,
214
+ l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD,
215
+ }),
216
+ avmAccumulatedData,
205
217
  ...mockTxOpts
206
218
  }: {
207
219
  seed?: number;
@@ -213,6 +225,7 @@ export async function mockProcessedTx({
213
225
  protocolContracts?: ProtocolContracts;
214
226
  feePaymentPublicDataWrite?: PublicDataWrite;
215
227
  privateOnly?: boolean;
228
+ avmAccumulatedData?: Partial<FieldsOf<AvmAccumulatedData>>;
216
229
  } & Parameters<typeof mockTx>[1] = {}) {
217
230
  seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
218
231
  anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
@@ -292,19 +305,22 @@ export async function mockProcessedTx({
292
305
  avmOutput.previousRevertibleAccumulatedDataArrayLengths =
293
306
  avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
294
307
  // Assign final data emitted from avm.
295
- avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
296
- avmOutput.accumulatedData.nullifiers = padArrayEnd(
297
- nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
298
- Fr.ZERO,
299
- MAX_NULLIFIERS_PER_TX,
300
- );
301
- avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
302
- avmOutput.accumulatedData.publicDataWrites = makeTuple(
303
- MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
304
- i => new PublicDataWrite(new Fr(i), new Fr(i + 10)),
305
- seed + 0x2000,
306
- );
307
- avmOutput.accumulatedData.publicDataWrites[0] = feePaymentPublicDataWrite;
308
+ avmOutput.accumulatedData.noteHashes = avmAccumulatedData?.noteHashes ?? revertibleData.noteHashes;
309
+ avmOutput.accumulatedData.nullifiers =
310
+ avmAccumulatedData?.nullifiers ??
311
+ padArrayEnd(
312
+ nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
313
+ Fr.ZERO,
314
+ MAX_NULLIFIERS_PER_TX,
315
+ );
316
+ avmOutput.accumulatedData.l2ToL1Msgs = avmAccumulatedData?.l2ToL1Msgs ?? revertibleData.l2ToL1Msgs;
317
+ avmOutput.accumulatedData.publicDataWrites =
318
+ avmAccumulatedData?.publicDataWrites ??
319
+ makeTuple(
320
+ MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
321
+ i => (i === 0 ? feePaymentPublicDataWrite : new PublicDataWrite(new Fr(i), new Fr(i + 10))),
322
+ seed + 0x2000,
323
+ );
308
324
  avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
309
325
  avmOutput.gasSettings = gasSettings;
310
326
  // Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
@@ -353,7 +369,6 @@ const emptyPrivateCallExecutionResult = () =>
353
369
  Buffer.from(''),
354
370
  new Map(),
355
371
  PrivateCircuitPublicInputs.empty(),
356
- new Map(),
357
372
  [],
358
373
  new Map(),
359
374
  [],
@@ -392,38 +407,50 @@ export async function mockCheckpointAndMessages(
392
407
  {
393
408
  startBlockNumber = BlockNumber(1),
394
409
  numBlocks = 1,
410
+ blocks,
395
411
  numTxsPerBlock = 1,
396
412
  numL1ToL2Messages = 1,
397
413
  makeBlockOptions = () => ({}),
398
414
  previousArchive,
415
+ maxEffects,
399
416
  ...options
400
417
  }: {
401
418
  startBlockNumber?: BlockNumber;
402
419
  numBlocks?: number;
403
420
  numTxsPerBlock?: number;
404
421
  numL1ToL2Messages?: number;
405
- makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2BlockNew.random>[1]>;
422
+ makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2Block.random>[1]>;
406
423
  previousArchive?: AppendOnlyTreeSnapshot;
424
+ blocks?: L2Block[];
425
+ maxEffects?: number;
407
426
  } & Partial<Parameters<typeof Checkpoint.random>[1]> &
408
- Partial<Parameters<typeof L2BlockNew.random>[1]> = {},
427
+ Partial<Parameters<typeof L2Block.random>[1]> = {},
409
428
  ) {
410
- const slotNumber = options.slotNumber ?? SlotNumber(checkpointNumber * 10);
429
+ const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
430
+ const globals = GlobalVariables.random({ slotNumber, ...options });
411
431
  const blocksAndMessages = [];
432
+
412
433
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
413
434
  // The current block's header.lastArchive must equal the previous block's archive.
414
435
  let lastArchive: AppendOnlyTreeSnapshot | undefined = previousArchive;
415
- for (let i = 0; i < numBlocks; i++) {
436
+
437
+ // Pass maxEffects via txOptions so it reaches TxEffect.random
438
+ const txOptions = maxEffects !== undefined ? { maxEffects } : {};
439
+ for (let i = 0; i < (blocks?.length ?? numBlocks); i++) {
416
440
  const blockNumber = BlockNumber(startBlockNumber + i);
417
441
  const { block, messages } = {
418
- block: await L2BlockNew.random(blockNumber, {
419
- checkpointNumber,
420
- indexWithinCheckpoint: i,
421
- txsPerBlock: numTxsPerBlock,
422
- slotNumber,
423
- ...options,
424
- ...makeBlockOptions(blockNumber),
425
- ...(lastArchive ? { lastArchive } : {}),
426
- }),
442
+ block:
443
+ blocks?.[i] ??
444
+ (await L2Block.random(blockNumber, {
445
+ ...globals,
446
+ checkpointNumber,
447
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
448
+ txsPerBlock: numTxsPerBlock,
449
+ txOptions,
450
+ ...options,
451
+ ...makeBlockOptions(blockNumber),
452
+ ...(lastArchive ? { lastArchive } : {}),
453
+ })),
427
454
  messages: mockL1ToL2Messages(numL1ToL2Messages),
428
455
  };
429
456
  // Update lastArchive for the next block
@@ -433,12 +460,18 @@ export async function mockCheckpointAndMessages(
433
460
 
434
461
  const messages = blocksAndMessages[0].messages;
435
462
  const inHash = computeInHashFromL1ToL2Messages(messages);
436
- const checkpoint = await Checkpoint.random(checkpointNumber, { numBlocks: 0, slotNumber, inHash, ...options });
463
+ const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
464
+ const checkpoint = await Checkpoint.random(checkpointNumber, {
465
+ numBlocks: 0,
466
+ inHash,
467
+ ...options,
468
+ ...globals,
469
+ lastArchive: firstBlockLastArchive,
470
+ lastArchiveRoot: firstBlockLastArchive.root,
471
+ archive: lastArchive,
472
+ });
473
+
437
474
  checkpoint.blocks = blocksAndMessages.map(({ block }) => block);
438
- // Set the checkpoint's archive to match the last block's archive for proper chaining.
439
- // When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
440
- // from the L1 event to set the last block's archive. Without this, the archive chain breaks.
441
- checkpoint.archive = lastArchive!;
442
475
 
443
476
  // Return lastArchive so callers can chain it across multiple checkpoints
444
477
  return { checkpoint, messages, lastArchive };
@@ -481,28 +514,55 @@ export interface MakeConsensusPayloadOptions {
481
514
  signer?: Secp256k1Signer;
482
515
  attesterSigner?: Secp256k1Signer;
483
516
  proposerSigner?: Secp256k1Signer;
484
- header?: L2BlockHeader;
517
+ header?: CheckpointHeader;
485
518
  archive?: Fr;
486
519
  txHashes?: TxHash[];
487
520
  txs?: Tx[];
521
+ feeAssetPriceModifier?: bigint;
488
522
  }
489
523
 
524
+ export interface MakeBlockProposalOptions {
525
+ signer?: Secp256k1Signer;
526
+ blockHeader?: BlockHeader;
527
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
528
+ inHash?: Fr;
529
+ archiveRoot?: Fr;
530
+ txHashes?: TxHash[];
531
+ txs?: Tx[];
532
+ }
533
+
534
+ export interface MakeCheckpointProposalOptions {
535
+ signer?: Secp256k1Signer;
536
+ checkpointHeader?: CheckpointHeader;
537
+ archiveRoot?: Fr;
538
+ feeAssetPriceModifier?: bigint;
539
+ /** Options for the lastBlock - if undefined, no lastBlock is included */
540
+ lastBlock?: {
541
+ blockHeader?: BlockHeader;
542
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
543
+ txHashes?: TxHash[];
544
+ txs?: Tx[];
545
+ };
546
+ }
547
+
548
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
490
549
  const makeAndSignConsensusPayload = (
491
550
  domainSeparator: SignatureDomainSeparator,
492
551
  options?: MakeConsensusPayloadOptions,
493
552
  ) => {
494
- const header = options?.header ?? makeL2BlockHeader(1);
495
- const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
553
+ const header = options?.header ?? makeCheckpointHeader(1);
554
+ const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
496
555
 
497
556
  const payload = ConsensusPayload.fromFields({
498
- header: header.toCheckpointHeader(),
557
+ header,
499
558
  archive,
559
+ feeAssetPriceModifier,
500
560
  });
501
561
 
502
562
  const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
503
563
  const signature = signer.sign(hash);
504
564
 
505
- return { blockNumber: header.globalVariables.blockNumber, payload, signature };
565
+ return { blockNumber: header.slotNumber, payload, signature };
506
566
  };
507
567
 
508
568
  export const makeAndSignCommitteeAttestationsAndSigners = (
@@ -516,79 +576,157 @@ export const makeAndSignCommitteeAttestationsAndSigners = (
516
576
  return signer.sign(hash);
517
577
  };
518
578
 
519
- export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockProposal => {
520
- const { payload, signature } = makeAndSignConsensusPayload(SignatureDomainSeparator.blockProposal, options);
579
+ export const makeBlockProposal = (options?: MakeBlockProposalOptions): Promise<BlockProposal> => {
580
+ const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
581
+ const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
582
+ const inHash = options?.inHash ?? Fr.random();
583
+ const archiveRoot = options?.archiveRoot ?? Fr.random();
521
584
  const txHashes = options?.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random());
522
- return new BlockProposal(payload, signature, txHashes, options?.txs ?? []);
585
+ const txs = options?.txs;
586
+ const signer = options?.signer ?? Secp256k1Signer.random();
587
+
588
+ return BlockProposal.createProposalFromSigner(
589
+ blockHeader,
590
+ indexWithinCheckpoint,
591
+ inHash,
592
+ archiveRoot,
593
+ txHashes,
594
+ txs,
595
+ (_payload, _context) => Promise.resolve(signer.signMessage(_payload)),
596
+ );
523
597
  };
524
598
 
525
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
526
- export const makeBlockAttestation = (options: MakeConsensusPayloadOptions = {}): BlockAttestation => {
527
- const header = options.header ?? makeL2BlockHeader(1);
528
- const { signer, attesterSigner = signer, proposerSigner = signer, archive = Fr.random() } = options;
599
+ export const makeCheckpointProposal = (options?: MakeCheckpointProposalOptions): Promise<CheckpointProposal> => {
600
+ const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
601
+ const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
602
+ const archiveRoot = options?.archiveRoot ?? Fr.random();
603
+ const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
604
+ const signer = options?.signer ?? Secp256k1Signer.random();
605
+
606
+ // Build lastBlock info if provided
607
+ const lastBlockInfo = options?.lastBlock
608
+ ? {
609
+ blockHeader,
610
+ indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4), // Last block in a 5-block checkpoint
611
+ txHashes: options.lastBlock.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
612
+ txs: options.lastBlock.txs,
613
+ }
614
+ : undefined;
615
+
616
+ return CheckpointProposal.createProposalFromSigner(
617
+ checkpointHeader,
618
+ archiveRoot,
619
+ feeAssetPriceModifier,
620
+ lastBlockInfo,
621
+ payload => Promise.resolve(signer.signMessage(payload)),
622
+ );
623
+ };
529
624
 
530
- const payload = ConsensusPayload.fromFields({
531
- header: header.toCheckpointHeader(),
532
- archive,
533
- });
625
+ /**
626
+ * Options for creating a checkpoint attestation
627
+ */
628
+ export type MakeCheckpointAttestationOptions = {
629
+ header?: CheckpointHeader;
630
+ archive?: Fr;
631
+ feeAssetPriceModifier?: bigint;
632
+ attesterSigner?: Secp256k1Signer;
633
+ proposerSigner?: Secp256k1Signer;
634
+ signer?: Secp256k1Signer;
635
+ };
636
+
637
+ /**
638
+ * Create a checkpoint attestation for testing
639
+ */
640
+ export const makeCheckpointAttestation = (options: MakeCheckpointAttestationOptions = {}): CheckpointAttestation => {
641
+ const header = options.header ?? makeCheckpointHeader(1);
642
+ const archive = options.archive ?? Fr.random();
643
+ const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
644
+ const { signer, attesterSigner = signer, proposerSigner = signer } = options;
645
+
646
+ const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier);
647
+
648
+ // Sign as attester
649
+ const attestationHash = getHashedSignaturePayloadEthSignedMessage(
650
+ payload,
651
+ SignatureDomainSeparator.checkpointAttestation,
652
+ );
653
+ const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
654
+ const attestationSignature = attestationSigner.sign(attestationHash);
534
655
 
535
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
656
+ // Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
657
+ // This is different from ConsensusPayload's format (ABI encoding)
658
+ const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
659
+ const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty());
660
+ const proposalHash = getHashedSignaturePayloadEthSignedMessage(
661
+ tempProposal,
662
+ SignatureDomainSeparator.checkpointProposal,
663
+ );
664
+ const proposerSignature = proposalSignerToUse.sign(proposalHash);
665
+
666
+ return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
536
667
  };
537
668
 
538
- export const makeAttestationFromCheckpoint = (
539
- checkpoint: Checkpoint,
669
+ /**
670
+ * Create a checkpoint attestation from a checkpoint proposal
671
+ */
672
+ export const makeCheckpointAttestationFromProposal = (
673
+ proposal: CheckpointProposal,
540
674
  attesterSigner?: Secp256k1Signer,
541
- proposerSigner?: Secp256k1Signer,
542
- ): BlockAttestation => {
543
- const header = checkpoint.header;
544
- const archive = checkpoint.archive.root;
675
+ ): CheckpointAttestation => {
676
+ const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier);
545
677
 
546
- const payload = ConsensusPayload.fromFields({
547
- header,
548
- archive,
549
- });
678
+ // Sign as attester
679
+ const attestationHash = getHashedSignaturePayloadEthSignedMessage(
680
+ payload,
681
+ SignatureDomainSeparator.checkpointAttestation,
682
+ );
683
+ const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
684
+ const attestationSignature = attestationSigner.sign(attestationHash);
550
685
 
551
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
686
+ // Use the proposal's signature as the proposer signature
687
+ return new CheckpointAttestation(payload, attestationSignature, proposal.signature);
552
688
  };
553
689
 
554
- export const makeBlockAttestationFromBlock = (
555
- block: L2Block,
690
+ /**
691
+ * Create a checkpoint attestation from a checkpoint
692
+ */
693
+ export const makeCheckpointAttestationFromCheckpoint = (
694
+ checkpoint: Checkpoint,
556
695
  attesterSigner?: Secp256k1Signer,
557
696
  proposerSigner?: Secp256k1Signer,
558
- ): BlockAttestation => {
559
- const header = block.header;
560
- const archive = block.archive.root;
561
-
562
- const payload = ConsensusPayload.fromFields({
563
- header: header.toCheckpointHeader(),
564
- archive,
565
- });
697
+ ): CheckpointAttestation => {
698
+ const header = checkpoint.header;
699
+ const archive = checkpoint.archive.root;
700
+ const feeAssetPriceModifier = checkpoint.feeAssetPriceModifier;
566
701
 
567
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
702
+ return makeCheckpointAttestation({ header, archive, feeAssetPriceModifier, attesterSigner, proposerSigner });
568
703
  };
569
704
 
570
- export const makeBlockAttestationFromPayload = (
571
- payload: ConsensusPayload,
705
+ /**
706
+ * Create a checkpoint attestation from an L2Block
707
+ * Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
708
+ */
709
+ export const makeCheckpointAttestationFromBlock = (
710
+ block: L2Block,
572
711
  attesterSigner?: Secp256k1Signer,
573
712
  proposerSigner?: Secp256k1Signer,
574
- ): BlockAttestation => {
575
- // Sign as attester
576
- const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
577
- const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
578
- const attestationSignature = attestationSigner.sign(attestationHash);
579
-
580
- // Sign as proposer
581
- const proposalHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockProposal);
582
- const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
583
- const proposerSignature = proposalSignerToUse.sign(proposalHash);
713
+ ): CheckpointAttestation => {
714
+ // For L2Block, we create a minimal checkpoint header for testing purposes
715
+ const header = CheckpointHeader.empty({
716
+ lastArchiveRoot: block.header.lastArchive.root,
717
+ slotNumber: block.slot,
718
+ timestamp: block.timestamp,
719
+ blockHeadersHash: Fr.ZERO, // Would need to compute from block header hash
720
+ });
721
+ const archive = block.archive.root;
584
722
 
585
- return new BlockAttestation(payload, attestationSignature, proposerSignature);
723
+ return makeCheckpointAttestation({ header, archive, attesterSigner, proposerSigner });
586
724
  };
587
725
 
588
726
  export async function randomPublishedL2Block(
589
727
  l2BlockNumber: number,
590
728
  opts: { signers?: Secp256k1Signer[] } = {},
591
- ): Promise<PublishedL2Block> {
729
+ ): Promise<CheckpointedL2Block> {
592
730
  const block = await L2Block.random(BlockNumber(l2BlockNumber));
593
731
  const l1 = L1PublishedData.fromFields({
594
732
  blockNumber: BigInt(block.number),
@@ -597,9 +735,19 @@ export async function randomPublishedL2Block(
597
735
  });
598
736
 
599
737
  const signers = opts.signers ?? times(3, () => Secp256k1Signer.random());
600
- const atts = await Promise.all(signers.map(signer => makeBlockAttestationFromBlock(block, signer)));
738
+ const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
739
+ numBlocks: 0,
740
+ });
741
+ checkpoint.blocks = [block];
742
+ const atts = signers.map(signer =>
743
+ makeCheckpointAttestation({
744
+ signer,
745
+ archive: block.archive.root,
746
+ header: checkpoint.header,
747
+ }),
748
+ );
601
749
  const attestations = atts.map(
602
750
  (attestation, i) => new CommitteeAttestation(signers[i].address, attestation.signature),
603
751
  );
604
- return new PublishedL2Block(block, l1, attestations);
752
+ return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
605
753
  }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Timetable constants used for sequencer timing calculations.
3
+ * These define the time budgets for various phases of block production.
4
+ *
5
+ * The sequencer slot is divided into phases:
6
+ * 1. Checkpoint initialization (sync + proposer check)
7
+ * 2. Block building (execution)
8
+ * 3. Checkpoint assembly
9
+ * 4. P2P propagation for proposal and attestations (round-trip)
10
+ * 5. L1 publishing
11
+ */
12
+
13
+ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */
14
+ export const CHECKPOINT_INITIALIZATION_TIME = 1;
15
+
16
+ /** Time budget for assembling a checkpoint after building the last block in seconds */
17
+ export const CHECKPOINT_ASSEMBLE_TIME = 1;
18
+
19
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */
20
+ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
21
+
22
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */
23
+ export const DEFAULT_L1_PUBLISHING_TIME = 12;
24
+
25
+ /** Minimum execution time for building a block in seconds */
26
+ export const MIN_EXECUTION_TIME = 2;
27
+
28
+ /**
29
+ * Calculates the maximum number of blocks that can be built in a slot.
30
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
31
+ *
32
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
33
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
34
+ * @param opts - Optional overrides for timing constants
35
+ * @returns Maximum number of blocks per slot
36
+ */
37
+ export function calculateMaxBlocksPerSlot(
38
+ aztecSlotDurationSec: number,
39
+ blockDurationSec: number | undefined,
40
+ opts: {
41
+ checkpointInitializationTime?: number;
42
+ checkpointAssembleTime?: number;
43
+ p2pPropagationTime?: number;
44
+ l1PublishingTime?: number;
45
+ } = {},
46
+ ): number {
47
+ if (!blockDurationSec) {
48
+ return 1; // Single block per slot
49
+ }
50
+
51
+ const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
52
+ const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
53
+ const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
54
+ const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
55
+
56
+ // Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
57
+ const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
58
+
59
+ // Time reserved at end for last sub-slot (validator re-execution) + finalization
60
+ const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
61
+
62
+ // Time available for building blocks
63
+ const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
64
+
65
+ return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
66
+ }
@@ -1,4 +1,5 @@
1
1
  import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { schemas } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -81,11 +82,15 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
81
82
  toHashInputs(): Buffer[] {
82
83
  return [
83
84
  ...this.leaf.toHashInputs(),
84
- Buffer.from(toBufferBE(this.nextIndex, 32)),
85
85
  Buffer.from(this.nextKey.toBuffer()),
86
+ Buffer.from(toBufferBE(this.nextIndex, 32)),
86
87
  ];
87
88
  }
88
89
 
90
+ hash(): Promise<Fr> {
91
+ return poseidon2Hash(this.toHashInputs());
92
+ }
93
+
89
94
  clone(): PublicDataTreeLeafPreimage {
90
95
  return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
91
96
  }
@@ -104,10 +109,11 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
104
109
 
105
110
  static fromBuffer(buffer: Buffer | BufferReader): PublicDataTreeLeafPreimage {
106
111
  const reader = BufferReader.asReader(buffer);
107
- const value = PublicDataTreeLeaf.fromBuffer(reader);
108
- const nextIndex = toBigIntBE(reader.readBytes(32));
109
- const nextSlot = Fr.fromBuffer(reader);
110
- return new PublicDataTreeLeafPreimage(value, nextSlot, nextIndex);
112
+ return new PublicDataTreeLeafPreimage(
113
+ PublicDataTreeLeaf.fromBuffer(reader),
114
+ Fr.fromBuffer(reader),
115
+ toBigIntBE(reader.readBytes(32)),
116
+ );
111
117
  }
112
118
 
113
119
  static fromLeaf(leaf: PublicDataTreeLeaf, nextKey: bigint, nextIndex: bigint): PublicDataTreeLeafPreimage {