@aztec/stdlib 5.0.0-private.20260319 → 5.0.0-rc.2

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 (961) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +7 -4
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +42 -12
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +40 -13
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +201 -356
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +66 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +69 -10
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +29 -7
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +184 -135
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +5 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +4 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  127. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  128. package/dest/checkpoint/simulation_overrides.js +98 -0
  129. package/dest/checkpoint/validate.d.ts +11 -3
  130. package/dest/checkpoint/validate.d.ts.map +1 -1
  131. package/dest/checkpoint/validate.js +9 -6
  132. package/dest/config/chain-config.d.ts +4 -9
  133. package/dest/config/chain-config.d.ts.map +1 -1
  134. package/dest/config/chain-config.js +13 -12
  135. package/dest/config/index.d.ts +2 -2
  136. package/dest/config/index.d.ts.map +1 -1
  137. package/dest/config/index.js +1 -1
  138. package/dest/config/network-consensus-config.d.ts +72 -0
  139. package/dest/config/network-consensus-config.d.ts.map +1 -0
  140. package/dest/config/network-consensus-config.js +231 -0
  141. package/dest/config/sequencer-config.d.ts +7 -3
  142. package/dest/config/sequencer-config.d.ts.map +1 -1
  143. package/dest/config/sequencer-config.js +38 -5
  144. package/dest/contract/complete_address.d.ts +3 -2
  145. package/dest/contract/complete_address.d.ts.map +1 -1
  146. package/dest/contract/complete_address.js +6 -2
  147. package/dest/contract/contract_address.d.ts +5 -5
  148. package/dest/contract/contract_address.d.ts.map +1 -1
  149. package/dest/contract/contract_address.js +5 -4
  150. package/dest/contract/contract_deployment_data.d.ts +15 -61
  151. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  152. package/dest/contract/contract_instance.d.ts +4 -2
  153. package/dest/contract/contract_instance.d.ts.map +1 -1
  154. package/dest/contract/contract_instance.js +10 -3
  155. package/dest/contract/index.d.ts +1 -3
  156. package/dest/contract/index.d.ts.map +1 -1
  157. package/dest/contract/index.js +0 -2
  158. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  159. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_class.js +1 -28
  161. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  162. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  164. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  165. package/dest/contract/interfaces/contract_instance.js +4 -2
  166. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  167. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  168. package/dest/contract/interfaces/node-info.d.ts +11 -1
  169. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  170. package/dest/contract/interfaces/node-info.js +7 -1
  171. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  172. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  173. package/dest/contract/private_function.d.ts +1 -1
  174. package/dest/contract/private_function.d.ts.map +1 -1
  175. package/dest/contract/private_function.js +2 -4
  176. package/dest/database-version/database_version.d.ts +5 -11
  177. package/dest/database-version/database_version.d.ts.map +1 -1
  178. package/dest/database-version/version_manager.d.ts +6 -2
  179. package/dest/database-version/version_manager.d.ts.map +1 -1
  180. package/dest/database-version/version_manager.js +12 -1
  181. package/dest/deserialization/index.d.ts +35 -3
  182. package/dest/deserialization/index.d.ts.map +1 -1
  183. package/dest/deserialization/index.js +32 -1
  184. package/dest/epoch-helpers/index.d.ts +10 -22
  185. package/dest/epoch-helpers/index.d.ts.map +1 -1
  186. package/dest/epoch-helpers/index.js +12 -0
  187. package/dest/file-store/factory.d.ts +4 -3
  188. package/dest/file-store/factory.d.ts.map +1 -1
  189. package/dest/file-store/factory.js +9 -2
  190. package/dest/file-store/http.d.ts +9 -2
  191. package/dest/file-store/http.d.ts.map +1 -1
  192. package/dest/file-store/http.js +20 -9
  193. package/dest/file-store/index.d.ts +3 -1
  194. package/dest/file-store/index.d.ts.map +1 -1
  195. package/dest/file-store/index.js +1 -0
  196. package/dest/file-store/memory.d.ts +24 -0
  197. package/dest/file-store/memory.d.ts.map +1 -0
  198. package/dest/file-store/memory.js +80 -0
  199. package/dest/gas/fee_math.d.ts +49 -0
  200. package/dest/gas/fee_math.d.ts.map +1 -0
  201. package/dest/gas/fee_math.js +80 -0
  202. package/dest/gas/gas.d.ts +9 -14
  203. package/dest/gas/gas.d.ts.map +1 -1
  204. package/dest/gas/gas.js +6 -3
  205. package/dest/gas/gas_fees.d.ts +13 -14
  206. package/dest/gas/gas_fees.d.ts.map +1 -1
  207. package/dest/gas/gas_fees.js +17 -4
  208. package/dest/gas/gas_settings.d.ts +60 -86
  209. package/dest/gas/gas_settings.d.ts.map +1 -1
  210. package/dest/gas/gas_settings.js +49 -9
  211. package/dest/gas/index.d.ts +3 -1
  212. package/dest/gas/index.d.ts.map +1 -1
  213. package/dest/gas/index.js +2 -0
  214. package/dest/gas/tx_gas_limits.d.ts +72 -0
  215. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  216. package/dest/gas/tx_gas_limits.js +85 -0
  217. package/dest/ha-signing/config.d.ts +11 -75
  218. package/dest/ha-signing/config.d.ts.map +1 -1
  219. package/dest/ha-signing/config.js +9 -18
  220. package/dest/ha-signing/index.d.ts +2 -2
  221. package/dest/ha-signing/index.d.ts.map +1 -1
  222. package/dest/ha-signing/index.js +1 -1
  223. package/dest/ha-signing/local_config.d.ts +3 -34
  224. package/dest/ha-signing/local_config.d.ts.map +1 -1
  225. package/dest/ha-signing/local_config.js +2 -2
  226. package/dest/ha-signing/types.d.ts +37 -32
  227. package/dest/ha-signing/types.d.ts.map +1 -1
  228. package/dest/ha-signing/types.js +13 -6
  229. package/dest/hash/hash.d.ts +19 -1
  230. package/dest/hash/hash.d.ts.map +1 -1
  231. package/dest/hash/hash.js +39 -2
  232. package/dest/interfaces/allowed_element.d.ts +4 -28
  233. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  234. package/dest/interfaces/api_limit.d.ts +1 -1
  235. package/dest/interfaces/api_limit.js +1 -1
  236. package/dest/interfaces/archiver.d.ts +20 -32
  237. package/dest/interfaces/archiver.d.ts.map +1 -1
  238. package/dest/interfaces/archiver.js +215 -70
  239. package/dest/interfaces/aztec-node-admin.d.ts +71 -305
  240. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  241. package/dest/interfaces/aztec-node-admin.js +60 -17
  242. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  243. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  244. package/dest/interfaces/aztec-node-debug.js +49 -0
  245. package/dest/interfaces/aztec-node.d.ts +160 -116
  246. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node.js +350 -74
  248. package/dest/interfaces/block-builder.d.ts +5 -1
  249. package/dest/interfaces/block-builder.d.ts.map +1 -1
  250. package/dest/interfaces/block_response.d.ts +90 -0
  251. package/dest/interfaces/block_response.d.ts.map +1 -0
  252. package/dest/interfaces/block_response.js +30 -0
  253. package/dest/interfaces/chain_tips.d.ts +11 -0
  254. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  255. package/dest/interfaces/chain_tips.js +6 -0
  256. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  257. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  258. package/dest/interfaces/checkpoint_parameter.js +18 -0
  259. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  260. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_response.js +26 -0
  262. package/dest/interfaces/client.d.ts +9 -2
  263. package/dest/interfaces/client.d.ts.map +1 -1
  264. package/dest/interfaces/client.js +7 -1
  265. package/dest/interfaces/configs.d.ts +63 -134
  266. package/dest/interfaces/configs.d.ts.map +1 -1
  267. package/dest/interfaces/configs.js +13 -2
  268. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  269. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  270. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +46 -7
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +41 -6
  283. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +7 -29
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +0 -3
  291. package/dest/interfaces/prover-node.d.ts +12 -8
  292. package/dest/interfaces/prover-node.d.ts.map +1 -1
  293. package/dest/interfaces/prover-node.js +37 -16
  294. package/dest/interfaces/proving-job-source.js +24 -4
  295. package/dest/interfaces/proving-job.d.ts +763 -5814
  296. package/dest/interfaces/proving-job.d.ts.map +1 -1
  297. package/dest/interfaces/proving-job.js +1 -1
  298. package/dest/interfaces/public_storage_override.d.ts +22 -0
  299. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  300. package/dest/interfaces/public_storage_override.js +7 -0
  301. package/dest/interfaces/server.d.ts +6 -2
  302. package/dest/interfaces/server.d.ts.map +1 -1
  303. package/dest/interfaces/server.js +5 -1
  304. package/dest/interfaces/slasher.d.ts +25 -65
  305. package/dest/interfaces/slasher.d.ts.map +1 -1
  306. package/dest/interfaces/slasher.js +8 -4
  307. package/dest/interfaces/tx_provider.d.ts +6 -1
  308. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  309. package/dest/interfaces/validator.d.ts +55 -248
  310. package/dest/interfaces/validator.d.ts.map +1 -1
  311. package/dest/interfaces/validator.js +8 -2
  312. package/dest/interfaces/world_state.d.ts +2 -2
  313. package/dest/interfaces/world_state.d.ts.map +1 -1
  314. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  315. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  316. package/dest/kernel/hints/key_validation_request.js +20 -18
  317. package/dest/kernel/hints/read_request.js +1 -1
  318. package/dest/kernel/index.d.ts +5 -1
  319. package/dest/kernel/index.d.ts.map +1 -1
  320. package/dest/kernel/index.js +4 -0
  321. package/dest/kernel/log_hash.d.ts +6 -2
  322. package/dest/kernel/log_hash.d.ts.map +1 -1
  323. package/dest/kernel/log_hash.js +23 -11
  324. package/dest/kernel/note_hash.js +1 -1
  325. package/dest/kernel/nullifier.js +1 -1
  326. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  327. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  328. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  329. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  330. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  331. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  332. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  333. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  334. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  335. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  336. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  337. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  338. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  339. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  340. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  341. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  342. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  343. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  344. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  345. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  347. package/dest/kernel/private_log_data.d.ts +1 -1
  348. package/dest/kernel/private_log_data.d.ts.map +1 -1
  349. package/dest/kernel/private_log_data.js +1 -1
  350. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  351. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  352. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  353. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  354. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  355. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  356. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  357. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  358. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  359. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  360. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  361. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  362. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  363. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  364. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  365. package/dest/kernel/public_call_request.d.ts +15 -30
  366. package/dest/kernel/public_call_request.d.ts.map +1 -1
  367. package/dest/kernel/public_call_request.js +16 -7
  368. package/dest/keys/derivation.d.ts +6 -2
  369. package/dest/keys/derivation.d.ts.map +1 -1
  370. package/dest/keys/derivation.js +16 -6
  371. package/dest/keys/public_key.d.ts +22 -3
  372. package/dest/keys/public_key.d.ts.map +1 -1
  373. package/dest/keys/public_key.js +20 -1
  374. package/dest/keys/public_keys.d.ts +55 -82
  375. package/dest/keys/public_keys.d.ts.map +1 -1
  376. package/dest/keys/public_keys.js +102 -74
  377. package/dest/kv-store/config.d.ts +3 -6
  378. package/dest/kv-store/config.d.ts.map +1 -1
  379. package/dest/kv-store/config.js +2 -7
  380. package/dest/l1-contracts/index.d.ts +2 -2
  381. package/dest/l1-contracts/index.d.ts.map +1 -1
  382. package/dest/l1-contracts/index.js +1 -1
  383. package/dest/logs/app_tagging_secret.d.ts +61 -0
  384. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  385. package/dest/logs/app_tagging_secret.js +119 -0
  386. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  387. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  388. package/dest/logs/app_tagging_secret_kind.js +17 -0
  389. package/dest/logs/contract_class_log.d.ts +16 -35
  390. package/dest/logs/contract_class_log.d.ts.map +1 -1
  391. package/dest/logs/contract_class_log.js +11 -13
  392. package/dest/logs/index.d.ts +7 -7
  393. package/dest/logs/index.d.ts.map +1 -1
  394. package/dest/logs/index.js +6 -6
  395. package/dest/logs/log_cursor.d.ts +51 -0
  396. package/dest/logs/log_cursor.d.ts.map +1 -0
  397. package/dest/logs/log_cursor.js +82 -0
  398. package/dest/logs/log_result.d.ts +54 -0
  399. package/dest/logs/log_result.d.ts.map +1 -0
  400. package/dest/logs/log_result.js +56 -0
  401. package/dest/logs/logs_query.d.ts +82 -0
  402. package/dest/logs/logs_query.d.ts.map +1 -0
  403. package/dest/logs/logs_query.js +50 -0
  404. package/dest/logs/message_context.d.ts +4 -16
  405. package/dest/logs/message_context.d.ts.map +1 -1
  406. package/dest/logs/message_context.js +1 -48
  407. package/dest/logs/pending_tagged_log.d.ts +6 -9
  408. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  409. package/dest/logs/pending_tagged_log.js +1 -31
  410. package/dest/logs/pre_tag.d.ts +11 -24
  411. package/dest/logs/pre_tag.d.ts.map +1 -1
  412. package/dest/logs/pre_tag.js +2 -2
  413. package/dest/logs/private_log.d.ts +7 -12
  414. package/dest/logs/private_log.d.ts.map +1 -1
  415. package/dest/logs/private_log.js +6 -3
  416. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  417. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  418. package/dest/logs/query_all_logs_by_tags.js +64 -0
  419. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  420. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  421. package/dest/logs/shared_secret_derivation.js +15 -9
  422. package/dest/logs/siloed_tag.d.ts +8 -7
  423. package/dest/logs/siloed_tag.d.ts.map +1 -1
  424. package/dest/logs/siloed_tag.js +13 -3
  425. package/dest/logs/tag.d.ts +5 -6
  426. package/dest/logs/tag.d.ts.map +1 -1
  427. package/dest/logs/tag.js +4 -0
  428. package/dest/logs/tagging_index_range.d.ts +13 -31
  429. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  430. package/dest/logs/tagging_index_range.js +2 -2
  431. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  432. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  433. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  434. package/dest/messaging/index.d.ts +2 -1
  435. package/dest/messaging/index.d.ts.map +1 -1
  436. package/dest/messaging/index.js +1 -0
  437. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  438. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  439. package/dest/messaging/l1_to_l2_message.js +11 -13
  440. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  441. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  442. package/dest/messaging/l2_to_l1_membership.js +72 -12
  443. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  444. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  445. package/dest/messaging/l2_to_l1_message.js +21 -12
  446. package/dest/noir/index.d.ts +3 -1
  447. package/dest/noir/index.d.ts.map +1 -1
  448. package/dest/note/note.d.ts +2 -2
  449. package/dest/note/note.d.ts.map +1 -1
  450. package/dest/note/note_dao.d.ts +1 -1
  451. package/dest/note/note_dao.d.ts.map +1 -1
  452. package/dest/note/note_dao.js +1 -4
  453. package/dest/p2p/block_proposal.d.ts +31 -14
  454. package/dest/p2p/block_proposal.d.ts.map +1 -1
  455. package/dest/p2p/block_proposal.js +57 -39
  456. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  457. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  458. package/dest/p2p/checkpoint_attestation.js +23 -24
  459. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  460. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  461. package/dest/p2p/checkpoint_proposal.js +59 -51
  462. package/dest/p2p/consensus_payload.d.ts +27 -20
  463. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  464. package/dest/p2p/consensus_payload.js +38 -19
  465. package/dest/p2p/gossipable.d.ts +4 -4
  466. package/dest/p2p/gossipable.d.ts.map +1 -1
  467. package/dest/p2p/signature_utils.d.ts +28 -19
  468. package/dest/p2p/signature_utils.d.ts.map +1 -1
  469. package/dest/p2p/signature_utils.js +118 -21
  470. package/dest/p2p/signed_txs.d.ts +15 -13
  471. package/dest/p2p/signed_txs.d.ts.map +1 -1
  472. package/dest/p2p/signed_txs.js +26 -24
  473. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  474. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  475. package/dest/parity/parity_base_private_inputs.js +7 -5
  476. package/dest/parity/parity_public_inputs.d.ts +8 -4
  477. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  478. package/dest/parity/parity_public_inputs.js +6 -3
  479. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  480. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  481. package/dest/proofs/chonk_proof.d.ts +57 -7
  482. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  483. package/dest/proofs/chonk_proof.js +112 -15
  484. package/dest/proofs/recursive_proof.d.ts +2 -2
  485. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  486. package/dest/rollup/block_headers_hash.d.ts +1 -1
  487. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  488. package/dest/rollup/block_headers_hash.js +8 -2
  489. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  490. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  492. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  493. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  494. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  495. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  496. package/dest/rollup/checkpoint_header.d.ts +8 -3
  497. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  498. package/dest/rollup/checkpoint_header.js +20 -10
  499. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  502. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  504. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  505. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  506. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  507. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  508. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  509. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  510. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  511. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  512. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  513. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  514. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  515. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  516. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  517. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  518. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  519. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  520. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  521. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  522. package/dest/schemas/schemas.d.ts +32 -78
  523. package/dest/schemas/schemas.d.ts.map +1 -1
  524. package/dest/schemas/schemas.js +2 -2
  525. package/dest/slashing/helpers.d.ts +2 -2
  526. package/dest/slashing/helpers.d.ts.map +1 -1
  527. package/dest/slashing/helpers.js +10 -7
  528. package/dest/slashing/index.d.ts +2 -3
  529. package/dest/slashing/index.d.ts.map +1 -1
  530. package/dest/slashing/index.js +1 -2
  531. package/dest/slashing/serialization.d.ts +2 -6
  532. package/dest/slashing/serialization.d.ts.map +1 -1
  533. package/dest/slashing/serialization.js +0 -60
  534. package/dest/slashing/types.d.ts +18 -112
  535. package/dest/slashing/types.d.ts.map +1 -1
  536. package/dest/slashing/types.js +16 -24
  537. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  538. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  539. package/dest/slashing/{tally.js → votes.js} +1 -1
  540. package/dest/snapshots/types.d.ts +15 -78
  541. package/dest/snapshots/types.d.ts.map +1 -1
  542. package/dest/stats/stats.d.ts +2 -2
  543. package/dest/stats/stats.d.ts.map +1 -1
  544. package/dest/tests/factories.d.ts +25 -32
  545. package/dest/tests/factories.d.ts.map +1 -1
  546. package/dest/tests/factories.js +78 -84
  547. package/dest/tests/mocks.d.ts +8 -5
  548. package/dest/tests/mocks.d.ts.map +1 -1
  549. package/dest/tests/mocks.js +45 -56
  550. package/dest/timetable/budgets.d.ts +57 -0
  551. package/dest/timetable/budgets.d.ts.map +1 -0
  552. package/dest/timetable/budgets.js +56 -0
  553. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  554. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  555. package/dest/timetable/build_proposer_timetable.js +17 -0
  556. package/dest/timetable/consensus_timetable.d.ts +70 -0
  557. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  558. package/dest/timetable/consensus_timetable.js +89 -0
  559. package/dest/timetable/index.d.ts +5 -37
  560. package/dest/timetable/index.d.ts.map +1 -1
  561. package/dest/timetable/index.js +4 -39
  562. package/dest/timetable/proposer_timetable.d.ts +106 -0
  563. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  564. package/dest/timetable/proposer_timetable.js +132 -0
  565. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  566. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  567. package/dest/trees/append_only_tree_snapshot.js +6 -3
  568. package/dest/trees/nullifier_leaf.d.ts +19 -42
  569. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  570. package/dest/trees/nullifier_leaf.js +3 -0
  571. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  572. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  573. package/dest/trees/nullifier_membership_witness.js +0 -21
  574. package/dest/trees/public_data_leaf.d.ts +21 -53
  575. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  576. package/dest/trees/public_data_witness.d.ts +19 -71
  577. package/dest/trees/public_data_witness.d.ts.map +1 -1
  578. package/dest/trees/public_data_witness.js +0 -27
  579. package/dest/tx/block_header.d.ts +5 -4
  580. package/dest/tx/block_header.d.ts.map +1 -1
  581. package/dest/tx/block_header.js +7 -4
  582. package/dest/tx/call_context.d.ts +4 -14
  583. package/dest/tx/call_context.d.ts.map +1 -1
  584. package/dest/tx/capsule.d.ts +7 -3
  585. package/dest/tx/capsule.d.ts.map +1 -1
  586. package/dest/tx/capsule.js +9 -3
  587. package/dest/tx/execution_payload.d.ts +1 -1
  588. package/dest/tx/execution_payload.d.ts.map +1 -1
  589. package/dest/tx/execution_payload.js +1 -1
  590. package/dest/tx/fee_provider.d.ts +10 -0
  591. package/dest/tx/fee_provider.d.ts.map +1 -0
  592. package/dest/tx/fee_provider.js +1 -0
  593. package/dest/tx/function_data.d.ts +4 -10
  594. package/dest/tx/function_data.d.ts.map +1 -1
  595. package/dest/tx/global_variable_builder.d.ts +4 -15
  596. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  597. package/dest/tx/global_variables.d.ts +16 -49
  598. package/dest/tx/global_variables.d.ts.map +1 -1
  599. package/dest/tx/global_variables.js +10 -14
  600. package/dest/tx/hashed_values.d.ts +4 -3
  601. package/dest/tx/hashed_values.d.ts.map +1 -1
  602. package/dest/tx/hashed_values.js +6 -3
  603. package/dest/tx/in_tx.d.ts +5 -17
  604. package/dest/tx/in_tx.d.ts.map +1 -1
  605. package/dest/tx/index.d.ts +2 -1
  606. package/dest/tx/index.d.ts.map +1 -1
  607. package/dest/tx/index.js +1 -0
  608. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  609. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  610. package/dest/tx/indexed_tx_effect.js +9 -6
  611. package/dest/tx/partial_state_reference.d.ts +22 -65
  612. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  613. package/dest/tx/partial_state_reference.js +6 -3
  614. package/dest/tx/private_execution_result.d.ts +6 -16
  615. package/dest/tx/private_execution_result.d.ts.map +1 -1
  616. package/dest/tx/profiling.d.ts +54 -352
  617. package/dest/tx/profiling.d.ts.map +1 -1
  618. package/dest/tx/profiling.js +4 -4
  619. package/dest/tx/protocol_contracts.d.ts +5 -9
  620. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  621. package/dest/tx/proven_tx.d.ts +30 -74
  622. package/dest/tx/proven_tx.d.ts.map +1 -1
  623. package/dest/tx/proven_tx.js +6 -0
  624. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  625. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  626. package/dest/tx/public_call_request_with_calldata.js +6 -3
  627. package/dest/tx/simulated_tx.d.ts +64 -1143
  628. package/dest/tx/simulated_tx.d.ts.map +1 -1
  629. package/dest/tx/simulated_tx.js +13 -11
  630. package/dest/tx/state_reference.d.ts +30 -117
  631. package/dest/tx/state_reference.d.ts.map +1 -1
  632. package/dest/tx/state_reference.js +6 -4
  633. package/dest/tx/tree_snapshots.d.ts +27 -84
  634. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  635. package/dest/tx/tree_snapshots.js +6 -4
  636. package/dest/tx/tx.d.ts +22 -13
  637. package/dest/tx/tx.d.ts.map +1 -1
  638. package/dest/tx/tx.js +44 -22
  639. package/dest/tx/tx_constant_data.d.ts +4 -3
  640. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  641. package/dest/tx/tx_constant_data.js +6 -3
  642. package/dest/tx/tx_context.d.ts +32 -131
  643. package/dest/tx/tx_context.d.ts.map +1 -1
  644. package/dest/tx/tx_context.js +6 -6
  645. package/dest/tx/tx_hash.d.ts +6 -4
  646. package/dest/tx/tx_hash.d.ts.map +1 -1
  647. package/dest/tx/tx_hash.js +13 -5
  648. package/dest/tx/tx_receipt.d.ts +144 -63
  649. package/dest/tx/tx_receipt.d.ts.map +1 -1
  650. package/dest/tx/tx_receipt.js +143 -60
  651. package/dest/tx/validator/error_texts.d.ts +6 -2
  652. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  653. package/dest/tx/validator/error_texts.js +7 -1
  654. package/dest/tx/validator/tx_validator.d.ts +5 -27
  655. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  656. package/dest/tx/validator/tx_validator.js +0 -4
  657. package/dest/types/shared.d.ts +4 -12
  658. package/dest/types/shared.d.ts.map +1 -1
  659. package/dest/types/shared.js +6 -12
  660. package/dest/update-checker/dev_version.d.ts +3 -0
  661. package/dest/update-checker/dev_version.d.ts.map +1 -0
  662. package/dest/update-checker/dev_version.js +1 -0
  663. package/dest/update-checker/index.d.ts +2 -1
  664. package/dest/update-checker/index.d.ts.map +1 -1
  665. package/dest/update-checker/index.js +1 -0
  666. package/dest/update-checker/package_version.d.ts +6 -3
  667. package/dest/update-checker/package_version.d.ts.map +1 -1
  668. package/dest/update-checker/package_version.js +8 -19
  669. package/dest/validators/schemas.d.ts +147 -614
  670. package/dest/validators/schemas.d.ts.map +1 -1
  671. package/dest/validators/schemas.js +6 -4
  672. package/dest/validators/types.d.ts +20 -3
  673. package/dest/validators/types.d.ts.map +1 -1
  674. package/dest/versioning/versioning.js +1 -1
  675. package/dest/vks/verification_key.d.ts +4 -139
  676. package/dest/vks/verification_key.d.ts.map +1 -1
  677. package/dest/vks/verification_key.js +5 -126
  678. package/dest/world-state/genesis_data.d.ts +13 -0
  679. package/dest/world-state/genesis_data.d.ts.map +1 -0
  680. package/dest/world-state/genesis_data.js +7 -0
  681. package/dest/world-state/index.d.ts +2 -1
  682. package/dest/world-state/index.d.ts.map +1 -1
  683. package/dest/world-state/index.js +1 -0
  684. package/dest/world-state/world_state_revision.d.ts +15 -26
  685. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  686. package/dest/world-state/world_state_revision.js +7 -1
  687. package/package.json +12 -11
  688. package/src/abi/abi.ts +78 -21
  689. package/src/abi/authorization_selector.ts +2 -8
  690. package/src/abi/buffer.ts +38 -5
  691. package/src/abi/contract_artifact.ts +30 -6
  692. package/src/abi/decoder.ts +23 -78
  693. package/src/abi/encoder.ts +42 -6
  694. package/src/abi/event_selector.ts +2 -8
  695. package/src/abi/function_selector.ts +4 -13
  696. package/src/abi/function_signature_decoder.ts +77 -0
  697. package/src/abi/index.ts +1 -0
  698. package/src/abi/note_selector.ts +3 -12
  699. package/src/abi/selector.ts +1 -1
  700. package/src/abi/utils.ts +6 -4
  701. package/src/avm/avm.ts +6 -1
  702. package/src/avm/message_pack.ts +12 -3
  703. package/src/avm/revert_code.ts +19 -39
  704. package/src/aztec-address/index.ts +50 -17
  705. package/src/block/attestation_info.ts +11 -11
  706. package/src/block/block_data.ts +3 -4
  707. package/src/block/block_hash.ts +21 -14
  708. package/src/block/block_parameter.ts +72 -4
  709. package/src/block/index.ts +0 -1
  710. package/src/block/l2_block_info.ts +8 -6
  711. package/src/block/l2_block_source.ts +210 -146
  712. package/src/block/l2_block_stream/interfaces.ts +65 -9
  713. package/src/block/l2_block_stream/l2_block_stream.ts +250 -171
  714. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  715. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  716. package/src/block/proposal/attestations_and_signers.ts +32 -17
  717. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  718. package/src/checkpoint/checkpoint.ts +13 -3
  719. package/src/checkpoint/checkpoint_data.ts +44 -4
  720. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  721. package/src/checkpoint/digest.ts +28 -0
  722. package/src/checkpoint/index.ts +4 -0
  723. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  724. package/src/checkpoint/simulation_overrides.ts +171 -0
  725. package/src/checkpoint/validate.ts +16 -6
  726. package/src/config/chain-config.ts +13 -16
  727. package/src/config/index.ts +1 -1
  728. package/src/config/network-consensus-config.ts +302 -0
  729. package/src/config/sequencer-config.ts +68 -9
  730. package/src/contract/complete_address.ts +7 -3
  731. package/src/contract/contract_address.ts +6 -6
  732. package/src/contract/contract_instance.ts +11 -2
  733. package/src/contract/index.ts +0 -2
  734. package/src/contract/interfaces/contract_class.ts +2 -82
  735. package/src/contract/interfaces/contract_data_source.ts +2 -4
  736. package/src/contract/interfaces/contract_instance.ts +6 -2
  737. package/src/contract/interfaces/node-info.ts +11 -0
  738. package/src/contract/private_function.ts +3 -1
  739. package/src/database-version/version_manager.ts +17 -0
  740. package/src/deserialization/index.ts +35 -2
  741. package/src/epoch-helpers/index.ts +24 -0
  742. package/src/file-store/factory.ts +20 -4
  743. package/src/file-store/http.ts +29 -10
  744. package/src/file-store/index.ts +2 -0
  745. package/src/file-store/memory.ts +94 -0
  746. package/src/gas/README.md +123 -0
  747. package/src/gas/fee_math.ts +120 -0
  748. package/src/gas/gas.ts +8 -3
  749. package/src/gas/gas_fees.ts +26 -13
  750. package/src/gas/gas_settings.ts +63 -15
  751. package/src/gas/index.ts +2 -0
  752. package/src/gas/tx_gas_limits.ts +123 -0
  753. package/src/ha-signing/config.ts +14 -18
  754. package/src/ha-signing/index.ts +3 -1
  755. package/src/ha-signing/local_config.ts +2 -2
  756. package/src/ha-signing/types.ts +48 -34
  757. package/src/hash/hash.ts +34 -2
  758. package/src/interfaces/api_limit.ts +1 -1
  759. package/src/interfaces/archiver.ts +88 -93
  760. package/src/interfaces/aztec-node-admin.ts +36 -21
  761. package/src/interfaces/aztec-node-debug.ts +92 -0
  762. package/src/interfaces/aztec-node.ts +398 -271
  763. package/src/interfaces/block-builder.ts +4 -0
  764. package/src/interfaces/block_response.ts +92 -0
  765. package/src/interfaces/chain_tips.ts +16 -0
  766. package/src/interfaces/checkpoint_parameter.ts +20 -0
  767. package/src/interfaces/checkpoint_response.ts +84 -0
  768. package/src/interfaces/client.ts +8 -1
  769. package/src/interfaces/configs.ts +64 -7
  770. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  771. package/src/interfaces/l1_publish_info.ts +40 -0
  772. package/src/interfaces/l2_logs_source.ts +13 -42
  773. package/src/interfaces/merkle_tree_operations.ts +3 -2
  774. package/src/interfaces/p2p-bootstrap.ts +2 -2
  775. package/src/interfaces/p2p.ts +59 -19
  776. package/src/interfaces/private_kernel_prover.ts +88 -0
  777. package/src/interfaces/prover-agent.ts +1 -1
  778. package/src/interfaces/prover-client.ts +3 -8
  779. package/src/interfaces/prover-node.ts +36 -21
  780. package/src/interfaces/proving-job-source.ts +4 -4
  781. package/src/interfaces/proving-job.ts +3 -3
  782. package/src/interfaces/public_storage_override.ts +26 -0
  783. package/src/interfaces/server.ts +5 -1
  784. package/src/interfaces/slasher.ts +17 -10
  785. package/src/interfaces/tx_provider.ts +6 -0
  786. package/src/interfaces/validator.ts +45 -15
  787. package/src/interfaces/world_state.ts +1 -1
  788. package/src/kernel/hints/key_validation_request.ts +18 -16
  789. package/src/kernel/hints/read_request.ts +1 -1
  790. package/src/kernel/index.ts +4 -0
  791. package/src/kernel/log_hash.ts +36 -13
  792. package/src/kernel/note_hash.ts +1 -1
  793. package/src/kernel/nullifier.ts +1 -1
  794. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  795. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  796. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  797. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  798. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  799. package/src/kernel/private_log_data.ts +4 -1
  800. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  801. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  802. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  803. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  804. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  805. package/src/kernel/public_call_request.ts +22 -7
  806. package/src/keys/derivation.ts +21 -9
  807. package/src/keys/public_key.ts +26 -2
  808. package/src/keys/public_keys.ts +124 -110
  809. package/src/kv-store/config.ts +3 -10
  810. package/src/l1-contracts/index.ts +1 -1
  811. package/src/logs/app_tagging_secret.ts +153 -0
  812. package/src/logs/app_tagging_secret_kind.ts +21 -0
  813. package/src/logs/contract_class_log.ts +15 -14
  814. package/src/logs/index.ts +6 -6
  815. package/src/logs/log_cursor.ts +110 -0
  816. package/src/logs/log_result.ts +104 -0
  817. package/src/logs/logs_query.ts +138 -0
  818. package/src/logs/message_context.ts +6 -50
  819. package/src/logs/pending_tagged_log.ts +6 -35
  820. package/src/logs/pre_tag.ts +3 -6
  821. package/src/logs/private_log.ts +9 -3
  822. package/src/logs/query_all_logs_by_tags.ts +98 -0
  823. package/src/logs/shared_secret_derivation.ts +21 -10
  824. package/src/logs/siloed_tag.ts +20 -11
  825. package/src/logs/tag.ts +8 -8
  826. package/src/logs/tagging_index_range.ts +4 -10
  827. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  828. package/src/messaging/index.ts +1 -0
  829. package/src/messaging/l1_to_l2_message.ts +12 -9
  830. package/src/messaging/l2_to_l1_membership.ts +108 -19
  831. package/src/messaging/l2_to_l1_message.ts +29 -9
  832. package/src/noir/index.ts +2 -0
  833. package/src/note/note_dao.ts +1 -4
  834. package/src/p2p/block_proposal.ts +111 -36
  835. package/src/p2p/checkpoint_attestation.ts +27 -31
  836. package/src/p2p/checkpoint_proposal.ts +128 -73
  837. package/src/p2p/consensus_payload.ts +59 -28
  838. package/src/p2p/gossipable.ts +4 -4
  839. package/src/p2p/signature_utils.ts +110 -25
  840. package/src/p2p/signed_txs.ts +46 -28
  841. package/src/parity/parity_base_private_inputs.ts +10 -4
  842. package/src/parity/parity_public_inputs.ts +9 -2
  843. package/src/proofs/chonk_proof.ts +132 -12
  844. package/src/rollup/block_headers_hash.ts +11 -2
  845. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  846. package/src/rollup/checkpoint_header.ts +16 -2
  847. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  848. package/src/schemas/schemas.ts +6 -1
  849. package/src/slashing/helpers.ts +13 -9
  850. package/src/slashing/index.ts +1 -2
  851. package/src/slashing/serialization.ts +1 -81
  852. package/src/slashing/types.ts +24 -49
  853. package/src/slashing/{tally.ts → votes.ts} +1 -1
  854. package/src/stats/stats.ts +4 -0
  855. package/src/tests/factories.ts +108 -113
  856. package/src/tests/mocks.ts +72 -71
  857. package/src/timetable/README.md +609 -0
  858. package/src/timetable/budgets.ts +87 -0
  859. package/src/timetable/build_proposer_timetable.ts +42 -0
  860. package/src/timetable/consensus_timetable.ts +126 -0
  861. package/src/timetable/index.ts +4 -66
  862. package/src/timetable/proposer_timetable.ts +190 -0
  863. package/src/timetable/timetable-example.svg +108 -0
  864. package/src/trees/append_only_tree_snapshot.ts +8 -3
  865. package/src/trees/nullifier_leaf.ts +4 -0
  866. package/src/trees/nullifier_membership_witness.ts +0 -21
  867. package/src/trees/public_data_witness.ts +0 -31
  868. package/src/tx/block_header.ts +10 -5
  869. package/src/tx/capsule.ts +10 -2
  870. package/src/tx/execution_payload.ts +2 -1
  871. package/src/tx/fee_provider.ts +10 -0
  872. package/src/tx/global_variable_builder.ts +3 -20
  873. package/src/tx/global_variables.ts +12 -20
  874. package/src/tx/hashed_values.ts +8 -3
  875. package/src/tx/index.ts +1 -0
  876. package/src/tx/indexed_tx_effect.ts +18 -6
  877. package/src/tx/partial_state_reference.ts +8 -3
  878. package/src/tx/profiling.ts +4 -4
  879. package/src/tx/proven_tx.ts +6 -0
  880. package/src/tx/public_call_request_with_calldata.ts +8 -3
  881. package/src/tx/simulated_tx.ts +22 -21
  882. package/src/tx/state_reference.ts +9 -4
  883. package/src/tx/tree_snapshots.ts +9 -4
  884. package/src/tx/tx.ts +60 -24
  885. package/src/tx/tx_constant_data.ts +8 -3
  886. package/src/tx/tx_context.ts +8 -3
  887. package/src/tx/tx_hash.ts +20 -5
  888. package/src/tx/tx_receipt.ts +265 -85
  889. package/src/tx/validator/error_texts.ts +10 -1
  890. package/src/tx/validator/tx_validator.ts +1 -5
  891. package/src/types/shared.ts +8 -13
  892. package/src/update-checker/dev_version.ts +2 -0
  893. package/src/update-checker/index.ts +1 -0
  894. package/src/update-checker/package_version.ts +10 -23
  895. package/src/validators/schemas.ts +6 -4
  896. package/src/validators/types.ts +21 -2
  897. package/src/versioning/versioning.ts +1 -1
  898. package/src/vks/verification_key.ts +5 -184
  899. package/src/world-state/genesis_data.ts +27 -0
  900. package/src/world-state/index.ts +1 -0
  901. package/src/world-state/world_state_revision.ts +9 -1
  902. package/dest/abi/mocked_keys.d.ts +0 -2
  903. package/dest/abi/mocked_keys.d.ts.map +0 -1
  904. package/dest/abi/mocked_keys.js +0 -1
  905. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  906. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  907. package/dest/block/checkpointed_l2_block.js +0 -46
  908. package/dest/config/pipelining-config.d.ts +0 -19
  909. package/dest/config/pipelining-config.d.ts.map +0 -1
  910. package/dest/config/pipelining-config.js +0 -18
  911. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  912. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  913. package/dest/contract/private_function_membership_proof.js +0 -124
  914. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  915. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  916. package/dest/contract/utility_function_membership_proof.js +0 -87
  917. package/dest/interfaces/epoch-prover.d.ts +0 -57
  918. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  919. package/dest/interfaces/epoch-prover.js +0 -1
  920. package/dest/interfaces/get_logs_response.d.ts +0 -97
  921. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  922. package/dest/interfaces/get_logs_response.js +0 -12
  923. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  924. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  925. package/dest/l1-contracts/slash_factory.js +0 -158
  926. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  927. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  928. package/dest/logs/extended_contract_class_log.js +0 -67
  929. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  930. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  931. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  932. package/dest/logs/extended_public_log.d.ts +0 -106
  933. package/dest/logs/extended_public_log.d.ts.map +0 -1
  934. package/dest/logs/extended_public_log.js +0 -73
  935. package/dest/logs/log_filter.d.ts +0 -25
  936. package/dest/logs/log_filter.d.ts.map +0 -1
  937. package/dest/logs/log_filter.js +0 -12
  938. package/dest/logs/log_id.d.ts +0 -85
  939. package/dest/logs/log_id.d.ts.map +0 -1
  940. package/dest/logs/log_id.js +0 -94
  941. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  942. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  943. package/dest/logs/tx_scoped_l2_log.js +0 -77
  944. package/dest/slashing/empire.d.ts +0 -31
  945. package/dest/slashing/empire.d.ts.map +0 -1
  946. package/dest/slashing/empire.js +0 -87
  947. package/src/abi/mocked_keys.ts +0 -2
  948. package/src/block/checkpointed_l2_block.ts +0 -70
  949. package/src/config/pipelining-config.ts +0 -31
  950. package/src/contract/private_function_membership_proof.ts +0 -167
  951. package/src/contract/utility_function_membership_proof.ts +0 -118
  952. package/src/interfaces/epoch-prover.ts +0 -72
  953. package/src/interfaces/get_logs_response.ts +0 -35
  954. package/src/l1-contracts/slash_factory.ts +0 -180
  955. package/src/logs/extended_contract_class_log.ts +0 -87
  956. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  957. package/src/logs/extended_public_log.ts +0 -94
  958. package/src/logs/log_filter.ts +0 -36
  959. package/src/logs/log_id.ts +0 -125
  960. package/src/logs/tx_scoped_l2_log.ts +0 -114
  961. package/src/slashing/empire.ts +0 -104
