@aztec/stdlib 0.0.1-commit.993d52e → 0.0.1-commit.9a89641

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 (1162) hide show
  1. package/dest/abi/abi.d.ts +169 -1083
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +52 -20
  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 +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +49 -26
  12. package/dest/abi/decoder.d.ts +15 -47
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +33 -86
  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 +60 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +21 -30
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +28 -9
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/avm/avm.d.ts +2228 -10934
  47. package/dest/avm/avm.d.ts.map +1 -1
  48. package/dest/avm/avm.js +10 -5
  49. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  50. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  51. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  52. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  53. package/dest/avm/avm_proving_request.d.ts +653 -5446
  54. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  55. package/dest/avm/index.d.ts +1 -6
  56. package/dest/avm/index.d.ts.map +1 -1
  57. package/dest/avm/index.js +0 -5
  58. package/dest/avm/message_pack.js +12 -3
  59. package/dest/avm/public_data_write.d.ts +6 -12
  60. package/dest/avm/public_data_write.d.ts.map +1 -1
  61. package/dest/avm/revert_code.d.ts +5 -21
  62. package/dest/avm/revert_code.d.ts.map +1 -1
  63. package/dest/avm/revert_code.js +12 -30
  64. package/dest/aztec-address/index.d.ts +42 -12
  65. package/dest/aztec-address/index.d.ts.map +1 -1
  66. package/dest/aztec-address/index.js +40 -13
  67. package/dest/block/attestation_info.d.ts +3 -2
  68. package/dest/block/attestation_info.d.ts.map +1 -1
  69. package/dest/block/attestation_info.js +10 -5
  70. package/dest/block/block_data.d.ts +13 -38
  71. package/dest/block/block_data.d.ts.map +1 -1
  72. package/dest/block/block_data.js +2 -2
  73. package/dest/block/block_hash.d.ts +11 -10
  74. package/dest/block/block_hash.d.ts.map +1 -1
  75. package/dest/block/block_hash.js +10 -9
  76. package/dest/block/block_parameter.d.ts +37 -4
  77. package/dest/block/block_parameter.d.ts.map +1 -1
  78. package/dest/block/block_parameter.js +53 -2
  79. package/dest/block/in_block.d.ts +5 -24
  80. package/dest/block/in_block.d.ts.map +1 -1
  81. package/dest/block/index.d.ts +1 -2
  82. package/dest/block/index.d.ts.map +1 -1
  83. package/dest/block/index.js +0 -1
  84. package/dest/block/l2_block.d.ts +21 -41
  85. package/dest/block/l2_block.d.ts.map +1 -1
  86. package/dest/block/l2_block.js +12 -2
  87. package/dest/block/l2_block_info.d.ts +10 -29
  88. package/dest/block/l2_block_info.d.ts.map +1 -1
  89. package/dest/block/l2_block_info.js +6 -5
  90. package/dest/block/l2_block_source.d.ts +237 -355
  91. package/dest/block/l2_block_source.d.ts.map +1 -1
  92. package/dest/block/l2_block_source.js +85 -1
  93. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  94. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  95. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  96. package/dest/block/l2_block_stream/index.d.ts +2 -1
  97. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/index.js +1 -0
  99. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  100. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/interfaces.js +25 -1
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  103. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  108. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  109. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  110. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  111. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  112. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  113. package/dest/block/proposal/attestations_and_signers.js +73 -25
  114. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  115. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  116. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  117. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  118. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  119. package/dest/block/validate_block_result.d.ts +16 -1
  120. package/dest/block/validate_block_result.d.ts.map +1 -1
  121. package/dest/block/validate_block_result.js +18 -3
  122. package/dest/checkpoint/checkpoint.d.ts +31 -96
  123. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  124. package/dest/checkpoint/checkpoint.js +20 -7
  125. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  126. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  127. package/dest/checkpoint/checkpoint_data.js +12 -0
  128. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  129. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  130. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  131. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  132. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  133. package/dest/checkpoint/digest.d.ts +18 -0
  134. package/dest/checkpoint/digest.d.ts.map +1 -0
  135. package/dest/checkpoint/digest.js +12 -0
  136. package/dest/checkpoint/index.d.ts +6 -1
  137. package/dest/checkpoint/index.d.ts.map +1 -1
  138. package/dest/checkpoint/index.js +5 -0
  139. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  140. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  141. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  142. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  143. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  144. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  145. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  146. package/dest/checkpoint/simulation_overrides.js +98 -0
  147. package/dest/checkpoint/validate.d.ts +44 -0
  148. package/dest/checkpoint/validate.d.ts.map +1 -0
  149. package/dest/checkpoint/validate.js +123 -0
  150. package/dest/config/chain-config.d.ts +4 -9
  151. package/dest/config/chain-config.d.ts.map +1 -1
  152. package/dest/config/chain-config.js +13 -12
  153. package/dest/config/index.d.ts +2 -1
  154. package/dest/config/index.d.ts.map +1 -1
  155. package/dest/config/index.js +1 -0
  156. package/dest/config/network-consensus-config.d.ts +72 -0
  157. package/dest/config/network-consensus-config.d.ts.map +1 -0
  158. package/dest/config/network-consensus-config.js +223 -0
  159. package/dest/config/node-rpc-config.d.ts +1 -1
  160. package/dest/config/node-rpc-config.d.ts.map +1 -1
  161. package/dest/config/node-rpc-config.js +1 -1
  162. package/dest/config/sequencer-config.d.ts +6 -2
  163. package/dest/config/sequencer-config.d.ts.map +1 -1
  164. package/dest/config/sequencer-config.js +38 -6
  165. package/dest/contract/artifact_hash.d.ts +2 -2
  166. package/dest/contract/artifact_hash.d.ts.map +1 -1
  167. package/dest/contract/artifact_hash.js +10 -2
  168. package/dest/contract/complete_address.d.ts +3 -2
  169. package/dest/contract/complete_address.d.ts.map +1 -1
  170. package/dest/contract/complete_address.js +6 -2
  171. package/dest/contract/contract_address.d.ts +10 -9
  172. package/dest/contract/contract_address.d.ts.map +1 -1
  173. package/dest/contract/contract_address.js +6 -5
  174. package/dest/contract/contract_class.d.ts +1 -1
  175. package/dest/contract/contract_class.d.ts.map +1 -1
  176. package/dest/contract/contract_class.js +3 -2
  177. package/dest/contract/contract_class_id.d.ts +2 -2
  178. package/dest/contract/contract_class_id.js +2 -2
  179. package/dest/contract/contract_deployment_data.d.ts +15 -61
  180. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  181. package/dest/contract/contract_instance.d.ts +19 -3
  182. package/dest/contract/contract_instance.d.ts.map +1 -1
  183. package/dest/contract/contract_instance.js +55 -3
  184. package/dest/contract/index.d.ts +1 -4
  185. package/dest/contract/index.d.ts.map +1 -1
  186. package/dest/contract/index.js +0 -3
  187. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  188. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_class.js +1 -28
  190. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  191. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  192. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  193. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  194. package/dest/contract/interfaces/contract_instance.js +11 -4
  195. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  196. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  197. package/dest/contract/interfaces/node-info.d.ts +11 -1
  198. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  199. package/dest/contract/interfaces/node-info.js +7 -1
  200. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  201. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  202. package/dest/contract/partial_address.d.ts +9 -3
  203. package/dest/contract/partial_address.d.ts.map +1 -1
  204. package/dest/contract/partial_address.js +8 -2
  205. package/dest/contract/private_function.d.ts +1 -1
  206. package/dest/contract/private_function.d.ts.map +1 -1
  207. package/dest/contract/private_function.js +2 -4
  208. package/dest/database-version/database_version.d.ts +5 -11
  209. package/dest/database-version/database_version.d.ts.map +1 -1
  210. package/dest/database-version/version_manager.d.ts +22 -4
  211. package/dest/database-version/version_manager.d.ts.map +1 -1
  212. package/dest/database-version/version_manager.js +87 -6
  213. package/dest/deserialization/index.d.ts +35 -3
  214. package/dest/deserialization/index.d.ts.map +1 -1
  215. package/dest/deserialization/index.js +32 -1
  216. package/dest/epoch-helpers/index.d.ts +12 -20
  217. package/dest/epoch-helpers/index.d.ts.map +1 -1
  218. package/dest/epoch-helpers/index.js +16 -2
  219. package/dest/file-store/factory.d.ts +4 -3
  220. package/dest/file-store/factory.d.ts.map +1 -1
  221. package/dest/file-store/factory.js +9 -2
  222. package/dest/file-store/http.d.ts +9 -2
  223. package/dest/file-store/http.d.ts.map +1 -1
  224. package/dest/file-store/http.js +20 -9
  225. package/dest/file-store/index.d.ts +3 -1
  226. package/dest/file-store/index.d.ts.map +1 -1
  227. package/dest/file-store/index.js +1 -0
  228. package/dest/file-store/memory.d.ts +24 -0
  229. package/dest/file-store/memory.d.ts.map +1 -0
  230. package/dest/file-store/memory.js +80 -0
  231. package/dest/gas/fee_math.d.ts +49 -0
  232. package/dest/gas/fee_math.d.ts.map +1 -0
  233. package/dest/gas/fee_math.js +80 -0
  234. package/dest/gas/gas.d.ts +9 -14
  235. package/dest/gas/gas.d.ts.map +1 -1
  236. package/dest/gas/gas.js +6 -3
  237. package/dest/gas/gas_fees.d.ts +13 -14
  238. package/dest/gas/gas_fees.d.ts.map +1 -1
  239. package/dest/gas/gas_fees.js +20 -4
  240. package/dest/gas/gas_settings.d.ts +60 -86
  241. package/dest/gas/gas_settings.d.ts.map +1 -1
  242. package/dest/gas/gas_settings.js +49 -9
  243. package/dest/gas/index.d.ts +3 -1
  244. package/dest/gas/index.d.ts.map +1 -1
  245. package/dest/gas/index.js +2 -0
  246. package/dest/gas/tx_gas_limits.d.ts +72 -0
  247. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  248. package/dest/gas/tx_gas_limits.js +85 -0
  249. package/dest/ha-signing/config.d.ts +86 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +94 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +40 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +30 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +34 -2
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +63 -9
  264. package/dest/interfaces/allowed_element.d.ts +17 -35
  265. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  266. package/dest/interfaces/allowed_element.js +8 -8
  267. package/dest/interfaces/api_limit.d.ts +7 -2
  268. package/dest/interfaces/api_limit.d.ts.map +1 -1
  269. package/dest/interfaces/api_limit.js +4 -1
  270. package/dest/interfaces/archiver.d.ts +27 -32
  271. package/dest/interfaces/archiver.d.ts.map +1 -1
  272. package/dest/interfaces/archiver.js +216 -69
  273. package/dest/interfaces/aztec-node-admin.d.ts +90 -280
  274. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  275. package/dest/interfaces/aztec-node-admin.js +60 -17
  276. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  277. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  278. package/dest/interfaces/aztec-node-debug.js +49 -0
  279. package/dest/interfaces/aztec-node.d.ts +165 -115
  280. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  281. package/dest/interfaces/aztec-node.js +351 -72
  282. package/dest/interfaces/block-builder.d.ts +48 -12
  283. package/dest/interfaces/block-builder.d.ts.map +1 -1
  284. package/dest/interfaces/block-builder.js +13 -6
  285. package/dest/interfaces/block_response.d.ts +90 -0
  286. package/dest/interfaces/block_response.d.ts.map +1 -0
  287. package/dest/interfaces/block_response.js +30 -0
  288. package/dest/interfaces/chain_tips.d.ts +11 -0
  289. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  290. package/dest/interfaces/chain_tips.js +6 -0
  291. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  292. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  293. package/dest/interfaces/checkpoint_parameter.js +18 -0
  294. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  295. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_response.js +26 -0
  297. package/dest/interfaces/client.d.ts +9 -2
  298. package/dest/interfaces/client.d.ts.map +1 -1
  299. package/dest/interfaces/client.js +7 -1
  300. package/dest/interfaces/configs.d.ts +89 -131
  301. package/dest/interfaces/configs.d.ts.map +1 -1
  302. package/dest/interfaces/configs.js +19 -4
  303. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  304. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  305. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +19 -23
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +46 -7
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +41 -6
  318. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-client.d.ts +10 -27
  324. package/dest/interfaces/prover-client.d.ts.map +1 -1
  325. package/dest/interfaces/prover-client.js +7 -4
  326. package/dest/interfaces/prover-node.d.ts +12 -8
  327. package/dest/interfaces/prover-node.d.ts.map +1 -1
  328. package/dest/interfaces/prover-node.js +37 -16
  329. package/dest/interfaces/proving-job-source.js +24 -4
  330. package/dest/interfaces/proving-job.d.ts +757 -5795
  331. package/dest/interfaces/proving-job.d.ts.map +1 -1
  332. package/dest/interfaces/proving-job.js +14 -5
  333. package/dest/interfaces/public_storage_override.d.ts +22 -0
  334. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  335. package/dest/interfaces/public_storage_override.js +7 -0
  336. package/dest/interfaces/server.d.ts +6 -3
  337. package/dest/interfaces/server.d.ts.map +1 -1
  338. package/dest/interfaces/server.js +5 -2
  339. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  340. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  341. package/dest/interfaces/slasher.d.ts +25 -65
  342. package/dest/interfaces/slasher.d.ts.map +1 -1
  343. package/dest/interfaces/slasher.js +8 -4
  344. package/dest/interfaces/tx_provider.d.ts +10 -1
  345. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  346. package/dest/interfaces/validator.d.ts +83 -213
  347. package/dest/interfaces/validator.d.ts.map +1 -1
  348. package/dest/interfaces/validator.js +16 -7
  349. package/dest/interfaces/world_state.d.ts +19 -5
  350. package/dest/interfaces/world_state.d.ts.map +1 -1
  351. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  353. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  355. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  356. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  357. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  358. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  359. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  360. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  361. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  362. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  363. package/dest/kernel/hints/index.d.ts +1 -2
  364. package/dest/kernel/hints/index.d.ts.map +1 -1
  365. package/dest/kernel/hints/index.js +0 -1
  366. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  367. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  368. package/dest/kernel/hints/key_validation_request.js +20 -18
  369. package/dest/kernel/hints/read_request.js +1 -1
  370. package/dest/kernel/index.d.ts +10 -2
  371. package/dest/kernel/index.d.ts.map +1 -1
  372. package/dest/kernel/index.js +9 -1
  373. package/dest/kernel/log_hash.d.ts +6 -2
  374. package/dest/kernel/log_hash.d.ts.map +1 -1
  375. package/dest/kernel/log_hash.js +23 -11
  376. package/dest/kernel/note_hash.js +1 -1
  377. package/dest/kernel/nullifier.js +1 -1
  378. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  379. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  380. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  381. package/dest/kernel/private_context_inputs.d.ts +4 -3
  382. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  383. package/dest/kernel/private_context_inputs.js +7 -3
  384. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  385. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  387. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  388. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  389. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  390. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  391. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  392. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  393. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  394. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  395. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  396. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  397. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  398. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  399. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  400. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  402. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  403. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  404. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  405. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  406. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  407. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  408. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  409. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  410. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  411. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  412. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  413. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  414. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  415. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_prover_output.js +4 -1
  417. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  418. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  419. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  420. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  421. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  422. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  423. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  424. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  425. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  426. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  427. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  428. package/dest/kernel/private_log_data.d.ts +1 -1
  429. package/dest/kernel/private_log_data.d.ts.map +1 -1
  430. package/dest/kernel/private_log_data.js +1 -1
  431. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  432. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  433. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  434. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  435. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  436. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  437. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  438. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  440. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  441. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  442. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  443. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  444. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  445. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  446. package/dest/kernel/public_call_request.d.ts +15 -30
  447. package/dest/kernel/public_call_request.d.ts.map +1 -1
  448. package/dest/kernel/public_call_request.js +16 -7
  449. package/dest/kernel/utils/index.d.ts +1 -2
  450. package/dest/kernel/utils/index.d.ts.map +1 -1
  451. package/dest/kernel/utils/index.js +0 -1
  452. package/dest/keys/derivation.d.ts +45 -6
  453. package/dest/keys/derivation.d.ts.map +1 -1
  454. package/dest/keys/derivation.js +55 -22
  455. package/dest/keys/public_key.d.ts +22 -3
  456. package/dest/keys/public_key.d.ts.map +1 -1
  457. package/dest/keys/public_key.js +20 -1
  458. package/dest/keys/public_keys.d.ts +55 -82
  459. package/dest/keys/public_keys.d.ts.map +1 -1
  460. package/dest/keys/public_keys.js +102 -74
  461. package/dest/kv-store/config.d.ts +14 -0
  462. package/dest/kv-store/config.d.ts.map +1 -0
  463. package/dest/kv-store/config.js +21 -0
  464. package/dest/kv-store/index.d.ts +2 -0
  465. package/dest/kv-store/index.d.ts.map +1 -0
  466. package/dest/kv-store/index.js +1 -0
  467. package/dest/l1-contracts/index.d.ts +2 -2
  468. package/dest/l1-contracts/index.d.ts.map +1 -1
  469. package/dest/l1-contracts/index.js +1 -1
  470. package/dest/logs/app_tagging_secret.d.ts +69 -0
  471. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  472. package/dest/logs/app_tagging_secret.js +116 -0
  473. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  474. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  475. package/dest/logs/app_tagging_secret_kind.js +17 -0
  476. package/dest/logs/contract_class_log.d.ts +16 -35
  477. package/dest/logs/contract_class_log.d.ts.map +1 -1
  478. package/dest/logs/contract_class_log.js +11 -13
  479. package/dest/logs/index.d.ts +8 -7
  480. package/dest/logs/index.d.ts.map +1 -1
  481. package/dest/logs/index.js +7 -6
  482. package/dest/logs/log_cursor.d.ts +51 -0
  483. package/dest/logs/log_cursor.d.ts.map +1 -0
  484. package/dest/logs/log_cursor.js +82 -0
  485. package/dest/logs/log_result.d.ts +54 -0
  486. package/dest/logs/log_result.d.ts.map +1 -0
  487. package/dest/logs/log_result.js +56 -0
  488. package/dest/logs/logs_query.d.ts +82 -0
  489. package/dest/logs/logs_query.d.ts.map +1 -0
  490. package/dest/logs/logs_query.js +50 -0
  491. package/dest/logs/message_context.d.ts +4 -16
  492. package/dest/logs/message_context.d.ts.map +1 -1
  493. package/dest/logs/message_context.js +1 -48
  494. package/dest/logs/pending_tagged_log.d.ts +6 -9
  495. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  496. package/dest/logs/pending_tagged_log.js +1 -31
  497. package/dest/logs/pre_tag.d.ts +11 -24
  498. package/dest/logs/pre_tag.d.ts.map +1 -1
  499. package/dest/logs/pre_tag.js +2 -2
  500. package/dest/logs/private_log.d.ts +7 -12
  501. package/dest/logs/private_log.d.ts.map +1 -1
  502. package/dest/logs/private_log.js +6 -3
  503. package/dest/logs/public_log.d.ts +4 -3
  504. package/dest/logs/public_log.d.ts.map +1 -1
  505. package/dest/logs/public_log.js +2 -1
  506. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  507. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  508. package/dest/logs/query_all_logs_by_tags.js +64 -0
  509. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  510. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  511. package/dest/logs/shared_secret_derivation.js +49 -10
  512. package/dest/logs/siloed_tag.d.ts +8 -7
  513. package/dest/logs/siloed_tag.d.ts.map +1 -1
  514. package/dest/logs/siloed_tag.js +13 -3
  515. package/dest/logs/tag.d.ts +5 -6
  516. package/dest/logs/tag.d.ts.map +1 -1
  517. package/dest/logs/tag.js +4 -0
  518. package/dest/logs/tagging_index_range.d.ts +22 -0
  519. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  520. package/dest/logs/tagging_index_range.js +8 -0
  521. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  522. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  523. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  524. package/dest/messaging/index.d.ts +2 -1
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +1 -0
  527. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  528. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  529. package/dest/messaging/l1_to_l2_message.js +38 -15
  530. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  531. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  532. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  533. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  534. package/dest/messaging/l2_to_l1_membership.js +130 -27
  535. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  536. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  537. package/dest/messaging/l2_to_l1_message.js +21 -12
  538. package/dest/noir/index.d.ts +7 -5
  539. package/dest/noir/index.d.ts.map +1 -1
  540. package/dest/note/note.d.ts +2 -2
  541. package/dest/note/note.d.ts.map +1 -1
  542. package/dest/note/note_dao.d.ts +1 -1
  543. package/dest/note/note_dao.d.ts.map +1 -1
  544. package/dest/note/note_dao.js +1 -4
  545. package/dest/p2p/attestation_utils.d.ts +1 -1
  546. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  547. package/dest/p2p/attestation_utils.js +8 -1
  548. package/dest/p2p/block_proposal.d.ts +32 -15
  549. package/dest/p2p/block_proposal.d.ts.map +1 -1
  550. package/dest/p2p/block_proposal.js +58 -40
  551. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  552. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  553. package/dest/p2p/checkpoint_attestation.js +33 -24
  554. package/dest/p2p/checkpoint_proposal.d.ts +37 -22
  555. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  556. package/dest/p2p/checkpoint_proposal.js +60 -62
  557. package/dest/p2p/consensus_payload.d.ts +27 -20
  558. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  559. package/dest/p2p/consensus_payload.js +38 -19
  560. package/dest/p2p/gossipable.d.ts +4 -4
  561. package/dest/p2p/gossipable.d.ts.map +1 -1
  562. package/dest/p2p/index.d.ts +1 -2
  563. package/dest/p2p/index.d.ts.map +1 -1
  564. package/dest/p2p/index.js +0 -1
  565. package/dest/p2p/peer_error.d.ts +3 -1
  566. package/dest/p2p/peer_error.d.ts.map +1 -1
  567. package/dest/p2p/peer_error.js +5 -0
  568. package/dest/p2p/signature_utils.d.ts +35 -17
  569. package/dest/p2p/signature_utils.d.ts.map +1 -1
  570. package/dest/p2p/signature_utils.js +125 -20
  571. package/dest/p2p/signed_txs.d.ts +15 -13
  572. package/dest/p2p/signed_txs.d.ts.map +1 -1
  573. package/dest/p2p/signed_txs.js +26 -24
  574. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  575. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  576. package/dest/parity/parity_base_private_inputs.js +7 -5
  577. package/dest/parity/parity_public_inputs.d.ts +8 -4
  578. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  579. package/dest/parity/parity_public_inputs.js +6 -3
  580. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  581. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  582. package/dest/proofs/chonk_proof.d.ts +57 -7
  583. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  584. package/dest/proofs/chonk_proof.js +112 -15
  585. package/dest/proofs/recursive_proof.d.ts +2 -2
  586. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  587. package/dest/rollup/avm_proof_data.d.ts +3 -3
  588. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  589. package/dest/rollup/block_headers_hash.d.ts +1 -1
  590. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  591. package/dest/rollup/block_headers_hash.js +8 -2
  592. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  593. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  594. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  595. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  596. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  597. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  598. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  599. package/dest/rollup/checkpoint_header.d.ts +8 -3
  600. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  601. package/dest/rollup/checkpoint_header.js +20 -10
  602. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  603. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  604. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  605. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  606. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  607. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  608. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  609. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  610. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  611. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  612. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  613. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  614. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  615. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  616. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  617. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  618. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  619. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  620. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  621. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  622. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  623. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  624. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  625. package/dest/schemas/schemas.d.ts +32 -78
  626. package/dest/schemas/schemas.d.ts.map +1 -1
  627. package/dest/schemas/schemas.js +2 -2
  628. package/dest/slashing/helpers.d.ts +2 -2
  629. package/dest/slashing/helpers.d.ts.map +1 -1
  630. package/dest/slashing/helpers.js +10 -7
  631. package/dest/slashing/index.d.ts +2 -3
  632. package/dest/slashing/index.d.ts.map +1 -1
  633. package/dest/slashing/index.js +1 -2
  634. package/dest/slashing/serialization.d.ts +2 -6
  635. package/dest/slashing/serialization.d.ts.map +1 -1
  636. package/dest/slashing/serialization.js +0 -60
  637. package/dest/slashing/types.d.ts +18 -112
  638. package/dest/slashing/types.d.ts.map +1 -1
  639. package/dest/slashing/types.js +16 -24
  640. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  641. package/dest/slashing/votes.d.ts.map +1 -0
  642. package/dest/slashing/{tally.js → votes.js} +30 -2
  643. package/dest/snapshots/types.d.ts +15 -78
  644. package/dest/snapshots/types.d.ts.map +1 -1
  645. package/dest/stats/stats.d.ts +2 -2
  646. package/dest/stats/stats.d.ts.map +1 -1
  647. package/dest/tests/factories.d.ts +25 -58
  648. package/dest/tests/factories.d.ts.map +1 -1
  649. package/dest/tests/factories.js +81 -116
  650. package/dest/tests/mocks.d.ts +11 -6
  651. package/dest/tests/mocks.d.ts.map +1 -1
  652. package/dest/tests/mocks.js +57 -63
  653. package/dest/timetable/budgets.d.ts +57 -0
  654. package/dest/timetable/budgets.d.ts.map +1 -0
  655. package/dest/timetable/budgets.js +56 -0
  656. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  657. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  658. package/dest/timetable/build_proposer_timetable.js +17 -0
  659. package/dest/timetable/consensus_timetable.d.ts +70 -0
  660. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  661. package/dest/timetable/consensus_timetable.js +89 -0
  662. package/dest/timetable/index.d.ts +5 -37
  663. package/dest/timetable/index.d.ts.map +1 -1
  664. package/dest/timetable/index.js +4 -39
  665. package/dest/timetable/proposer_timetable.d.ts +106 -0
  666. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  667. package/dest/timetable/proposer_timetable.js +132 -0
  668. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  669. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  670. package/dest/trees/append_only_tree_snapshot.js +6 -3
  671. package/dest/trees/nullifier_leaf.d.ts +19 -42
  672. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  673. package/dest/trees/nullifier_leaf.js +3 -0
  674. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  675. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  676. package/dest/trees/nullifier_membership_witness.js +0 -21
  677. package/dest/trees/public_data_leaf.d.ts +21 -53
  678. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  679. package/dest/trees/public_data_witness.d.ts +19 -71
  680. package/dest/trees/public_data_witness.d.ts.map +1 -1
  681. package/dest/trees/public_data_witness.js +0 -27
  682. package/dest/tx/block_header.d.ts +7 -4
  683. package/dest/tx/block_header.d.ts.map +1 -1
  684. package/dest/tx/block_header.js +11 -4
  685. package/dest/tx/call_context.d.ts +4 -14
  686. package/dest/tx/call_context.d.ts.map +1 -1
  687. package/dest/tx/capsule.d.ts +7 -3
  688. package/dest/tx/capsule.d.ts.map +1 -1
  689. package/dest/tx/capsule.js +9 -3
  690. package/dest/tx/execution_payload.d.ts +1 -1
  691. package/dest/tx/execution_payload.d.ts.map +1 -1
  692. package/dest/tx/execution_payload.js +1 -1
  693. package/dest/tx/fee_provider.d.ts +10 -0
  694. package/dest/tx/fee_provider.d.ts.map +1 -0
  695. package/dest/tx/fee_provider.js +1 -0
  696. package/dest/tx/function_data.d.ts +4 -10
  697. package/dest/tx/function_data.d.ts.map +1 -1
  698. package/dest/tx/global_variable_builder.d.ts +4 -15
  699. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  700. package/dest/tx/global_variables.d.ts +16 -49
  701. package/dest/tx/global_variables.d.ts.map +1 -1
  702. package/dest/tx/global_variables.js +10 -14
  703. package/dest/tx/hashed_values.d.ts +10 -3
  704. package/dest/tx/hashed_values.d.ts.map +1 -1
  705. package/dest/tx/hashed_values.js +15 -4
  706. package/dest/tx/in_tx.d.ts +5 -17
  707. package/dest/tx/in_tx.d.ts.map +1 -1
  708. package/dest/tx/index.d.ts +2 -2
  709. package/dest/tx/index.d.ts.map +1 -1
  710. package/dest/tx/index.js +1 -1
  711. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  712. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  713. package/dest/tx/indexed_tx_effect.js +9 -6
  714. package/dest/tx/offchain_effect.js +1 -1
  715. package/dest/tx/partial_state_reference.d.ts +22 -65
  716. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  717. package/dest/tx/partial_state_reference.js +6 -3
  718. package/dest/tx/private_execution_result.d.ts +11 -21
  719. package/dest/tx/private_execution_result.d.ts.map +1 -1
  720. package/dest/tx/private_execution_result.js +6 -6
  721. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  722. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  723. package/dest/tx/private_tx_constant_data.js +13 -4
  724. package/dest/tx/profiling.d.ts +67 -353
  725. package/dest/tx/profiling.d.ts.map +1 -1
  726. package/dest/tx/profiling.js +19 -7
  727. package/dest/tx/protocol_contracts.d.ts +5 -9
  728. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  729. package/dest/tx/proven_tx.d.ts +30 -74
  730. package/dest/tx/proven_tx.d.ts.map +1 -1
  731. package/dest/tx/proven_tx.js +6 -0
  732. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  733. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  734. package/dest/tx/public_call_request_with_calldata.js +6 -3
  735. package/dest/tx/simulated_tx.d.ts +77 -1149
  736. package/dest/tx/simulated_tx.d.ts.map +1 -1
  737. package/dest/tx/simulated_tx.js +23 -13
  738. package/dest/tx/state_reference.d.ts +30 -117
  739. package/dest/tx/state_reference.d.ts.map +1 -1
  740. package/dest/tx/state_reference.js +6 -4
  741. package/dest/tx/tree_snapshots.d.ts +27 -84
  742. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  743. package/dest/tx/tree_snapshots.js +6 -4
  744. package/dest/tx/tx.d.ts +34 -17
  745. package/dest/tx/tx.d.ts.map +1 -1
  746. package/dest/tx/tx.js +70 -30
  747. package/dest/tx/tx_constant_data.d.ts +4 -3
  748. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  749. package/dest/tx/tx_constant_data.js +6 -3
  750. package/dest/tx/tx_context.d.ts +32 -131
  751. package/dest/tx/tx_context.d.ts.map +1 -1
  752. package/dest/tx/tx_context.js +6 -6
  753. package/dest/tx/tx_hash.d.ts +6 -4
  754. package/dest/tx/tx_hash.d.ts.map +1 -1
  755. package/dest/tx/tx_hash.js +13 -5
  756. package/dest/tx/tx_receipt.d.ts +145 -59
  757. package/dest/tx/tx_receipt.d.ts.map +1 -1
  758. package/dest/tx/tx_receipt.js +144 -58
  759. package/dest/tx/validator/error_texts.d.ts +10 -2
  760. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  761. package/dest/tx/validator/error_texts.js +11 -1
  762. package/dest/tx/validator/tx_validator.d.ts +5 -27
  763. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  764. package/dest/tx/validator/tx_validator.js +0 -4
  765. package/dest/types/shared.d.ts +4 -12
  766. package/dest/types/shared.d.ts.map +1 -1
  767. package/dest/types/shared.js +6 -12
  768. package/dest/update-checker/dev_version.d.ts +3 -0
  769. package/dest/update-checker/dev_version.d.ts.map +1 -0
  770. package/dest/update-checker/dev_version.js +1 -0
  771. package/dest/update-checker/index.d.ts +2 -1
  772. package/dest/update-checker/index.d.ts.map +1 -1
  773. package/dest/update-checker/index.js +1 -0
  774. package/dest/update-checker/package_version.d.ts +6 -3
  775. package/dest/update-checker/package_version.d.ts.map +1 -1
  776. package/dest/update-checker/package_version.js +9 -7
  777. package/dest/validators/errors.d.ts +21 -1
  778. package/dest/validators/errors.d.ts.map +1 -1
  779. package/dest/validators/errors.js +19 -0
  780. package/dest/validators/schemas.d.ts +147 -614
  781. package/dest/validators/schemas.d.ts.map +1 -1
  782. package/dest/validators/schemas.js +6 -4
  783. package/dest/validators/types.d.ts +20 -3
  784. package/dest/validators/types.d.ts.map +1 -1
  785. package/dest/versioning/versioning.d.ts +4 -2
  786. package/dest/versioning/versioning.d.ts.map +1 -1
  787. package/dest/versioning/versioning.js +5 -2
  788. package/dest/vks/verification_key.d.ts +4 -139
  789. package/dest/vks/verification_key.d.ts.map +1 -1
  790. package/dest/vks/verification_key.js +5 -126
  791. package/dest/world-state/genesis_data.d.ts +21 -0
  792. package/dest/world-state/genesis_data.d.ts.map +1 -0
  793. package/dest/world-state/genesis_data.js +8 -0
  794. package/dest/world-state/index.d.ts +2 -1
  795. package/dest/world-state/index.d.ts.map +1 -1
  796. package/dest/world-state/index.js +1 -0
  797. package/dest/world-state/world_state_revision.d.ts +11 -39
  798. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  799. package/dest/world-state/world_state_revision.js +7 -21
  800. package/package.json +15 -13
  801. package/src/abi/abi.ts +110 -25
  802. package/src/abi/authorization_selector.ts +2 -8
  803. package/src/abi/buffer.ts +38 -5
  804. package/src/abi/contract_artifact.ts +51 -22
  805. package/src/abi/decoder.ts +53 -100
  806. package/src/abi/encoder.ts +83 -7
  807. package/src/abi/event_metadata_definition.ts +2 -0
  808. package/src/abi/event_selector.ts +2 -8
  809. package/src/abi/function_call.ts +19 -7
  810. package/src/abi/function_selector.ts +4 -13
  811. package/src/abi/function_signature_decoder.ts +77 -0
  812. package/src/abi/index.ts +1 -0
  813. package/src/abi/note_selector.ts +3 -12
  814. package/src/abi/selector.ts +1 -1
  815. package/src/abi/utils.ts +31 -4
  816. package/src/avm/avm.ts +10 -2
  817. package/src/avm/index.ts +0 -5
  818. package/src/avm/message_pack.ts +12 -3
  819. package/src/avm/revert_code.ts +19 -39
  820. package/src/aztec-address/index.ts +50 -17
  821. package/src/block/attestation_info.ts +16 -11
  822. package/src/block/block_data.ts +3 -4
  823. package/src/block/block_hash.ts +21 -14
  824. package/src/block/block_parameter.ts +72 -4
  825. package/src/block/index.ts +0 -1
  826. package/src/block/l2_block.ts +13 -1
  827. package/src/block/l2_block_info.ts +8 -6
  828. package/src/block/l2_block_source.ts +278 -143
  829. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  830. package/src/block/l2_block_stream/index.ts +1 -0
  831. package/src/block/l2_block_stream/interfaces.ts +101 -9
  832. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  833. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  834. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  835. package/src/block/proposal/attestations_and_signers.ts +85 -24
  836. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  837. package/src/block/validate_block_result.ts +48 -2
  838. package/src/checkpoint/checkpoint.ts +25 -6
  839. package/src/checkpoint/checkpoint_data.ts +44 -4
  840. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  841. package/src/checkpoint/digest.ts +28 -0
  842. package/src/checkpoint/index.ts +5 -0
  843. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  844. package/src/checkpoint/simulation_overrides.ts +171 -0
  845. package/src/checkpoint/validate.ts +240 -0
  846. package/src/config/chain-config.ts +13 -16
  847. package/src/config/index.ts +1 -0
  848. package/src/config/network-consensus-config.ts +291 -0
  849. package/src/config/node-rpc-config.ts +2 -1
  850. package/src/config/sequencer-config.ts +68 -9
  851. package/src/contract/artifact_hash.ts +15 -3
  852. package/src/contract/complete_address.ts +7 -3
  853. package/src/contract/contract_address.ts +11 -10
  854. package/src/contract/contract_class.ts +3 -2
  855. package/src/contract/contract_class_id.ts +2 -2
  856. package/src/contract/contract_instance.ts +73 -3
  857. package/src/contract/index.ts +0 -3
  858. package/src/contract/interfaces/contract_class.ts +2 -82
  859. package/src/contract/interfaces/contract_data_source.ts +2 -4
  860. package/src/contract/interfaces/contract_instance.ts +32 -10
  861. package/src/contract/interfaces/node-info.ts +11 -0
  862. package/src/contract/partial_address.ts +8 -2
  863. package/src/contract/private_function.ts +3 -1
  864. package/src/database-version/version_manager.ts +113 -6
  865. package/src/deserialization/index.ts +35 -2
  866. package/src/epoch-helpers/index.ts +27 -0
  867. package/src/file-store/factory.ts +20 -4
  868. package/src/file-store/http.ts +29 -10
  869. package/src/file-store/index.ts +2 -0
  870. package/src/file-store/memory.ts +94 -0
  871. package/src/gas/README.md +318 -0
  872. package/src/gas/fee_math.ts +120 -0
  873. package/src/gas/gas.ts +8 -3
  874. package/src/gas/gas_fees.ts +29 -10
  875. package/src/gas/gas_settings.ts +63 -15
  876. package/src/gas/index.ts +2 -0
  877. package/src/gas/tx_gas_limits.ts +123 -0
  878. package/src/ha-signing/config.ts +170 -0
  879. package/src/ha-signing/index.ts +29 -0
  880. package/src/ha-signing/local_config.ts +65 -0
  881. package/src/ha-signing/types.ts +126 -0
  882. package/src/hash/hash.ts +63 -10
  883. package/src/interfaces/allowed_element.ts +29 -9
  884. package/src/interfaces/api_limit.ts +6 -1
  885. package/src/interfaces/archiver.ts +96 -92
  886. package/src/interfaces/aztec-node-admin.ts +36 -21
  887. package/src/interfaces/aztec-node-debug.ts +92 -0
  888. package/src/interfaces/aztec-node.ts +406 -260
  889. package/src/interfaces/block-builder.ts +70 -15
  890. package/src/interfaces/block_response.ts +92 -0
  891. package/src/interfaces/chain_tips.ts +16 -0
  892. package/src/interfaces/checkpoint_parameter.ts +20 -0
  893. package/src/interfaces/checkpoint_response.ts +84 -0
  894. package/src/interfaces/client.ts +8 -1
  895. package/src/interfaces/configs.ts +91 -14
  896. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  897. package/src/interfaces/l1_publish_info.ts +40 -0
  898. package/src/interfaces/l2_logs_source.ts +13 -39
  899. package/src/interfaces/merkle_tree_operations.ts +19 -22
  900. package/src/interfaces/p2p-bootstrap.ts +2 -2
  901. package/src/interfaces/p2p.ts +59 -19
  902. package/src/interfaces/private_kernel_prover.ts +192 -13
  903. package/src/interfaces/prover-agent.ts +1 -1
  904. package/src/interfaces/prover-client.ts +11 -8
  905. package/src/interfaces/prover-node.ts +36 -21
  906. package/src/interfaces/proving-job-source.ts +4 -4
  907. package/src/interfaces/proving-job.ts +18 -6
  908. package/src/interfaces/public_storage_override.ts +26 -0
  909. package/src/interfaces/server.ts +5 -2
  910. package/src/interfaces/server_circuit_prover.ts +2 -2
  911. package/src/interfaces/slasher.ts +17 -10
  912. package/src/interfaces/tx_provider.ts +10 -0
  913. package/src/interfaces/validator.ts +90 -39
  914. package/src/interfaces/world_state.ts +19 -4
  915. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  916. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  917. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  918. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  919. package/src/kernel/hints/index.ts +0 -1
  920. package/src/kernel/hints/key_validation_request.ts +18 -16
  921. package/src/kernel/hints/read_request.ts +1 -1
  922. package/src/kernel/index.ts +9 -1
  923. package/src/kernel/log_hash.ts +36 -13
  924. package/src/kernel/note_hash.ts +1 -1
  925. package/src/kernel/nullifier.ts +1 -1
  926. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  927. package/src/kernel/private_context_inputs.ts +10 -3
  928. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  929. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  930. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  931. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  932. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  933. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  934. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  935. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  936. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  937. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  938. package/src/kernel/private_kernel_prover_output.ts +4 -0
  939. package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
  940. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  941. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  942. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  943. package/src/kernel/private_log_data.ts +4 -1
  944. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  945. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  946. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  947. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  948. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  949. package/src/kernel/public_call_request.ts +22 -7
  950. package/src/kernel/utils/index.ts +0 -1
  951. package/src/keys/derivation.ts +79 -22
  952. package/src/keys/public_key.ts +26 -2
  953. package/src/keys/public_keys.ts +124 -110
  954. package/src/kv-store/config.ts +29 -0
  955. package/src/kv-store/index.ts +1 -0
  956. package/src/l1-contracts/index.ts +1 -1
  957. package/src/logs/app_tagging_secret.ts +160 -0
  958. package/src/logs/app_tagging_secret_kind.ts +21 -0
  959. package/src/logs/contract_class_log.ts +15 -14
  960. package/src/logs/index.ts +7 -6
  961. package/src/logs/log_cursor.ts +110 -0
  962. package/src/logs/log_result.ts +104 -0
  963. package/src/logs/logs_query.ts +138 -0
  964. package/src/logs/message_context.ts +6 -50
  965. package/src/logs/pending_tagged_log.ts +6 -35
  966. package/src/logs/pre_tag.ts +3 -6
  967. package/src/logs/private_log.ts +9 -3
  968. package/src/logs/public_log.ts +4 -2
  969. package/src/logs/query_all_logs_by_tags.ts +98 -0
  970. package/src/logs/shared_secret_derivation.ts +55 -11
  971. package/src/logs/siloed_tag.ts +20 -11
  972. package/src/logs/tag.ts +8 -8
  973. package/src/logs/tagging_index_range.ts +18 -0
  974. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  975. package/src/messaging/index.ts +1 -0
  976. package/src/messaging/l1_to_l2_message.ts +56 -15
  977. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  978. package/src/messaging/l2_to_l1_membership.ts +189 -35
  979. package/src/messaging/l2_to_l1_message.ts +29 -9
  980. package/src/noir/index.ts +6 -3
  981. package/src/note/note_dao.ts +1 -4
  982. package/src/p2p/attestation_utils.ts +8 -1
  983. package/src/p2p/block_proposal.ts +112 -37
  984. package/src/p2p/checkpoint_attestation.ts +38 -30
  985. package/src/p2p/checkpoint_proposal.ts +127 -86
  986. package/src/p2p/consensus_payload.ts +59 -28
  987. package/src/p2p/gossipable.ts +4 -4
  988. package/src/p2p/index.ts +0 -1
  989. package/src/p2p/peer_error.ts +7 -0
  990. package/src/p2p/signature_utils.ts +117 -23
  991. package/src/p2p/signed_txs.ts +46 -28
  992. package/src/parity/parity_base_private_inputs.ts +10 -4
  993. package/src/parity/parity_public_inputs.ts +9 -2
  994. package/src/proofs/chonk_proof.ts +132 -12
  995. package/src/rollup/avm_proof_data.ts +2 -2
  996. package/src/rollup/block_headers_hash.ts +11 -2
  997. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  998. package/src/rollup/checkpoint_header.ts +16 -2
  999. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  1000. package/src/schemas/schemas.ts +6 -1
  1001. package/src/slashing/helpers.ts +13 -9
  1002. package/src/slashing/index.ts +1 -2
  1003. package/src/slashing/serialization.ts +1 -81
  1004. package/src/slashing/types.ts +24 -49
  1005. package/src/slashing/{tally.ts → votes.ts} +34 -1
  1006. package/src/stats/stats.ts +10 -2
  1007. package/src/tests/factories.ts +111 -157
  1008. package/src/tests/mocks.ts +88 -76
  1009. package/src/timetable/README.md +609 -0
  1010. package/src/timetable/budgets.ts +87 -0
  1011. package/src/timetable/build_proposer_timetable.ts +42 -0
  1012. package/src/timetable/consensus_timetable.ts +126 -0
  1013. package/src/timetable/index.ts +4 -66
  1014. package/src/timetable/proposer_timetable.ts +190 -0
  1015. package/src/timetable/timetable-example.svg +108 -0
  1016. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1017. package/src/trees/nullifier_leaf.ts +4 -0
  1018. package/src/trees/nullifier_membership_witness.ts +0 -21
  1019. package/src/trees/public_data_witness.ts +0 -31
  1020. package/src/tx/block_header.ts +16 -5
  1021. package/src/tx/capsule.ts +10 -2
  1022. package/src/tx/execution_payload.ts +2 -1
  1023. package/src/tx/fee_provider.ts +10 -0
  1024. package/src/tx/global_variable_builder.ts +3 -20
  1025. package/src/tx/global_variables.ts +12 -20
  1026. package/src/tx/hashed_values.ts +19 -9
  1027. package/src/tx/index.ts +1 -1
  1028. package/src/tx/indexed_tx_effect.ts +18 -6
  1029. package/src/tx/offchain_effect.ts +1 -1
  1030. package/src/tx/partial_state_reference.ts +8 -3
  1031. package/src/tx/private_execution_result.ts +5 -5
  1032. package/src/tx/private_tx_constant_data.ts +25 -2
  1033. package/src/tx/profiling.ts +17 -6
  1034. package/src/tx/proven_tx.ts +6 -0
  1035. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1036. package/src/tx/simulated_tx.ts +39 -20
  1037. package/src/tx/state_reference.ts +9 -4
  1038. package/src/tx/tree_snapshots.ts +9 -4
  1039. package/src/tx/tx.ts +98 -37
  1040. package/src/tx/tx_constant_data.ts +8 -3
  1041. package/src/tx/tx_context.ts +8 -3
  1042. package/src/tx/tx_hash.ts +20 -5
  1043. package/src/tx/tx_receipt.ts +267 -82
  1044. package/src/tx/validator/error_texts.ts +14 -1
  1045. package/src/tx/validator/tx_validator.ts +1 -5
  1046. package/src/types/shared.ts +8 -13
  1047. package/src/update-checker/dev_version.ts +2 -0
  1048. package/src/update-checker/index.ts +1 -0
  1049. package/src/update-checker/package_version.ts +11 -11
  1050. package/src/validators/errors.ts +26 -0
  1051. package/src/validators/schemas.ts +6 -4
  1052. package/src/validators/types.ts +21 -2
  1053. package/src/versioning/versioning.ts +5 -2
  1054. package/src/vks/verification_key.ts +5 -184
  1055. package/src/world-state/genesis_data.ts +37 -0
  1056. package/src/world-state/index.ts +1 -0
  1057. package/src/world-state/world_state_revision.ts +9 -34
  1058. package/dest/abi/mocked_keys.d.ts +0 -2
  1059. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1060. package/dest/abi/mocked_keys.js +0 -1
  1061. package/dest/avm/contract_storage_read.d.ts +0 -58
  1062. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1063. package/dest/avm/contract_storage_read.js +0 -65
  1064. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1065. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1066. package/dest/avm/contract_storage_update_request.js +0 -80
  1067. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1068. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1069. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1070. package/dest/avm/public_data_update_request.d.ts +0 -62
  1071. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1072. package/dest/avm/public_data_update_request.js +0 -67
  1073. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1074. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1075. package/dest/avm/public_inner_call_request.js +0 -74
  1076. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1077. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1078. package/dest/block/checkpointed_l2_block.js +0 -46
  1079. package/dest/contract/deployment_info.d.ts +0 -24
  1080. package/dest/contract/deployment_info.d.ts.map +0 -1
  1081. package/dest/contract/deployment_info.js +0 -3
  1082. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1083. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1084. package/dest/contract/private_function_membership_proof.js +0 -124
  1085. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1086. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1087. package/dest/contract/utility_function_membership_proof.js +0 -87
  1088. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1089. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1090. package/dest/interfaces/epoch-prover.js +0 -1
  1091. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1092. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1093. package/dest/interfaces/get_logs_response.js +0 -12
  1094. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1095. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1096. package/dest/interfaces/prover-coordination.js +0 -1
  1097. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1098. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1099. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1100. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1101. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1102. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1103. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1104. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1105. package/dest/kernel/utils/optional_number.js +0 -42
  1106. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1107. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1108. package/dest/l1-contracts/slash_factory.js +0 -158
  1109. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1110. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1111. package/dest/logs/extended_contract_class_log.js +0 -67
  1112. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1113. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1114. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1115. package/dest/logs/extended_public_log.d.ts +0 -106
  1116. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1117. package/dest/logs/extended_public_log.js +0 -73
  1118. package/dest/logs/log_filter.d.ts +0 -22
  1119. package/dest/logs/log_filter.d.ts.map +0 -1
  1120. package/dest/logs/log_filter.js +0 -11
  1121. package/dest/logs/log_id.d.ts +0 -85
  1122. package/dest/logs/log_id.d.ts.map +0 -1
  1123. package/dest/logs/log_id.js +0 -94
  1124. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1125. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1126. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1127. package/dest/p2p/interface.d.ts +0 -5
  1128. package/dest/p2p/interface.d.ts.map +0 -1
  1129. package/dest/p2p/interface.js +0 -1
  1130. package/dest/slashing/empire.d.ts +0 -31
  1131. package/dest/slashing/empire.d.ts.map +0 -1
  1132. package/dest/slashing/empire.js +0 -87
  1133. package/dest/slashing/tally.d.ts.map +0 -1
  1134. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1135. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1136. package/dest/tx/validator/empty_validator.js +0 -7
  1137. package/src/abi/mocked_keys.ts +0 -2
  1138. package/src/avm/contract_storage_read.ts +0 -77
  1139. package/src/avm/contract_storage_update_request.ts +0 -93
  1140. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1141. package/src/avm/public_data_update_request.ts +0 -106
  1142. package/src/avm/public_inner_call_request.ts +0 -85
  1143. package/src/block/checkpointed_l2_block.ts +0 -70
  1144. package/src/contract/deployment_info.ts +0 -25
  1145. package/src/contract/private_function_membership_proof.ts +0 -167
  1146. package/src/contract/utility_function_membership_proof.ts +0 -118
  1147. package/src/interfaces/epoch-prover.ts +0 -72
  1148. package/src/interfaces/get_logs_response.ts +0 -35
  1149. package/src/interfaces/prover-coordination.ts +0 -17
  1150. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1151. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1152. package/src/kernel/utils/optional_number.ts +0 -50
  1153. package/src/l1-contracts/slash_factory.ts +0 -180
  1154. package/src/logs/extended_contract_class_log.ts +0 -87
  1155. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1156. package/src/logs/extended_public_log.ts +0 -94
  1157. package/src/logs/log_filter.ts +0 -31
  1158. package/src/logs/log_id.ts +0 -125
  1159. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1160. package/src/p2p/interface.ts +0 -4
  1161. package/src/slashing/empire.ts +0 -104
  1162. package/src/tx/validator/empty_validator.ts +0 -7
