@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
@@ -13,6 +13,8 @@ export interface SequencerConfig {
13
13
  sequencerPollingIntervalMS?: number;
14
14
  /** The maximum number of txs to include in a block. */
15
15
  maxTxsPerBlock?: number;
16
+ /** The maximum number of txs across all blocks in a checkpoint. */
17
+ maxTxsPerCheckpoint?: number;
16
18
  /** The minimum number of txs to include in a block. */
17
19
  minTxsPerBlock?: number;
18
20
  /** The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock. */
@@ -23,6 +25,8 @@ export interface SequencerConfig {
23
25
  maxL2BlockGas?: number;
24
26
  /** The maximum DA block gas. */
25
27
  maxDABlockGas?: number;
28
+ /** Per-block gas budget multiplier for both L2 and DA gas. Budget = (checkpointLimit / maxBlocks) * multiplier. */
29
+ perBlockAllocationMultiplier?: number;
26
30
  /** Recipient of block reward. */
27
31
  coinbase?: EthAddress;
28
32
  /** Address to receive fees. */
@@ -31,10 +35,8 @@ export interface SequencerConfig {
31
35
  acvmWorkingDirectory?: string;
32
36
  /** The path to the ACVM binary */
33
37
  acvmBinaryPath?: string;
34
- /** The list of functions calls allowed to run in setup */
35
- txPublicSetupAllowList?: AllowedElement[];
36
- /** Max block size */
37
- maxBlockSizeInBytes?: number;
38
+ /** Additional entries to extend the default setup allow list. */
39
+ txPublicSetupAllowListExtend?: AllowedElement[];
38
40
  /** Payload address to vote for */
39
41
  governanceProposerPayload?: EthAddress;
40
42
  /** Whether to enforce the time table when building blocks */
@@ -59,31 +61,44 @@ export interface SequencerConfig {
59
61
  broadcastInvalidBlockProposal?: boolean;
60
62
  /** Inject a fake attestation (for testing only) */
61
63
  injectFakeAttestation?: boolean;
64
+ /** Inject a malleable attestation with a high-s value (for testing only) */
65
+ injectHighSValueAttestation?: boolean;
66
+ /** Inject an attestation with an unrecoverable signature (for testing only) */
67
+ injectUnrecoverableSignatureAttestation?: boolean;
62
68
  /** Whether to run in fisherman mode: builds blocks on every slot for validation without publishing */
63
69
  fishermanMode?: boolean;
64
70
  /** Shuffle attestation ordering to create invalid ordering (for testing only) */
65
71
  shuffleAttestationOrdering?: boolean;
66
72
  /** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
67
73
  blockDurationMs?: number;
74
+ /** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
75
+ expectedBlockProposalsPerSlot?: number;
68
76
  /** Have sequencer build and publish an empty checkpoint if there are no txs */
69
77
  buildCheckpointIfEmpty?: boolean;
78
+ /** Skip pushing proposed blocks to archiver (default: false) */
79
+ skipPushProposedBlocksToArchiver?: boolean;
80
+ /** Minimum number of blocks required for a checkpoint proposal (test only, defaults to undefined = no minimum) */
81
+ minBlocksForCheckpoint?: number;
82
+ /** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
83
+ skipPublishingCheckpointsPercent?: number;
70
84
  }
71
85
 
72
86
  export const SequencerConfigSchema = zodFor<SequencerConfig>()(
73
87
  z.object({
74
88
  sequencerPollingIntervalMS: z.number().optional(),
75
89
  maxTxsPerBlock: z.number().optional(),
90
+ maxTxsPerCheckpoint: z.number().optional(),
76
91
  minValidTxsPerBlock: z.number().optional(),
77
92
  minTxsPerBlock: z.number().optional(),
78
93
  maxL2BlockGas: z.number().optional(),
79
94
  publishTxsWithProposals: z.boolean().optional(),
80
95
  maxDABlockGas: z.number().optional(),
96
+ perBlockAllocationMultiplier: z.number().optional(),
81
97
  coinbase: schemas.EthAddress.optional(),
82
98
  feeRecipient: schemas.AztecAddress.optional(),
83
99
  acvmWorkingDirectory: z.string().optional(),
84
100
  acvmBinaryPath: z.string().optional(),
85
- txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
86
- maxBlockSizeInBytes: z.number().optional(),
101
+ txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
87
102
  governanceProposerPayload: schemas.EthAddress.optional(),
88
103
  l1PublishingTime: z.number().optional(),
89
104
  enforceTimeTable: z.boolean().optional(),
@@ -96,16 +111,23 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
96
111
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
97
112
  broadcastInvalidBlockProposal: z.boolean().optional(),
98
113
  injectFakeAttestation: z.boolean().optional(),
114
+ injectHighSValueAttestation: z.boolean().optional(),
115
+ injectUnrecoverableSignatureAttestation: z.boolean().optional(),
99
116
  fishermanMode: z.boolean().optional(),
100
117
  shuffleAttestationOrdering: z.boolean().optional(),
101
118
  blockDurationMs: z.number().positive().optional(),
119
+ expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
102
120
  buildCheckpointIfEmpty: z.boolean().optional(),
121
+ skipPushProposedBlocksToArchiver: z.boolean().optional(),
122
+ minBlocksForCheckpoint: z.number().positive().optional(),
123
+ skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
103
124
  }),
104
125
  );
105
126
 
106
127
  type SequencerConfigOptionalKeys =
107
128
  | 'governanceProposerPayload'
108
129
  | 'blockDurationMs'
130
+ | 'expectedBlockProposalsPerSlot'
109
131
  | 'coinbase'
110
132
  | 'feeRecipient'
111
133
  | 'acvmWorkingDirectory'
@@ -113,8 +135,14 @@ type SequencerConfigOptionalKeys =
113
135
  | 'fakeProcessingDelayPerTxMs'
114
136
  | 'fakeThrowAfterProcessingTxCount'
115
137
  | 'l1PublishingTime'
116
- | 'txPublicSetupAllowList'
117
- | 'minValidTxsPerBlock';
138
+ | 'txPublicSetupAllowListExtend'
139
+ | 'minValidTxsPerBlock'
140
+ | 'minBlocksForCheckpoint'
141
+ | 'maxTxsPerBlock'
142
+ | 'maxTxsPerCheckpoint'
143
+ | 'maxL2BlockGas'
144
+ | 'maxDABlockGas'
145
+ | 'perBlockAllocationMultiplier';
118
146
 
119
147
  export type ResolvedSequencerConfig = Prettify<
120
148
  Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>
@@ -12,16 +12,29 @@ import type { GetContractClassLogsResponse, GetPublicLogsResponse } from './get_
12
12
  */
13
13
  export interface L2LogsSource {
14
14
  /**
15
- * Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
15
+ * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
16
16
  * array implies no logs match that tag.
17
+ * @param tags - The tags to search for.
18
+ * @param page - The page number (0-indexed) for pagination.
19
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
20
+ * for a tag, the caller should fetch the next page to check for more logs.
17
21
  */
18
- getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
22
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
19
23
 
20
24
  /**
21
- * Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
25
+ * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
22
26
  * logs is returned. An empty array implies no logs match that tag.
27
+ * @param contractAddress - The contract address to search logs for.
28
+ * @param tags - The tags to search for.
29
+ * @param page - The page number (0-indexed) for pagination.
30
+ * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
31
+ * for a tag, the caller should fetch the next page to check for more logs.
23
32
  */
24
- getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
33
+ getPublicLogsByTagsFromContract(
34
+ contractAddress: AztecAddress,
35
+ tags: Tag[],
36
+ page?: number,
37
+ ): Promise<TxScopedL2Log[][]>;
25
38
 
26
39
  /**
27
40
  * Gets public logs based on the provided filter.
@@ -254,7 +254,7 @@ export interface MerkleTreeCheckpointOperations {
254
254
  export interface MerkleTreeWriteOperations
255
255
  extends MerkleTreeReadOperations,
256
256
  MerkleTreeCheckpointOperations,
257
- Disposable {
257
+ AsyncDisposable {
258
258
  /**
259
259
  * Appends leaves to a given tree.
260
260
  * @param treeId - The tree to be updated.
@@ -2,8 +2,7 @@ import type { SlotNumber } from '@aztec/foundation/branded-types';
2
2
 
3
3
  import { z } from 'zod';
4
4
 
5
- import { BlockAttestation } from '../p2p/block_attestation.js';
6
- import type { P2PClientType } from '../p2p/client_type.js';
5
+ import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
7
6
  import { type ApiSchemaFor, optional, schemas } from '../schemas/index.js';
8
7
  import { Tx } from '../tx/tx.js';
9
8
  import { TxHash } from '../tx/tx_hash.js';
@@ -27,7 +26,7 @@ const PeerInfoSchema = z.discriminatedUnion('status', [
27
26
  ]);
28
27
 
29
28
  /** Exposed API to the P2P module. */
30
- export interface P2PApiWithoutAttestations {
29
+ export interface P2PApi {
31
30
  /**
32
31
  * Returns all pending transactions in the transaction pool.
33
32
  * @param limit - The number of items to returns
@@ -48,40 +47,27 @@ export interface P2PApiWithoutAttestations {
48
47
  * Returns info for all connected, dialing, and cached peers.
49
48
  */
50
49
  getPeers(includePending?: boolean): Promise<PeerInfo[]>;
51
- }
52
50
 
53
- export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
54
51
  /**
55
- * Queries the Attestation pool for attestations for the given slot
52
+ * Queries the Attestation pool for checkpoint attestations for the given slot
56
53
  *
57
54
  * @param slot - the slot to query
58
55
  * @param proposalId - the proposal id to query, or undefined to query all proposals for the slot
59
- * @returns BlockAttestations
56
+ * @returns CheckpointAttestations
60
57
  */
61
- getAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise<BlockAttestation[]>;
62
-
63
- /** Deletes a given attestation manually from the p2p client attestation pool. */
64
- deleteAttestation(attestation: BlockAttestation): Promise<void>;
58
+ getCheckpointAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise<CheckpointAttestation[]>;
65
59
  }
66
60
 
67
- export interface P2PClient extends P2PApiWithAttestations {
68
- /** Manually adds an attestation to the p2p client attestation pool. */
69
- addAttestations(attestations: BlockAttestation[]): Promise<void>;
61
+ export interface P2PClient extends P2PApi {
62
+ /** Manually adds checkpoint attestations to the p2p client attestation pool. */
63
+ addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
70
64
  }
71
65
 
72
- export type P2PApi<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
73
- ? P2PApiWithAttestations
74
- : P2PApiWithoutAttestations;
75
-
76
- export type P2PApiFull<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
77
- ? P2PApiWithAttestations & P2PClient
78
- : P2PApiWithoutAttestations;
79
-
80
66
  export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
81
- getAttestationsForSlot: z
67
+ getCheckpointAttestationsForSlot: z
82
68
  .function()
83
69
  .args(schemas.SlotNumber, optional(z.string()))
84
- .returns(z.array(BlockAttestation.schema)),
70
+ .returns(z.array(CheckpointAttestation.schema)),
85
71
  getPendingTxs: z
86
72
  .function()
87
73
  .args(optional(z.number().gte(1).lte(MAX_RPC_TXS_LEN).default(MAX_RPC_TXS_LEN)), optional(TxHash.schema))
@@ -90,5 +76,4 @@ export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
90
76
  getPendingTxCount: z.function().returns(schemas.Integer),
91
77
  getEncodedEnr: z.function().returns(z.string().optional()),
92
78
  getPeers: z.function().args(optional(z.boolean())).returns(z.array(PeerInfoSchema)),
93
- deleteAttestation: z.function().args(BlockAttestation.schema).returns(z.void()),
94
79
  };
@@ -1,3 +1,5 @@
1
+ import type { EpochNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import type { ProvingRequestType } from '../proofs/proving_request_type.js';
2
4
  import type { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus } from './proving-job.js';
3
5
 
@@ -88,3 +90,23 @@ export interface ProvingJobConsumer {
88
90
  }
89
91
 
90
92
  export interface ProvingJobBroker extends ProvingJobProducer, ProvingJobConsumer {}
93
+
94
+ /**
95
+ * Debug interface for replaying proving jobs from stored inputs.
96
+ * Used for benchmarking different agent configurations against the same workload.
97
+ */
98
+ export interface ProvingJobBrokerDebug {
99
+ /**
100
+ * Replays a proving job by re-enqueuing it with inputs from the configured proof store.
101
+ * The proof type is parsed from the job ID (format: epoch:typeName:hash).
102
+ * @param jobId - The original job ID to replay
103
+ * @param epochNumber - The epoch number to assign
104
+ * @param inputsUri - The proof inputs location
105
+ */
106
+ replayProvingJob(
107
+ jobId: ProvingJobId,
108
+ type: ProvingRequestType,
109
+ epochNumber: EpochNumber,
110
+ inputsUri: ProofUri,
111
+ ): Promise<ProvingJobStatus>;
112
+ }
@@ -17,6 +17,12 @@ export type ActualProverConfig = {
17
17
  proverTestDelayMs: number;
18
18
  /** If using realistic delays, what percentage of realistic times to apply. */
19
19
  proverTestDelayFactor: number;
20
+ /**
21
+ * Whether to abort pending proving jobs when the orchestrator is cancelled.
22
+ * When false (default), jobs remain in the broker queue and can be reused on restart/reorg.
23
+ * When true, jobs are explicitly cancelled with the broker, which prevents reuse.
24
+ */
25
+ cancelJobsOnStop: boolean;
20
26
  };
21
27
 
22
28
  /**
@@ -29,6 +35,8 @@ export type ProverConfig = ActualProverConfig & {
29
35
  proverId?: EthAddress;
30
36
  /** Number of proving agents to start within the prover. */
31
37
  proverAgentCount: number;
38
+ /** Where to store proving request. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */
39
+ proofStore?: string;
32
40
  /** Store for failed proof inputs. */
33
41
  failedProofStore?: string;
34
42
  };
@@ -42,7 +50,9 @@ export const ProverConfigSchema = zodFor<ProverConfig>()(
42
50
  proverTestDelayMs: z.number(),
43
51
  proverTestDelayFactor: z.number(),
44
52
  proverAgentCount: z.number(),
53
+ proofStore: z.string().optional(),
45
54
  failedProofStore: z.string().optional(),
55
+ cancelJobsOnStop: z.boolean(),
46
56
  }),
47
57
  );
48
58
 
@@ -80,11 +90,23 @@ export const proverConfigMappings: ConfigMappingsType<ProverConfig> = {
80
90
  description: 'The number of prover agents to start',
81
91
  ...numberConfigHelper(1),
82
92
  },
93
+ proofStore: {
94
+ env: 'PROVER_PROOF_STORE',
95
+ description: 'Optional proof input store for the prover',
96
+ },
83
97
  failedProofStore: {
84
98
  env: 'PROVER_FAILED_PROOF_STORE',
85
99
  description:
86
100
  'Store for failed proof inputs. Google cloud storage is only supported at the moment. Set this value as gs://bucket-name/path/to/store.',
87
101
  },
102
+ cancelJobsOnStop: {
103
+ env: 'PROVER_CANCEL_JOBS_ON_STOP',
104
+ description:
105
+ 'Whether to abort pending proving jobs when the orchestrator is cancelled. ' +
106
+ 'When false (default), jobs remain in the broker queue and can be reused on restart/reorg. ' +
107
+ 'When true, jobs are explicitly cancelled with the broker, which prevents reuse.',
108
+ ...booleanConfigHelper(false),
109
+ },
88
110
  };
89
111
 
90
112
  function parseProverId(str?: string) {
@@ -47,15 +47,6 @@ export type ProofAndVerificationKey<N extends number> = {
47
47
  verificationKey: VerificationKeyData;
48
48
  };
49
49
 
50
- function schemaForRecursiveProofAndVerificationKey<N extends number>(
51
- proofLength: N,
52
- ): ZodFor<ProofAndVerificationKey<N>> {
53
- return z.object({
54
- proof: RecursiveProof.schemaFor(proofLength),
55
- verificationKey: VerificationKeyData.schema,
56
- });
57
- }
58
-
59
50
  export function makeProofAndVerificationKey<N extends number>(
60
51
  proof: RecursiveProof<N>,
61
52
  verificationKey: VerificationKeyData,
@@ -213,7 +204,7 @@ export type ProvingJobInputsMap = {
213
204
  export const ProvingJobResult = z.discriminatedUnion('type', [
214
205
  z.object({
215
206
  type: z.literal(ProvingRequestType.PUBLIC_VM),
216
- result: schemaForRecursiveProofAndVerificationKey(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
207
+ result: RecursiveProof.schemaFor(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
217
208
  }),
218
209
  z.object({
219
210
  type: z.literal(ProvingRequestType.PUBLIC_CHONK_VERIFIER),
@@ -328,7 +319,7 @@ export const ProvingJobResult = z.discriminatedUnion('type', [
328
319
  ]);
329
320
  export type ProvingJobResult = z.infer<typeof ProvingJobResult>;
330
321
  export type ProvingJobResultsMap = {
331
- [ProvingRequestType.PUBLIC_VM]: ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
322
+ [ProvingRequestType.PUBLIC_VM]: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
332
323
  [ProvingRequestType.PUBLIC_CHONK_VERIFIER]: PublicInputsAndRecursiveProof<
333
324
  PublicChonkVerifierPublicInputs,
334
325
  typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
@@ -9,6 +9,7 @@ import type { AvmCircuitInputs } from '../avm/avm.js';
9
9
  import type { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
10
10
  import type { ParityPublicInputs } from '../parity/parity_public_inputs.js';
11
11
  import type { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
12
+ import type { RecursiveProof } from '../proofs/recursive_proof.js';
12
13
  import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
13
14
  import type { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
14
15
  import type {
@@ -34,7 +35,7 @@ import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs
34
35
  import type { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
35
36
  import type { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
36
37
  import type { Tx } from '../tx/tx.js';
37
- import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js';
38
+ import type { PublicInputsAndRecursiveProof } from './proving-job.js';
38
39
 
39
40
  /**
40
41
  * Generates proofs for parity and rollup circuits.
@@ -188,7 +189,7 @@ export interface ServerCircuitProver {
188
189
  inputs: AvmCircuitInputs,
189
190
  signal?: AbortSignal,
190
191
  epochNumber?: number,
191
- ): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
192
+ ): Promise<RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
192
193
  }
193
194
 
194
195
  export type IVCProofVerificationResult = {
@@ -18,6 +18,8 @@ export interface SlasherConfig {
18
18
  slashDataWithholdingPenalty: bigint;
19
19
  slashInactivityPenalty: bigint;
20
20
  slashBroadcastedInvalidBlockPenalty: bigint;
21
+ slashDuplicateProposalPenalty: bigint;
22
+ slashDuplicateAttestationPenalty: bigint;
21
23
  slashProposeInvalidAttestationsPenalty: bigint;
22
24
  slashAttestDescendantOfInvalidPenalty: bigint;
23
25
  slashUnknownPenalty: bigint;
@@ -40,6 +42,8 @@ export const SlasherConfigSchema = zodFor<SlasherConfig>()(
40
42
  slashInactivityConsecutiveEpochThreshold: z.number(),
41
43
  slashInactivityPenalty: schemas.BigInt,
42
44
  slashProposeInvalidAttestationsPenalty: schemas.BigInt,
45
+ slashDuplicateProposalPenalty: schemas.BigInt,
46
+ slashDuplicateAttestationPenalty: schemas.BigInt,
43
47
  slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
44
48
  slashUnknownPenalty: schemas.BigInt,
45
49
  slashOffenseExpirationRounds: z.number(),
@@ -1,4 +1,4 @@
1
- import type { L2BlockNew } from '@aztec/stdlib/block';
1
+ import type { L2Block } from '@aztec/stdlib/block';
2
2
  import type { BlockProposal } from '@aztec/stdlib/p2p';
3
3
  import { type Tx, TxHash } from '@aztec/stdlib/tx';
4
4
 
@@ -13,5 +13,5 @@ export interface ITxProvider {
13
13
  opts: { pinnedPeer: PeerId | undefined; deadline: Date },
14
14
  ): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
15
15
 
16
- getTxsForBlock(block: L2BlockNew, opts: { deadline: Date }): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
16
+ getTxsForBlock(block: L2Block, opts: { deadline: Date }): Promise<{ txs: Tx[]; missingTxs: TxHash[] }>;
17
17
  }
@@ -1,54 +1,90 @@
1
+ import type { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import type { SecretValue } from '@aztec/foundation/config';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import type { Signature } from '@aztec/foundation/eth-signature';
5
6
  import { schemas, zodFor } from '@aztec/foundation/schemas';
6
7
  import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
7
- import type { BlockAttestation, BlockProposal, BlockProposalOptions } from '@aztec/stdlib/p2p';
8
- import type { Tx } from '@aztec/stdlib/tx';
8
+ import type {
9
+ BlockProposal,
10
+ BlockProposalOptions,
11
+ CheckpointAttestation,
12
+ CheckpointLastBlockData,
13
+ CheckpointProposal,
14
+ CheckpointProposalOptions,
15
+ } from '@aztec/stdlib/p2p';
16
+ import type { CheckpointHeader } from '@aztec/stdlib/rollup';
17
+ import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
9
18
 
10
19
  import type { PeerId } from '@libp2p/interface';
11
20
  import { z } from 'zod';
12
21
 
13
22
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
14
- import type { CheckpointHeader } from '../rollup/checkpoint_header.js';
23
+ import {
24
+ type LocalSignerConfig,
25
+ LocalSignerConfigSchema,
26
+ type ValidatorHASignerConfig,
27
+ ValidatorHASignerConfigSchema,
28
+ } from '../ha-signing/index.js';
15
29
  import { AllowedElementSchema } from './allowed_element.js';
16
30
 
17
31
  /**
18
32
  * Validator client configuration
19
33
  */
20
- export interface ValidatorClientConfig {
21
- /** The private keys of the validators participating in attestation duties */
22
- validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
34
+ export type ValidatorClientConfig = ValidatorHASignerConfig &
35
+ LocalSignerConfig & {
36
+ /** The private keys of the validators participating in attestation duties */
37
+ validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
23
38
 
24
- /** The addresses of the validators to use with remote signers */
25
- validatorAddresses?: EthAddress[];
39
+ /** The addresses of the validators to use with remote signers */
40
+ validatorAddresses?: EthAddress[];
26
41
 
27
- /** Do not run the validator */
28
- disableValidator: boolean;
42
+ /** Do not run the validator */
43
+ disableValidator: boolean;
29
44
 
30
- /** Temporarily disable these specific validator addresses */
31
- disabledValidators: EthAddress[];
45
+ /** Temporarily disable these specific validator addresses */
46
+ disabledValidators: EthAddress[];
32
47
 
33
- /** Interval between polling for new attestations from peers */
34
- attestationPollingIntervalMs: number;
48
+ /** Interval between polling for new attestations from peers */
49
+ attestationPollingIntervalMs: number;
35
50
 
36
- /** Whether to re-execute transactions in a block proposal before attesting */
37
- validatorReexecute: boolean;
51
+ /** Whether to re-execute transactions in a block proposal before attesting */
52
+ validatorReexecute: boolean;
38
53
 
39
- /** Will re-execute until this many milliseconds are left in the slot */
40
- validatorReexecuteDeadlineMs: number;
54
+ /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
55
+ alwaysReexecuteBlockProposals?: boolean;
41
56
 
42
- /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
43
- alwaysReexecuteBlockProposals?: boolean;
57
+ /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
58
+ fishermanMode?: boolean;
44
59
 
45
- /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
46
- fishermanMode?: boolean;
47
- }
60
+ /** Skip checkpoint proposal validation and always attest (default: false) */
61
+ skipCheckpointProposalValidation?: boolean;
62
+
63
+ /** Skip pushing re-executed blocks to archiver (default: false) */
64
+ skipPushProposedBlocksToArchiver?: boolean;
65
+
66
+ /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
67
+ attestToEquivocatedProposals?: boolean;
68
+
69
+ /** Maximum L2 gas per block for validation. Proposals exceeding this limit are rejected. */
70
+ validateMaxL2BlockGas?: number;
71
+
72
+ /** Maximum DA gas per block for validation. Proposals exceeding this limit are rejected. */
73
+ validateMaxDABlockGas?: number;
74
+
75
+ /** Maximum transactions per block for validation. Proposals exceeding this limit are rejected. */
76
+ validateMaxTxsPerBlock?: number;
77
+
78
+ /** Maximum transactions per checkpoint for validation. Proposals exceeding this limit are rejected. */
79
+ validateMaxTxsPerCheckpoint?: number;
80
+ };
48
81
 
49
82
  export type ValidatorClientFullConfig = ValidatorClientConfig &
50
- Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
51
- Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'> & {
83
+ Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal'> &
84
+ Pick<
85
+ SlasherConfig,
86
+ 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
87
+ > & {
52
88
  /**
53
89
  * Whether transactions are disabled for this node
54
90
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
@@ -57,46 +93,90 @@ export type ValidatorClientFullConfig = ValidatorClientConfig &
57
93
  };
58
94
 
59
95
  export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
60
- z.object({
96
+ ValidatorHASignerConfigSchema.merge(LocalSignerConfigSchema).extend({
61
97
  validatorAddresses: z.array(schemas.EthAddress).optional(),
62
98
  disableValidator: z.boolean(),
63
99
  disabledValidators: z.array(schemas.EthAddress),
64
100
  attestationPollingIntervalMs: z.number().min(0),
65
101
  validatorReexecute: z.boolean(),
66
- validatorReexecuteDeadlineMs: z.number().min(0),
67
102
  alwaysReexecuteBlockProposals: z.boolean().optional(),
68
103
  fishermanMode: z.boolean().optional(),
104
+ skipCheckpointProposalValidation: z.boolean().optional(),
105
+ skipPushProposedBlocksToArchiver: z.boolean().optional(),
106
+ attestToEquivocatedProposals: z.boolean().optional(),
107
+ validateMaxL2BlockGas: z.number().optional(),
108
+ validateMaxDABlockGas: z.number().optional(),
109
+ validateMaxTxsPerBlock: z.number().optional(),
110
+ validateMaxTxsPerCheckpoint: z.number().optional(),
69
111
  }),
70
112
  );
71
113
 
72
114
  export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullConfig, 'validatorPrivateKeys'>>()(
73
115
  ValidatorClientConfigSchema.extend({
74
- txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
116
+ txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
75
117
  broadcastInvalidBlockProposal: z.boolean().optional(),
76
118
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
119
+ slashDuplicateProposalPenalty: schemas.BigInt,
120
+ slashDuplicateAttestationPenalty: schemas.BigInt,
77
121
  disableTransactions: z.boolean().optional(),
78
122
  }),
79
123
  );
80
124
 
125
+ export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & { txs: Tx[] };
126
+
81
127
  export interface Validator {
82
128
  start(): Promise<void>;
83
129
  updateConfig(config: Partial<ValidatorClientFullConfig>): void;
84
130
 
85
131
  // Block validation responsibilities
86
132
  createBlockProposal(
87
- blockNumber: number,
88
- header: CheckpointHeader,
133
+ blockHeader: BlockHeader,
134
+ indexWithinCheckpoint: number,
135
+ inHash: Fr,
89
136
  archive: Fr,
90
137
  txs: Tx[],
91
138
  proposerAddress: EthAddress | undefined,
92
139
  options: BlockProposalOptions,
93
140
  ): Promise<BlockProposal | undefined>;
94
- attestToProposal(proposal: BlockProposal, sender: PeerId): Promise<BlockAttestation[] | undefined>;
141
+
142
+ /** Creates a checkpoint proposal for the last block in a checkpoint */
143
+ createCheckpointProposal(
144
+ checkpointHeader: CheckpointHeader,
145
+ archive: Fr,
146
+ feeAssetPriceModifier: bigint,
147
+ lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined,
148
+ proposerAddress: EthAddress | undefined,
149
+ options: CheckpointProposalOptions,
150
+ ): Promise<CheckpointProposal>;
151
+
152
+ /**
153
+ * Validate a block proposal from a peer.
154
+ * Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
155
+ * @returns true if the proposal is valid, false otherwise
156
+ */
157
+ validateBlockProposal(proposal: BlockProposal, sender: PeerId): Promise<boolean>;
158
+
159
+ /**
160
+ * Validate and attest to a checkpoint proposal from a peer.
161
+ * @returns Checkpoint attestations if valid, undefined otherwise
162
+ */
163
+ attestToCheckpointProposal(
164
+ proposal: CheckpointProposal,
165
+ sender: PeerId,
166
+ ): Promise<CheckpointAttestation[] | undefined>;
95
167
 
96
168
  broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
97
- collectAttestations(proposal: BlockProposal, required: number, deadline: Date): Promise<BlockAttestation[]>;
169
+
170
+ /** Collect own attestations for a checkpoint proposal (used when skipping p2p attestation collection) */
171
+ collectOwnAttestations(proposal: CheckpointProposal): Promise<CheckpointAttestation[]>;
172
+
173
+ /** Collect attestations from the p2p network for a checkpoint proposal */
174
+ collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
175
+
98
176
  signAttestationsAndSigners(
99
177
  attestationsAndSigners: CommitteeAttestationsAndSigners,
100
178
  proposer: EthAddress,
179
+ slot: SlotNumber,
180
+ blockNumber: BlockNumber | CheckpointNumber,
101
181
  ): Promise<Signature>;
102
182
  }