@@ -0,0 +1,167 @@
1
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+
4
+ /**
5
+ * Outcome of attempting to re-execute a checkpoint proposal locally.
6
+ *
7
+ * - `valid` — re-execution succeeded and the computed checkpoint matched the proposal.
8
+ * - `invalid` — the proposal disagreed with the computed checkpoint, or violated a deterministic
9
+ * constraint (limits, signatures, etc).
10
+ * - `unvalidated` — the local node could not complete validation for non-deterministic reasons
11
+ * (missing blocks/txs, timeouts, infra errors). Treated as proposer-fault for
12
+ * slashing but surfaced separately for telemetry.
13
+ */
14
+ export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
15
+
16
+ /**
17
+ * Tracks two pieces of per-slot state collected during proposal handling:
18
+ *
19
+ * 1. Whether each block proposal's transactions were successfully collected locally
20
+ * (keyed by `slot` + `indexWithinCheckpoint`). Consumed by the data-withholding watcher.
21
+ * 2. The outcome of locally re-executing each checkpoint proposal (keyed by
22
+ * `(checkpointNumber, archiveRoot)` and by `slot`). Consumed by the data-withholding
23
+ * watcher (via `hasReexecuted`) and the sentinel (via `getOutcomeForSlot`).
24
+ *
25
+ * Both pieces of state live on the same per-slot `Entry`, so cleanup via `removeBefore`
26
+ * naturally drops everything for a pruned slot in one step.
27
+ */
28
+ interface Entry {
29
+ // Set by recordOutcome — these may be undefined until the checkpoint proposal has been
30
+ // evaluated. recordTxsCollected may create an Entry before any of them are known.
31
+ checkpointNumber: CheckpointNumber | undefined;
32
+ archiveRoot: string | undefined;
33
+ outcome: ReexecutionOutcome | undefined;
34
+
35
+ slot: SlotNumber;
36
+
37
+ // Per block-proposal at this slot: indexWithinCheckpoint → true (collected) | false (failed to collect).
38
+ txsCollected: Map<number, boolean>;
39
+ }
40
+
41
+ export class CheckpointReexecutionTracker {
42
+ private readonly byCheckpoint = new Map<CheckpointNumber, Map<string, Entry>>();
43
+ private readonly bySlot = new Map<SlotNumber, Entry>();
44
+
45
+ /**
46
+ * Record the outcome of evaluating a checkpoint proposal.
47
+ * @param slot - Slot the proposal was for. Always required.
48
+ * @param archiveRoot - Archive root in the proposal.
49
+ * @param outcome - Outcome of evaluation.
50
+ * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
51
+ * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
52
+ */
53
+ public recordOutcome(
54
+ slot: SlotNumber,
55
+ archiveRoot: Fr,
56
+ outcome: ReexecutionOutcome,
57
+ checkpointNumber?: CheckpointNumber,
58
+ ): void {
59
+ const archiveRootStr = archiveRoot.toString();
60
+
61
+ // Preserve any per-block txsCollected already accumulated for this slot.
62
+ const existing = this.bySlot.get(slot);
63
+ const entry: Entry = {
64
+ checkpointNumber,
65
+ archiveRoot: archiveRootStr,
66
+ slot,
67
+ outcome,
68
+ txsCollected: existing?.txsCollected ?? new Map(),
69
+ };
70
+
71
+ if (checkpointNumber !== undefined) {
72
+ let archives = this.byCheckpoint.get(checkpointNumber);
73
+ if (!archives) {
74
+ archives = new Map();
75
+ this.byCheckpoint.set(checkpointNumber, archives);
76
+ }
77
+ archives.set(archiveRootStr, entry);
78
+ }
79
+
80
+ this.bySlot.set(slot, entry);
81
+ }
82
+
83
+ /**
84
+ * Record whether the local node successfully collected the transactions for a block proposal.
85
+ * Called from the validator's proposal handler immediately after tx collection completes
86
+ * (regardless of whether re-execution will subsequently succeed). The data-withholding
87
+ * watcher consults these records as an authoritative signal: tx availability now is too
88
+ * weak (txs may have been evicted from the mempool by the time the watcher runs), but a
89
+ * record that the txs *were* available at proposal time still vouches for the proposer.
90
+ *
91
+ * @param slot - Slot the block proposal was for.
92
+ * @param indexWithinCheckpoint - Index of the block within its enclosing checkpoint.
93
+ * @param collected - True if every tx in the proposal was collected locally before deadline.
94
+ */
95
+ public recordTxsCollected(slot: SlotNumber, indexWithinCheckpoint: number, collected: boolean): void {
96
+ let entry = this.bySlot.get(slot);
97
+ if (!entry) {
98
+ entry = {
99
+ checkpointNumber: undefined,
100
+ archiveRoot: undefined,
101
+ slot,
102
+ outcome: undefined,
103
+ txsCollected: new Map(),
104
+ };
105
+ this.bySlot.set(slot, entry);
106
+ }
107
+ entry.txsCollected.set(indexWithinCheckpoint, collected);
108
+ }
109
+
110
+ /**
111
+ * Returns true if the given (checkpoint number, archive root) has been successfully
112
+ * re-executed locally (outcome `valid`).
113
+ */
114
+ public hasReexecuted(checkpointNumber: CheckpointNumber, archiveRoot: Fr): boolean {
115
+ return this.byCheckpoint.get(checkpointNumber)?.get(archiveRoot.toString())?.outcome === 'valid';
116
+ }
117
+
118
+ /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */
119
+ public getOutcomeForSlot(slot: SlotNumber): ReexecutionOutcome | undefined {
120
+ return this.bySlot.get(slot)?.outcome;
121
+ }
122
+
123
+ /**
124
+ * Returns the recorded tx-collection result for a block proposal at the given slot and
125
+ * `indexWithinCheckpoint`, or `undefined` if no record exists.
126
+ *
127
+ * Three-valued by design:
128
+ * - `true` — we collected every tx for this block proposal before the deadline.
129
+ * - `false` — we tried and failed (missing txs at the deadline).
130
+ * - `undefined` — no record (e.g. we never saw the block proposal). Callers should fall
131
+ * back to a current-state check (e.g. mempool probe) for this case.
132
+ */
133
+ public getTxsCollectedRecord(slot: SlotNumber, indexWithinCheckpoint: number): boolean | undefined {
134
+ return this.bySlot.get(slot)?.txsCollected.get(indexWithinCheckpoint);
135
+ }
136
+
137
+ /** Drops entries for checkpoints with `number < checkpointNumber`. */
138
+ public removeBefore(checkpointNumber: CheckpointNumber): void {
139
+ // Track the highest slot among checkpoints we're pruning. Once we know it, any slot
140
+ // strictly below that watermark is older than the most recently pruned checkpoint and
141
+ // can be dropped from `bySlot` too — including slot-only entries (no checkpoint number)
142
+ // which would otherwise leak, because removing by checkpoint number can't reach them.
143
+ let maxRemovedSlot: SlotNumber | undefined;
144
+ for (const [n, archives] of this.byCheckpoint) {
145
+ if (n < checkpointNumber) {
146
+ for (const entry of archives.values()) {
147
+ // Only drop the slot index if it still points at the entry we're removing.
148
+ if (this.bySlot.get(entry.slot) === entry) {
149
+ this.bySlot.delete(entry.slot);
150
+ }
151
+ if (maxRemovedSlot === undefined || entry.slot > maxRemovedSlot) {
152
+ maxRemovedSlot = entry.slot;
153
+ }
154
+ }
155
+ this.byCheckpoint.delete(n);
156
+ }
157
+ }
158
+
159
+ if (maxRemovedSlot !== undefined) {
160
+ for (const slot of [...this.bySlot.keys()]) {
161
+ if (slot < maxRemovedSlot) {
162
+ this.bySlot.delete(slot);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
@@ -0,0 +1,28 @@
1
+ import type { Buffer32 } from '@aztec/foundation/buffer';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+
4
+ import { ConsensusPayload } from '../p2p/consensus_payload.js';
5
+ import { type CoordinationSignatureContext, getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
6
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
7
+
8
+ /**
9
+ * Computes the EIP-712 payload digest for a checkpoint proposal — the digest validators sign
10
+ * and the L1 contract verifies during `propose()`. Mirrors `ProposeLib.digest(ProposePayload)` on L1.
11
+ *
12
+ * The result is the same `bytes32` that gets stored in `tempCheckpointLogs[checkpointNumber].payloadDigest`,
13
+ * so this helper is also reused when constructing simulation state overrides for pipelined proposals.
14
+ */
15
+ export function computeCheckpointPayloadDigest(args: {
16
+ header: CheckpointHeader;
17
+ archiveRoot: Fr;
18
+ feeAssetPriceModifier: bigint;
19
+ signatureContext: CoordinationSignatureContext;
20
+ }): Buffer32 {
21
+ const consensusPayload = new ConsensusPayload(
22
+ args.header,
23
+ args.archiveRoot,
24
+ args.feeAssetPriceModifier,
25
+ args.signatureContext,
26
+ );
27
+ return getHashedSignaturePayloadTypedData(consensusPayload);
28
+ }
@@ -1,5 +1,9 @@
1
1
  export * from './checkpoint.js';
2
2
  export * from './checkpoint_data.js';
3
3
  export * from './checkpoint_info.js';
4
+ export * from './checkpoint_reexecution_tracker.js';
5
+ export * from './digest.js';
6
+ export * from './previous_checkpoint_out_hashes.js';
4
7
  export * from './published_checkpoint.js';
8
+ export * from './simulation_overrides.js';
5
9
  export * from './validate.js';
@@ -0,0 +1,61 @@
1
+ import { CheckpointNumber, type EpochNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { Logger } from '@aztec/foundation/log';
4
+
5
+ import type { L2BlockSource } from '../block/l2_block_source.js';
6
+ import { type L1RollupConstants, getEpochAtSlot } from '../epoch-helpers/index.js';
7
+ import type { ProposedCheckpointData } from './checkpoint_data.js';
8
+
9
+ /**
10
+ * Returns the out hashes (in epoch order) of all checkpoints in `epoch` that precede
11
+ * `checkpointNumber`, used to compute the `epochOutHash` baked into that checkpoint's header.
12
+ *
13
+ * Under proposer pipelining the parent checkpoint may not be confirmed on L1 by the time the
14
+ * builder runs, so the on-chain archiver query (`getCheckpointsData`) is missing it and the
15
+ * resulting `epochOutHash` would diverge from what other validators (and L1) compute after the
16
+ * parent lands. To avoid that, the parent's `checkpointOutHash` is spliced in from the locally
17
+ * known proposed checkpoint when:
18
+ * - pipelining is enabled,
19
+ * - the archiver lookup is genuinely short (its last entry is not already cp `N-1`),
20
+ * - and the proposed cp `N-1` is in the same target epoch (otherwise we're at an epoch boundary
21
+ * and the previous-epoch cps must be excluded).
22
+ *
23
+ * Callers may either pass the already-loaded `proposedCheckpointData` (the proposer has it on
24
+ * hand) or leave it undefined, in which case it's fetched via `getProposedCheckpointData`.
25
+ */
26
+ export async function getPreviousCheckpointOutHashes(input: {
27
+ blockSource: Pick<L2BlockSource, 'getCheckpointsData' | 'getProposedCheckpointData'>;
28
+ epoch: EpochNumber;
29
+ checkpointNumber: CheckpointNumber;
30
+ l1Constants: Pick<L1RollupConstants, 'epochDuration'>;
31
+ pipeliningEnabled: boolean;
32
+ proposedCheckpointData?: ProposedCheckpointData;
33
+ log?: Logger;
34
+ }): Promise<Fr[]> {
35
+ const { blockSource, epoch, checkpointNumber, l1Constants, pipeliningEnabled, log } = input;
36
+
37
+ const checkpointed = (await blockSource.getCheckpointsData({ epoch }))
38
+ .filter(c => c.checkpointNumber < checkpointNumber)
39
+ .sort((a, b) => a.checkpointNumber - b.checkpointNumber);
40
+
41
+ if (!pipeliningEnabled || checkpointNumber === 0) {
42
+ return checkpointed.map(c => c.checkpointOutHash);
43
+ }
44
+
45
+ const parentCheckpoint = CheckpointNumber(checkpointNumber - 1);
46
+ if (checkpointed.at(-1)?.checkpointNumber === parentCheckpoint) {
47
+ return checkpointed.map(c => c.checkpointOutHash);
48
+ }
49
+
50
+ const proposedParent =
51
+ input.proposedCheckpointData ?? (await blockSource.getProposedCheckpointData({ number: parentCheckpoint }));
52
+ if (!proposedParent || proposedParent.checkpointNumber !== parentCheckpoint) {
53
+ return checkpointed.map(c => c.checkpointOutHash);
54
+ }
55
+ if (getEpochAtSlot(proposedParent.header.slotNumber, l1Constants) !== epoch) {
56
+ return checkpointed.map(c => c.checkpointOutHash);
57
+ }
58
+
59
+ log?.debug(`Splicing pipelined parent cp ${parentCheckpoint} outHash for cp ${checkpointNumber}`);
60
+ return [...checkpointed.map(c => c.checkpointOutHash), proposedParent.checkpointOutHash];
61
+ }
@@ -0,0 +1,171 @@
1
+ import {
2
+ type FeeHeader,
3
+ RollupContract,
4
+ SimulationOverridesBuilder,
5
+ type SimulationOverridesPlan,
6
+ } from '@aztec/ethereum/contracts';
7
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
8
+ import type { Logger } from '@aztec/foundation/log';
9
+
10
+ import type { CoordinationSignatureContext } from '../p2p/signature_utils.js';
11
+ import type { ProposedCheckpointData } from './checkpoint_data.js';
12
+ import { computeCheckpointPayloadDigest } from './digest.js';
13
+
14
+ type CheckpointSimulationOverridesPlanInput = {
15
+ /** Target rollup contract. */
16
+ rollup: RollupContract;
17
+ /** Checkpoint number to be proposed. */
18
+ checkpointNumber: CheckpointNumber;
19
+ /** Logger instance. */
20
+ log: Logger;
21
+ /**
22
+ * The proposed parent checkpoint when pipelining. Its `checkpointNumber` must equal
23
+ * `checkpointNumber - 1`; the helper enforces this. Mutually exclusive with
24
+ * `invalidateToPendingCheckpointNumber`.
25
+ */
26
+ proposedCheckpointData?: ProposedCheckpointData;
27
+ /**
28
+ * The pending checkpoint number we'll end up at after invalidation lands. Mutually exclusive
29
+ * with `proposedCheckpointData`.
30
+ */
31
+ invalidateToPendingCheckpointNumber?: CheckpointNumber;
32
+ /**
33
+ * The real on-chain pending checkpoint number (typically `syncedTo.checkpointedCheckpointNumber`).
34
+ * Used as the snapshot we pin both `pending` and `proven` to avoid prunes in simulation.
35
+ */
36
+ checkpointedCheckpointNumber: CheckpointNumber;
37
+ /**
38
+ * Chain-level consensus signature context. Used to recompute the parent's `payloadDigest` for the
39
+ * pipelined simulation override so it matches what `propose` will write into `tempCheckpointLogs[parent]`
40
+ * once the parent lands.
41
+ */
42
+ signatureContext: CoordinationSignatureContext;
43
+ };
44
+
45
+ /**
46
+ * Builds the SimulationOverridesPlan describing the simulated L1 rollup state for a checkpoint's
47
+ * enqueue-time simulations: `canProposeAt` (in Sequencer.doWork) and the propose-related sims
48
+ * (validateBlockHeader, simulateProposeTx). The plan reflects "as if our pipelined parent
49
+ * checkpoint has landed and any required invalidation has executed" — the gap that needs to be
50
+ * bridged at enqueue time.
51
+ *
52
+ * Pipelining (`proposedCheckpointData`) and invalidation (`invalidateToPendingCheckpointNumber`)
53
+ * are mutually exclusive; passing both throws.
54
+ */
55
+ export async function buildCheckpointSimulationOverridesPlan(
56
+ input: CheckpointSimulationOverridesPlanInput,
57
+ ): Promise<SimulationOverridesPlan | undefined> {
58
+ if (input.proposedCheckpointData && input.invalidateToPendingCheckpointNumber !== undefined) {
59
+ throw new Error(
60
+ 'Error in buildCheckpointSimulationOverridesPlan: proposedCheckpointData and invalidateToPendingCheckpointNumber are mutually exclusive',
61
+ );
62
+ }
63
+
64
+ const builder = new SimulationOverridesBuilder();
65
+ const pendingCheckpointNumber = derivePendingCheckpointNumber(input);
66
+
67
+ // Override the latest checkpoint number when invalidating or pipelining, so our checkpoint
68
+ // follows from it. We also override the proven chain tip so we dont need to worry about
69
+ // prunes kicking in that would break out simulation if there's a prune pending. We always
70
+ // assume that a proof will land in time. If we don't have a pending checkpoint number to force,
71
+ // we still set both tips to the current checkpoint number to avoid the prune trigger.
72
+ const overridenChainTip = pendingCheckpointNumber ?? input.checkpointedCheckpointNumber;
73
+ builder.withChainTips({ pending: overridenChainTip, proven: overridenChainTip });
74
+
75
+ if (input.proposedCheckpointData) {
76
+ const { header, archive, checkpointOutHash, feeAssetPriceModifier } = input.proposedCheckpointData;
77
+ builder.withPendingArchive(archive.root);
78
+ // Override every locally-derivable `tempCheckpointLogs[parent]` field that L1 will eventually
79
+ // write. `slotNumber` is load-bearing for `STFLib.canPruneAtTime`: without it the cell reads
80
+ // slotNumber 0, the contract treats the pending tip as belonging to an expired epoch, and
81
+ // `getEffectivePendingCheckpointNumber` silently collapses pending back to proven — producing
82
+ // a spurious `Rollup__InvalidArchive` against the on-chain genesis archive. The other fields
83
+ // (headerHash, outHash, payloadDigest) are not strictly load-bearing for `canProposeAt` /
84
+ // `validateBlockHeader`, but mirroring the full cell keeps the simulation byte-faithful with
85
+ // what the actual `propose()` send will observe, which is a defense against future reads
86
+ // taking dependencies on them.
87
+ builder.withPendingTempCheckpointLogFields({
88
+ headerHash: header.hash(),
89
+ outHash: checkpointOutHash,
90
+ slotNumber: header.slotNumber,
91
+ payloadDigest: computeCheckpointPayloadDigest({
92
+ header,
93
+ archiveRoot: archive.root,
94
+ feeAssetPriceModifier,
95
+ signatureContext: input.signatureContext,
96
+ }),
97
+ });
98
+
99
+ const feeHeader = await computePipelinedParentFeeHeader({
100
+ checkpointNumber: input.checkpointNumber,
101
+ proposedCheckpointData: input.proposedCheckpointData,
102
+ rollup: input.rollup,
103
+ log: input.log,
104
+ });
105
+ if (feeHeader) {
106
+ builder.withPendingFeeHeader(feeHeader);
107
+ }
108
+ }
109
+
110
+ return builder.build();
111
+ }
112
+
113
+ function derivePendingCheckpointNumber(input: CheckpointSimulationOverridesPlanInput): CheckpointNumber | undefined {
114
+ if (input.invalidateToPendingCheckpointNumber !== undefined) {
115
+ return input.invalidateToPendingCheckpointNumber;
116
+ }
117
+ if (!input.proposedCheckpointData) {
118
+ return undefined;
119
+ }
120
+ if (input.checkpointNumber < 1) {
121
+ throw new Error(`Cannot build simulation override for checkpoint ${input.checkpointNumber}: no parent exists`);
122
+ }
123
+ const expectedParent = CheckpointNumber(input.checkpointNumber - 1);
124
+ if (input.proposedCheckpointData.checkpointNumber !== expectedParent) {
125
+ throw new Error(
126
+ `Cannot build simulation override for checkpoint ${input.checkpointNumber}: proposedCheckpointData.checkpointNumber (${input.proposedCheckpointData.checkpointNumber}) does not match expected parent ${expectedParent}`,
127
+ );
128
+ }
129
+ return expectedParent;
130
+ }
131
+
132
+ type PipelinedParentFeeHeaderInput = {
133
+ checkpointNumber: CheckpointNumber;
134
+ proposedCheckpointData: ProposedCheckpointData;
135
+ rollup: RollupContract;
136
+ log: Logger;
137
+ };
138
+
139
+ /**
140
+ * Derives the pending parent fee header used during pipelined proposal simulation. Returns
141
+ * `undefined` only when no grandparent exists (i.e. the proposed parent is the genesis
142
+ * checkpoint); all other failure modes (missing grandparent state, missing fee header, RPC
143
+ * errors) throw so callers don't silently desync the fee-header override.
144
+ */
145
+ export async function computePipelinedParentFeeHeader(
146
+ input: PipelinedParentFeeHeaderInput,
147
+ ): Promise<FeeHeader | undefined> {
148
+ if (input.checkpointNumber < 2) {
149
+ return undefined;
150
+ }
151
+
152
+ const grandparentCheckpointNumber = CheckpointNumber(input.checkpointNumber - 2);
153
+
154
+ const [grandparentCheckpoint, manaTarget] = await Promise.all([
155
+ input.rollup.getCheckpoint(grandparentCheckpointNumber),
156
+ input.rollup.getManaTarget(),
157
+ ]);
158
+
159
+ if (!grandparentCheckpoint?.feeHeader) {
160
+ throw new Error(
161
+ `Grandparent checkpoint or feeHeader missing for checkpoint ${grandparentCheckpointNumber.toString()}`,
162
+ );
163
+ }
164
+
165
+ return RollupContract.computeChildFeeHeader(
166
+ grandparentCheckpoint.feeHeader,
167
+ input.proposedCheckpointData.totalManaUsed,
168
+ input.proposedCheckpointData.feeAssetPriceModifier,
169
+ manaTarget,
170
+ );
171
+ }
@@ -2,7 +2,7 @@ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECK
2
2
  import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { sum } from '@aztec/foundation/collection';
4
4
 
5
- import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
5
+ import { MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
6
6
  import type { Checkpoint } from './checkpoint.js';
7
7
 
8
8
  export class CheckpointValidationError extends Error {
@@ -32,9 +32,15 @@ export function validateCheckpoint(
32
32
  maxDABlockGas?: number;
33
33
  maxTxsPerCheckpoint?: number;
34
34
  maxTxsPerBlock?: number;
35
+ /**
36
+ * Max blocks per checkpoint. Defaults to {@link MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT}; the L1-sync
37
+ * ingest path passes `MAX_CAPACITY_BLOCKS_PER_CHECKPOINT` to tolerate larger checkpoints already
38
+ * accepted by L1.
39
+ */
40
+ maxBlocksPerCheckpoint?: number;
35
41
  },
36
42
  ): void {
37
- validateCheckpointStructure(checkpoint);
43
+ validateCheckpointStructure(checkpoint, { maxBlocksPerCheckpoint: opts.maxBlocksPerCheckpoint });
38
44
  validateCheckpointLimits(checkpoint, opts);
39
45
  validateCheckpointBlocksLimits(checkpoint, opts);
40
46
  }
@@ -42,7 +48,7 @@ export function validateCheckpoint(
42
48
  /**
43
49
  * Validates structural integrity of a checkpoint.
44
50
  * - Non-empty block list
45
- * - Block count within MAX_BLOCKS_PER_CHECKPOINT
51
+ * - Block count within `maxBlocksPerCheckpoint` (default {@link MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT})
46
52
  * - Checkpoint slot matches the first block's slot
47
53
  * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
48
54
  * - Sequential block numbers without gaps
@@ -51,16 +57,20 @@ export function validateCheckpoint(
51
57
  * - Consistent slot number across all blocks
52
58
  * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
53
59
  */
54
- export function validateCheckpointStructure(checkpoint: Checkpoint): void {
60
+ export function validateCheckpointStructure(
61
+ checkpoint: Checkpoint,
62
+ opts: { maxBlocksPerCheckpoint?: number } = {},
63
+ ): void {
64
+ const { maxBlocksPerCheckpoint = MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } = opts;
55
65
  const { blocks, number, slot } = checkpoint;
56
66
 
57
67
  if (blocks.length === 0) {
58
68
  throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
59
69
  }
60
70
 
61
- if (blocks.length > MAX_BLOCKS_PER_CHECKPOINT) {
71
+ if (blocks.length > maxBlocksPerCheckpoint) {
62
72
  throw new CheckpointValidationError(
63
- `Checkpoint has ${blocks.length} blocks, exceeding limit of ${MAX_BLOCKS_PER_CHECKPOINT}`,
73
+ `Checkpoint has ${blocks.length} blocks, exceeding limit of ${maxBlocksPerCheckpoint}`,
64
74
  number,
65
75
  slot,
66
76
  );
@@ -1,5 +1,5 @@
1
- import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type L1ContractAddresses, pickL1ContractAddressMappings } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
4
 
5
5
  export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
@@ -7,26 +7,28 @@ export { type AllowedElement } from '../interfaces/allowed_element.js';
7
7
 
8
8
  export const emptyChainConfig: ChainConfig = {
9
9
  l1ChainId: 0,
10
- l1Contracts: { rollupAddress: EthAddress.ZERO },
11
10
  rollupVersion: 0,
11
+ rollupAddress: EthAddress.ZERO,
12
12
  };
13
13
 
14
14
  export const chainConfigMappings: ConfigMappingsType<ChainConfig> = {
15
15
  l1ChainId: {
16
16
  env: 'L1_CHAIN_ID',
17
- parseEnv: (val: string) => +val,
18
- defaultValue: 31337,
17
+ ...numberConfigHelper(31337),
19
18
  description: 'The chain ID of the ethereum host.',
20
19
  },
21
20
  rollupVersion: {
22
21
  env: 'ROLLUP_VERSION',
23
22
  description: 'The version of the rollup.',
24
- parseEnv: (val: string) => (Number.isSafeInteger(parseInt(val, 10)) ? parseInt(val, 10) : undefined),
25
- },
26
- l1Contracts: {
27
- description: 'The deployed L1 contract addresses',
28
- nested: l1ContractAddressesMapping,
23
+ parseEnv: (val: string) => {
24
+ const parsed = parseInt(val, 10);
25
+ if (!Number.isSafeInteger(parsed)) {
26
+ throw new Error(`Invalid rollup version: ${val}`);
27
+ }
28
+ return parsed;
29
+ },
29
30
  },
31
+ ...pickL1ContractAddressMappings('rollupAddress'),
30
32
  };
31
33
 
32
34
  /** Chain configuration. */
@@ -35,9 +37,4 @@ export type ChainConfig = {
35
37
  l1ChainId: number;
36
38
  /** The version of the rollup. */
37
39
  rollupVersion: number;
38
- /** The address to the L1 contracts. */
39
- l1Contracts: {
40
- /** The address to rollup */
41
- rollupAddress: EthAddress;
42
- };
43
- };
40
+ } & Pick<L1ContractAddresses, 'rollupAddress'>;
@@ -1,4 +1,4 @@
1
1
  export * from './chain-config.js';
2
+ export * from './network-consensus-config.js';
2
3
  export * from './node-rpc-config.js';
3
- export * from './pipelining-config.js';
4
4
  export * from './sequencer-config.js';