@@ -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,4 +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';
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
+ }
@@ -0,0 +1,240 @@
1
+ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT } from '@aztec/constants';
2
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { sum } from '@aztec/foundation/collection';
4
+
5
+ import { MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
6
+ import type { Checkpoint } from './checkpoint.js';
7
+
8
+ export class CheckpointValidationError extends Error {
9
+ constructor(
10
+ message: string,
11
+ public readonly checkpointNumber: CheckpointNumber,
12
+ public readonly slot: SlotNumber,
13
+ ) {
14
+ super(message);
15
+ this.name = 'CheckpointValidationError';
16
+ }
17
+ }
18
+
19
+ /**
20
+ * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
21
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
22
+ * - Validates checkpoint blob field count against maxBlobFields limit
23
+ * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
24
+ * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
25
+ * - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
26
+ */
27
+ export function validateCheckpoint(
28
+ checkpoint: Checkpoint,
29
+ opts: {
30
+ rollupManaLimit?: number;
31
+ maxL2BlockGas?: number;
32
+ maxDABlockGas?: number;
33
+ maxTxsPerCheckpoint?: number;
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;
41
+ },
42
+ ): void {
43
+ validateCheckpointStructure(checkpoint, { maxBlocksPerCheckpoint: opts.maxBlocksPerCheckpoint });
44
+ validateCheckpointLimits(checkpoint, opts);
45
+ validateCheckpointBlocksLimits(checkpoint, opts);
46
+ }
47
+
48
+ /**
49
+ * Validates structural integrity of a checkpoint.
50
+ * - Non-empty block list
51
+ * - Block count within `maxBlocksPerCheckpoint` (default {@link MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT})
52
+ * - Checkpoint slot matches the first block's slot
53
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
54
+ * - Sequential block numbers without gaps
55
+ * - Sequential indexWithinCheckpoint starting at 0
56
+ * - Archive root chaining between consecutive blocks
57
+ * - Consistent slot number across all blocks
58
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
59
+ */
60
+ export function validateCheckpointStructure(
61
+ checkpoint: Checkpoint,
62
+ opts: { maxBlocksPerCheckpoint?: number } = {},
63
+ ): void {
64
+ const { maxBlocksPerCheckpoint = MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT } = opts;
65
+ const { blocks, number, slot } = checkpoint;
66
+
67
+ if (blocks.length === 0) {
68
+ throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
69
+ }
70
+
71
+ if (blocks.length > maxBlocksPerCheckpoint) {
72
+ throw new CheckpointValidationError(
73
+ `Checkpoint has ${blocks.length} blocks, exceeding limit of ${maxBlocksPerCheckpoint}`,
74
+ number,
75
+ slot,
76
+ );
77
+ }
78
+
79
+ const firstBlock = blocks[0];
80
+
81
+ if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
82
+ throw new CheckpointValidationError(
83
+ `Checkpoint lastArchiveRoot does not match first block's lastArchive root`,
84
+ number,
85
+ slot,
86
+ );
87
+ }
88
+
89
+ for (let i = 0; i < blocks.length; i++) {
90
+ const block = blocks[i];
91
+
92
+ if (block.indexWithinCheckpoint !== i) {
93
+ throw new CheckpointValidationError(
94
+ `Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`,
95
+ number,
96
+ slot,
97
+ );
98
+ }
99
+
100
+ if (block.slot !== slot) {
101
+ throw new CheckpointValidationError(
102
+ `Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`,
103
+ number,
104
+ slot,
105
+ );
106
+ }
107
+
108
+ if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
109
+ throw new CheckpointValidationError(
110
+ `Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`,
111
+ number,
112
+ slot,
113
+ );
114
+ }
115
+
116
+ if (i > 0) {
117
+ const prev = blocks[i - 1];
118
+ if (block.number !== prev.number + 1) {
119
+ throw new CheckpointValidationError(
120
+ `Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`,
121
+ number,
122
+ slot,
123
+ );
124
+ }
125
+
126
+ if (!block.header.lastArchive.root.equals(prev.archive.root)) {
127
+ throw new CheckpointValidationError(
128
+ `Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`,
129
+ number,
130
+ slot,
131
+ );
132
+ }
133
+ }
134
+ }
135
+ }
136
+
137
+ /** Validates checkpoint blocks gas limits */
138
+ function validateCheckpointBlocksLimits(
139
+ checkpoint: Checkpoint,
140
+ opts: {
141
+ maxL2BlockGas?: number;
142
+ maxDABlockGas?: number;
143
+ maxTxsPerBlock?: number;
144
+ },
145
+ ): void {
146
+ const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
147
+
148
+ if (maxL2BlockGas !== undefined) {
149
+ for (const block of checkpoint.blocks) {
150
+ const blockL2Gas = block.header.totalManaUsed.toNumber();
151
+ if (blockL2Gas > maxL2BlockGas) {
152
+ throw new CheckpointValidationError(
153
+ `Block ${block.number} in checkpoint has L2 gas used ${blockL2Gas} exceeding limit of ${maxL2BlockGas}`,
154
+ checkpoint.number,
155
+ checkpoint.slot,
156
+ );
157
+ }
158
+ }
159
+ }
160
+
161
+ if (maxDABlockGas !== undefined) {
162
+ for (const block of checkpoint.blocks) {
163
+ const blockDAGas = block.computeDAGasUsed();
164
+ if (blockDAGas > maxDABlockGas) {
165
+ throw new CheckpointValidationError(
166
+ `Block ${block.number} in checkpoint has DA gas used ${blockDAGas} exceeding limit of ${maxDABlockGas}`,
167
+ checkpoint.number,
168
+ checkpoint.slot,
169
+ );
170
+ }
171
+ }
172
+ }
173
+
174
+ if (maxTxsPerBlock !== undefined) {
175
+ for (const block of checkpoint.blocks) {
176
+ const blockTxCount = block.body.txEffects.length;
177
+ if (blockTxCount > maxTxsPerBlock) {
178
+ throw new CheckpointValidationError(
179
+ `Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`,
180
+ checkpoint.number,
181
+ checkpoint.slot,
182
+ );
183
+ }
184
+ }
185
+ }
186
+ }
187
+
188
+ /** Validates checkpoint max blob fields, gas limits, and tx limits */
189
+ function validateCheckpointLimits(
190
+ checkpoint: Checkpoint,
191
+ opts: {
192
+ rollupManaLimit?: number;
193
+ maxTxsPerCheckpoint?: number;
194
+ },
195
+ ): void {
196
+ const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
197
+
198
+ const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
199
+ const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
200
+
201
+ if (rollupManaLimit !== undefined) {
202
+ const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
203
+ if (checkpointMana > rollupManaLimit) {
204
+ throw new CheckpointValidationError(
205
+ `Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
206
+ checkpoint.number,
207
+ checkpoint.slot,
208
+ );
209
+ }
210
+ }
211
+
212
+ const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
213
+ if (checkpointDAGas > maxDAGas) {
214
+ throw new CheckpointValidationError(
215
+ `Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
216
+ checkpoint.number,
217
+ checkpoint.slot,
218
+ );
219
+ }
220
+
221
+ const checkpointBlobFields = checkpoint.toBlobFields().length;
222
+ if (checkpointBlobFields > maxBlobFields) {
223
+ throw new CheckpointValidationError(
224
+ `Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
225
+ checkpoint.number,
226
+ checkpoint.slot,
227
+ );
228
+ }
229
+
230
+ if (maxTxsPerCheckpoint !== undefined) {
231
+ const checkpointTxCount = sum(checkpoint.blocks.map(block => block.body.txEffects.length));
232
+ if (checkpointTxCount > maxTxsPerCheckpoint) {
233
+ throw new CheckpointValidationError(
234
+ `Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`,
235
+ checkpoint.number,
236
+ checkpoint.slot,
237
+ );
238
+ }
239
+ }
240
+ }