@aztec/stdlib 5.0.0-private.20260318 → 5.0.0-rc.1

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 (929) 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 +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  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 +6 -3
  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 +8 -8
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +9 -6
  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 +216 -357
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +67 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +46 -7
  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 +2 -2
  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 +57 -21
  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 +12 -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 +66 -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 +202 -33
  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 +4 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +3 -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/validate.d.ts +11 -3
  127. package/dest/checkpoint/validate.d.ts.map +1 -1
  128. package/dest/checkpoint/validate.js +11 -8
  129. package/dest/config/chain-config.d.ts +4 -9
  130. package/dest/config/chain-config.d.ts.map +1 -1
  131. package/dest/config/chain-config.js +13 -12
  132. package/dest/config/index.d.ts +2 -1
  133. package/dest/config/index.d.ts.map +1 -1
  134. package/dest/config/index.js +1 -0
  135. package/dest/config/network-consensus-config.d.ts +72 -0
  136. package/dest/config/network-consensus-config.d.ts.map +1 -0
  137. package/dest/config/network-consensus-config.js +231 -0
  138. package/dest/config/sequencer-config.d.ts +7 -3
  139. package/dest/config/sequencer-config.d.ts.map +1 -1
  140. package/dest/config/sequencer-config.js +38 -5
  141. package/dest/contract/complete_address.d.ts +3 -2
  142. package/dest/contract/complete_address.d.ts.map +1 -1
  143. package/dest/contract/complete_address.js +6 -2
  144. package/dest/contract/contract_address.d.ts +6 -6
  145. package/dest/contract/contract_address.d.ts.map +1 -1
  146. package/dest/contract/contract_address.js +6 -5
  147. package/dest/contract/contract_class_id.d.ts +2 -2
  148. package/dest/contract/contract_class_id.js +2 -2
  149. package/dest/contract/contract_deployment_data.d.ts +15 -61
  150. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.d.ts +4 -2
  152. package/dest/contract/contract_instance.d.ts.map +1 -1
  153. package/dest/contract/contract_instance.js +10 -3
  154. package/dest/contract/index.d.ts +1 -3
  155. package/dest/contract/index.d.ts.map +1 -1
  156. package/dest/contract/index.js +0 -2
  157. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  158. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  159. package/dest/contract/interfaces/contract_class.js +1 -28
  160. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  161. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  162. package/dest/contract/interfaces/contract_instance.js +4 -2
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  164. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +11 -1
  166. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  167. package/dest/contract/interfaces/node-info.js +7 -1
  168. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  170. package/dest/contract/private_function.d.ts +1 -1
  171. package/dest/contract/private_function.d.ts.map +1 -1
  172. package/dest/contract/private_function.js +2 -4
  173. package/dest/database-version/database_version.d.ts +5 -11
  174. package/dest/database-version/database_version.d.ts.map +1 -1
  175. package/dest/database-version/version_manager.d.ts +6 -2
  176. package/dest/database-version/version_manager.d.ts.map +1 -1
  177. package/dest/database-version/version_manager.js +12 -1
  178. package/dest/deserialization/index.d.ts +35 -3
  179. package/dest/deserialization/index.d.ts.map +1 -1
  180. package/dest/deserialization/index.js +32 -1
  181. package/dest/epoch-helpers/index.d.ts +10 -22
  182. package/dest/epoch-helpers/index.d.ts.map +1 -1
  183. package/dest/epoch-helpers/index.js +12 -0
  184. package/dest/file-store/factory.d.ts +4 -3
  185. package/dest/file-store/factory.d.ts.map +1 -1
  186. package/dest/file-store/factory.js +2 -2
  187. package/dest/file-store/http.d.ts +9 -2
  188. package/dest/file-store/http.d.ts.map +1 -1
  189. package/dest/file-store/http.js +20 -9
  190. package/dest/file-store/index.d.ts +2 -1
  191. package/dest/file-store/index.d.ts.map +1 -1
  192. package/dest/gas/fee_math.d.ts +49 -0
  193. package/dest/gas/fee_math.d.ts.map +1 -0
  194. package/dest/gas/fee_math.js +80 -0
  195. package/dest/gas/gas.d.ts +9 -14
  196. package/dest/gas/gas.d.ts.map +1 -1
  197. package/dest/gas/gas.js +6 -3
  198. package/dest/gas/gas_fees.d.ts +13 -14
  199. package/dest/gas/gas_fees.d.ts.map +1 -1
  200. package/dest/gas/gas_fees.js +17 -4
  201. package/dest/gas/gas_settings.d.ts +60 -86
  202. package/dest/gas/gas_settings.d.ts.map +1 -1
  203. package/dest/gas/gas_settings.js +49 -9
  204. package/dest/gas/index.d.ts +3 -1
  205. package/dest/gas/index.d.ts.map +1 -1
  206. package/dest/gas/index.js +2 -0
  207. package/dest/gas/tx_gas_limits.d.ts +72 -0
  208. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  209. package/dest/gas/tx_gas_limits.js +85 -0
  210. package/dest/ha-signing/config.d.ts +11 -75
  211. package/dest/ha-signing/config.d.ts.map +1 -1
  212. package/dest/ha-signing/config.js +9 -18
  213. package/dest/ha-signing/index.d.ts +2 -2
  214. package/dest/ha-signing/index.d.ts.map +1 -1
  215. package/dest/ha-signing/index.js +1 -1
  216. package/dest/ha-signing/local_config.d.ts +3 -34
  217. package/dest/ha-signing/local_config.d.ts.map +1 -1
  218. package/dest/ha-signing/local_config.js +2 -2
  219. package/dest/ha-signing/types.d.ts +37 -32
  220. package/dest/ha-signing/types.d.ts.map +1 -1
  221. package/dest/ha-signing/types.js +13 -6
  222. package/dest/hash/hash.d.ts +34 -1
  223. package/dest/hash/hash.d.ts.map +1 -1
  224. package/dest/hash/hash.js +63 -2
  225. package/dest/interfaces/allowed_element.d.ts +4 -28
  226. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  227. package/dest/interfaces/api_limit.d.ts +1 -1
  228. package/dest/interfaces/api_limit.js +1 -1
  229. package/dest/interfaces/archiver.d.ts +20 -32
  230. package/dest/interfaces/archiver.d.ts.map +1 -1
  231. package/dest/interfaces/archiver.js +215 -70
  232. package/dest/interfaces/aztec-node-admin.d.ts +71 -308
  233. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node-admin.js +60 -17
  235. package/dest/interfaces/aztec-node-debug.d.ts +34 -0
  236. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  237. package/dest/interfaces/aztec-node-debug.js +29 -0
  238. package/dest/interfaces/aztec-node.d.ts +156 -112
  239. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  240. package/dest/interfaces/aztec-node.js +354 -71
  241. package/dest/interfaces/block-builder.d.ts +30 -7
  242. package/dest/interfaces/block-builder.d.ts.map +1 -1
  243. package/dest/interfaces/block-builder.js +1 -4
  244. package/dest/interfaces/block_response.d.ts +90 -0
  245. package/dest/interfaces/block_response.d.ts.map +1 -0
  246. package/dest/interfaces/block_response.js +30 -0
  247. package/dest/interfaces/chain_tips.d.ts +50 -0
  248. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  249. package/dest/interfaces/chain_tips.js +11 -0
  250. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  251. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  252. package/dest/interfaces/checkpoint_parameter.js +18 -0
  253. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  254. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  255. package/dest/interfaces/checkpoint_response.js +26 -0
  256. package/dest/interfaces/client.d.ts +9 -2
  257. package/dest/interfaces/client.d.ts.map +1 -1
  258. package/dest/interfaces/client.js +7 -1
  259. package/dest/interfaces/configs.d.ts +63 -139
  260. package/dest/interfaces/configs.d.ts.map +1 -1
  261. package/dest/interfaces/configs.js +13 -3
  262. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  263. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  264. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  265. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  266. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  267. package/dest/interfaces/l1_publish_info.js +26 -0
  268. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  269. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  270. package/dest/interfaces/l2_logs_source.js +5 -0
  271. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  272. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  273. package/dest/interfaces/p2p-bootstrap.js +8 -2
  274. package/dest/interfaces/p2p.d.ts +46 -7
  275. package/dest/interfaces/p2p.d.ts.map +1 -1
  276. package/dest/interfaces/p2p.js +41 -6
  277. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  278. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  279. package/dest/interfaces/prover-agent.d.ts +5 -23
  280. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  281. package/dest/interfaces/prover-agent.js +4 -1
  282. package/dest/interfaces/prover-client.d.ts +7 -29
  283. package/dest/interfaces/prover-client.d.ts.map +1 -1
  284. package/dest/interfaces/prover-client.js +0 -3
  285. package/dest/interfaces/prover-node.d.ts +8 -3
  286. package/dest/interfaces/prover-node.d.ts.map +1 -1
  287. package/dest/interfaces/prover-node.js +30 -14
  288. package/dest/interfaces/proving-job-source.js +24 -4
  289. package/dest/interfaces/proving-job.d.ts +763 -5814
  290. package/dest/interfaces/proving-job.d.ts.map +1 -1
  291. package/dest/interfaces/proving-job.js +1 -1
  292. package/dest/interfaces/public_storage_override.d.ts +22 -0
  293. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  294. package/dest/interfaces/public_storage_override.js +7 -0
  295. package/dest/interfaces/server.d.ts +6 -2
  296. package/dest/interfaces/server.d.ts.map +1 -1
  297. package/dest/interfaces/server.js +5 -1
  298. package/dest/interfaces/slasher.d.ts +25 -65
  299. package/dest/interfaces/slasher.d.ts.map +1 -1
  300. package/dest/interfaces/slasher.js +8 -4
  301. package/dest/interfaces/tx_provider.d.ts +6 -1
  302. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  303. package/dest/interfaces/validator.d.ts +55 -248
  304. package/dest/interfaces/validator.d.ts.map +1 -1
  305. package/dest/interfaces/validator.js +8 -2
  306. package/dest/interfaces/world_state.d.ts +2 -2
  307. package/dest/interfaces/world_state.d.ts.map +1 -1
  308. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  309. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  310. package/dest/kernel/hints/key_validation_request.js +20 -18
  311. package/dest/kernel/index.d.ts +5 -1
  312. package/dest/kernel/index.d.ts.map +1 -1
  313. package/dest/kernel/index.js +4 -0
  314. package/dest/kernel/log_hash.d.ts +6 -2
  315. package/dest/kernel/log_hash.d.ts.map +1 -1
  316. package/dest/kernel/log_hash.js +21 -9
  317. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  318. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  320. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  321. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  322. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  324. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  325. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  326. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  327. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  328. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  329. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  330. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  331. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  332. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  333. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  334. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  336. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  338. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  339. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  341. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  342. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  343. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  344. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  345. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  347. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  348. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  349. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  350. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  351. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  352. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  353. package/dest/kernel/public_call_request.d.ts +15 -30
  354. package/dest/kernel/public_call_request.d.ts.map +1 -1
  355. package/dest/kernel/public_call_request.js +16 -7
  356. package/dest/keys/derivation.d.ts +6 -2
  357. package/dest/keys/derivation.d.ts.map +1 -1
  358. package/dest/keys/derivation.js +16 -6
  359. package/dest/keys/public_key.d.ts +22 -3
  360. package/dest/keys/public_key.d.ts.map +1 -1
  361. package/dest/keys/public_key.js +20 -1
  362. package/dest/keys/public_keys.d.ts +55 -82
  363. package/dest/keys/public_keys.d.ts.map +1 -1
  364. package/dest/keys/public_keys.js +102 -74
  365. package/dest/kv-store/config.d.ts +3 -6
  366. package/dest/kv-store/config.d.ts.map +1 -1
  367. package/dest/kv-store/config.js +2 -7
  368. package/dest/l1-contracts/index.d.ts +2 -2
  369. package/dest/l1-contracts/index.d.ts.map +1 -1
  370. package/dest/l1-contracts/index.js +1 -1
  371. package/dest/logs/app_tagging_secret.d.ts +46 -0
  372. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  373. package/dest/logs/app_tagging_secret.js +109 -0
  374. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  375. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  376. package/dest/logs/app_tagging_secret_kind.js +17 -0
  377. package/dest/logs/contract_class_log.d.ts +16 -34
  378. package/dest/logs/contract_class_log.d.ts.map +1 -1
  379. package/dest/logs/contract_class_log.js +11 -9
  380. package/dest/logs/index.d.ts +7 -7
  381. package/dest/logs/index.d.ts.map +1 -1
  382. package/dest/logs/index.js +6 -6
  383. package/dest/logs/log_cursor.d.ts +51 -0
  384. package/dest/logs/log_cursor.d.ts.map +1 -0
  385. package/dest/logs/log_cursor.js +82 -0
  386. package/dest/logs/log_result.d.ts +54 -0
  387. package/dest/logs/log_result.d.ts.map +1 -0
  388. package/dest/logs/log_result.js +56 -0
  389. package/dest/logs/logs_query.d.ts +82 -0
  390. package/dest/logs/logs_query.d.ts.map +1 -0
  391. package/dest/logs/logs_query.js +50 -0
  392. package/dest/logs/message_context.d.ts +6 -8
  393. package/dest/logs/message_context.d.ts.map +1 -1
  394. package/dest/logs/message_context.js +27 -9
  395. package/dest/logs/pending_tagged_log.d.ts +2 -3
  396. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  397. package/dest/logs/pending_tagged_log.js +2 -2
  398. package/dest/logs/pre_tag.d.ts +11 -24
  399. package/dest/logs/pre_tag.d.ts.map +1 -1
  400. package/dest/logs/pre_tag.js +2 -2
  401. package/dest/logs/private_log.d.ts +7 -12
  402. package/dest/logs/private_log.d.ts.map +1 -1
  403. package/dest/logs/private_log.js +6 -3
  404. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  405. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  406. package/dest/logs/query_all_logs_by_tags.js +64 -0
  407. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  408. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  409. package/dest/logs/shared_secret_derivation.js +15 -9
  410. package/dest/logs/siloed_tag.d.ts +8 -7
  411. package/dest/logs/siloed_tag.d.ts.map +1 -1
  412. package/dest/logs/siloed_tag.js +13 -3
  413. package/dest/logs/tag.d.ts +5 -6
  414. package/dest/logs/tag.d.ts.map +1 -1
  415. package/dest/logs/tag.js +4 -0
  416. package/dest/logs/tagging_index_range.d.ts +13 -31
  417. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  418. package/dest/logs/tagging_index_range.js +2 -2
  419. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  420. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  421. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  422. package/dest/messaging/index.d.ts +2 -1
  423. package/dest/messaging/index.d.ts.map +1 -1
  424. package/dest/messaging/index.js +1 -0
  425. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  426. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  427. package/dest/messaging/l1_to_l2_message.js +11 -13
  428. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  429. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  430. package/dest/messaging/l2_to_l1_membership.js +72 -12
  431. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  432. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  433. package/dest/messaging/l2_to_l1_message.js +21 -12
  434. package/dest/noir/index.d.ts +5 -3
  435. package/dest/noir/index.d.ts.map +1 -1
  436. package/dest/note/note.d.ts +2 -2
  437. package/dest/note/note.d.ts.map +1 -1
  438. package/dest/note/note_dao.d.ts +1 -1
  439. package/dest/note/note_dao.d.ts.map +1 -1
  440. package/dest/note/note_dao.js +1 -4
  441. package/dest/p2p/block_proposal.d.ts +31 -14
  442. package/dest/p2p/block_proposal.d.ts.map +1 -1
  443. package/dest/p2p/block_proposal.js +57 -39
  444. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  445. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  446. package/dest/p2p/checkpoint_attestation.js +23 -24
  447. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  448. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  449. package/dest/p2p/checkpoint_proposal.js +59 -49
  450. package/dest/p2p/consensus_payload.d.ts +26 -20
  451. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  452. package/dest/p2p/consensus_payload.js +38 -19
  453. package/dest/p2p/gossipable.d.ts +4 -4
  454. package/dest/p2p/gossipable.d.ts.map +1 -1
  455. package/dest/p2p/signature_utils.d.ts +28 -19
  456. package/dest/p2p/signature_utils.d.ts.map +1 -1
  457. package/dest/p2p/signature_utils.js +118 -21
  458. package/dest/p2p/signed_txs.d.ts +15 -13
  459. package/dest/p2p/signed_txs.d.ts.map +1 -1
  460. package/dest/p2p/signed_txs.js +26 -24
  461. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  462. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  463. package/dest/parity/parity_base_private_inputs.js +7 -5
  464. package/dest/parity/parity_public_inputs.d.ts +8 -4
  465. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  466. package/dest/parity/parity_public_inputs.js +6 -3
  467. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  468. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  469. package/dest/proofs/chonk_proof.d.ts +57 -7
  470. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  471. package/dest/proofs/chonk_proof.js +112 -15
  472. package/dest/proofs/recursive_proof.d.ts +2 -2
  473. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  474. package/dest/rollup/block_headers_hash.d.ts +1 -1
  475. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  476. package/dest/rollup/block_headers_hash.js +8 -2
  477. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  478. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  479. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  480. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  481. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  482. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  483. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  484. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  485. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  486. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  487. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  488. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  489. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  490. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  492. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  493. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  494. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  496. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  497. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  498. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  499. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  502. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  504. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  505. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  506. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  507. package/dest/schemas/schemas.d.ts +32 -78
  508. package/dest/schemas/schemas.d.ts.map +1 -1
  509. package/dest/schemas/schemas.js +2 -2
  510. package/dest/slashing/helpers.d.ts +2 -2
  511. package/dest/slashing/helpers.d.ts.map +1 -1
  512. package/dest/slashing/helpers.js +10 -7
  513. package/dest/slashing/index.d.ts +2 -3
  514. package/dest/slashing/index.d.ts.map +1 -1
  515. package/dest/slashing/index.js +1 -2
  516. package/dest/slashing/serialization.d.ts +2 -6
  517. package/dest/slashing/serialization.d.ts.map +1 -1
  518. package/dest/slashing/serialization.js +0 -60
  519. package/dest/slashing/types.d.ts +18 -112
  520. package/dest/slashing/types.d.ts.map +1 -1
  521. package/dest/slashing/types.js +16 -24
  522. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  523. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  524. package/dest/slashing/{tally.js → votes.js} +1 -1
  525. package/dest/snapshots/types.d.ts +15 -78
  526. package/dest/snapshots/types.d.ts.map +1 -1
  527. package/dest/stats/stats.d.ts +2 -2
  528. package/dest/stats/stats.d.ts.map +1 -1
  529. package/dest/tests/factories.d.ts +25 -32
  530. package/dest/tests/factories.d.ts.map +1 -1
  531. package/dest/tests/factories.js +85 -82
  532. package/dest/tests/mocks.d.ts +8 -5
  533. package/dest/tests/mocks.d.ts.map +1 -1
  534. package/dest/tests/mocks.js +45 -56
  535. package/dest/timetable/budgets.d.ts +57 -0
  536. package/dest/timetable/budgets.d.ts.map +1 -0
  537. package/dest/timetable/budgets.js +56 -0
  538. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  539. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  540. package/dest/timetable/build_proposer_timetable.js +17 -0
  541. package/dest/timetable/consensus_timetable.d.ts +70 -0
  542. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  543. package/dest/timetable/consensus_timetable.js +89 -0
  544. package/dest/timetable/index.d.ts +5 -37
  545. package/dest/timetable/index.d.ts.map +1 -1
  546. package/dest/timetable/index.js +4 -39
  547. package/dest/timetable/proposer_timetable.d.ts +106 -0
  548. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  549. package/dest/timetable/proposer_timetable.js +132 -0
  550. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  551. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  552. package/dest/trees/append_only_tree_snapshot.js +6 -3
  553. package/dest/trees/nullifier_leaf.d.ts +19 -42
  554. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  555. package/dest/trees/nullifier_leaf.js +3 -0
  556. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  557. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  558. package/dest/trees/nullifier_membership_witness.js +2 -14
  559. package/dest/trees/public_data_leaf.d.ts +21 -53
  560. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  561. package/dest/trees/public_data_witness.d.ts +16 -58
  562. package/dest/trees/public_data_witness.d.ts.map +1 -1
  563. package/dest/tx/block_header.d.ts +5 -4
  564. package/dest/tx/block_header.d.ts.map +1 -1
  565. package/dest/tx/block_header.js +7 -4
  566. package/dest/tx/call_context.d.ts +4 -14
  567. package/dest/tx/call_context.d.ts.map +1 -1
  568. package/dest/tx/capsule.d.ts +7 -3
  569. package/dest/tx/capsule.d.ts.map +1 -1
  570. package/dest/tx/capsule.js +9 -3
  571. package/dest/tx/fee_provider.d.ts +10 -0
  572. package/dest/tx/fee_provider.d.ts.map +1 -0
  573. package/dest/tx/fee_provider.js +1 -0
  574. package/dest/tx/function_data.d.ts +4 -10
  575. package/dest/tx/function_data.d.ts.map +1 -1
  576. package/dest/tx/global_variable_builder.d.ts +3 -4
  577. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  578. package/dest/tx/global_variables.d.ts +16 -49
  579. package/dest/tx/global_variables.d.ts.map +1 -1
  580. package/dest/tx/global_variables.js +8 -12
  581. package/dest/tx/hashed_values.d.ts +4 -3
  582. package/dest/tx/hashed_values.d.ts.map +1 -1
  583. package/dest/tx/hashed_values.js +6 -3
  584. package/dest/tx/in_tx.d.ts +5 -17
  585. package/dest/tx/in_tx.d.ts.map +1 -1
  586. package/dest/tx/index.d.ts +2 -1
  587. package/dest/tx/index.d.ts.map +1 -1
  588. package/dest/tx/index.js +1 -0
  589. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  590. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  591. package/dest/tx/indexed_tx_effect.js +9 -6
  592. package/dest/tx/partial_state_reference.d.ts +22 -65
  593. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  594. package/dest/tx/partial_state_reference.js +6 -3
  595. package/dest/tx/private_execution_result.d.ts +6 -16
  596. package/dest/tx/private_execution_result.d.ts.map +1 -1
  597. package/dest/tx/profiling.d.ts +54 -352
  598. package/dest/tx/profiling.d.ts.map +1 -1
  599. package/dest/tx/profiling.js +4 -4
  600. package/dest/tx/protocol_contracts.d.ts +5 -9
  601. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  602. package/dest/tx/proven_tx.d.ts +30 -74
  603. package/dest/tx/proven_tx.d.ts.map +1 -1
  604. package/dest/tx/proven_tx.js +6 -0
  605. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  606. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  607. package/dest/tx/public_call_request_with_calldata.js +6 -3
  608. package/dest/tx/simulated_tx.d.ts +64 -1143
  609. package/dest/tx/simulated_tx.d.ts.map +1 -1
  610. package/dest/tx/simulated_tx.js +13 -11
  611. package/dest/tx/state_reference.d.ts +30 -117
  612. package/dest/tx/state_reference.d.ts.map +1 -1
  613. package/dest/tx/state_reference.js +6 -4
  614. package/dest/tx/tree_snapshots.d.ts +27 -84
  615. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  616. package/dest/tx/tree_snapshots.js +6 -4
  617. package/dest/tx/tx.d.ts +22 -13
  618. package/dest/tx/tx.d.ts.map +1 -1
  619. package/dest/tx/tx.js +44 -22
  620. package/dest/tx/tx_constant_data.d.ts +4 -3
  621. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  622. package/dest/tx/tx_constant_data.js +6 -3
  623. package/dest/tx/tx_context.d.ts +32 -131
  624. package/dest/tx/tx_context.d.ts.map +1 -1
  625. package/dest/tx/tx_context.js +6 -6
  626. package/dest/tx/tx_hash.d.ts +6 -4
  627. package/dest/tx/tx_hash.d.ts.map +1 -1
  628. package/dest/tx/tx_hash.js +13 -5
  629. package/dest/tx/tx_receipt.d.ts +144 -63
  630. package/dest/tx/tx_receipt.d.ts.map +1 -1
  631. package/dest/tx/tx_receipt.js +143 -60
  632. package/dest/tx/validator/error_texts.d.ts +6 -2
  633. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  634. package/dest/tx/validator/error_texts.js +7 -1
  635. package/dest/tx/validator/tx_validator.d.ts +5 -27
  636. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  637. package/dest/tx/validator/tx_validator.js +0 -4
  638. package/dest/types/shared.d.ts +4 -12
  639. package/dest/types/shared.d.ts.map +1 -1
  640. package/dest/types/shared.js +6 -12
  641. package/dest/update-checker/dev_version.d.ts +3 -0
  642. package/dest/update-checker/dev_version.d.ts.map +1 -0
  643. package/dest/update-checker/dev_version.js +1 -0
  644. package/dest/update-checker/index.d.ts +2 -1
  645. package/dest/update-checker/index.d.ts.map +1 -1
  646. package/dest/update-checker/index.js +1 -0
  647. package/dest/update-checker/package_version.d.ts +6 -3
  648. package/dest/update-checker/package_version.d.ts.map +1 -1
  649. package/dest/update-checker/package_version.js +8 -19
  650. package/dest/validators/schemas.d.ts +147 -614
  651. package/dest/validators/schemas.d.ts.map +1 -1
  652. package/dest/validators/schemas.js +6 -4
  653. package/dest/validators/types.d.ts +20 -3
  654. package/dest/validators/types.d.ts.map +1 -1
  655. package/dest/versioning/versioning.js +1 -1
  656. package/dest/vks/verification_key.d.ts +4 -139
  657. package/dest/vks/verification_key.d.ts.map +1 -1
  658. package/dest/vks/verification_key.js +5 -126
  659. package/dest/world-state/genesis_data.d.ts +13 -0
  660. package/dest/world-state/genesis_data.d.ts.map +1 -0
  661. package/dest/world-state/genesis_data.js +7 -0
  662. package/dest/world-state/index.d.ts +2 -1
  663. package/dest/world-state/index.d.ts.map +1 -1
  664. package/dest/world-state/index.js +1 -0
  665. package/dest/world-state/world_state_revision.d.ts +15 -26
  666. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  667. package/dest/world-state/world_state_revision.js +7 -1
  668. package/package.json +12 -11
  669. package/src/abi/abi.ts +78 -21
  670. package/src/abi/authorization_selector.ts +2 -8
  671. package/src/abi/buffer.ts +25 -4
  672. package/src/abi/contract_artifact.ts +30 -6
  673. package/src/abi/decoder.ts +23 -78
  674. package/src/abi/encoder.ts +42 -6
  675. package/src/abi/event_selector.ts +2 -8
  676. package/src/abi/function_selector.ts +4 -13
  677. package/src/abi/function_signature_decoder.ts +77 -0
  678. package/src/abi/index.ts +1 -0
  679. package/src/abi/note_selector.ts +3 -12
  680. package/src/abi/selector.ts +1 -1
  681. package/src/abi/utils.ts +6 -4
  682. package/src/avm/avm.ts +5 -0
  683. package/src/avm/message_pack.ts +12 -3
  684. package/src/avm/revert_code.ts +19 -39
  685. package/src/aztec-address/index.ts +15 -12
  686. package/src/block/attestation_info.ts +11 -11
  687. package/src/block/block_data.ts +3 -4
  688. package/src/block/block_hash.ts +21 -14
  689. package/src/block/block_parameter.ts +72 -4
  690. package/src/block/index.ts +0 -1
  691. package/src/block/l2_block_info.ts +8 -6
  692. package/src/block/l2_block_source.ts +216 -147
  693. package/src/block/l2_block_stream/interfaces.ts +42 -6
  694. package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
  695. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  696. package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
  697. package/src/block/proposal/attestations_and_signers.ts +32 -17
  698. package/src/block/test/l2_tips_store_test_suite.ts +198 -18
  699. package/src/checkpoint/checkpoint.ts +13 -3
  700. package/src/checkpoint/checkpoint_data.ts +44 -4
  701. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  702. package/src/checkpoint/digest.ts +28 -0
  703. package/src/checkpoint/index.ts +3 -0
  704. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  705. package/src/checkpoint/validate.ts +18 -8
  706. package/src/config/chain-config.ts +13 -16
  707. package/src/config/index.ts +1 -0
  708. package/src/config/network-consensus-config.ts +302 -0
  709. package/src/config/sequencer-config.ts +68 -9
  710. package/src/contract/complete_address.ts +7 -3
  711. package/src/contract/contract_address.ts +7 -7
  712. package/src/contract/contract_class_id.ts +2 -2
  713. package/src/contract/contract_instance.ts +11 -2
  714. package/src/contract/index.ts +0 -2
  715. package/src/contract/interfaces/contract_class.ts +2 -82
  716. package/src/contract/interfaces/contract_instance.ts +6 -2
  717. package/src/contract/interfaces/node-info.ts +11 -0
  718. package/src/contract/private_function.ts +3 -1
  719. package/src/database-version/version_manager.ts +17 -0
  720. package/src/deserialization/index.ts +35 -2
  721. package/src/epoch-helpers/index.ts +24 -0
  722. package/src/file-store/factory.ts +13 -4
  723. package/src/file-store/http.ts +29 -10
  724. package/src/file-store/index.ts +1 -0
  725. package/src/gas/README.md +123 -0
  726. package/src/gas/fee_math.ts +120 -0
  727. package/src/gas/gas.ts +8 -3
  728. package/src/gas/gas_fees.ts +26 -13
  729. package/src/gas/gas_settings.ts +63 -15
  730. package/src/gas/index.ts +2 -0
  731. package/src/gas/tx_gas_limits.ts +123 -0
  732. package/src/ha-signing/config.ts +14 -18
  733. package/src/ha-signing/index.ts +3 -1
  734. package/src/ha-signing/local_config.ts +2 -2
  735. package/src/ha-signing/types.ts +48 -34
  736. package/src/hash/hash.ts +63 -2
  737. package/src/interfaces/api_limit.ts +1 -1
  738. package/src/interfaces/archiver.ts +88 -93
  739. package/src/interfaces/aztec-node-admin.ts +36 -21
  740. package/src/interfaces/aztec-node-debug.ts +55 -0
  741. package/src/interfaces/aztec-node.ts +389 -259
  742. package/src/interfaces/block-builder.ts +31 -9
  743. package/src/interfaces/block_response.ts +92 -0
  744. package/src/interfaces/chain_tips.ts +24 -0
  745. package/src/interfaces/checkpoint_parameter.ts +20 -0
  746. package/src/interfaces/checkpoint_response.ts +84 -0
  747. package/src/interfaces/client.ts +8 -1
  748. package/src/interfaces/configs.ts +63 -11
  749. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  750. package/src/interfaces/l1_publish_info.ts +40 -0
  751. package/src/interfaces/l2_logs_source.ts +13 -42
  752. package/src/interfaces/merkle_tree_operations.ts +3 -2
  753. package/src/interfaces/p2p-bootstrap.ts +2 -2
  754. package/src/interfaces/p2p.ts +59 -19
  755. package/src/interfaces/private_kernel_prover.ts +88 -0
  756. package/src/interfaces/prover-agent.ts +1 -1
  757. package/src/interfaces/prover-client.ts +3 -8
  758. package/src/interfaces/prover-node.ts +19 -12
  759. package/src/interfaces/proving-job-source.ts +4 -4
  760. package/src/interfaces/proving-job.ts +3 -3
  761. package/src/interfaces/public_storage_override.ts +26 -0
  762. package/src/interfaces/server.ts +5 -1
  763. package/src/interfaces/slasher.ts +17 -10
  764. package/src/interfaces/tx_provider.ts +6 -0
  765. package/src/interfaces/validator.ts +45 -15
  766. package/src/interfaces/world_state.ts +1 -1
  767. package/src/kernel/hints/key_validation_request.ts +18 -16
  768. package/src/kernel/index.ts +4 -0
  769. package/src/kernel/log_hash.ts +29 -9
  770. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  771. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  772. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  773. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  774. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  775. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  776. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  777. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  778. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  779. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  780. package/src/kernel/public_call_request.ts +22 -7
  781. package/src/keys/derivation.ts +21 -9
  782. package/src/keys/public_key.ts +26 -2
  783. package/src/keys/public_keys.ts +124 -110
  784. package/src/kv-store/config.ts +3 -10
  785. package/src/l1-contracts/index.ts +1 -1
  786. package/src/logs/app_tagging_secret.ts +137 -0
  787. package/src/logs/app_tagging_secret_kind.ts +21 -0
  788. package/src/logs/contract_class_log.ts +15 -5
  789. package/src/logs/index.ts +6 -6
  790. package/src/logs/log_cursor.ts +110 -0
  791. package/src/logs/log_result.ts +104 -0
  792. package/src/logs/logs_query.ts +138 -0
  793. package/src/logs/message_context.ts +22 -8
  794. package/src/logs/pending_tagged_log.ts +1 -3
  795. package/src/logs/pre_tag.ts +3 -6
  796. package/src/logs/private_log.ts +9 -3
  797. package/src/logs/query_all_logs_by_tags.ts +98 -0
  798. package/src/logs/shared_secret_derivation.ts +21 -10
  799. package/src/logs/siloed_tag.ts +20 -11
  800. package/src/logs/tag.ts +8 -8
  801. package/src/logs/tagging_index_range.ts +4 -10
  802. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  803. package/src/messaging/index.ts +1 -0
  804. package/src/messaging/l1_to_l2_message.ts +12 -9
  805. package/src/messaging/l2_to_l1_membership.ts +108 -19
  806. package/src/messaging/l2_to_l1_message.ts +29 -9
  807. package/src/noir/index.ts +4 -2
  808. package/src/note/note_dao.ts +1 -4
  809. package/src/p2p/block_proposal.ts +111 -36
  810. package/src/p2p/checkpoint_attestation.ts +27 -31
  811. package/src/p2p/checkpoint_proposal.ts +126 -68
  812. package/src/p2p/consensus_payload.ts +59 -28
  813. package/src/p2p/gossipable.ts +4 -4
  814. package/src/p2p/signature_utils.ts +110 -25
  815. package/src/p2p/signed_txs.ts +46 -28
  816. package/src/parity/parity_base_private_inputs.ts +10 -4
  817. package/src/parity/parity_public_inputs.ts +9 -2
  818. package/src/proofs/chonk_proof.ts +132 -12
  819. package/src/rollup/block_headers_hash.ts +11 -2
  820. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  821. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  822. package/src/schemas/schemas.ts +6 -1
  823. package/src/slashing/helpers.ts +13 -9
  824. package/src/slashing/index.ts +1 -2
  825. package/src/slashing/serialization.ts +1 -81
  826. package/src/slashing/types.ts +24 -49
  827. package/src/slashing/{tally.ts → votes.ts} +1 -1
  828. package/src/stats/stats.ts +4 -0
  829. package/src/tests/factories.ts +109 -111
  830. package/src/tests/mocks.ts +72 -71
  831. package/src/timetable/README.md +609 -0
  832. package/src/timetable/budgets.ts +87 -0
  833. package/src/timetable/build_proposer_timetable.ts +42 -0
  834. package/src/timetable/consensus_timetable.ts +126 -0
  835. package/src/timetable/index.ts +4 -66
  836. package/src/timetable/proposer_timetable.ts +190 -0
  837. package/src/timetable/timetable-example.svg +108 -0
  838. package/src/trees/append_only_tree_snapshot.ts +8 -3
  839. package/src/trees/nullifier_leaf.ts +4 -0
  840. package/src/trees/nullifier_membership_witness.ts +2 -12
  841. package/src/tx/block_header.ts +10 -5
  842. package/src/tx/capsule.ts +10 -2
  843. package/src/tx/fee_provider.ts +10 -0
  844. package/src/tx/global_variable_builder.ts +2 -3
  845. package/src/tx/global_variables.ts +10 -18
  846. package/src/tx/hashed_values.ts +8 -3
  847. package/src/tx/index.ts +1 -0
  848. package/src/tx/indexed_tx_effect.ts +18 -6
  849. package/src/tx/partial_state_reference.ts +8 -3
  850. package/src/tx/profiling.ts +4 -4
  851. package/src/tx/proven_tx.ts +6 -0
  852. package/src/tx/public_call_request_with_calldata.ts +8 -3
  853. package/src/tx/simulated_tx.ts +22 -21
  854. package/src/tx/state_reference.ts +9 -4
  855. package/src/tx/tree_snapshots.ts +9 -4
  856. package/src/tx/tx.ts +60 -24
  857. package/src/tx/tx_constant_data.ts +8 -3
  858. package/src/tx/tx_context.ts +8 -3
  859. package/src/tx/tx_hash.ts +20 -5
  860. package/src/tx/tx_receipt.ts +265 -85
  861. package/src/tx/validator/error_texts.ts +10 -1
  862. package/src/tx/validator/tx_validator.ts +1 -5
  863. package/src/types/shared.ts +8 -13
  864. package/src/update-checker/dev_version.ts +2 -0
  865. package/src/update-checker/index.ts +1 -0
  866. package/src/update-checker/package_version.ts +10 -23
  867. package/src/validators/schemas.ts +6 -4
  868. package/src/validators/types.ts +21 -2
  869. package/src/versioning/versioning.ts +1 -1
  870. package/src/vks/verification_key.ts +5 -184
  871. package/src/world-state/genesis_data.ts +27 -0
  872. package/src/world-state/index.ts +1 -0
  873. package/src/world-state/world_state_revision.ts +9 -1
  874. package/dest/abi/mocked_keys.d.ts +0 -2
  875. package/dest/abi/mocked_keys.d.ts.map +0 -1
  876. package/dest/abi/mocked_keys.js +0 -1
  877. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  878. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  879. package/dest/block/checkpointed_l2_block.js +0 -46
  880. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  881. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  882. package/dest/contract/private_function_membership_proof.js +0 -124
  883. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  884. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  885. package/dest/contract/utility_function_membership_proof.js +0 -87
  886. package/dest/interfaces/epoch-prover.d.ts +0 -57
  887. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  888. package/dest/interfaces/epoch-prover.js +0 -1
  889. package/dest/interfaces/get_logs_response.d.ts +0 -97
  890. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  891. package/dest/interfaces/get_logs_response.js +0 -12
  892. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  893. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  894. package/dest/l1-contracts/slash_factory.js +0 -158
  895. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  896. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  897. package/dest/logs/extended_contract_class_log.js +0 -67
  898. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  899. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  900. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  901. package/dest/logs/extended_public_log.d.ts +0 -106
  902. package/dest/logs/extended_public_log.d.ts.map +0 -1
  903. package/dest/logs/extended_public_log.js +0 -73
  904. package/dest/logs/log_filter.d.ts +0 -25
  905. package/dest/logs/log_filter.d.ts.map +0 -1
  906. package/dest/logs/log_filter.js +0 -12
  907. package/dest/logs/log_id.d.ts +0 -85
  908. package/dest/logs/log_id.d.ts.map +0 -1
  909. package/dest/logs/log_id.js +0 -94
  910. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  911. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  912. package/dest/logs/tx_scoped_l2_log.js +0 -70
  913. package/dest/slashing/empire.d.ts +0 -31
  914. package/dest/slashing/empire.d.ts.map +0 -1
  915. package/dest/slashing/empire.js +0 -87
  916. package/src/abi/mocked_keys.ts +0 -2
  917. package/src/block/checkpointed_l2_block.ts +0 -70
  918. package/src/contract/private_function_membership_proof.ts +0 -167
  919. package/src/contract/utility_function_membership_proof.ts +0 -118
  920. package/src/interfaces/epoch-prover.ts +0 -72
  921. package/src/interfaces/get_logs_response.ts +0 -35
  922. package/src/l1-contracts/slash_factory.ts +0 -180
  923. package/src/logs/extended_contract_class_log.ts +0 -87
  924. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  925. package/src/logs/extended_public_log.ts +0 -94
  926. package/src/logs/log_filter.ts +0 -36
  927. package/src/logs/log_id.ts +0 -125
  928. package/src/logs/tx_scoped_l2_log.ts +0 -98
  929. package/src/slashing/empire.ts +0 -104
