@aztec/stdlib 0.0.1-commit.fffb133c → 0.0.1-dev

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 (618) hide show
  1. package/dest/abi/abi.d.ts +64 -85
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +59 -6
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/contract_artifact.d.ts +1 -1
  8. package/dest/abi/contract_artifact.d.ts.map +1 -1
  9. package/dest/abi/contract_artifact.js +14 -7
  10. package/dest/abi/decoder.d.ts +6 -45
  11. package/dest/abi/decoder.d.ts.map +1 -1
  12. package/dest/abi/decoder.js +17 -70
  13. package/dest/abi/encoder.d.ts +1 -1
  14. package/dest/abi/encoder.d.ts.map +1 -1
  15. package/dest/abi/encoder.js +64 -7
  16. package/dest/abi/event_metadata_definition.d.ts +3 -1
  17. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  18. package/dest/abi/event_metadata_definition.js +1 -1
  19. package/dest/abi/function_call.d.ts +39 -9
  20. package/dest/abi/function_call.d.ts.map +1 -1
  21. package/dest/abi/function_call.js +20 -3
  22. package/dest/abi/function_selector.js +1 -1
  23. package/dest/abi/function_signature_decoder.d.ts +43 -0
  24. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  25. package/dest/abi/function_signature_decoder.js +66 -0
  26. package/dest/abi/index.d.ts +2 -1
  27. package/dest/abi/index.d.ts.map +1 -1
  28. package/dest/abi/index.js +1 -0
  29. package/dest/abi/selector.d.ts +2 -2
  30. package/dest/abi/selector.d.ts.map +1 -1
  31. package/dest/abi/selector.js +1 -1
  32. package/dest/abi/utils.d.ts +14 -1
  33. package/dest/abi/utils.d.ts.map +1 -1
  34. package/dest/abi/utils.js +15 -0
  35. package/dest/auth_witness/auth_witness.js +3 -3
  36. package/dest/avm/avm.d.ts +300 -300
  37. package/dest/avm/avm_accumulated_data.js +2 -2
  38. package/dest/avm/avm_circuit_public_inputs.js +2 -2
  39. package/dest/avm/avm_proving_request.d.ts +166 -166
  40. package/dest/avm/revert_code.d.ts +9 -4
  41. package/dest/avm/revert_code.d.ts.map +1 -1
  42. package/dest/avm/revert_code.js +16 -21
  43. package/dest/aztec-address/index.d.ts +3 -1
  44. package/dest/aztec-address/index.d.ts.map +1 -1
  45. package/dest/aztec-address/index.js +2 -0
  46. package/dest/block/block_data.d.ts +52 -0
  47. package/dest/block/block_data.d.ts.map +1 -0
  48. package/dest/block/block_data.js +12 -0
  49. package/dest/block/block_hash.d.ts +16 -19
  50. package/dest/block/block_hash.d.ts.map +1 -1
  51. package/dest/block/block_hash.js +21 -34
  52. package/dest/block/block_parameter.d.ts +4 -4
  53. package/dest/block/block_parameter.d.ts.map +1 -1
  54. package/dest/block/block_parameter.js +2 -2
  55. package/dest/block/in_block.d.ts +9 -9
  56. package/dest/block/in_block.d.ts.map +1 -1
  57. package/dest/block/in_block.js +5 -5
  58. package/dest/block/index.d.ts +2 -1
  59. package/dest/block/index.d.ts.map +1 -1
  60. package/dest/block/index.js +1 -0
  61. package/dest/block/l2_block.d.ts +11 -2
  62. package/dest/block/l2_block.d.ts.map +1 -1
  63. package/dest/block/l2_block.js +14 -5
  64. package/dest/block/l2_block_source.d.ts +39 -11
  65. package/dest/block/l2_block_source.d.ts.map +1 -1
  66. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  67. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  68. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  69. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  70. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  71. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  72. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  73. package/dest/block/l2_block_stream/l2_tips_store_base.js +16 -3
  74. package/dest/block/test/l2_tips_store_test_suite.js +1 -1
  75. package/dest/checkpoint/checkpoint.d.ts +22 -7
  76. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  77. package/dest/checkpoint/checkpoint.js +32 -16
  78. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  79. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  80. package/dest/checkpoint/checkpoint_data.js +26 -0
  81. package/dest/checkpoint/index.d.ts +3 -1
  82. package/dest/checkpoint/index.d.ts.map +1 -1
  83. package/dest/checkpoint/index.js +2 -0
  84. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  85. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  86. package/dest/checkpoint/published_checkpoint.js +1 -2
  87. package/dest/checkpoint/validate.d.ts +36 -0
  88. package/dest/checkpoint/validate.d.ts.map +1 -0
  89. package/dest/checkpoint/validate.js +120 -0
  90. package/dest/config/index.d.ts +2 -1
  91. package/dest/config/index.d.ts.map +1 -1
  92. package/dest/config/index.js +1 -0
  93. package/dest/config/sequencer-config.d.ts +10 -0
  94. package/dest/config/sequencer-config.d.ts.map +1 -0
  95. package/dest/config/sequencer-config.js +23 -0
  96. package/dest/contract/contract_address.js +4 -4
  97. package/dest/contract/contract_class.d.ts +2 -3
  98. package/dest/contract/contract_class.d.ts.map +1 -1
  99. package/dest/contract/contract_class_id.d.ts +2 -2
  100. package/dest/contract/contract_class_id.d.ts.map +1 -1
  101. package/dest/contract/contract_class_id.js +6 -5
  102. package/dest/contract/interfaces/node-info.d.ts +3 -1
  103. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  104. package/dest/contract/interfaces/node-info.js +2 -1
  105. package/dest/contract/private_function.js +2 -2
  106. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  107. package/dest/contract/private_function_membership_proof.js +1 -1
  108. package/dest/database-version/database_version.d.ts +58 -0
  109. package/dest/database-version/database_version.d.ts.map +1 -0
  110. package/dest/database-version/database_version.js +69 -0
  111. package/dest/database-version/version_manager.d.ts +2 -50
  112. package/dest/database-version/version_manager.d.ts.map +1 -1
  113. package/dest/database-version/version_manager.js +1 -66
  114. package/dest/epoch-helpers/index.d.ts +15 -1
  115. package/dest/epoch-helpers/index.d.ts.map +1 -1
  116. package/dest/epoch-helpers/index.js +19 -2
  117. package/dest/file-store/local.d.ts +3 -3
  118. package/dest/file-store/local.d.ts.map +1 -1
  119. package/dest/file-store/local.js +13 -4
  120. package/dest/file-store/s3.d.ts +1 -1
  121. package/dest/file-store/s3.d.ts.map +1 -1
  122. package/dest/file-store/s3.js +11 -3
  123. package/dest/gas/gas_fees.d.ts +1 -1
  124. package/dest/gas/gas_fees.d.ts.map +1 -1
  125. package/dest/gas/gas_fees.js +4 -1
  126. package/dest/gas/gas_settings.d.ts +40 -3
  127. package/dest/gas/gas_settings.d.ts.map +1 -1
  128. package/dest/gas/gas_settings.js +50 -6
  129. package/dest/hash/hash.d.ts +29 -1
  130. package/dest/hash/hash.d.ts.map +1 -1
  131. package/dest/hash/hash.js +60 -11
  132. package/dest/hash/map_slot.d.ts +1 -1
  133. package/dest/hash/map_slot.d.ts.map +1 -1
  134. package/dest/hash/map_slot.js +4 -3
  135. package/dest/interfaces/allowed_element.d.ts +26 -20
  136. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  137. package/dest/interfaces/allowed_element.js +8 -8
  138. package/dest/interfaces/archiver.d.ts +1 -1
  139. package/dest/interfaces/archiver.d.ts.map +1 -1
  140. package/dest/interfaces/archiver.js +12 -5
  141. package/dest/interfaces/aztec-node-admin.d.ts +109 -29
  142. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  143. package/dest/interfaces/aztec-node-admin.js +12 -4
  144. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  145. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  146. package/dest/interfaces/aztec-node-debug.js +18 -0
  147. package/dest/interfaces/aztec-node.d.ts +45 -60
  148. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  149. package/dest/interfaces/aztec-node.js +11 -12
  150. package/dest/interfaces/block-builder.d.ts +44 -11
  151. package/dest/interfaces/block-builder.d.ts.map +1 -1
  152. package/dest/interfaces/block-builder.js +16 -2
  153. package/dest/interfaces/client.d.ts +2 -1
  154. package/dest/interfaces/client.d.ts.map +1 -1
  155. package/dest/interfaces/client.js +1 -0
  156. package/dest/interfaces/configs.d.ts +77 -32
  157. package/dest/interfaces/configs.d.ts.map +1 -1
  158. package/dest/interfaces/configs.js +10 -3
  159. package/dest/interfaces/get_logs_response.d.ts +15 -8
  160. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  161. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  162. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  163. package/dest/interfaces/p2p.d.ts +4 -9
  164. package/dest/interfaces/p2p.d.ts.map +1 -1
  165. package/dest/interfaces/prover-broker.d.ts +16 -1
  166. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  167. package/dest/interfaces/prover-broker.js +4 -1
  168. package/dest/interfaces/prover-client.d.ts +11 -1
  169. package/dest/interfaces/prover-client.d.ts.map +1 -1
  170. package/dest/interfaces/prover-client.js +12 -1
  171. package/dest/interfaces/proving-job.d.ts +202 -202
  172. package/dest/interfaces/slasher.d.ts +9 -1
  173. package/dest/interfaces/slasher.d.ts.map +1 -1
  174. package/dest/interfaces/slasher.js +2 -0
  175. package/dest/interfaces/validator.d.ts +116 -31
  176. package/dest/interfaces/validator.d.ts.map +1 -1
  177. package/dest/interfaces/validator.js +9 -2
  178. package/dest/interfaces/world_state.d.ts +5 -4
  179. package/dest/interfaces/world_state.d.ts.map +1 -1
  180. package/dest/kernel/claimed_length_array.js +1 -1
  181. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  182. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  183. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  184. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  185. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  186. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  187. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  188. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  189. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  190. package/dest/kernel/hints/index.d.ts +2 -2
  191. package/dest/kernel/hints/index.js +2 -2
  192. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  193. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  194. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  195. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
  196. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  197. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  198. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  199. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  200. package/dest/kernel/padded_side_effects.js +1 -1
  201. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  202. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  203. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  204. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  205. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  206. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  207. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  208. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  209. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  210. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  211. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  212. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  213. package/dest/kernel/private_to_avm_accumulated_data.js +2 -2
  214. package/dest/kernel/private_to_public_accumulated_data.js +2 -2
  215. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  216. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  217. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  218. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  219. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  220. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  221. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  222. package/dest/kernel/private_validation_requests.d.ts +3 -3
  223. package/dest/kernel/private_validation_requests.js +9 -9
  224. package/dest/keys/derivation.d.ts +3 -3
  225. package/dest/keys/derivation.js +15 -15
  226. package/dest/keys/key_types.d.ts +3 -3
  227. package/dest/keys/key_types.d.ts.map +1 -1
  228. package/dest/keys/public_keys.js +2 -2
  229. package/dest/keys/utils.d.ts +1 -1
  230. package/dest/keys/utils.d.ts.map +1 -1
  231. package/dest/keys/utils.js +8 -4
  232. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  233. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  234. package/dest/l1-contracts/slash_factory.js +1 -0
  235. package/dest/logs/debug_log_store.d.ts +30 -0
  236. package/dest/logs/debug_log_store.d.ts.map +1 -0
  237. package/dest/logs/debug_log_store.js +30 -0
  238. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  239. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  240. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  241. package/dest/logs/extended_public_log.d.ts +13 -7
  242. package/dest/logs/extended_public_log.d.ts.map +1 -1
  243. package/dest/logs/index.d.ts +4 -2
  244. package/dest/logs/index.d.ts.map +1 -1
  245. package/dest/logs/index.js +3 -1
  246. package/dest/logs/log_filter.d.ts +4 -1
  247. package/dest/logs/log_filter.d.ts.map +1 -1
  248. package/dest/logs/log_filter.js +2 -1
  249. package/dest/logs/log_id.d.ts +17 -14
  250. package/dest/logs/log_id.d.ts.map +1 -1
  251. package/dest/logs/log_id.js +20 -17
  252. package/dest/logs/message_context.d.ts +4 -7
  253. package/dest/logs/message_context.d.ts.map +1 -1
  254. package/dest/logs/message_context.js +23 -9
  255. package/dest/logs/pending_tagged_log.d.ts +2 -3
  256. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  257. package/dest/logs/pending_tagged_log.js +2 -2
  258. package/dest/logs/pre_tag.d.ts +16 -11
  259. package/dest/logs/pre_tag.d.ts.map +1 -1
  260. package/dest/logs/pre_tag.js +2 -2
  261. package/dest/logs/private_log.d.ts +2 -2
  262. package/dest/logs/private_log.d.ts.map +1 -1
  263. package/dest/logs/private_log.js +1 -1
  264. package/dest/logs/public_log.d.ts +4 -3
  265. package/dest/logs/public_log.d.ts.map +1 -1
  266. package/dest/logs/public_log.js +9 -2
  267. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  268. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  269. package/dest/logs/shared_secret_derivation.js +15 -9
  270. package/dest/logs/siloed_tag.d.ts +8 -3
  271. package/dest/logs/siloed_tag.d.ts.map +1 -1
  272. package/dest/logs/siloed_tag.js +12 -6
  273. package/dest/logs/tag.d.ts +3 -2
  274. package/dest/logs/tag.d.ts.map +1 -1
  275. package/dest/logs/tag.js +5 -1
  276. package/dest/logs/tagging_index_range.d.ts +40 -0
  277. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  278. package/dest/logs/tagging_index_range.js +8 -0
  279. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  280. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  281. package/dest/logs/tx_scoped_l2_log.js +7 -0
  282. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  283. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  284. package/dest/messaging/l1_to_l2_message.js +11 -13
  285. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  286. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  287. package/dest/messaging/l2_to_l1_membership.js +72 -29
  288. package/dest/noir/index.d.ts +5 -3
  289. package/dest/noir/index.d.ts.map +1 -1
  290. package/dest/note/index.d.ts +1 -2
  291. package/dest/note/index.d.ts.map +1 -1
  292. package/dest/note/index.js +0 -1
  293. package/dest/note/note_dao.d.ts +1 -1
  294. package/dest/note/note_dao.d.ts.map +1 -1
  295. package/dest/note/note_dao.js +1 -4
  296. package/dest/p2p/attestation_utils.d.ts +11 -1
  297. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  298. package/dest/p2p/attestation_utils.js +45 -0
  299. package/dest/p2p/block_proposal.d.ts +10 -3
  300. package/dest/p2p/block_proposal.d.ts.map +1 -1
  301. package/dest/p2p/block_proposal.js +1 -3
  302. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  303. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  304. package/dest/p2p/checkpoint_attestation.js +1 -1
  305. package/dest/p2p/checkpoint_proposal.d.ts +26 -12
  306. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  307. package/dest/p2p/checkpoint_proposal.js +29 -37
  308. package/dest/p2p/client_type.d.ts +2 -5
  309. package/dest/p2p/client_type.d.ts.map +1 -1
  310. package/dest/p2p/client_type.js +0 -7
  311. package/dest/p2p/consensus_payload.d.ts +12 -3
  312. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  313. package/dest/p2p/consensus_payload.js +22 -15
  314. package/dest/p2p/constants.d.ts +3 -1
  315. package/dest/p2p/constants.d.ts.map +1 -1
  316. package/dest/p2p/constants.js +1 -0
  317. package/dest/p2p/index.d.ts +1 -2
  318. package/dest/p2p/index.d.ts.map +1 -1
  319. package/dest/p2p/index.js +0 -1
  320. package/dest/p2p/peer_error.d.ts +3 -1
  321. package/dest/p2p/peer_error.d.ts.map +1 -1
  322. package/dest/p2p/peer_error.js +5 -0
  323. package/dest/p2p/topic_type.d.ts +3 -4
  324. package/dest/p2p/topic_type.d.ts.map +1 -1
  325. package/dest/p2p/topic_type.js +7 -24
  326. package/dest/parity/parity_base_private_inputs.js +1 -1
  327. package/dest/proofs/chonk_proof.d.ts +1 -1
  328. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  329. package/dest/proofs/chonk_proof.js +7 -1
  330. package/dest/rollup/base_rollup_hints.js +2 -2
  331. package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
  332. package/dest/rollup/checkpoint_header.d.ts +2 -2
  333. package/dest/rollup/checkpoint_header.js +2 -2
  334. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  335. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  336. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  337. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  338. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  339. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
  340. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  341. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  342. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  343. package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
  344. package/dest/slashing/empire.d.ts +1 -1
  345. package/dest/slashing/empire.d.ts.map +1 -1
  346. package/dest/slashing/empire.js +2 -0
  347. package/dest/slashing/helpers.d.ts +2 -2
  348. package/dest/slashing/helpers.d.ts.map +1 -1
  349. package/dest/slashing/helpers.js +6 -0
  350. package/dest/slashing/tally.d.ts +8 -2
  351. package/dest/slashing/tally.d.ts.map +1 -1
  352. package/dest/slashing/tally.js +35 -3
  353. package/dest/slashing/types.d.ts +7 -3
  354. package/dest/slashing/types.d.ts.map +1 -1
  355. package/dest/slashing/types.js +13 -1
  356. package/dest/stats/stats.d.ts +1 -3
  357. package/dest/stats/stats.d.ts.map +1 -1
  358. package/dest/tests/factories.d.ts +3 -1
  359. package/dest/tests/factories.d.ts.map +1 -1
  360. package/dest/tests/factories.js +22 -14
  361. package/dest/tests/mocks.d.ts +12 -3
  362. package/dest/tests/mocks.d.ts.map +1 -1
  363. package/dest/tests/mocks.js +48 -40
  364. package/dest/timetable/index.d.ts +37 -0
  365. package/dest/timetable/index.d.ts.map +1 -0
  366. package/dest/timetable/index.js +39 -0
  367. package/dest/trees/public_data_leaf.d.ts +2 -1
  368. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  369. package/dest/trees/public_data_leaf.js +7 -6
  370. package/dest/tx/block_header.d.ts +5 -3
  371. package/dest/tx/block_header.d.ts.map +1 -1
  372. package/dest/tx/block_header.js +8 -4
  373. package/dest/tx/capsule.d.ts +6 -2
  374. package/dest/tx/capsule.d.ts.map +1 -1
  375. package/dest/tx/capsule.js +9 -3
  376. package/dest/tx/global_variables.d.ts +4 -4
  377. package/dest/tx/global_variables.d.ts.map +1 -1
  378. package/dest/tx/in_tx.d.ts +3 -3
  379. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  380. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  381. package/dest/tx/indexed_tx_effect.js +3 -2
  382. package/dest/tx/private_execution_result.d.ts +6 -6
  383. package/dest/tx/private_execution_result.d.ts.map +1 -1
  384. package/dest/tx/private_execution_result.js +6 -6
  385. package/dest/tx/profiling.d.ts +17 -5
  386. package/dest/tx/profiling.d.ts.map +1 -1
  387. package/dest/tx/profiling.js +15 -5
  388. package/dest/tx/protocol_contracts.d.ts +1 -1
  389. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  390. package/dest/tx/protocol_contracts.js +4 -4
  391. package/dest/tx/proven_tx.d.ts +3 -1
  392. package/dest/tx/proven_tx.d.ts.map +1 -1
  393. package/dest/tx/proven_tx.js +6 -0
  394. package/dest/tx/public_simulation_output.d.ts +4 -2
  395. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  396. package/dest/tx/public_simulation_output.js +7 -3
  397. package/dest/tx/simulated_tx.d.ts +71 -77
  398. package/dest/tx/simulated_tx.d.ts.map +1 -1
  399. package/dest/tx/simulated_tx.js +7 -4
  400. package/dest/tx/tx.d.ts +6 -5
  401. package/dest/tx/tx.d.ts.map +1 -1
  402. package/dest/tx/tx.js +18 -6
  403. package/dest/tx/tx_receipt.d.ts +33 -10
  404. package/dest/tx/tx_receipt.d.ts.map +1 -1
  405. package/dest/tx/tx_receipt.js +25 -21
  406. package/dest/tx/tx_request.js +2 -2
  407. package/dest/tx/validator/empty_validator.d.ts +2 -2
  408. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  409. package/dest/tx/validator/error_texts.d.ts +10 -2
  410. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  411. package/dest/tx/validator/error_texts.js +11 -1
  412. package/dest/tx/validator/tx_validator.d.ts +2 -2
  413. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  414. package/dest/update-checker/dev_version.d.ts +3 -0
  415. package/dest/update-checker/dev_version.d.ts.map +1 -0
  416. package/dest/update-checker/dev_version.js +1 -0
  417. package/dest/update-checker/index.d.ts +4 -2
  418. package/dest/update-checker/index.d.ts.map +1 -1
  419. package/dest/update-checker/index.js +3 -1
  420. package/dest/update-checker/package_version.d.ts +6 -0
  421. package/dest/update-checker/package_version.d.ts.map +1 -0
  422. package/dest/update-checker/package_version.js +13 -0
  423. package/dest/update-checker/version_checker.d.ts +25 -0
  424. package/dest/update-checker/version_checker.d.ts.map +1 -0
  425. package/dest/update-checker/version_checker.js +50 -0
  426. package/dest/validators/errors.d.ts +6 -1
  427. package/dest/validators/errors.d.ts.map +1 -1
  428. package/dest/validators/errors.js +7 -0
  429. package/dest/validators/schemas.d.ts +30 -30
  430. package/dest/validators/schemas.d.ts.map +1 -1
  431. package/dest/validators/schemas.js +4 -3
  432. package/dest/validators/types.d.ts +3 -3
  433. package/dest/validators/types.d.ts.map +1 -1
  434. package/dest/versioning/versioning.d.ts +4 -2
  435. package/dest/versioning/versioning.d.ts.map +1 -1
  436. package/dest/versioning/versioning.js +4 -1
  437. package/dest/vks/vk_data.js +1 -1
  438. package/package.json +27 -14
  439. package/src/abi/abi.ts +87 -2
  440. package/src/abi/buffer.ts +25 -4
  441. package/src/abi/contract_artifact.ts +11 -6
  442. package/src/abi/decoder.ts +36 -82
  443. package/src/abi/encoder.ts +85 -6
  444. package/src/abi/event_metadata_definition.ts +2 -0
  445. package/src/abi/function_call.ts +25 -3
  446. package/src/abi/function_selector.ts +1 -1
  447. package/src/abi/function_signature_decoder.ts +77 -0
  448. package/src/abi/index.ts +1 -0
  449. package/src/abi/selector.ts +1 -1
  450. package/src/abi/utils.ts +25 -0
  451. package/src/auth_witness/auth_witness.ts +3 -3
  452. package/src/avm/avm_accumulated_data.ts +6 -6
  453. package/src/avm/avm_circuit_public_inputs.ts +4 -4
  454. package/src/avm/revert_code.ts +26 -25
  455. package/src/aztec-address/index.ts +4 -0
  456. package/src/block/block_data.ts +26 -0
  457. package/src/block/block_hash.ts +25 -50
  458. package/src/block/block_parameter.ts +3 -3
  459. package/src/block/in_block.ts +6 -6
  460. package/src/block/index.ts +1 -0
  461. package/src/block/l2_block.ts +16 -4
  462. package/src/block/l2_block_source.ts +42 -10
  463. package/src/block/l2_block_stream/interfaces.ts +6 -2
  464. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  465. package/src/block/l2_block_stream/l2_tips_store_base.ts +17 -3
  466. package/src/block/test/l2_tips_store_test_suite.ts +1 -1
  467. package/src/checkpoint/checkpoint.ts +43 -16
  468. package/src/checkpoint/checkpoint_data.ts +51 -0
  469. package/src/checkpoint/index.ts +2 -0
  470. package/src/checkpoint/published_checkpoint.ts +3 -1
  471. package/src/checkpoint/validate.ts +230 -0
  472. package/src/config/index.ts +1 -0
  473. package/src/config/sequencer-config.ts +34 -0
  474. package/src/contract/contract_address.ts +4 -4
  475. package/src/contract/contract_class.ts +3 -3
  476. package/src/contract/contract_class_id.ts +6 -5
  477. package/src/contract/interfaces/node-info.ts +3 -0
  478. package/src/contract/private_function.ts +2 -2
  479. package/src/contract/private_function_membership_proof.ts +1 -1
  480. package/src/database-version/database_version.ts +87 -0
  481. package/src/database-version/version_manager.ts +1 -77
  482. package/src/epoch-helpers/index.ts +34 -0
  483. package/src/file-store/local.ts +15 -5
  484. package/src/file-store/s3.ts +12 -3
  485. package/src/gas/README.md +123 -0
  486. package/src/gas/gas_fees.ts +7 -1
  487. package/src/gas/gas_settings.ts +65 -12
  488. package/src/hash/hash.ts +61 -11
  489. package/src/hash/map_slot.ts +3 -2
  490. package/src/interfaces/allowed_element.ts +29 -9
  491. package/src/interfaces/archiver.ts +12 -5
  492. package/src/interfaces/aztec-node-admin.ts +26 -2
  493. package/src/interfaces/aztec-node-debug.ts +40 -0
  494. package/src/interfaces/aztec-node.ts +67 -99
  495. package/src/interfaces/block-builder.ts +68 -11
  496. package/src/interfaces/client.ts +1 -0
  497. package/src/interfaces/configs.ts +36 -8
  498. package/src/interfaces/merkle_tree_operations.ts +9 -19
  499. package/src/interfaces/p2p.ts +3 -14
  500. package/src/interfaces/prover-broker.ts +22 -0
  501. package/src/interfaces/prover-client.ts +15 -0
  502. package/src/interfaces/slasher.ts +4 -0
  503. package/src/interfaces/validator.ts +31 -9
  504. package/src/interfaces/world_state.ts +4 -3
  505. package/src/kernel/claimed_length_array.ts +2 -2
  506. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  507. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  508. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  509. package/src/kernel/hints/index.ts +2 -2
  510. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  511. package/src/kernel/hints/private_kernel_reset_hints.ts +5 -2
  512. package/src/kernel/hints/read_request_hints.ts +3 -3
  513. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  514. package/src/kernel/padded_side_effects.ts +3 -3
  515. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  516. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  517. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  518. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  519. package/src/kernel/private_to_avm_accumulated_data.ts +4 -4
  520. package/src/kernel/private_to_public_accumulated_data.ts +10 -10
  521. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  522. package/src/kernel/private_to_rollup_accumulated_data.ts +5 -5
  523. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  524. package/src/kernel/private_validation_requests.ts +8 -8
  525. package/src/keys/derivation.ts +15 -15
  526. package/src/keys/key_types.ts +6 -2
  527. package/src/keys/public_keys.ts +2 -2
  528. package/src/keys/utils.ts +8 -4
  529. package/src/l1-contracts/slash_factory.ts +1 -0
  530. package/src/logs/debug_log_store.ts +54 -0
  531. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  532. package/src/logs/index.ts +3 -1
  533. package/src/logs/log_filter.ts +5 -0
  534. package/src/logs/log_id.ts +22 -18
  535. package/src/logs/message_context.ts +17 -7
  536. package/src/logs/pending_tagged_log.ts +1 -3
  537. package/src/logs/pre_tag.ts +5 -5
  538. package/src/logs/private_log.ts +1 -1
  539. package/src/logs/public_log.ts +15 -3
  540. package/src/logs/shared_secret_derivation.ts +21 -10
  541. package/src/logs/siloed_tag.ts +15 -4
  542. package/src/logs/tag.ts +6 -2
  543. package/src/logs/tagging_index_range.ts +24 -0
  544. package/src/logs/tx_scoped_l2_log.ts +16 -0
  545. package/src/messaging/l1_to_l2_message.ts +12 -9
  546. package/src/messaging/l2_to_l1_membership.ts +101 -36
  547. package/src/noir/index.ts +4 -2
  548. package/src/note/index.ts +0 -1
  549. package/src/note/note_dao.ts +1 -4
  550. package/src/p2p/attestation_utils.ts +56 -0
  551. package/src/p2p/block_proposal.ts +9 -4
  552. package/src/p2p/checkpoint_attestation.ts +6 -1
  553. package/src/p2p/checkpoint_proposal.ts +60 -51
  554. package/src/p2p/client_type.ts +0 -6
  555. package/src/p2p/consensus_payload.ts +25 -12
  556. package/src/p2p/constants.ts +3 -0
  557. package/src/p2p/index.ts +0 -1
  558. package/src/p2p/peer_error.ts +7 -0
  559. package/src/p2p/topic_type.ts +8 -15
  560. package/src/parity/parity_base_private_inputs.ts +1 -1
  561. package/src/proofs/chonk_proof.ts +9 -1
  562. package/src/rollup/base_rollup_hints.ts +2 -2
  563. package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
  564. package/src/rollup/checkpoint_header.ts +2 -2
  565. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  566. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
  567. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  568. package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
  569. package/src/slashing/empire.ts +3 -1
  570. package/src/slashing/helpers.ts +8 -0
  571. package/src/slashing/tally.ts +41 -2
  572. package/src/slashing/types.ts +14 -0
  573. package/src/stats/stats.ts +0 -2
  574. package/src/tests/factories.ts +27 -18
  575. package/src/tests/mocks.ts +65 -33
  576. package/src/timetable/index.ts +66 -0
  577. package/src/trees/public_data_leaf.ts +11 -5
  578. package/src/tx/block_header.ts +13 -7
  579. package/src/tx/capsule.ts +10 -2
  580. package/src/tx/global_variables.ts +3 -3
  581. package/src/tx/indexed_tx_effect.ts +3 -2
  582. package/src/tx/private_execution_result.ts +5 -5
  583. package/src/tx/profiling.ts +14 -5
  584. package/src/tx/protocol_contracts.ts +4 -4
  585. package/src/tx/proven_tx.ts +6 -0
  586. package/src/tx/public_simulation_output.ts +4 -0
  587. package/src/tx/simulated_tx.ts +14 -3
  588. package/src/tx/tx.ts +20 -11
  589. package/src/tx/tx_receipt.ts +32 -20
  590. package/src/tx/tx_request.ts +2 -2
  591. package/src/tx/validator/empty_validator.ts +1 -1
  592. package/src/tx/validator/error_texts.ts +13 -1
  593. package/src/tx/validator/tx_validator.ts +1 -1
  594. package/src/update-checker/dev_version.ts +2 -0
  595. package/src/update-checker/index.ts +3 -1
  596. package/src/update-checker/package_version.ts +17 -0
  597. package/src/update-checker/version_checker.ts +65 -0
  598. package/src/validators/errors.ts +9 -0
  599. package/src/validators/schemas.ts +8 -1
  600. package/src/validators/types.ts +5 -4
  601. package/src/versioning/versioning.ts +4 -1
  602. package/src/vks/vk_data.ts +1 -1
  603. package/dest/database-version/index.d.ts +0 -2
  604. package/dest/database-version/index.d.ts.map +0 -1
  605. package/dest/database-version/index.js +0 -1
  606. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  607. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  608. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  609. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  610. package/dest/note/notes_filter.d.ts +0 -27
  611. package/dest/note/notes_filter.d.ts.map +0 -1
  612. package/dest/note/notes_filter.js +0 -11
  613. package/dest/update-checker/update-checker.d.ts +0 -49
  614. package/dest/update-checker/update-checker.d.ts.map +0 -1
  615. package/dest/update-checker/update-checker.js +0 -130
  616. package/src/database-version/index.ts +0 -1
  617. package/src/note/notes_filter.ts +0 -38
  618. package/src/update-checker/update-checker.ts +0 -166