@@ -5,8 +5,10 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
 
6
6
  import { z } from 'zod';
7
7
 
8
+ import { BlockHash } from './block_hash.js';
9
+
8
10
  export type L2BlockInfo = {
9
- blockHash?: Fr;
11
+ blockHash?: BlockHash;
10
12
  archive: Fr;
11
13
  lastArchive: Fr;
12
14
  blockNumber: BlockNumber;
@@ -17,7 +19,7 @@ export type L2BlockInfo = {
17
19
 
18
20
  export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo {
19
21
  return {
20
- blockHash: Fr.random(),
22
+ blockHash: BlockHash.random(),
21
23
  archive: Fr.random(),
22
24
  lastArchive: Fr.random(),
23
25
  blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
@@ -28,7 +30,7 @@ export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo
28
30
  }
29
31
 
30
32
  export const BlockInfoSchema = z.object({
31
- blockHash: schemas.Fr.optional(),
33
+ blockHash: BlockHash.schema.optional(),
32
34
  archive: schemas.Fr,
33
35
  lastArchive: schemas.Fr,
34
36
  blockNumber: BlockNumberSchema,
@@ -39,7 +41,7 @@ export const BlockInfoSchema = z.object({
39
41
 
40
42
  export function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer {
41
43
  return serializeToBuffer(
42
- blockInfo.blockHash ?? Fr.ZERO,
44
+ blockInfo.blockHash ?? BlockHash.ZERO,
43
45
  blockInfo.archive,
44
46
  blockInfo.lastArchive,
45
47
  blockInfo.blockNumber,
@@ -51,9 +53,9 @@ export function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer {
51
53
 
52
54
  export function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo {
53
55
  const reader = BufferReader.asReader(buffer);
54
- const blockHash = reader.readObject(Fr);
56
+ const blockHash = BlockHash.fromBuffer(reader);
55
57
  return {
56
- blockHash: blockHash.equals(Fr.ZERO) ? undefined : blockHash,
58
+ blockHash: blockHash.equals(BlockHash.ZERO) ? undefined : blockHash,
57
59
  archive: reader.readObject(Fr),
58
60
  lastArchive: reader.readObject(Fr),
59
61
  blockNumber: BlockNumber(reader.readNumber()),
@@ -4,29 +4,92 @@ import {
4
4
  CheckpointNumber,
5
5
  CheckpointNumberSchema,
6
6
  type EpochNumber,
7
+ EpochNumberSchema,
7
8
  type SlotNumber,
9
+ SlotNumberSchema,
8
10
  } from '@aztec/foundation/branded-types';
9
11
  import type { Fr } from '@aztec/foundation/curves/bn254';
10
12
  import type { EthAddress } from '@aztec/foundation/eth-address';
13
+ import { schemas } from '@aztec/foundation/schemas';
11
14
  import type { TypedEventEmitter } from '@aztec/foundation/types';
12
15
 
13
16
  import { z } from 'zod';
14
17
 
15
- import type { Checkpoint } from '../checkpoint/checkpoint.js';
16
- import type { CheckpointData } from '../checkpoint/checkpoint_data.js';
18
+ import type { CheckpointData, ProposedCheckpointData, ProposedCheckpointInput } from '../checkpoint/checkpoint_data.js';
19
+ import type { CheckpointInfo } from '../checkpoint/checkpoint_info.js';
17
20
  import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
18
21
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
22
+ import type { L2ToL1MembershipWitness } from '../messaging/l2_to_l1_membership.js';
19
23
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
20
- import type { BlockHeader } from '../tx/block_header.js';
21
24
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
22
25
  import type { TxHash } from '../tx/tx_hash.js';
23
- import type { TxReceipt } from '../tx/tx_receipt.js';
24
26
  import type { BlockData } from './block_data.js';
25
- import type { BlockHash } from './block_hash.js';
26
- import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
27
+ import { BlockHash } from './block_hash.js';
28
+ import { BlockTagWithoutLatestSchema, type NormalizedBlockParameter } from './block_parameter.js';
27
29
  import type { L2Block } from './l2_block.js';
28
30
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
29
31
 
32
+ /** Lookup a single block by block number, hash, archive root, or chain-tip tag. */
33
+ export type BlockQuery = NormalizedBlockParameter;
34
+
35
+ /**
36
+ * Query a range of blocks by start/limit or by epoch.
37
+ *
38
+ * The `epoch` variant requires `onlyCheckpointed: true` because epoch boundaries are only
39
+ * meaningful for the checkpointed chain — the proposed chain may include uncheckpointed
40
+ * blocks past the epoch boundary that callers should not receive.
41
+ */
42
+ export type BlocksQuery =
43
+ | { from: BlockNumber; limit: number; onlyCheckpointed?: boolean }
44
+ | { epoch: EpochNumber; onlyCheckpointed: true };
45
+
46
+ export const BlockQuerySchema: z.ZodType<BlockQuery, unknown> = z.union([
47
+ z.object({ number: BlockNumberSchema }).strict(),
48
+ z.object({ hash: BlockHash.schema }).strict(),
49
+ z.object({ archive: schemas.Fr }).strict(),
50
+ z.object({ tag: BlockTagWithoutLatestSchema }).strict(),
51
+ ]);
52
+
53
+ export const BlocksQuerySchema: z.ZodType<BlocksQuery, unknown> = z.union([
54
+ z
55
+ .object({ from: BlockNumberSchema, limit: z.number().int().min(1), onlyCheckpointed: z.boolean().optional() })
56
+ .strict(),
57
+ z.object({ epoch: EpochNumberSchema, onlyCheckpointed: z.literal(true) }).strict(),
58
+ ]);
59
+
60
+ /** Lookup a single confirmed checkpoint by checkpoint number, slot, or chain-tip tag. */
61
+ export type CheckpointQuery =
62
+ | { number: CheckpointNumber }
63
+ | { slot: SlotNumber }
64
+ | { tag: 'checkpointed' | 'proven' | 'finalized' };
65
+
66
+ /** Query a range of confirmed checkpoints by start/limit or by epoch. */
67
+ export type CheckpointsQuery = { from: CheckpointNumber; limit: number } | { epoch: EpochNumber };
68
+
69
+ /**
70
+ * Lookup a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
71
+ * Distinct from CheckpointQuery because proposed checkpoints have a different shape
72
+ * (no l1, no attestations, but carries totalManaUsed) and live in their own LMDB map.
73
+ */
74
+ export type ProposedCheckpointQuery = { number: CheckpointNumber } | { slot: SlotNumber } | { tag: 'proposed' };
75
+
76
+ export const CheckpointQuerySchema: z.ZodType<CheckpointQuery, unknown> = z.union([
77
+ z.object({ number: CheckpointNumberSchema }).strict(),
78
+ z.object({ slot: SlotNumberSchema }).strict(),
79
+ z.object({ tag: z.union([z.literal('checkpointed'), z.literal('proven'), z.literal('finalized')]) }).strict(),
80
+ ]);
81
+
82
+ export const CheckpointsQuerySchema: z.ZodType<CheckpointsQuery, unknown> = z.union([
83
+ z.object({ from: CheckpointNumberSchema, limit: z.number().int().min(1) }).strict(),
84
+ z.object({ epoch: EpochNumberSchema }).strict(),
85
+ ]);
86
+
87
+ export const ProposedCheckpointQuerySchema: z.ZodType<ProposedCheckpointQuery, unknown> = z.union([
88
+ z.object({ number: CheckpointNumberSchema }).strict(),
89
+ z.object({ slot: SlotNumberSchema }).strict(),
90
+ z.object({ tag: z.literal('proposed') }).strict(),
91
+ ]);
92
+
30
93
  /**
31
94
  * Interface of classes allowing for the retrieval of L2 blocks.
32
95
  */
@@ -50,115 +113,46 @@ export interface L2BlockSource {
50
113
  getBlockNumber(): Promise<BlockNumber>;
51
114
 
52
115
  /**
53
- * Gets the number of the latest L2 checkpoint processed by the block source implementation.
54
- * @returns The number of the latest L2 checkpoint processed by the block source implementation.
116
+ * Resolves a {@link BlockQuery} to its concrete L2 block number.
117
+ * @param query - Lookup by block number, hash, archive root, or chain-tip tag.
118
+ * @returns The block number, or undefined if no block matches the query.
55
119
  */
56
- getCheckpointNumber(): Promise<CheckpointNumber>;
57
-
58
- /**
59
- * Gets the number of the latest L2 block proven seen by the block source implementation.
60
- * @returns The number of the latest L2 block proven seen by the block source implementation.
61
- */
62
- getProvenBlockNumber(): Promise<BlockNumber>;
120
+ getBlockNumber(query: BlockQuery): Promise<BlockNumber | undefined>;
121
+ getBlockNumber(query?: BlockQuery): Promise<BlockNumber | undefined>;
63
122
 
64
123
  /**
65
- * Gets the number of the latest L2 block checkpointed seen by the block source implementation.
66
- * @returns The number of the latest L2 block checkpointed seen by the block source implementation.
67
- */
68
- getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
69
-
70
- /**
71
- * Returns the finalized L2 block number. A block is finalized when it was proven
72
- * in an L1 block that has itself been finalized on Ethereum.
73
- * @returns The finalized block number.
74
- */
75
- getFinalizedL2BlockNumber(): Promise<BlockNumber>;
76
-
77
- /**
78
- * Gets an l2 block header.
79
- * @param number - The block number to return or 'latest' for the most recent one.
80
- * @returns The requested L2 block header.
81
- */
82
- getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
83
-
84
- /**
85
- * Gets a checkpointed L2 block by block number.
86
- * Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
87
- * @param number - The block number to retrieve.
88
- * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
89
- */
90
- getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
91
-
92
- getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
93
-
94
- /**
95
- * Retrieves a collection of checkpoints.
96
- * @param checkpointNumber The first checkpoint to be retrieved.
97
- * @param limit The number of checkpoints to be retrieved.
98
- * @returns The collection of complete checkpoints.
99
- */
100
- getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
101
-
102
- /**
103
- * Gets the checkpoints for a given epoch
104
- * @param epochNumber - Epoch for which we want checkpoint data
105
- */
106
- getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
107
-
108
- /**
109
- * Gets lightweight checkpoint metadata for a given epoch, without fetching full block data.
110
- * @param epochNumber - Epoch for which we want checkpoint data
111
- */
112
- getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
113
-
114
- /**
115
- * Gets a block header by its hash.
116
- * @param blockHash - The block hash to retrieve.
117
- * @returns The requested block header (or undefined if not found).
118
- */
119
- getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
120
-
121
- /**
122
- * Gets a block header by its archive root.
123
- * @param archive - The archive root to retrieve.
124
- * @returns The requested block header (or undefined if not found).
125
- */
126
- getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
127
-
128
- /**
129
- * Gets block metadata (without tx data) by block number.
130
- * @param number - The block number to retrieve.
131
- * @returns The requested block data (or undefined if not found).
124
+ * Gets the number of the latest L2 checkpoint processed by the block source implementation.
125
+ * @returns The number of the latest L2 checkpoint processed by the block source implementation.
132
126
  */
133
- getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
127
+ getCheckpointNumber(): Promise<CheckpointNumber>;
134
128
 
135
129
  /**
136
- * Gets block metadata (without tx data) by archive root.
137
- * @param archive - The archive root to retrieve.
138
- * @returns The requested block data (or undefined if not found).
130
+ * Gets a single confirmed checkpoint matching the given query.
131
+ * Heavy shape: includes nested full `L2Block`s with transaction bodies.
132
+ * @param query - Lookup by checkpoint number, slot, or chain-tip tag.
139
133
  */
140
- getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
134
+ getCheckpoint(query: CheckpointQuery): Promise<PublishedCheckpoint | undefined>;
141
135
 
142
136
  /**
143
- * Gets an L2 block by block number.
144
- * @param number - The block number to return.
145
- * @returns The requested L2 block (or undefined if not found).
137
+ * Gets a collection of confirmed checkpoints matching the given query.
138
+ * Heavy shape: includes nested full `L2Block`s with transaction bodies.
139
+ * @param query - Range by start/limit or by epoch.
146
140
  */
147
- getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
141
+ getCheckpoints(query: CheckpointsQuery): Promise<PublishedCheckpoint[]>;
148
142
 
149
143
  /**
150
- * Gets an L2 block by its hash.
151
- * @param blockHash - The block hash to retrieve.
152
- * @returns The requested L2 block (or undefined if not found).
144
+ * Gets lightweight checkpoint metadata for a single checkpoint.
145
+ * Cheap passthrough for metadata-only queries (no block body reads).
146
+ * @param query - Lookup by checkpoint number, slot, or chain-tip tag.
153
147
  */
154
- getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
148
+ getCheckpointData(query: CheckpointQuery): Promise<CheckpointData | undefined>;
155
149
 
156
150
  /**
157
- * Gets an L2 block by its archive root.
158
- * @param archive - The archive root to retrieve.
159
- * @returns The requested L2 block (or undefined if not found).
151
+ * Gets a collection of lightweight checkpoint metadata entries matching the given query.
152
+ * Cheap passthrough for metadata-only queries (no block body reads).
153
+ * @param query - Range by start/limit or by epoch.
160
154
  */
161
- getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
155
+ getCheckpointsData(query: CheckpointsQuery): Promise<CheckpointData[]>;
162
156
 
163
157
  /**
164
158
  * Gets a tx effect.
@@ -168,15 +162,27 @@ export interface L2BlockSource {
168
162
  getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
169
163
 
170
164
  /**
171
- * Gets a receipt of a settled tx.
172
- * @param txHash - The hash of a tx we try to get the receipt for.
173
- * @returns The requested tx receipt (or undefined if not found).
165
+ * Returns the L2-to-L1 membership witness for `message` emitted by tx `txHash`, built against the
166
+ * smallest partial-proof root on the Outbox that covers the tx's checkpoint.
167
+ *
168
+ * The Outbox roots are read lazily, pinned to the node's synced L1 block, so the witness reflects
169
+ * the node's synced view. Returns `undefined` if the tx isn't yet in a block/epoch or no covering
170
+ * root has landed on L1 as of the synced block.
171
+ *
172
+ * Caveat: cached roots that are sealed and L1-finalized are not re-validated. A reorg deeper than
173
+ * L1 finality could leave the node serving a witness against a no-longer-canonical root.
174
174
  */
175
- getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
175
+ getL2ToL1MembershipWitness(
176
+ txHash: TxHash,
177
+ message: Fr,
178
+ messageIndexInTx?: number,
179
+ ): Promise<L2ToL1MembershipWitness | undefined>;
176
180
 
177
181
  /**
178
- * Returns the last L2 slot number that has been fully synchronized from L1.
179
- * An L2 slot is fully synced when all L1 blocks that fall within its time range have been processed.
182
+ * Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
183
+ * Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
184
+ * The checkpoint signal handles missed L1 blocks, since a published checkpoint seals the message tree
185
+ * for the next checkpoint via the inbox LAG mechanism.
180
186
  */
181
187
  getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
182
188
 
@@ -186,13 +192,6 @@ export interface L2BlockSource {
186
192
  */
187
193
  getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
188
194
 
189
- /**
190
- * Returns all checkpointed block headers for a given epoch.
191
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
192
- * @param epochNumber - The epoch number to return headers for.
193
- */
194
- getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
195
-
196
195
  /**
197
196
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
198
197
  * @param epochNumber - The epoch number to check.
@@ -209,9 +208,22 @@ export interface L2BlockSource {
209
208
  */
210
209
  getL1Constants(): Promise<L1RollupConstants>;
211
210
 
211
+ /**
212
+ * Returns true iff `canPruneAtTime` would be true at the latest L1 timestamp inside
213
+ * the L2 slot's window. Computed entirely from local archiver state (no L1 RPC).
214
+ * @param slot - The L2 slot to check.
215
+ */
216
+ isPruneDueAtSlot(slot: SlotNumber): Promise<boolean>;
217
+
212
218
  /** Returns values for the genesis block */
213
219
  getGenesisValues(): Promise<{ genesisArchiveRoot: Fr }>;
214
220
 
221
+ /**
222
+ * Returns the precomputed hash of the genesis block header. Synchronous because the hash
223
+ * is derived from the initial block header at construction time and cached by implementers.
224
+ */
225
+ getGenesisBlockHash(): BlockHash;
226
+
215
227
  /** Latest synced L1 timestamp. */
216
228
  getL1Timestamp(): Promise<bigint | undefined>;
217
229
 
@@ -227,53 +239,47 @@ export interface L2BlockSource {
227
239
  */
228
240
  getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
229
241
 
230
- /** Force a sync. */
231
- syncImmediate(): Promise<void>;
232
-
233
- /* Legacy APIS */
234
-
235
242
  /**
236
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
237
- * @param number - The block number to return (inclusive).
238
- * @returns The requested L2 block.
243
+ * Looks up a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
244
+ * Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`.
245
+ * With `{ number }` or `{ slot }`, returns the matching entry or undefined.
246
+ * Never falls back to confirmed checkpoints.
239
247
  */
240
- getBlock(number: BlockNumber): Promise<L2Block | undefined>;
248
+ getProposedCheckpointData(query?: ProposedCheckpointQuery): Promise<ProposedCheckpointData | undefined>;
249
+
250
+ /** Force a sync. */
251
+ syncImmediate(): Promise<void>;
241
252
 
242
253
  /**
243
- * Returns all checkpointed blocks for a given epoch.
244
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
245
- * @param epochNumber - The epoch number to return blocks for.
254
+ * Gets an L2 block matching the given query.
255
+ * @param query - Lookup by block number, hash, or archive root.
246
256
  */
247
- getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
257
+ getBlock(query: BlockQuery): Promise<L2Block | undefined>;
248
258
 
249
259
  /**
250
- * Returns all blocks for a given slot.
251
- * @dev Use this method only with recent slots, since it walks the block list backwards.
252
- * @param slotNumber - The slot number to return blocks for.
260
+ * Gets a collection of L2 blocks matching the given query.
261
+ * @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
253
262
  */
254
- getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
263
+ getBlocks(query: BlocksQuery): Promise<L2Block[]>;
255
264
 
256
265
  /**
257
- * Gets a checkpointed block by its block hash.
258
- * @param blockHash - The block hash to retrieve.
259
- * @returns The requested block (or undefined if not found).
266
+ * Gets block metadata (without tx data) matching the given query.
267
+ * @param query - Lookup by block number, hash, or archive root.
260
268
  */
261
- getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
269
+ getBlockData(query: BlockQuery): Promise<BlockData | undefined>;
262
270
 
263
271
  /**
264
- * Gets a checkpointed block by its archive root.
265
- * @param archive - The archive root to retrieve.
266
- * @returns The requested block (or undefined if not found).
272
+ * Gets a collection of block metadata entries matching the given query.
273
+ * @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
267
274
  */
268
- getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
275
+ getBlocksData(query: BlocksQuery): Promise<BlockData[]>;
269
276
 
270
277
  /**
271
- * Gets up to `limit` amount of L2 blocks starting from `from`.
272
- * @param from - Number of the first block to return (inclusive).
273
- * @param limit - The maximum number of blocks to return.
274
- * @returns The requested L2 blocks.
278
+ * Returns all blocks for a given slot.
279
+ * @dev Use this method only with recent slots, since it walks the block list backwards.
280
+ * @param slotNumber - The slot number to return blocks for.
275
281
  */
276
- getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
282
+ getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
277
283
  }
278
284
 
279
285
  /**
@@ -288,6 +294,19 @@ export interface L2BlockSink {
288
294
  addBlock(block: L2Block): Promise<void>;
289
295
  }
290
296
 
297
+ /**
298
+ * Interface for classes that can receive and store proposed (not-yet-L1-confirmed) checkpoints.
299
+ */
300
+ export interface ProposedCheckpointSink {
301
+ /**
302
+ * Adds a proposed checkpoint to the store. The archive and checkpointOutHash are computed
303
+ * internally from the already-stored blocks, so every block in the checkpoint must be added
304
+ * (via {@link L2BlockSink.addBlock}) before calling this.
305
+ * @param checkpoint - The proposed checkpoint metadata.
306
+ */
307
+ addProposedCheckpoint(checkpoint: ProposedCheckpointInput): Promise<void>;
308
+ }
309
+
291
310
  /**
292
311
  * L2BlockSource that emits events upon pending / proven chain changes.
293
312
  * see L2BlockSourceEvents for the events emitted.
@@ -298,28 +317,47 @@ export type ArchiverEmitter = TypedEventEmitter<{
298
317
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
299
318
  [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
300
319
  [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
320
+ [L2BlockSourceEvents.CheckpointEquivocationDetected]: (args: CheckpointEquivocationDetectedEvent) => void;
321
+ [L2BlockSourceEvents.DescendentOfInvalidAttestationsCheckpointDetected]: (
322
+ args: DescendentOfInvalidAttestationsCheckpointEvent,
323
+ ) => void;
301
324
  }>;
302
325
  export interface L2BlockSourceEventEmitter extends L2BlockSource {
303
326
  events: ArchiverEmitter;
304
327
  }
305
328
 
306
329
  /**
307
- * Identifier for L2 block tags.
330
+ * Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that exposes
331
+ * the additional `proposedCheckpoint` value (used for the optimistic chain tip on the
332
+ * archiver side) and omits `latest` (which is an alias for `proposed` accepted only at
333
+ * the public RPC surface).
334
+ *
308
335
  * - proposed: Latest block proposed on L2.
309
- * - checkpointed: Checkpointed block on L1.
310
- * - proven: Proven block on L1.
311
- * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
336
+ * - proposedCheckpoint: Latest block in the most recent proposed checkpoint (archiver-internal).
337
+ * - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
338
+ * - proven: Latest block whose enclosing checkpoint has been proven on L1.
339
+ * - finalized: Latest block whose proving L1 transaction has reached L1 finality.
340
+ *
341
+ * TODO(palla): Remove `proposedCheckpoint` and unify with `proposed`.
312
342
  */
313
- export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
343
+ export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
314
344
 
315
345
  /** Tips of the L2 chain. */
316
346
  export type L2Tips = {
317
347
  proposed: L2BlockId;
318
348
  checkpointed: L2TipId;
349
+ proposedCheckpoint: L2TipId;
319
350
  proven: L2TipId;
320
351
  finalized: L2TipId;
321
352
  };
322
353
 
354
+ /**
355
+ * Tips of the L2 chain as tracked by a local provider (world-state, l2-tips-store). Omits
356
+ * `proposedCheckpoint`, which is degenerate in local stores (always equal to `checkpointed`) and
357
+ * is only meaningful on the archiver side via {@link L2BlockSource}.
358
+ */
359
+ export type LocalL2Tips = Omit<L2Tips, 'proposedCheckpoint'>;
360
+
323
361
  export const GENESIS_CHECKPOINT_HEADER_HASH = CheckpointHeader.empty().hash();
324
362
 
325
363
  /** Identifies a block by number and hash. */
@@ -360,6 +398,7 @@ const L2TipIdSchema = z.object({
360
398
  export const L2TipsSchema = z.object({
361
399
  proposed: L2BlockIdSchema,
362
400
  checkpointed: L2TipIdSchema,
401
+ proposedCheckpoint: L2TipIdSchema,
363
402
  proven: L2TipIdSchema,
364
403
  finalized: L2TipIdSchema,
365
404
  });
@@ -370,6 +409,8 @@ export enum L2BlockSourceEvents {
370
409
  L2BlockProven = 'l2BlockProven',
371
410
  L2BlocksCheckpointed = 'l2BlocksCheckpointed',
372
411
  InvalidAttestationsCheckpointDetected = 'invalidCheckpointDetected',
412
+ CheckpointEquivocationDetected = 'checkpointEquivocationDetected',
413
+ DescendentOfInvalidAttestationsCheckpointDetected = 'descendentOfInvalidAttestationsCheckpointDetected',
373
414
  }
374
415
 
375
416
  export type L2BlockProvenEvent = {
@@ -400,3 +441,31 @@ export type InvalidCheckpointDetectedEvent = {
400
441
  type: 'invalidCheckpointDetected';
401
442
  validationResult: ValidateCheckpointNegativeResult;
402
443
  };
444
+
445
+ /**
446
+ * Emitted when a local proposed checkpoint is found to disagree with the L1-confirmed
447
+ * checkpoint at the same slot. The slot proposer signed both — equivocation.
448
+ */
449
+ export type CheckpointEquivocationDetectedEvent = {
450
+ type: 'checkpointEquivocationDetected';
451
+ slotNumber: SlotNumber;
452
+ checkpointNumber: CheckpointNumber;
453
+ l1ArchiveRoot: Fr;
454
+ proposedArchiveRoot: Fr;
455
+ };
456
+
457
+ /**
458
+ * Emitted when the archiver observes a checkpoint that builds on a previously-rejected
459
+ * ancestor (typically one with insufficient/invalid attestations). The descendant itself may
460
+ * have valid attestations, but it cannot be ingested because the chain it extends was
461
+ * skipped. The slasher uses this to slash the proposer of the descendant.
462
+ */
463
+ export type DescendentOfInvalidAttestationsCheckpointEvent = {
464
+ type: 'descendentOfInvalidAttestationsCheckpointDetected';
465
+ /** The descendant checkpoint being rejected. */
466
+ checkpoint: CheckpointInfo;
467
+ /** Archive root of the rejected ancestor this descendant builds on. */
468
+ ancestorArchiveRoot: Fr;
469
+ /** Checkpoint number of the rejected ancestor. */
470
+ ancestorCheckpointNumber: CheckpointNumber;
471
+ };
@@ -1,11 +1,39 @@
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
2
4
  import type { L2Block } from '../l2_block.js';
3
- import type { CheckpointId, L2BlockId, L2Tips } from '../l2_block_source.js';
5
+ import type { CheckpointId, L2BlockId, L2TipId, LocalL2Tips } from '../l2_block_source.js';
6
+
7
+ /** Provides the current chain tips. Implemented by world-state, l2-tips-store, and AztecNode. */
8
+ export interface L2TipsProvider {
9
+ getL2Tips(): Promise<LocalL2Tips>;
10
+ }
11
+
12
+ /**
13
+ * A block id reported by a local data provider, whose hash may be unknown when the provider cannot resolve it (e.g.
14
+ * world-state cannot resolve the hash of a proven tip ahead of its synced range).
15
+ */
16
+ export type LocalL2BlockId = { number: BlockNumber; hash?: string };
4
17
 
5
- /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
18
+ /**
19
+ * Minimal local view of the chain the block stream needs to drive sync. `checkpointed` is only required when the
20
+ * stream emits checkpoint events (i.e. `ignoreCheckpoints` is off).
21
+ */
22
+ export type LocalChainTips = {
23
+ proposed: LocalL2BlockId;
24
+ checkpointed?: { checkpoint: CheckpointId };
25
+ proven: { block: LocalL2BlockId };
26
+ finalized: { block: LocalL2BlockId };
27
+ };
28
+
29
+ /**
30
+ * Interface to the local view of the chain. Implemented by world-state and l2-tips-store. Anything implementing
31
+ * {@link L2TipsProvider} also satisfies this contract structurally, since {@link LocalL2Tips} is assignable to
32
+ * {@link LocalChainTips}.
33
+ */
6
34
  export interface L2BlockStreamLocalDataProvider {
35
+ getL2Tips(): Promise<LocalChainTips>;
7
36
  getL2BlockHash(number: number): Promise<string | undefined>;
8
- getL2Tips(): Promise<L2Tips>;
9
37
  }
10
38
 
11
39
  /** Interface to a handler of events emitted. */
@@ -26,19 +54,27 @@ export type L2BlockStreamEvent =
26
54
  | /**
27
55
  * Reports last correct block (new tip of the proposed chain). Note that this is not necessarily the anchor block
28
56
  * that will be used in the transaction - if the chain has already moved past the reorg, we'll also see blocks-added
29
- * events that will push the anchor block forward.
57
+ * events that will push the anchor block forward. `block` is the prune target (the new proposed tip); `checkpointed`
58
+ * and `proven` are the source's confirmed checkpointed and proven tips (each a block and checkpoint id). Each is used
59
+ * to clamp the corresponding local cursor when it leads the source tip, so a cursor never overshoots its own source
60
+ * frontier during a prune (the source guarantees proven <= checkpointed).
30
61
  */ {
31
62
  type: 'chain-pruned';
32
63
  block: L2BlockId;
33
- checkpoint: CheckpointId;
64
+ checkpointed: L2TipId;
65
+ proven: L2TipId;
34
66
  }
35
67
  | /** Reports new proven block. */ {
36
68
  type: 'chain-proven';
37
69
  block: L2BlockId;
70
+ checkpoint: CheckpointId;
38
71
  }
39
72
  | /** Reports new finalized block (proven and finalized on L1). */ {
40
73
  type: 'chain-finalized';
41
74
  block: L2BlockId;
75
+ checkpoint: CheckpointId;
42
76
  };
43
77
 
44
- export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
78
+ export type L2TipsStore = L2BlockStreamEventHandler &
79
+ L2TipsProvider &
80
+ Pick<L2BlockStreamLocalDataProvider, 'getL2BlockHash'>;