@@ -1,16 +1,12 @@
1
- import {
2
- ARCHIVE_HEIGHT,
3
- L1_TO_L2_MSG_TREE_HEIGHT,
4
- NOTE_HASH_TREE_HEIGHT,
5
- NULLIFIER_TREE_HEIGHT,
6
- PUBLIC_DATA_TREE_HEIGHT,
7
- } from '@aztec/constants';
1
+ import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
8
2
  import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
9
3
  import {
10
4
  BlockNumber,
11
5
  BlockNumberPositiveSchema,
12
6
  BlockNumberSchema,
7
+ CheckpointNumber,
13
8
  CheckpointNumberPositiveSchema,
9
+ CheckpointNumberSchema,
14
10
  EpochNumber,
15
11
  EpochNumberSchema,
16
12
  type SlotNumber,
@@ -23,12 +19,13 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
23
19
  import { z } from 'zod';
24
20
 
25
21
  import type { AztecAddress } from '../aztec-address/index.js';
26
- import { L2BlockHash } from '../block/block_hash.js';
22
+ import { BlockHash } from '../block/block_hash.js';
27
23
  import { type BlockParameter, BlockParameterSchema } from '../block/block_parameter.js';
28
24
  import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
29
25
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
30
26
  import { L2Block } from '../block/l2_block.js';
31
27
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
28
+ import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
32
29
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
33
30
  import {
34
31
  type ContractClassPublic,
@@ -78,7 +75,12 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
78
75
  export interface AztecNode
79
76
  extends Pick<
80
77
  L2BlockSource,
81
- 'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
78
+ | 'getBlocks'
79
+ | 'getCheckpoints'
80
+ | 'getBlockHeader'
81
+ | 'getL2Tips'
82
+ | 'getCheckpointedBlocks'
83
+ | 'getCheckpointsDataForEpoch'
82
84
  > {
83
85
  /**
84
86
  * Returns the tips of the L2 chain.
@@ -93,124 +95,100 @@ export interface AztecNode
93
95
  /**
94
96
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
95
97
  * the leaves were inserted.
96
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
98
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
97
99
  * @param treeId - The tree to search in.
98
100
  * @param leafValues - The values to search for.
99
101
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
100
102
  */
101
103
  findLeavesIndexes(
102
- block: BlockParameter,
104
+ referenceBlock: BlockParameter,
103
105
  treeId: MerkleTreeId,
104
106
  leafValues: Fr[],
105
107
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
106
108
 
107
- /**
108
- * Returns a sibling path for the given index in the nullifier tree.
109
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
110
- * @param leafIndex - The index of the leaf for which the sibling path is required.
111
- * @returns The sibling path for the leaf index.
112
- */
113
- getNullifierSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NULLIFIER_TREE_HEIGHT>>;
114
-
115
- /**
116
- * Returns a sibling path for the given index in the note hash tree.
117
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
118
- * @param leafIndex - The index of the leaf for which the sibling path is required.
119
- * @returns The sibling path for the leaf index.
120
- */
121
- getNoteHashSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
122
-
123
- /**
124
- * Returns a sibling path for a leaf in the committed historic blocks tree.
125
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
126
- * @param leafIndex - Index of the leaf in the tree.
127
- * @returns The sibling path.
128
- */
129
- getArchiveSiblingPath(block: BlockParameter, leafIndex: bigint): Promise<SiblingPath<typeof ARCHIVE_HEIGHT>>;
130
-
131
- /**
132
- * Returns a sibling path for a leaf in the committed public data tree.
133
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
134
- * @param leafIndex - Index of the leaf in the tree.
135
- * @returns The sibling path.
136
- */
137
- getPublicDataSiblingPath(
138
- block: BlockParameter,
139
- leafIndex: bigint,
140
- ): Promise<SiblingPath<typeof PUBLIC_DATA_TREE_HEIGHT>>;
141
-
142
109
  /**
143
110
  * Returns a nullifier membership witness for a given nullifier at a given block.
144
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
111
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
145
112
  * @param nullifier - Nullifier we try to find witness for.
146
113
  * @returns The nullifier membership witness (if found).
147
114
  */
148
- getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
115
+ getNullifierMembershipWitness(
116
+ referenceBlock: BlockParameter,
117
+ nullifier: Fr,
118
+ ): Promise<NullifierMembershipWitness | undefined>;
149
119
 
150
120
  /**
151
121
  * Returns a low nullifier membership witness for a given nullifier at a given block.
152
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
122
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
153
123
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
154
124
  * @returns The low nullifier membership witness (if found).
125
+ * @throws If the nullifier already exists in the tree, since non-inclusion cannot be proven.
155
126
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
156
127
  * list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
157
128
  * we are trying to prove non-inclusion for.
158
129
  */
159
130
  getLowNullifierMembershipWitness(
160
- block: BlockParameter,
131
+ referenceBlock: BlockParameter,
161
132
  nullifier: Fr,
162
133
  ): Promise<NullifierMembershipWitness | undefined>;
163
134
 
164
135
  /**
165
136
  * Returns a public data tree witness for a given leaf slot at a given block.
166
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
137
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
167
138
  * @param leafSlot - The leaf slot we try to find the witness for.
168
139
  * @returns The public data witness (if found).
169
140
  * @remarks The witness can be used to compute the current value of the public data tree leaf. If the low leaf preimage corresponds to an
170
141
  * "in range" slot, means that the slot doesn't exist and the value is 0. If the low leaf preimage corresponds to the exact slot, the current value
171
142
  * is contained in the leaf preimage.
172
143
  */
173
- getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
144
+ getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
174
145
 
175
146
  /**
176
- * Returns a membership witness for a given archive leaf at a given block.
177
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
178
- * @param archive - The archive leaf we try to find the witness for.
147
+ * Returns a membership witness for a given block hash in the archive tree.
148
+ *
149
+ * Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
150
+ * its block hash is appended as a new leaf to the archive tree. This method finds the membership
151
+ * witness (leaf index and sibling path) for a given block hash, which can be used to prove that
152
+ * a specific block exists in the chain's history.
153
+ *
154
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
155
+ * (which contains the root of the archive tree in which we are searching for the block hash).
156
+ * @param blockHash - The block hash to find in the archive tree.
179
157
  */
180
- getArchiveMembershipWitness(
181
- block: BlockParameter,
182
- archive: Fr,
158
+ getBlockHashMembershipWitness(
159
+ referenceBlock: BlockParameter,
160
+ blockHash: BlockHash,
183
161
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
184
162
 
185
163
  /**
186
164
  * Returns a membership witness for a given note hash at a given block.
187
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
165
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
188
166
  * @param noteHash - The note hash we try to find the witness for.
189
167
  */
190
168
  getNoteHashMembershipWitness(
191
- block: BlockParameter,
169
+ referenceBlock: BlockParameter,
192
170
  noteHash: Fr,
193
171
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
194
172
 
195
173
  /**
196
174
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
197
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
175
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
198
176
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
199
177
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
200
178
  */
201
179
  getL1ToL2MessageMembershipWitness(
202
- block: BlockParameter,
180
+ referenceBlock: BlockParameter,
203
181
  l1ToL2Message: Fr,
204
182
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
205
183
 
206
- /** Returns the L2 block number in which this L1 to L2 message becomes available, or undefined if not found. */
207
- getL1ToL2MessageBlock(l1ToL2Message: Fr): Promise<BlockNumber | undefined>;
184
+ /** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
185
+ getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
208
186
 
209
187
  /**
210
188
  * Returns whether an L1 to L2 message is synced by archiver.
211
189
  * @param l1ToL2Message - The L1 to L2 message to check.
212
190
  * @returns Whether the message is synced.
213
- * @deprecated Use `getL1ToL2MessageBlock` instead. This method may return true even if the message is not ready to use.
191
+ * @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
214
192
  */
215
193
  isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
216
194
 
@@ -224,17 +202,17 @@ export interface AztecNode
224
202
 
225
203
  /**
226
204
  * Get a block specified by its block number or 'latest'.
227
- * @param number - The block number or 'latest'.
205
+ * @param blockParameter - The block parameter (block number, block hash, or 'latest').
228
206
  * @returns The requested block.
229
207
  */
230
- getBlock(number: BlockParameter): Promise<L2Block | undefined>;
208
+ getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
231
209
 
232
210
  /**
233
211
  * Get a block specified by its hash.
234
212
  * @param blockHash - The block hash being requested.
235
213
  * @returns The requested block.
236
214
  */
237
- getBlockByHash(blockHash: Fr): Promise<L2Block | undefined>;
215
+ getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
238
216
 
239
217
  /**
240
218
  * Get a block specified by its archive root.
@@ -261,6 +239,12 @@ export interface AztecNode
261
239
  */
262
240
  getCheckpointedBlockNumber(): Promise<BlockNumber>;
263
241
 
242
+ /**
243
+ * Method to fetch the latest checkpoint number synchronized by the node.
244
+ * @returns The checkpoint number.
245
+ */
246
+ getCheckpointNumber(): Promise<CheckpointNumber>;
247
+
264
248
  /**
265
249
  * Method to determine if the node is ready to accept transactions.
266
250
  * @returns - Flag indicating the readiness for tx submission.
@@ -355,7 +339,7 @@ export interface AztecNode
355
339
  * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
356
340
  * for a tag, the caller should fetch the next page to check for more logs.
357
341
  */
358
- getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: L2BlockHash): Promise<TxScopedL2Log[][]>;
342
+ getPrivateLogsByTags(tags: SiloedTag[], page?: number, referenceBlock?: BlockHash): Promise<TxScopedL2Log[][]>;
359
343
 
360
344
  /**
361
345
  * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
@@ -374,7 +358,7 @@ export interface AztecNode
374
358
  contractAddress: AztecAddress,
375
359
  tags: Tag[],
376
360
  page?: number,
377
- referenceBlock?: L2BlockHash,
361
+ referenceBlock?: BlockHash,
378
362
  ): Promise<TxScopedL2Log[][]>;
379
363
 
380
364
  /**
@@ -433,12 +417,12 @@ export interface AztecNode
433
417
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
434
418
  * Aztec's version of `eth_getStorageAt`.
435
419
  *
436
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
420
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
437
421
  * @param contract - Address of the contract to query.
438
422
  * @param slot - Slot to query.
439
423
  * @returns Storage value at the given contract slot.
440
424
  */
441
- getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
425
+ getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
442
426
 
443
427
  /**
444
428
  * Returns the block header for a given block number, block hash, or 'latest'.
@@ -474,7 +458,7 @@ export interface AztecNode
474
458
  /**
475
459
  * Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
476
460
  * made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
477
- * due to e.g. the include_by_timestamp property.
461
+ * due to e.g. the expiration_timestamp property.
478
462
  * @param tx - The transaction to validate for correctness.
479
463
  * @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
480
464
  * @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
@@ -518,26 +502,6 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
518
502
  .args(BlockParameterSchema, z.nativeEnum(MerkleTreeId), z.array(schemas.Fr).max(MAX_RPC_LEN))
519
503
  .returns(z.array(optional(dataInBlockSchemaFor(schemas.BigInt)))),
520
504
 
521
- getNullifierSiblingPath: z
522
- .function()
523
- .args(BlockParameterSchema, schemas.BigInt)
524
- .returns(SiblingPath.schemaFor(NULLIFIER_TREE_HEIGHT)),
525
-
526
- getNoteHashSiblingPath: z
527
- .function()
528
- .args(BlockParameterSchema, schemas.BigInt)
529
- .returns(SiblingPath.schemaFor(NOTE_HASH_TREE_HEIGHT)),
530
-
531
- getArchiveSiblingPath: z
532
- .function()
533
- .args(BlockParameterSchema, schemas.BigInt)
534
- .returns(SiblingPath.schemaFor(ARCHIVE_HEIGHT)),
535
-
536
- getPublicDataSiblingPath: z
537
- .function()
538
- .args(BlockParameterSchema, schemas.BigInt)
539
- .returns(SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)),
540
-
541
505
  getNullifierMembershipWitness: z
542
506
  .function()
543
507
  .args(BlockParameterSchema, schemas.Fr)
@@ -553,9 +517,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
553
517
  .args(BlockParameterSchema, schemas.Fr)
554
518
  .returns(PublicDataWitness.schema.optional()),
555
519
 
556
- getArchiveMembershipWitness: z
520
+ getBlockHashMembershipWitness: z
557
521
  .function()
558
- .args(BlockParameterSchema, schemas.Fr)
522
+ .args(BlockParameterSchema, BlockHash.schema)
559
523
  .returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
560
524
 
561
525
  getNoteHashMembershipWitness: z
@@ -568,7 +532,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
568
532
  .args(BlockParameterSchema, schemas.Fr)
569
533
  .returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
570
534
 
571
- getL1ToL2MessageBlock: z.function().args(schemas.Fr).returns(BlockNumberSchema.optional()),
535
+ getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
572
536
 
573
537
  isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
574
538
 
@@ -579,12 +543,14 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
579
543
 
580
544
  getBlock: z.function().args(BlockParameterSchema).returns(L2Block.schema.optional()),
581
545
 
582
- getBlockByHash: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
546
+ getBlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
583
547
 
584
548
  getBlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
585
549
 
586
550
  getBlockNumber: z.function().returns(BlockNumberSchema),
587
551
 
552
+ getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
553
+
588
554
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
589
555
 
590
556
  getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
@@ -608,6 +574,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
608
574
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
609
575
  .returns(z.array(CheckpointedL2Block.schema)),
610
576
 
577
+ getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
578
+
611
579
  getCurrentMinFees: z.function().returns(GasFees.schema),
612
580
 
613
581
  getMaxPriorityFees: z.function().returns(GasFees.schema),
@@ -633,7 +601,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
633
601
 
634
602
  getPrivateLogsByTags: z
635
603
  .function()
636
- .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(L2BlockHash.schema))
604
+ .args(z.array(SiloedTag.schema).max(MAX_RPC_LEN), optional(z.number().gte(0)), optional(BlockHash.schema))
637
605
  .returns(z.array(z.array(TxScopedL2Log.schema))),
638
606
 
639
607
  getPublicLogsByTagsFromContract: z
@@ -642,7 +610,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
642
610
  schemas.AztecAddress,
643
611
  z.array(Tag.schema).max(MAX_RPC_LEN),
644
612
  optional(z.number().gte(0)),
645
- optional(L2BlockHash.schema),
613
+ optional(BlockHash.schema),
646
614
  )
647
615
  .returns(z.array(z.array(TxScopedL2Log.schema))),
648
616
 
@@ -1,5 +1,6 @@
1
1
  import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { LoggerBindings } from '@aztec/foundation/log';
3
4
 
4
5
  import type { L2Block } from '../block/l2_block.js';
5
6
  import type { ChainConfig, SequencerConfig } from '../config/chain-config.js';
@@ -34,51 +35,105 @@ export interface IBlockFactory extends ProcessedTxHandler {
34
35
  setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2Block>;
35
36
  }
36
37
 
37
- export interface PublicProcessorLimits {
38
+ /** Limits passed to the public processor for tx processing within a block. */
39
+ export type PublicProcessorLimits = {
40
+ /** Maximum number of txs to process. */
38
41
  maxTransactions?: number;
39
- maxBlockSize?: number;
42
+ /** L2 and DA gas limits. */
40
43
  maxBlockGas?: Gas;
44
+ /** Maximum number of blob fields allowed. */
41
45
  maxBlobFields?: number;
46
+ /** Deadline for processing the txs. Processor will stop as soon as it hits this time. */
42
47
  deadline?: Date;
43
- }
48
+ /** Whether this processor is building a proposal (as opposed to re-executing one). Skipping txs due to gas or blob limits is only done during proposal building. */
49
+ isBuildingProposal?: boolean;
50
+ };
51
+
52
+ /** Base fields shared by both proposer and validator block builder options. */
53
+ type BlockBuilderOptionsBase = PublicProcessorLimits & {
54
+ /** Minimum number of successfully processed txs required. Block is rejected if fewer succeed. */
55
+ minValidTxs: number;
56
+ };
57
+
58
+ /** Proposer mode: redistribution params are required. */
59
+ type ProposerBlockBuilderOptions = BlockBuilderOptionsBase & {
60
+ isBuildingProposal: true;
61
+ /** Maximum number of blocks per checkpoint, derived from the timetable. */
62
+ maxBlocksPerCheckpoint: number;
63
+ /** Per-block gas budget multiplier. Budget = (remaining / remainingBlocks) * multiplier. */
64
+ perBlockAllocationMultiplier: number;
65
+ };
66
+
67
+ /** Validator mode: no redistribution params needed. */
68
+ type ValidatorBlockBuilderOptions = BlockBuilderOptionsBase & {
69
+ isBuildingProposal: false;
70
+ };
71
+
72
+ /** Options for building a block within a checkpoint. When proposing, redistribution params are required. */
73
+ export type BlockBuilderOptions = ProposerBlockBuilderOptions | ValidatorBlockBuilderOptions;
44
74
 
45
75
  export interface PublicProcessorValidator {
46
76
  preprocessValidator?: TxValidator<Tx>;
47
77
  nullifierCache?: { addNullifiers: (nullifiers: Buffer[]) => void };
48
78
  }
49
79
 
50
- export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> &
80
+ export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'rollupManaLimit'> &
51
81
  Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
52
- Pick<SequencerConfig, 'txPublicSetupAllowList' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount'>;
82
+ Pick<
83
+ SequencerConfig,
84
+ | 'txPublicSetupAllowListExtend'
85
+ | 'fakeProcessingDelayPerTxMs'
86
+ | 'fakeThrowAfterProcessingTxCount'
87
+ | 'maxTxsPerBlock'
88
+ | 'maxTxsPerCheckpoint'
89
+ | 'maxL2BlockGas'
90
+ | 'maxDABlockGas'
91
+ >;
53
92
 
54
93
  export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[] = [
55
94
  'l1GenesisTime',
56
95
  'slotDuration',
57
96
  'l1ChainId',
58
97
  'rollupVersion',
59
- 'txPublicSetupAllowList',
98
+ 'txPublicSetupAllowListExtend',
60
99
  'fakeProcessingDelayPerTxMs',
61
100
  'fakeThrowAfterProcessingTxCount',
101
+ 'maxTxsPerBlock',
102
+ 'maxTxsPerCheckpoint',
103
+ 'maxL2BlockGas',
104
+ 'maxDABlockGas',
105
+ 'rollupManaLimit',
62
106
  ] as const;
63
107
 
108
+ /** Thrown when the number of successfully processed transactions is below the required minimum. */
109
+ export class InsufficientValidTxsError extends Error {
110
+ constructor(
111
+ public readonly processedCount: number,
112
+ public readonly minRequired: number,
113
+ public readonly failedTxs: FailedTx[],
114
+ ) {
115
+ super(`Insufficient valid txs: got ${processedCount} but need ${minRequired}`);
116
+ this.name = 'InsufficientValidTxsError';
117
+ }
118
+ }
119
+
64
120
  /** Result of building a block within a checkpoint. */
65
- export interface BuildBlockInCheckpointResult {
121
+ export type BuildBlockInCheckpointResult = {
66
122
  block: L2Block;
67
- publicGas: Gas;
68
123
  publicProcessorDuration: number;
69
124
  numTxs: number;
70
125
  failedTxs: FailedTx[];
71
126
  usedTxs: Tx[];
72
- usedTxBlobFields: number;
73
- }
127
+ };
74
128
 
75
129
  /** Interface for building blocks within a checkpoint context. */
76
130
  export interface ICheckpointBlockBuilder {
131
+ /** Builds a single block within this checkpoint. Throws InsufficientValidTxsError if fewer than minValidTxs succeed. */
77
132
  buildBlock(
78
133
  pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
79
134
  blockNumber: BlockNumber,
80
135
  timestamp: bigint,
81
- opts: PublicProcessorLimits,
136
+ opts: BlockBuilderOptions,
82
137
  ): Promise<BuildBlockInCheckpointResult>;
83
138
  }
84
139
 
@@ -89,8 +144,10 @@ export interface ICheckpointsBuilder {
89
144
  startCheckpoint(
90
145
  checkpointNumber: CheckpointNumber,
91
146
  constants: CheckpointGlobalVariables,
147
+ feeAssetPriceModifier: bigint,
92
148
  l1ToL2Messages: Fr[],
93
149
  previousCheckpointOutHashes: Fr[],
94
150
  fork: MerkleTreeWriteOperations,
151
+ bindings?: LoggerBindings,
95
152
  ): Promise<ICheckpointBlockBuilder>;
96
153
  }
@@ -1,5 +1,6 @@
1
1
  export * from './aztec-node.js';
2
2
  export * from './aztec-node-admin.js';
3
+ export * from './aztec-node-debug.js';
3
4
  export * from './private_kernel_prover.js';
4
5
  export * from './get_logs_response.js';
5
6
  export * from './api_limit.js';
@@ -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,10 @@ 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;
30
+ /** Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget. */
31
+ redistributeCheckpointBudget?: boolean;
26
32
  /** Recipient of block reward. */
27
33
  coinbase?: EthAddress;
28
34
  /** Address to receive fees. */
@@ -31,10 +37,8 @@ export interface SequencerConfig {
31
37
  acvmWorkingDirectory?: string;
32
38
  /** The path to the ACVM binary */
33
39
  acvmBinaryPath?: string;
34
- /** The list of functions calls allowed to run in setup */
35
- txPublicSetupAllowList?: AllowedElement[];
36
- /** Max block size */
37
- maxBlockSizeInBytes?: number;
40
+ /** Additional entries to extend the default setup allow list. */
41
+ txPublicSetupAllowListExtend?: AllowedElement[];
38
42
  /** Payload address to vote for */
39
43
  governanceProposerPayload?: EthAddress;
40
44
  /** Whether to enforce the time table when building blocks */
@@ -59,33 +63,45 @@ export interface SequencerConfig {
59
63
  broadcastInvalidBlockProposal?: boolean;
60
64
  /** Inject a fake attestation (for testing only) */
61
65
  injectFakeAttestation?: boolean;
66
+ /** Inject a malleable attestation with a high-s value (for testing only) */
67
+ injectHighSValueAttestation?: boolean;
68
+ /** Inject an attestation with an unrecoverable signature (for testing only) */
69
+ injectUnrecoverableSignatureAttestation?: boolean;
62
70
  /** Whether to run in fisherman mode: builds blocks on every slot for validation without publishing */
63
71
  fishermanMode?: boolean;
64
72
  /** Shuffle attestation ordering to create invalid ordering (for testing only) */
65
73
  shuffleAttestationOrdering?: boolean;
66
74
  /** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
67
75
  blockDurationMs?: number;
76
+ /** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
77
+ expectedBlockProposalsPerSlot?: number;
68
78
  /** Have sequencer build and publish an empty checkpoint if there are no txs */
69
79
  buildCheckpointIfEmpty?: boolean;
70
80
  /** Skip pushing proposed blocks to archiver (default: false) */
71
81
  skipPushProposedBlocksToArchiver?: boolean;
82
+ /** Minimum number of blocks required for a checkpoint proposal (test only, defaults to undefined = no minimum) */
83
+ minBlocksForCheckpoint?: number;
84
+ /** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
85
+ skipPublishingCheckpointsPercent?: number;
72
86
  }
73
87
 
74
88
  export const SequencerConfigSchema = zodFor<SequencerConfig>()(
75
89
  z.object({
76
90
  sequencerPollingIntervalMS: z.number().optional(),
77
91
  maxTxsPerBlock: z.number().optional(),
92
+ maxTxsPerCheckpoint: z.number().optional(),
78
93
  minValidTxsPerBlock: z.number().optional(),
79
94
  minTxsPerBlock: z.number().optional(),
80
95
  maxL2BlockGas: z.number().optional(),
81
96
  publishTxsWithProposals: z.boolean().optional(),
82
97
  maxDABlockGas: z.number().optional(),
98
+ perBlockAllocationMultiplier: z.number().optional(),
99
+ redistributeCheckpointBudget: z.boolean().optional(),
83
100
  coinbase: schemas.EthAddress.optional(),
84
101
  feeRecipient: schemas.AztecAddress.optional(),
85
102
  acvmWorkingDirectory: z.string().optional(),
86
103
  acvmBinaryPath: z.string().optional(),
87
- txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
88
- maxBlockSizeInBytes: z.number().optional(),
104
+ txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
89
105
  governanceProposerPayload: schemas.EthAddress.optional(),
90
106
  l1PublishingTime: z.number().optional(),
91
107
  enforceTimeTable: z.boolean().optional(),
@@ -98,17 +114,23 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
98
114
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
99
115
  broadcastInvalidBlockProposal: z.boolean().optional(),
100
116
  injectFakeAttestation: z.boolean().optional(),
117
+ injectHighSValueAttestation: z.boolean().optional(),
118
+ injectUnrecoverableSignatureAttestation: z.boolean().optional(),
101
119
  fishermanMode: z.boolean().optional(),
102
120
  shuffleAttestationOrdering: z.boolean().optional(),
103
121
  blockDurationMs: z.number().positive().optional(),
122
+ expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
104
123
  buildCheckpointIfEmpty: z.boolean().optional(),
105
124
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
125
+ minBlocksForCheckpoint: z.number().positive().optional(),
126
+ skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
106
127
  }),
107
128
  );
108
129
 
109
130
  type SequencerConfigOptionalKeys =
110
131
  | 'governanceProposerPayload'
111
132
  | 'blockDurationMs'
133
+ | 'expectedBlockProposalsPerSlot'
112
134
  | 'coinbase'
113
135
  | 'feeRecipient'
114
136
  | 'acvmWorkingDirectory'
@@ -116,8 +138,14 @@ type SequencerConfigOptionalKeys =
116
138
  | 'fakeProcessingDelayPerTxMs'
117
139
  | 'fakeThrowAfterProcessingTxCount'
118
140
  | 'l1PublishingTime'
119
- | 'txPublicSetupAllowList'
120
- | 'minValidTxsPerBlock';
141
+ | 'txPublicSetupAllowListExtend'
142
+ | 'minValidTxsPerBlock'
143
+ | 'minBlocksForCheckpoint'
144
+ | 'maxTxsPerBlock'
145
+ | 'maxTxsPerCheckpoint'
146
+ | 'maxL2BlockGas'
147
+ | 'maxDABlockGas'
148
+ | 'redistributeCheckpointBudget';
121
149
 
122
150
  export type ResolvedSequencerConfig = Prettify<
123
151
  Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>