@aztec/stdlib 0.0.1-commit.2448fdb → 0.0.1-commit.2606882

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 (864) hide show
  1. package/dest/abi/abi.d.ts +139 -1050
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +34 -60
  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/contract_artifact.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +14 -7
  9. package/dest/abi/encoder.d.ts +1 -1
  10. package/dest/abi/encoder.d.ts.map +1 -1
  11. package/dest/abi/encoder.js +32 -6
  12. package/dest/abi/event_selector.d.ts +4 -7
  13. package/dest/abi/event_selector.d.ts.map +1 -1
  14. package/dest/abi/function_call.d.ts +7 -25
  15. package/dest/abi/function_call.d.ts.map +1 -1
  16. package/dest/abi/function_selector.d.ts +3 -6
  17. package/dest/abi/function_selector.d.ts.map +1 -1
  18. package/dest/abi/function_selector.js +1 -3
  19. package/dest/abi/note_selector.d.ts +4 -7
  20. package/dest/abi/note_selector.d.ts.map +1 -1
  21. package/dest/abi/note_selector.js +1 -3
  22. package/dest/abi/utils.d.ts +1 -1
  23. package/dest/abi/utils.d.ts.map +1 -1
  24. package/dest/abi/utils.js +1 -1
  25. package/dest/auth_witness/auth_witness.d.ts +2 -2
  26. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  27. package/dest/avm/avm.d.ts +1756 -10463
  28. package/dest/avm/avm.d.ts.map +1 -1
  29. package/dest/avm/avm.js +6 -3
  30. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  31. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  32. package/dest/avm/avm_accumulated_data.js +2 -2
  33. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  34. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  35. package/dest/avm/avm_circuit_public_inputs.js +2 -2
  36. package/dest/avm/avm_proving_request.d.ts +653 -5446
  37. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  38. package/dest/avm/message_pack.js +12 -3
  39. package/dest/avm/public_data_write.d.ts +6 -12
  40. package/dest/avm/public_data_write.d.ts.map +1 -1
  41. package/dest/avm/revert_code.d.ts +1 -7
  42. package/dest/avm/revert_code.d.ts.map +1 -1
  43. package/dest/avm/revert_code.js +0 -3
  44. package/dest/aztec-address/index.d.ts +8 -8
  45. package/dest/aztec-address/index.d.ts.map +1 -1
  46. package/dest/aztec-address/index.js +9 -6
  47. package/dest/block/attestation_info.d.ts +3 -2
  48. package/dest/block/attestation_info.d.ts.map +1 -1
  49. package/dest/block/attestation_info.js +7 -5
  50. package/dest/block/block_data.d.ts +13 -38
  51. package/dest/block/block_data.d.ts.map +1 -1
  52. package/dest/block/block_data.js +2 -2
  53. package/dest/block/block_hash.d.ts +11 -10
  54. package/dest/block/block_hash.d.ts.map +1 -1
  55. package/dest/block/block_hash.js +10 -9
  56. package/dest/block/block_parameter.d.ts +37 -4
  57. package/dest/block/block_parameter.d.ts.map +1 -1
  58. package/dest/block/block_parameter.js +53 -2
  59. package/dest/block/in_block.d.ts +5 -24
  60. package/dest/block/in_block.d.ts.map +1 -1
  61. package/dest/block/index.d.ts +1 -2
  62. package/dest/block/index.d.ts.map +1 -1
  63. package/dest/block/index.js +0 -1
  64. package/dest/block/l2_block.d.ts +13 -41
  65. package/dest/block/l2_block.d.ts.map +1 -1
  66. package/dest/block/l2_block_info.d.ts +10 -29
  67. package/dest/block/l2_block_info.d.ts.map +1 -1
  68. package/dest/block/l2_block_info.js +6 -5
  69. package/dest/block/l2_block_source.d.ts +206 -355
  70. package/dest/block/l2_block_source.d.ts.map +1 -1
  71. package/dest/block/l2_block_source.js +67 -1
  72. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  73. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  74. package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
  75. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  76. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  77. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  78. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  79. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  80. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  81. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  82. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  83. package/dest/block/proposal/attestations_and_signers.js +26 -18
  84. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  85. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  86. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  87. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  88. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  89. package/dest/checkpoint/checkpoint.d.ts +30 -96
  90. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  91. package/dest/checkpoint/checkpoint.js +9 -1
  92. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  93. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  94. package/dest/checkpoint/checkpoint_data.js +12 -0
  95. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  96. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  97. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  98. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  99. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  100. package/dest/checkpoint/digest.d.ts +18 -0
  101. package/dest/checkpoint/digest.d.ts.map +1 -0
  102. package/dest/checkpoint/digest.js +12 -0
  103. package/dest/checkpoint/index.d.ts +4 -1
  104. package/dest/checkpoint/index.d.ts.map +1 -1
  105. package/dest/checkpoint/index.js +3 -0
  106. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  107. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  108. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  109. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  110. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  111. package/dest/config/chain-config.d.ts +4 -9
  112. package/dest/config/chain-config.d.ts.map +1 -1
  113. package/dest/config/chain-config.js +13 -12
  114. package/dest/config/sequencer-config.d.ts +7 -3
  115. package/dest/config/sequencer-config.d.ts.map +1 -1
  116. package/dest/config/sequencer-config.js +19 -4
  117. package/dest/contract/complete_address.d.ts +3 -2
  118. package/dest/contract/complete_address.d.ts.map +1 -1
  119. package/dest/contract/complete_address.js +6 -2
  120. package/dest/contract/contract_address.d.ts +6 -6
  121. package/dest/contract/contract_address.d.ts.map +1 -1
  122. package/dest/contract/contract_address.js +6 -5
  123. package/dest/contract/contract_class_id.d.ts +2 -2
  124. package/dest/contract/contract_class_id.js +2 -2
  125. package/dest/contract/contract_deployment_data.d.ts +15 -61
  126. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  127. package/dest/contract/contract_instance.d.ts +4 -2
  128. package/dest/contract/contract_instance.d.ts.map +1 -1
  129. package/dest/contract/contract_instance.js +10 -3
  130. package/dest/contract/index.d.ts +1 -3
  131. package/dest/contract/index.d.ts.map +1 -1
  132. package/dest/contract/index.js +0 -2
  133. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  134. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  135. package/dest/contract/interfaces/contract_class.js +1 -28
  136. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  137. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  138. package/dest/contract/interfaces/contract_instance.js +4 -2
  139. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  140. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  141. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  142. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  143. package/dest/contract/private_function.d.ts +1 -1
  144. package/dest/contract/private_function.d.ts.map +1 -1
  145. package/dest/contract/private_function.js +2 -4
  146. package/dest/database-version/database_version.d.ts +5 -11
  147. package/dest/database-version/database_version.d.ts.map +1 -1
  148. package/dest/database-version/version_manager.d.ts +6 -2
  149. package/dest/database-version/version_manager.d.ts.map +1 -1
  150. package/dest/database-version/version_manager.js +12 -1
  151. package/dest/epoch-helpers/index.d.ts +6 -22
  152. package/dest/epoch-helpers/index.d.ts.map +1 -1
  153. package/dest/epoch-helpers/index.js +3 -0
  154. package/dest/file-store/factory.d.ts +4 -3
  155. package/dest/file-store/factory.d.ts.map +1 -1
  156. package/dest/file-store/factory.js +2 -2
  157. package/dest/file-store/http.d.ts +9 -2
  158. package/dest/file-store/http.d.ts.map +1 -1
  159. package/dest/file-store/http.js +20 -9
  160. package/dest/file-store/index.d.ts +2 -1
  161. package/dest/file-store/index.d.ts.map +1 -1
  162. package/dest/gas/fee_math.d.ts +49 -0
  163. package/dest/gas/fee_math.d.ts.map +1 -0
  164. package/dest/gas/fee_math.js +80 -0
  165. package/dest/gas/gas.d.ts +9 -14
  166. package/dest/gas/gas.d.ts.map +1 -1
  167. package/dest/gas/gas.js +6 -3
  168. package/dest/gas/gas_fees.d.ts +13 -14
  169. package/dest/gas/gas_fees.d.ts.map +1 -1
  170. package/dest/gas/gas_fees.js +17 -4
  171. package/dest/gas/gas_settings.d.ts +27 -84
  172. package/dest/gas/gas_settings.d.ts.map +1 -1
  173. package/dest/gas/gas_settings.js +6 -3
  174. package/dest/gas/index.d.ts +2 -1
  175. package/dest/gas/index.d.ts.map +1 -1
  176. package/dest/gas/index.js +1 -0
  177. package/dest/ha-signing/config.d.ts +72 -0
  178. package/dest/ha-signing/config.d.ts.map +1 -0
  179. package/dest/ha-signing/config.js +88 -0
  180. package/dest/ha-signing/index.d.ts +4 -0
  181. package/dest/ha-signing/index.d.ts.map +1 -0
  182. package/dest/ha-signing/index.js +3 -0
  183. package/dest/ha-signing/local_config.d.ts +32 -0
  184. package/dest/ha-signing/local_config.d.ts.map +1 -0
  185. package/dest/ha-signing/local_config.js +24 -0
  186. package/dest/ha-signing/types.d.ts +90 -0
  187. package/dest/ha-signing/types.d.ts.map +1 -0
  188. package/dest/ha-signing/types.js +39 -0
  189. package/dest/hash/hash.d.ts +16 -1
  190. package/dest/hash/hash.d.ts.map +1 -1
  191. package/dest/hash/hash.js +34 -2
  192. package/dest/interfaces/allowed_element.d.ts +4 -28
  193. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  194. package/dest/interfaces/api_limit.d.ts +1 -1
  195. package/dest/interfaces/api_limit.js +1 -1
  196. package/dest/interfaces/archiver.d.ts +22 -32
  197. package/dest/interfaces/archiver.d.ts.map +1 -1
  198. package/dest/interfaces/archiver.js +214 -70
  199. package/dest/interfaces/aztec-node-admin.d.ts +65 -294
  200. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  201. package/dest/interfaces/aztec-node-admin.js +59 -16
  202. package/dest/interfaces/aztec-node-debug.js +4 -1
  203. package/dest/interfaces/aztec-node.d.ts +109 -106
  204. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  205. package/dest/interfaces/aztec-node.js +309 -69
  206. package/dest/interfaces/block-builder.d.ts +3 -1
  207. package/dest/interfaces/block-builder.d.ts.map +1 -1
  208. package/dest/interfaces/block_response.d.ts +90 -0
  209. package/dest/interfaces/block_response.d.ts.map +1 -0
  210. package/dest/interfaces/block_response.js +30 -0
  211. package/dest/interfaces/chain_tips.d.ts +50 -0
  212. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  213. package/dest/interfaces/chain_tips.js +11 -0
  214. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  215. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  216. package/dest/interfaces/checkpoint_parameter.js +18 -0
  217. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  218. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  219. package/dest/interfaces/checkpoint_response.js +26 -0
  220. package/dest/interfaces/client.d.ts +7 -2
  221. package/dest/interfaces/client.d.ts.map +1 -1
  222. package/dest/interfaces/client.js +6 -1
  223. package/dest/interfaces/configs.d.ts +41 -130
  224. package/dest/interfaces/configs.d.ts.map +1 -1
  225. package/dest/interfaces/configs.js +9 -1
  226. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  227. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  228. package/dest/interfaces/l1_publish_info.js +26 -0
  229. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  230. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  231. package/dest/interfaces/l2_logs_source.js +5 -0
  232. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  233. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  234. package/dest/interfaces/p2p-bootstrap.js +8 -2
  235. package/dest/interfaces/p2p.d.ts +15 -5
  236. package/dest/interfaces/p2p.d.ts.map +1 -1
  237. package/dest/interfaces/p2p.js +28 -5
  238. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  239. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  240. package/dest/interfaces/prover-agent.d.ts +5 -23
  241. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  242. package/dest/interfaces/prover-agent.js +4 -1
  243. package/dest/interfaces/prover-client.d.ts +6 -27
  244. package/dest/interfaces/prover-client.d.ts.map +1 -1
  245. package/dest/interfaces/prover-client.js +0 -3
  246. package/dest/interfaces/prover-node.js +22 -8
  247. package/dest/interfaces/proving-job-source.js +24 -4
  248. package/dest/interfaces/proving-job.d.ts +742 -5793
  249. package/dest/interfaces/proving-job.d.ts.map +1 -1
  250. package/dest/interfaces/proving-job.js +1 -1
  251. package/dest/interfaces/public_storage_override.d.ts +22 -0
  252. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  253. package/dest/interfaces/public_storage_override.js +7 -0
  254. package/dest/interfaces/server.d.ts +6 -1
  255. package/dest/interfaces/server.d.ts.map +1 -1
  256. package/dest/interfaces/server.js +5 -0
  257. package/dest/interfaces/slasher.d.ts +25 -65
  258. package/dest/interfaces/slasher.d.ts.map +1 -1
  259. package/dest/interfaces/slasher.js +8 -4
  260. package/dest/interfaces/tx_provider.d.ts +6 -1
  261. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  262. package/dest/interfaces/validator.d.ts +48 -228
  263. package/dest/interfaces/validator.d.ts.map +1 -1
  264. package/dest/interfaces/validator.js +7 -3
  265. package/dest/interfaces/world_state.d.ts +2 -2
  266. package/dest/interfaces/world_state.d.ts.map +1 -1
  267. package/dest/kernel/claimed_length_array.js +1 -1
  268. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  269. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  270. package/dest/kernel/hints/key_validation_request.js +20 -18
  271. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
  272. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  273. package/dest/kernel/index.d.ts +5 -1
  274. package/dest/kernel/index.d.ts.map +1 -1
  275. package/dest/kernel/index.js +4 -0
  276. package/dest/kernel/log_hash.d.ts +6 -2
  277. package/dest/kernel/log_hash.d.ts.map +1 -1
  278. package/dest/kernel/log_hash.js +21 -9
  279. package/dest/kernel/padded_side_effects.js +1 -1
  280. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  281. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  282. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  283. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  284. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  285. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  286. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  287. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  288. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  289. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  290. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  291. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  292. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  293. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  294. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  295. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  296. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  297. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  298. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  299. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  300. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  301. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  302. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  303. package/dest/kernel/private_to_avm_accumulated_data.js +13 -7
  304. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  305. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  306. package/dest/kernel/private_to_public_accumulated_data.js +8 -5
  307. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  308. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  309. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  310. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  311. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  312. package/dest/kernel/private_to_rollup_accumulated_data.js +7 -4
  313. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  314. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  315. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  316. package/dest/kernel/public_call_request.d.ts +15 -30
  317. package/dest/kernel/public_call_request.d.ts.map +1 -1
  318. package/dest/kernel/public_call_request.js +16 -7
  319. package/dest/keys/derivation.d.ts +6 -2
  320. package/dest/keys/derivation.d.ts.map +1 -1
  321. package/dest/keys/derivation.js +16 -6
  322. package/dest/keys/public_key.d.ts +22 -3
  323. package/dest/keys/public_key.d.ts.map +1 -1
  324. package/dest/keys/public_key.js +20 -1
  325. package/dest/keys/public_keys.d.ts +55 -82
  326. package/dest/keys/public_keys.d.ts.map +1 -1
  327. package/dest/keys/public_keys.js +102 -74
  328. package/dest/kv-store/config.d.ts +14 -0
  329. package/dest/kv-store/config.d.ts.map +1 -0
  330. package/dest/kv-store/config.js +21 -0
  331. package/dest/kv-store/index.d.ts +2 -0
  332. package/dest/kv-store/index.d.ts.map +1 -0
  333. package/dest/kv-store/index.js +1 -0
  334. package/dest/l1-contracts/index.d.ts +2 -2
  335. package/dest/l1-contracts/index.d.ts.map +1 -1
  336. package/dest/l1-contracts/index.js +1 -1
  337. package/dest/logs/app_tagging_secret.d.ts +46 -0
  338. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  339. package/dest/logs/{extended_directional_app_tagging_secret.js → app_tagging_secret.js} +51 -21
  340. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  341. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  342. package/dest/logs/app_tagging_secret_kind.js +17 -0
  343. package/dest/logs/contract_class_log.d.ts +16 -34
  344. package/dest/logs/contract_class_log.d.ts.map +1 -1
  345. package/dest/logs/contract_class_log.js +11 -9
  346. package/dest/logs/index.d.ts +7 -7
  347. package/dest/logs/index.d.ts.map +1 -1
  348. package/dest/logs/index.js +6 -6
  349. package/dest/logs/log_cursor.d.ts +51 -0
  350. package/dest/logs/log_cursor.d.ts.map +1 -0
  351. package/dest/logs/log_cursor.js +82 -0
  352. package/dest/logs/log_result.d.ts +54 -0
  353. package/dest/logs/log_result.d.ts.map +1 -0
  354. package/dest/logs/log_result.js +56 -0
  355. package/dest/logs/logs_query.d.ts +82 -0
  356. package/dest/logs/logs_query.d.ts.map +1 -0
  357. package/dest/logs/logs_query.js +50 -0
  358. package/dest/logs/message_context.d.ts +3 -2
  359. package/dest/logs/message_context.d.ts.map +1 -1
  360. package/dest/logs/message_context.js +4 -0
  361. package/dest/logs/pre_tag.d.ts +11 -24
  362. package/dest/logs/pre_tag.d.ts.map +1 -1
  363. package/dest/logs/pre_tag.js +2 -2
  364. package/dest/logs/private_log.d.ts +7 -12
  365. package/dest/logs/private_log.d.ts.map +1 -1
  366. package/dest/logs/private_log.js +7 -4
  367. package/dest/logs/public_log.d.ts +1 -1
  368. package/dest/logs/public_log.d.ts.map +1 -1
  369. package/dest/logs/public_log.js +1 -7
  370. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  371. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  372. package/dest/logs/query_all_logs_by_tags.js +64 -0
  373. package/dest/logs/siloed_tag.d.ts +5 -7
  374. package/dest/logs/siloed_tag.d.ts.map +1 -1
  375. package/dest/logs/siloed_tag.js +7 -1
  376. package/dest/logs/tag.d.ts +5 -6
  377. package/dest/logs/tag.d.ts.map +1 -1
  378. package/dest/logs/tag.js +4 -0
  379. package/dest/logs/tagging_index_range.d.ts +13 -31
  380. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  381. package/dest/logs/tagging_index_range.js +2 -2
  382. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  383. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  384. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  385. package/dest/messaging/index.d.ts +2 -1
  386. package/dest/messaging/index.d.ts.map +1 -1
  387. package/dest/messaging/index.js +1 -0
  388. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  389. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  390. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  391. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  392. package/dest/messaging/l2_to_l1_membership.js +72 -12
  393. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  394. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  395. package/dest/messaging/l2_to_l1_message.js +21 -12
  396. package/dest/noir/index.d.ts +3 -1
  397. package/dest/noir/index.d.ts.map +1 -1
  398. package/dest/note/note.d.ts +2 -2
  399. package/dest/note/note.d.ts.map +1 -1
  400. package/dest/p2p/block_proposal.d.ts +32 -15
  401. package/dest/p2p/block_proposal.d.ts.map +1 -1
  402. package/dest/p2p/block_proposal.js +58 -40
  403. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  404. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  405. package/dest/p2p/checkpoint_attestation.js +23 -24
  406. package/dest/p2p/checkpoint_proposal.d.ts +36 -17
  407. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  408. package/dest/p2p/checkpoint_proposal.js +60 -52
  409. package/dest/p2p/consensus_payload.d.ts +26 -20
  410. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  411. package/dest/p2p/consensus_payload.js +38 -19
  412. package/dest/p2p/gossipable.d.ts +4 -4
  413. package/dest/p2p/gossipable.d.ts.map +1 -1
  414. package/dest/p2p/signature_utils.d.ts +28 -19
  415. package/dest/p2p/signature_utils.d.ts.map +1 -1
  416. package/dest/p2p/signature_utils.js +118 -21
  417. package/dest/p2p/signed_txs.d.ts +15 -13
  418. package/dest/p2p/signed_txs.d.ts.map +1 -1
  419. package/dest/p2p/signed_txs.js +26 -24
  420. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  421. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  422. package/dest/parity/parity_base_private_inputs.js +7 -5
  423. package/dest/parity/parity_public_inputs.d.ts +8 -4
  424. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  425. package/dest/parity/parity_public_inputs.js +6 -3
  426. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  427. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  428. package/dest/proofs/chonk_proof.d.ts +57 -7
  429. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  430. package/dest/proofs/chonk_proof.js +111 -20
  431. package/dest/proofs/recursive_proof.d.ts +2 -2
  432. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  433. package/dest/rollup/base_rollup_hints.js +2 -2
  434. package/dest/rollup/block_headers_hash.d.ts +1 -1
  435. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  436. package/dest/rollup/block_headers_hash.js +8 -2
  437. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  438. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  439. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  440. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  441. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  442. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  443. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  444. package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
  445. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  446. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  447. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  448. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  449. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -1
  450. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  451. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  452. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
  453. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  454. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  455. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  456. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  457. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  458. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  459. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  460. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  461. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  462. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  463. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  464. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  465. package/dest/rollup/root_rollup_public_inputs.js +1 -1
  466. package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
  467. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  468. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  469. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  470. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  471. package/dest/schemas/schemas.d.ts +32 -78
  472. package/dest/schemas/schemas.d.ts.map +1 -1
  473. package/dest/schemas/schemas.js +2 -2
  474. package/dest/slashing/helpers.d.ts +2 -2
  475. package/dest/slashing/helpers.d.ts.map +1 -1
  476. package/dest/slashing/helpers.js +10 -7
  477. package/dest/slashing/index.d.ts +2 -3
  478. package/dest/slashing/index.d.ts.map +1 -1
  479. package/dest/slashing/index.js +1 -2
  480. package/dest/slashing/serialization.d.ts +2 -6
  481. package/dest/slashing/serialization.d.ts.map +1 -1
  482. package/dest/slashing/serialization.js +0 -60
  483. package/dest/slashing/types.d.ts +18 -112
  484. package/dest/slashing/types.d.ts.map +1 -1
  485. package/dest/slashing/types.js +16 -24
  486. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  487. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  488. package/dest/slashing/{tally.js → votes.js} +1 -1
  489. package/dest/snapshots/types.d.ts +15 -78
  490. package/dest/snapshots/types.d.ts.map +1 -1
  491. package/dest/stats/stats.d.ts +2 -2
  492. package/dest/stats/stats.d.ts.map +1 -1
  493. package/dest/tests/factories.d.ts +25 -32
  494. package/dest/tests/factories.d.ts.map +1 -1
  495. package/dest/tests/factories.js +81 -81
  496. package/dest/tests/mocks.d.ts +8 -5
  497. package/dest/tests/mocks.d.ts.map +1 -1
  498. package/dest/tests/mocks.js +40 -52
  499. package/dest/timetable/index.d.ts +48 -1
  500. package/dest/timetable/index.d.ts.map +1 -1
  501. package/dest/timetable/index.js +184 -14
  502. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  503. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  504. package/dest/trees/append_only_tree_snapshot.js +6 -3
  505. package/dest/trees/nullifier_leaf.d.ts +19 -42
  506. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  507. package/dest/trees/nullifier_leaf.js +3 -0
  508. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  509. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  510. package/dest/trees/nullifier_membership_witness.js +2 -14
  511. package/dest/trees/public_data_leaf.d.ts +21 -53
  512. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  513. package/dest/trees/public_data_witness.d.ts +16 -58
  514. package/dest/trees/public_data_witness.d.ts.map +1 -1
  515. package/dest/tx/block_header.d.ts +5 -4
  516. package/dest/tx/block_header.d.ts.map +1 -1
  517. package/dest/tx/block_header.js +7 -4
  518. package/dest/tx/call_context.d.ts +4 -14
  519. package/dest/tx/call_context.d.ts.map +1 -1
  520. package/dest/tx/capsule.d.ts +2 -2
  521. package/dest/tx/capsule.d.ts.map +1 -1
  522. package/dest/tx/fee_provider.d.ts +10 -0
  523. package/dest/tx/fee_provider.d.ts.map +1 -0
  524. package/dest/tx/fee_provider.js +1 -0
  525. package/dest/tx/function_data.d.ts +4 -10
  526. package/dest/tx/function_data.d.ts.map +1 -1
  527. package/dest/tx/global_variable_builder.d.ts +3 -4
  528. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  529. package/dest/tx/global_variables.d.ts +16 -49
  530. package/dest/tx/global_variables.d.ts.map +1 -1
  531. package/dest/tx/global_variables.js +8 -12
  532. package/dest/tx/hashed_values.d.ts +4 -3
  533. package/dest/tx/hashed_values.d.ts.map +1 -1
  534. package/dest/tx/hashed_values.js +6 -3
  535. package/dest/tx/in_tx.d.ts +5 -17
  536. package/dest/tx/in_tx.d.ts.map +1 -1
  537. package/dest/tx/index.d.ts +2 -1
  538. package/dest/tx/index.d.ts.map +1 -1
  539. package/dest/tx/index.js +1 -0
  540. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  541. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  542. package/dest/tx/indexed_tx_effect.js +9 -6
  543. package/dest/tx/partial_state_reference.d.ts +22 -65
  544. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  545. package/dest/tx/partial_state_reference.js +6 -3
  546. package/dest/tx/private_execution_result.d.ts +6 -16
  547. package/dest/tx/private_execution_result.d.ts.map +1 -1
  548. package/dest/tx/profiling.d.ts +54 -352
  549. package/dest/tx/profiling.d.ts.map +1 -1
  550. package/dest/tx/profiling.js +4 -4
  551. package/dest/tx/protocol_contracts.d.ts +5 -9
  552. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  553. package/dest/tx/protocol_contracts.js +2 -2
  554. package/dest/tx/proven_tx.d.ts +30 -74
  555. package/dest/tx/proven_tx.d.ts.map +1 -1
  556. package/dest/tx/proven_tx.js +6 -0
  557. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  558. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  559. package/dest/tx/public_call_request_with_calldata.js +6 -3
  560. package/dest/tx/simulated_tx.d.ts +62 -1124
  561. package/dest/tx/simulated_tx.d.ts.map +1 -1
  562. package/dest/tx/simulated_tx.js +12 -10
  563. package/dest/tx/state_reference.d.ts +30 -117
  564. package/dest/tx/state_reference.d.ts.map +1 -1
  565. package/dest/tx/state_reference.js +6 -4
  566. package/dest/tx/tree_snapshots.d.ts +27 -84
  567. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  568. package/dest/tx/tree_snapshots.js +6 -4
  569. package/dest/tx/tx.d.ts +14 -13
  570. package/dest/tx/tx.d.ts.map +1 -1
  571. package/dest/tx/tx.js +30 -23
  572. package/dest/tx/tx_constant_data.d.ts +4 -3
  573. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  574. package/dest/tx/tx_constant_data.js +6 -3
  575. package/dest/tx/tx_context.d.ts +32 -131
  576. package/dest/tx/tx_context.d.ts.map +1 -1
  577. package/dest/tx/tx_context.js +6 -6
  578. package/dest/tx/tx_hash.d.ts +6 -4
  579. package/dest/tx/tx_hash.d.ts.map +1 -1
  580. package/dest/tx/tx_hash.js +13 -5
  581. package/dest/tx/tx_receipt.d.ts +144 -67
  582. package/dest/tx/tx_receipt.d.ts.map +1 -1
  583. package/dest/tx/tx_receipt.js +141 -51
  584. package/dest/tx/validator/tx_validator.d.ts +5 -27
  585. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  586. package/dest/tx/validator/tx_validator.js +0 -4
  587. package/dest/types/shared.d.ts +4 -12
  588. package/dest/types/shared.d.ts.map +1 -1
  589. package/dest/types/shared.js +6 -12
  590. package/dest/update-checker/dev_version.d.ts +3 -0
  591. package/dest/update-checker/dev_version.d.ts.map +1 -0
  592. package/dest/update-checker/dev_version.js +1 -0
  593. package/dest/update-checker/index.d.ts +2 -1
  594. package/dest/update-checker/index.d.ts.map +1 -1
  595. package/dest/update-checker/index.js +1 -0
  596. package/dest/update-checker/package_version.d.ts +6 -3
  597. package/dest/update-checker/package_version.d.ts.map +1 -1
  598. package/dest/update-checker/package_version.js +8 -19
  599. package/dest/validators/schemas.d.ts +147 -614
  600. package/dest/validators/schemas.d.ts.map +1 -1
  601. package/dest/validators/schemas.js +6 -4
  602. package/dest/validators/types.d.ts +20 -3
  603. package/dest/validators/types.d.ts.map +1 -1
  604. package/dest/versioning/versioning.js +1 -1
  605. package/dest/vks/verification_key.d.ts +4 -139
  606. package/dest/vks/verification_key.d.ts.map +1 -1
  607. package/dest/vks/verification_key.js +5 -126
  608. package/dest/vks/vk_data.js +1 -1
  609. package/dest/world-state/genesis_data.d.ts +13 -0
  610. package/dest/world-state/genesis_data.d.ts.map +1 -0
  611. package/dest/world-state/genesis_data.js +7 -0
  612. package/dest/world-state/index.d.ts +2 -1
  613. package/dest/world-state/index.d.ts.map +1 -1
  614. package/dest/world-state/index.js +1 -0
  615. package/dest/world-state/world_state_revision.d.ts +15 -26
  616. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  617. package/dest/world-state/world_state_revision.js +7 -1
  618. package/package.json +15 -13
  619. package/src/abi/abi.ts +67 -86
  620. package/src/abi/authorization_selector.ts +2 -8
  621. package/src/abi/contract_artifact.ts +11 -6
  622. package/src/abi/encoder.ts +42 -6
  623. package/src/abi/event_selector.ts +2 -8
  624. package/src/abi/function_selector.ts +3 -12
  625. package/src/abi/note_selector.ts +3 -12
  626. package/src/abi/utils.ts +6 -4
  627. package/src/avm/avm.ts +5 -0
  628. package/src/avm/avm_accumulated_data.ts +6 -6
  629. package/src/avm/avm_circuit_public_inputs.ts +4 -4
  630. package/src/avm/message_pack.ts +12 -3
  631. package/src/avm/revert_code.ts +0 -6
  632. package/src/aztec-address/index.ts +15 -12
  633. package/src/block/attestation_info.ts +11 -11
  634. package/src/block/block_data.ts +3 -4
  635. package/src/block/block_hash.ts +21 -14
  636. package/src/block/block_parameter.ts +72 -4
  637. package/src/block/index.ts +0 -1
  638. package/src/block/l2_block_info.ts +8 -6
  639. package/src/block/l2_block_source.ts +205 -145
  640. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  641. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  642. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  643. package/src/block/proposal/attestations_and_signers.ts +32 -17
  644. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  645. package/src/checkpoint/checkpoint.ts +11 -1
  646. package/src/checkpoint/checkpoint_data.ts +44 -4
  647. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  648. package/src/checkpoint/digest.ts +28 -0
  649. package/src/checkpoint/index.ts +3 -0
  650. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  651. package/src/config/chain-config.ts +13 -16
  652. package/src/config/sequencer-config.ts +37 -6
  653. package/src/contract/complete_address.ts +7 -3
  654. package/src/contract/contract_address.ts +7 -7
  655. package/src/contract/contract_class_id.ts +2 -2
  656. package/src/contract/contract_instance.ts +11 -2
  657. package/src/contract/index.ts +0 -2
  658. package/src/contract/interfaces/contract_class.ts +2 -82
  659. package/src/contract/interfaces/contract_instance.ts +6 -2
  660. package/src/contract/private_function.ts +3 -1
  661. package/src/database-version/version_manager.ts +17 -0
  662. package/src/epoch-helpers/index.ts +5 -0
  663. package/src/file-store/factory.ts +13 -4
  664. package/src/file-store/http.ts +29 -10
  665. package/src/file-store/index.ts +1 -0
  666. package/src/gas/README.md +31 -0
  667. package/src/gas/fee_math.ts +120 -0
  668. package/src/gas/gas.ts +8 -3
  669. package/src/gas/gas_fees.ts +26 -13
  670. package/src/gas/gas_settings.ts +8 -3
  671. package/src/gas/index.ts +1 -0
  672. package/src/ha-signing/config.ts +152 -0
  673. package/src/ha-signing/index.ts +29 -0
  674. package/src/ha-signing/local_config.ts +46 -0
  675. package/src/ha-signing/types.ts +126 -0
  676. package/src/hash/hash.ts +29 -2
  677. package/src/interfaces/api_limit.ts +1 -1
  678. package/src/interfaces/archiver.ts +89 -93
  679. package/src/interfaces/aztec-node-admin.ts +35 -20
  680. package/src/interfaces/aztec-node-debug.ts +1 -1
  681. package/src/interfaces/aztec-node.ts +306 -257
  682. package/src/interfaces/block-builder.ts +2 -0
  683. package/src/interfaces/block_response.ts +92 -0
  684. package/src/interfaces/chain_tips.ts +24 -0
  685. package/src/interfaces/checkpoint_parameter.ts +20 -0
  686. package/src/interfaces/checkpoint_response.ts +84 -0
  687. package/src/interfaces/client.ts +6 -1
  688. package/src/interfaces/configs.ts +40 -1
  689. package/src/interfaces/l1_publish_info.ts +40 -0
  690. package/src/interfaces/l2_logs_source.ts +13 -39
  691. package/src/interfaces/merkle_tree_operations.ts +3 -2
  692. package/src/interfaces/p2p-bootstrap.ts +2 -2
  693. package/src/interfaces/p2p.ts +35 -15
  694. package/src/interfaces/private_kernel_prover.ts +88 -0
  695. package/src/interfaces/prover-agent.ts +1 -1
  696. package/src/interfaces/prover-client.ts +2 -5
  697. package/src/interfaces/prover-node.ts +7 -7
  698. package/src/interfaces/proving-job-source.ts +4 -4
  699. package/src/interfaces/proving-job.ts +3 -3
  700. package/src/interfaces/public_storage_override.ts +26 -0
  701. package/src/interfaces/server.ts +5 -0
  702. package/src/interfaces/slasher.ts +17 -10
  703. package/src/interfaces/tx_provider.ts +6 -0
  704. package/src/interfaces/validator.ts +70 -45
  705. package/src/interfaces/world_state.ts +1 -1
  706. package/src/kernel/claimed_length_array.ts +2 -2
  707. package/src/kernel/hints/key_validation_request.ts +18 -16
  708. package/src/kernel/hints/private_kernel_reset_hints.ts +2 -5
  709. package/src/kernel/hints/read_request_hints.ts +3 -3
  710. package/src/kernel/index.ts +4 -0
  711. package/src/kernel/log_hash.ts +29 -9
  712. package/src/kernel/padded_side_effects.ts +3 -3
  713. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  714. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  715. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  716. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  717. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  718. package/src/kernel/private_to_avm_accumulated_data.ts +20 -9
  719. package/src/kernel/private_to_public_accumulated_data.ts +19 -13
  720. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  721. package/src/kernel/private_to_rollup_accumulated_data.ts +13 -8
  722. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  723. package/src/kernel/public_call_request.ts +22 -7
  724. package/src/keys/derivation.ts +21 -9
  725. package/src/keys/public_key.ts +26 -2
  726. package/src/keys/public_keys.ts +124 -110
  727. package/src/kv-store/config.ts +29 -0
  728. package/src/kv-store/index.ts +1 -0
  729. package/src/l1-contracts/index.ts +1 -1
  730. package/src/logs/{extended_directional_app_tagging_secret.ts → app_tagging_secret.ts} +62 -23
  731. package/src/logs/app_tagging_secret_kind.ts +21 -0
  732. package/src/logs/contract_class_log.ts +15 -5
  733. package/src/logs/index.ts +6 -6
  734. package/src/logs/log_cursor.ts +110 -0
  735. package/src/logs/log_result.ts +104 -0
  736. package/src/logs/logs_query.ts +138 -0
  737. package/src/logs/message_context.ts +5 -1
  738. package/src/logs/pre_tag.ts +3 -6
  739. package/src/logs/private_log.ts +10 -4
  740. package/src/logs/public_log.ts +1 -11
  741. package/src/logs/query_all_logs_by_tags.ts +98 -0
  742. package/src/logs/siloed_tag.ts +14 -10
  743. package/src/logs/tag.ts +8 -8
  744. package/src/logs/tagging_index_range.ts +4 -10
  745. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  746. package/src/messaging/index.ts +1 -0
  747. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  748. package/src/messaging/l2_to_l1_membership.ts +108 -19
  749. package/src/messaging/l2_to_l1_message.ts +29 -9
  750. package/src/noir/index.ts +2 -0
  751. package/src/p2p/block_proposal.ts +112 -37
  752. package/src/p2p/checkpoint_attestation.ts +27 -31
  753. package/src/p2p/checkpoint_proposal.ts +129 -74
  754. package/src/p2p/consensus_payload.ts +59 -28
  755. package/src/p2p/gossipable.ts +4 -4
  756. package/src/p2p/signature_utils.ts +110 -25
  757. package/src/p2p/signed_txs.ts +46 -28
  758. package/src/parity/parity_base_private_inputs.ts +10 -4
  759. package/src/parity/parity_public_inputs.ts +9 -2
  760. package/src/proofs/chonk_proof.ts +131 -19
  761. package/src/rollup/base_rollup_hints.ts +2 -2
  762. package/src/rollup/block_headers_hash.ts +11 -2
  763. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  764. package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
  765. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -2
  766. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
  767. package/src/rollup/root_rollup_public_inputs.ts +2 -2
  768. package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
  769. package/src/schemas/schemas.ts +6 -1
  770. package/src/slashing/helpers.ts +13 -9
  771. package/src/slashing/index.ts +1 -2
  772. package/src/slashing/serialization.ts +1 -81
  773. package/src/slashing/types.ts +24 -49
  774. package/src/slashing/{tally.ts → votes.ts} +1 -1
  775. package/src/stats/stats.ts +4 -0
  776. package/src/tests/factories.ts +102 -110
  777. package/src/tests/mocks.ts +64 -68
  778. package/src/timetable/index.ts +251 -13
  779. package/src/trees/append_only_tree_snapshot.ts +8 -3
  780. package/src/trees/nullifier_leaf.ts +4 -0
  781. package/src/trees/nullifier_membership_witness.ts +2 -12
  782. package/src/tx/block_header.ts +10 -5
  783. package/src/tx/fee_provider.ts +10 -0
  784. package/src/tx/global_variable_builder.ts +2 -3
  785. package/src/tx/global_variables.ts +10 -18
  786. package/src/tx/hashed_values.ts +8 -3
  787. package/src/tx/index.ts +1 -0
  788. package/src/tx/indexed_tx_effect.ts +18 -6
  789. package/src/tx/partial_state_reference.ts +8 -3
  790. package/src/tx/profiling.ts +4 -4
  791. package/src/tx/protocol_contracts.ts +2 -2
  792. package/src/tx/proven_tx.ts +6 -0
  793. package/src/tx/public_call_request_with_calldata.ts +8 -3
  794. package/src/tx/simulated_tx.ts +18 -21
  795. package/src/tx/state_reference.ts +9 -4
  796. package/src/tx/tree_snapshots.ts +9 -4
  797. package/src/tx/tx.ts +43 -24
  798. package/src/tx/tx_constant_data.ts +8 -3
  799. package/src/tx/tx_context.ts +8 -3
  800. package/src/tx/tx_hash.ts +20 -5
  801. package/src/tx/tx_receipt.ts +263 -80
  802. package/src/tx/validator/tx_validator.ts +1 -5
  803. package/src/types/shared.ts +8 -13
  804. package/src/update-checker/dev_version.ts +2 -0
  805. package/src/update-checker/index.ts +1 -0
  806. package/src/update-checker/package_version.ts +10 -23
  807. package/src/validators/schemas.ts +6 -4
  808. package/src/validators/types.ts +21 -2
  809. package/src/versioning/versioning.ts +1 -1
  810. package/src/vks/verification_key.ts +5 -184
  811. package/src/vks/vk_data.ts +1 -1
  812. package/src/world-state/genesis_data.ts +27 -0
  813. package/src/world-state/index.ts +1 -0
  814. package/src/world-state/world_state_revision.ts +9 -1
  815. package/dest/abi/mocked_keys.d.ts +0 -2
  816. package/dest/abi/mocked_keys.d.ts.map +0 -1
  817. package/dest/abi/mocked_keys.js +0 -1
  818. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  819. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  820. package/dest/block/checkpointed_l2_block.js +0 -46
  821. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  822. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  823. package/dest/contract/private_function_membership_proof.js +0 -124
  824. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  825. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  826. package/dest/contract/utility_function_membership_proof.js +0 -87
  827. package/dest/interfaces/get_logs_response.d.ts +0 -97
  828. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  829. package/dest/interfaces/get_logs_response.js +0 -12
  830. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  831. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  832. package/dest/l1-contracts/slash_factory.js +0 -158
  833. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  834. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  835. package/dest/logs/extended_contract_class_log.js +0 -67
  836. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  837. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  838. package/dest/logs/extended_public_log.d.ts +0 -106
  839. package/dest/logs/extended_public_log.d.ts.map +0 -1
  840. package/dest/logs/extended_public_log.js +0 -73
  841. package/dest/logs/log_filter.d.ts +0 -25
  842. package/dest/logs/log_filter.d.ts.map +0 -1
  843. package/dest/logs/log_filter.js +0 -12
  844. package/dest/logs/log_id.d.ts +0 -85
  845. package/dest/logs/log_id.d.ts.map +0 -1
  846. package/dest/logs/log_id.js +0 -94
  847. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  848. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  849. package/dest/logs/tx_scoped_l2_log.js +0 -77
  850. package/dest/slashing/empire.d.ts +0 -31
  851. package/dest/slashing/empire.d.ts.map +0 -1
  852. package/dest/slashing/empire.js +0 -87
  853. package/src/abi/mocked_keys.ts +0 -2
  854. package/src/block/checkpointed_l2_block.ts +0 -70
  855. package/src/contract/private_function_membership_proof.ts +0 -167
  856. package/src/contract/utility_function_membership_proof.ts +0 -118
  857. package/src/interfaces/get_logs_response.ts +0 -35
  858. package/src/l1-contracts/slash_factory.ts +0 -180
  859. package/src/logs/extended_contract_class_log.ts +0 -87
  860. package/src/logs/extended_public_log.ts +0 -94
  861. package/src/logs/log_filter.ts +0 -36
  862. package/src/logs/log_id.ts +0 -125
  863. package/src/logs/tx_scoped_l2_log.ts +0 -114
  864. package/src/slashing/empire.ts +0 -104
@@ -11,28 +11,12 @@ export type CheckpointInfo = {
11
11
  };
12
12
  export declare function randomCheckpointInfo(checkpointNumber?: CheckpointNumber | number): CheckpointInfo;
13
13
  export declare const CheckpointInfoSchema: z.ZodObject<{
14
- archive: z.ZodType<Fr, any, string>;
15
- lastArchive: z.ZodType<Fr, any, string>;
16
- slotNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, SlotNumber, string | number | bigint>;
17
- checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
18
- timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
19
- }, "strip", z.ZodTypeAny, {
20
- archive: Fr;
21
- lastArchive: Fr;
22
- slotNumber: number & {
23
- _branding: "SlotNumber";
24
- };
25
- checkpointNumber: number & {
26
- _branding: "CheckpointNumber";
27
- };
28
- timestamp: bigint;
29
- }, {
30
- archive: string;
31
- lastArchive: string;
32
- slotNumber: string | number | bigint;
33
- checkpointNumber: string | number | bigint;
34
- timestamp: string | number | bigint;
35
- }>;
14
+ archive: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
15
+ lastArchive: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
16
+ slotNumber: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<SlotNumber, number>>;
17
+ checkpointNumber: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
18
+ timestamp: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
19
+ }, z.core.$strip>;
36
20
  export declare function serializeCheckpointInfo(info: CheckpointInfo): Buffer;
37
21
  export declare function deserializeCheckpointInfo(buffer: Buffer | BufferReader): CheckpointInfo;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9pbmZvLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixVQUFVLEVBRVgsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CLENBQUM7QUFFRix3QkFBZ0Isb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsY0FBYyxDQVFqRztBQUVELGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNL0IsQ0FBQztBQUVILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxHQUFHLE1BQU0sQ0FFcEU7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsY0FBYyxDQVN2RiJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9pbmZvLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixVQUFVLEVBRVgsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CLENBQUM7QUFFRix3QkFBZ0Isb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsY0FBYyxDQVFqRztBQUVELGVBQU8sTUFBTSxvQkFBb0I7Ozs7OztpQkFNL0IsQ0FBQztBQUVILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxHQUFHLE1BQU0sQ0FFcEU7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsY0FBYyxDQVN2RiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_info.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,cAAc,CAQjG;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc,CASvF"}
1
+ {"version":3,"file":"checkpoint_info.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,cAAc,CAQjG;AAED,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc,CASvF"}
@@ -0,0 +1,60 @@
1
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ /**
4
+ * Outcome of attempting to re-execute a checkpoint proposal locally.
5
+ *
6
+ * - `valid` — re-execution succeeded and the computed checkpoint matched the proposal.
7
+ * - `invalid` — the proposal disagreed with the computed checkpoint, or violated a deterministic
8
+ * constraint (limits, signatures, etc).
9
+ * - `unvalidated` — the local node could not complete validation for non-deterministic reasons
10
+ * (missing blocks/txs, timeouts, infra errors). Treated as proposer-fault for
11
+ * slashing but surfaced separately for telemetry.
12
+ */
13
+ export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
14
+ export declare class CheckpointReexecutionTracker {
15
+ private readonly byCheckpoint;
16
+ private readonly bySlot;
17
+ /**
18
+ * Record the outcome of evaluating a checkpoint proposal.
19
+ * @param slot - Slot the proposal was for. Always required.
20
+ * @param archiveRoot - Archive root in the proposal.
21
+ * @param outcome - Outcome of evaluation.
22
+ * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
23
+ * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
24
+ */
25
+ recordOutcome(slot: SlotNumber, archiveRoot: Fr, outcome: ReexecutionOutcome, checkpointNumber?: CheckpointNumber): void;
26
+ /**
27
+ * Record whether the local node successfully collected the transactions for a block proposal.
28
+ * Called from the validator's proposal handler immediately after tx collection completes
29
+ * (regardless of whether re-execution will subsequently succeed). The data-withholding
30
+ * watcher consults these records as an authoritative signal: tx availability now is too
31
+ * weak (txs may have been evicted from the mempool by the time the watcher runs), but a
32
+ * record that the txs *were* available at proposal time still vouches for the proposer.
33
+ *
34
+ * @param slot - Slot the block proposal was for.
35
+ * @param indexWithinCheckpoint - Index of the block within its enclosing checkpoint.
36
+ * @param collected - True if every tx in the proposal was collected locally before deadline.
37
+ */
38
+ recordTxsCollected(slot: SlotNumber, indexWithinCheckpoint: number, collected: boolean): void;
39
+ /**
40
+ * Returns true if the given (checkpoint number, archive root) has been successfully
41
+ * re-executed locally (outcome `valid`).
42
+ */
43
+ hasReexecuted(checkpointNumber: CheckpointNumber, archiveRoot: Fr): boolean;
44
+ /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */
45
+ getOutcomeForSlot(slot: SlotNumber): ReexecutionOutcome | undefined;
46
+ /**
47
+ * Returns the recorded tx-collection result for a block proposal at the given slot and
48
+ * `indexWithinCheckpoint`, or `undefined` if no record exists.
49
+ *
50
+ * Three-valued by design:
51
+ * - `true` — we collected every tx for this block proposal before the deadline.
52
+ * - `false` — we tried and failed (missing txs at the deadline).
53
+ * - `undefined` — no record (e.g. we never saw the block proposal). Callers should fall
54
+ * back to a current-state check (e.g. mempool probe) for this case.
55
+ */
56
+ getTxsCollectedRecord(slot: SlotNumber, indexWithinCheckpoint: number): boolean | undefined;
57
+ /** Drops entries for checkpoints with `number < checkpointNumber`. */
58
+ removeBefore(checkpointNumber: CheckpointNumber): void;
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yZWV4ZWN1dGlvbl90cmFja2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X3JlZXhlY3V0aW9uX3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBMkJyRSxxQkFBYSw0QkFBNEI7SUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQW1EO0lBQ2hGLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFnQztJQUV2RDs7Ozs7OztPQU9HO0lBQ0ksYUFBYSxDQUNsQixJQUFJLEVBQUUsVUFBVSxFQUNoQixXQUFXLEVBQUUsRUFBRSxFQUNmLE9BQU8sRUFBRSxrQkFBa0IsRUFDM0IsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsR0FDbEMsSUFBSSxDQXVCTjtJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBYW5HO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUVqRjtJQUVELGdHQUFnRztJQUN6RixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLGtCQUFrQixHQUFHLFNBQVMsQ0FFekU7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sR0FBRyxPQUFPLEdBQUcsU0FBUyxDQUVqRztJQUVELHNFQUFzRTtJQUMvRCxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsSUFBSSxDQTRCNUQ7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint_reexecution_tracker.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_reexecution_tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AA2BrE,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;IAChF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD;;;;;;;OAOG;IACI,aAAa,CAClB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,EAAE,EACf,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,IAAI,CAuBN;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAanG;IAED;;;OAGG;IACI,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAEjF;IAED,gGAAgG;IACzF,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAEzE;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEjG;IAED,sEAAsE;IAC/D,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CA4B5D;CACF"}
@@ -0,0 +1,108 @@
1
+ export class CheckpointReexecutionTracker {
2
+ byCheckpoint = new Map();
3
+ bySlot = new Map();
4
+ /**
5
+ * Record the outcome of evaluating a checkpoint proposal.
6
+ * @param slot - Slot the proposal was for. Always required.
7
+ * @param archiveRoot - Archive root in the proposal.
8
+ * @param outcome - Outcome of evaluation.
9
+ * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
10
+ * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
11
+ */ recordOutcome(slot, archiveRoot, outcome, checkpointNumber) {
12
+ const archiveRootStr = archiveRoot.toString();
13
+ // Preserve any per-block txsCollected already accumulated for this slot.
14
+ const existing = this.bySlot.get(slot);
15
+ const entry = {
16
+ checkpointNumber,
17
+ archiveRoot: archiveRootStr,
18
+ slot,
19
+ outcome,
20
+ txsCollected: existing?.txsCollected ?? new Map()
21
+ };
22
+ if (checkpointNumber !== undefined) {
23
+ let archives = this.byCheckpoint.get(checkpointNumber);
24
+ if (!archives) {
25
+ archives = new Map();
26
+ this.byCheckpoint.set(checkpointNumber, archives);
27
+ }
28
+ archives.set(archiveRootStr, entry);
29
+ }
30
+ this.bySlot.set(slot, entry);
31
+ }
32
+ /**
33
+ * Record whether the local node successfully collected the transactions for a block proposal.
34
+ * Called from the validator's proposal handler immediately after tx collection completes
35
+ * (regardless of whether re-execution will subsequently succeed). The data-withholding
36
+ * watcher consults these records as an authoritative signal: tx availability now is too
37
+ * weak (txs may have been evicted from the mempool by the time the watcher runs), but a
38
+ * record that the txs *were* available at proposal time still vouches for the proposer.
39
+ *
40
+ * @param slot - Slot the block proposal was for.
41
+ * @param indexWithinCheckpoint - Index of the block within its enclosing checkpoint.
42
+ * @param collected - True if every tx in the proposal was collected locally before deadline.
43
+ */ recordTxsCollected(slot, indexWithinCheckpoint, collected) {
44
+ let entry = this.bySlot.get(slot);
45
+ if (!entry) {
46
+ entry = {
47
+ checkpointNumber: undefined,
48
+ archiveRoot: undefined,
49
+ slot,
50
+ outcome: undefined,
51
+ txsCollected: new Map()
52
+ };
53
+ this.bySlot.set(slot, entry);
54
+ }
55
+ entry.txsCollected.set(indexWithinCheckpoint, collected);
56
+ }
57
+ /**
58
+ * Returns true if the given (checkpoint number, archive root) has been successfully
59
+ * re-executed locally (outcome `valid`).
60
+ */ hasReexecuted(checkpointNumber, archiveRoot) {
61
+ return this.byCheckpoint.get(checkpointNumber)?.get(archiveRoot.toString())?.outcome === 'valid';
62
+ }
63
+ /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */ getOutcomeForSlot(slot) {
64
+ return this.bySlot.get(slot)?.outcome;
65
+ }
66
+ /**
67
+ * Returns the recorded tx-collection result for a block proposal at the given slot and
68
+ * `indexWithinCheckpoint`, or `undefined` if no record exists.
69
+ *
70
+ * Three-valued by design:
71
+ * - `true` — we collected every tx for this block proposal before the deadline.
72
+ * - `false` — we tried and failed (missing txs at the deadline).
73
+ * - `undefined` — no record (e.g. we never saw the block proposal). Callers should fall
74
+ * back to a current-state check (e.g. mempool probe) for this case.
75
+ */ getTxsCollectedRecord(slot, indexWithinCheckpoint) {
76
+ return this.bySlot.get(slot)?.txsCollected.get(indexWithinCheckpoint);
77
+ }
78
+ /** Drops entries for checkpoints with `number < checkpointNumber`. */ removeBefore(checkpointNumber) {
79
+ // Track the highest slot among checkpoints we're pruning. Once we know it, any slot
80
+ // strictly below that watermark is older than the most recently pruned checkpoint and
81
+ // can be dropped from `bySlot` too — including slot-only entries (no checkpoint number)
82
+ // which would otherwise leak, because removing by checkpoint number can't reach them.
83
+ let maxRemovedSlot;
84
+ for (const [n, archives] of this.byCheckpoint){
85
+ if (n < checkpointNumber) {
86
+ for (const entry of archives.values()){
87
+ // Only drop the slot index if it still points at the entry we're removing.
88
+ if (this.bySlot.get(entry.slot) === entry) {
89
+ this.bySlot.delete(entry.slot);
90
+ }
91
+ if (maxRemovedSlot === undefined || entry.slot > maxRemovedSlot) {
92
+ maxRemovedSlot = entry.slot;
93
+ }
94
+ }
95
+ this.byCheckpoint.delete(n);
96
+ }
97
+ }
98
+ if (maxRemovedSlot !== undefined) {
99
+ for (const slot of [
100
+ ...this.bySlot.keys()
101
+ ]){
102
+ if (slot < maxRemovedSlot) {
103
+ this.bySlot.delete(slot);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,18 @@
1
+ import type { Buffer32 } from '@aztec/foundation/buffer';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { type CoordinationSignatureContext } from '../p2p/signature_utils.js';
4
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
5
+ /**
6
+ * Computes the EIP-712 payload digest for a checkpoint proposal — the digest validators sign
7
+ * and the L1 contract verifies during `propose()`. Mirrors `ProposeLib.digest(ProposePayload)` on L1.
8
+ *
9
+ * The result is the same `bytes32` that gets stored in `tempCheckpointLogs[checkpointNumber].payloadDigest`,
10
+ * so this helper is also reused when constructing simulation state overrides for pipelined proposals.
11
+ */
12
+ export declare function computeCheckpointPayloadDigest(args: {
13
+ header: CheckpointHeader;
14
+ archiveRoot: Fr;
15
+ feeAssetPriceModifier: bigint;
16
+ signatureContext: CoordinationSignatureContext;
17
+ }): Buffer32;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9kaWdlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHekQsT0FBTyxFQUFFLEtBQUssNEJBQTRCLEVBQXNDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEU7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLDhCQUE4QixDQUFDLElBQUksRUFBRTtJQUNuRCxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDekIsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsZ0JBQWdCLEVBQUUsNEJBQTRCLENBQUM7Q0FDaEQsR0FBRyxRQUFRLENBUVgifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/checkpoint/digest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAE,KAAK,4BAA4B,EAAsC,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,EAAE,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,4BAA4B,CAAC;CAChD,GAAG,QAAQ,CAQX"}
@@ -0,0 +1,12 @@
1
+ import { ConsensusPayload } from '../p2p/consensus_payload.js';
2
+ import { getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
3
+ /**
4
+ * Computes the EIP-712 payload digest for a checkpoint proposal — the digest validators sign
5
+ * and the L1 contract verifies during `propose()`. Mirrors `ProposeLib.digest(ProposePayload)` on L1.
6
+ *
7
+ * The result is the same `bytes32` that gets stored in `tempCheckpointLogs[checkpointNumber].payloadDigest`,
8
+ * so this helper is also reused when constructing simulation state overrides for pipelined proposals.
9
+ */ export function computeCheckpointPayloadDigest(args) {
10
+ const consensusPayload = new ConsensusPayload(args.header, args.archiveRoot, args.feeAssetPriceModifier, args.signatureContext);
11
+ return getHashedSignaturePayloadTypedData(consensusPayload);
12
+ }
@@ -1,6 +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';
5
8
  export * from './validate.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUMifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkpoint/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,aAAa,CAAC;AAC5B,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC"}
@@ -1,5 +1,8 @@
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';
5
8
  export * from './validate.js';
@@ -0,0 +1,33 @@
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
+ import type { L2BlockSource } from '../block/l2_block_source.js';
5
+ import { type L1RollupConstants } from '../epoch-helpers/index.js';
6
+ import type { ProposedCheckpointData } from './checkpoint_data.js';
7
+ /**
8
+ * Returns the out hashes (in epoch order) of all checkpoints in `epoch` that precede
9
+ * `checkpointNumber`, used to compute the `epochOutHash` baked into that checkpoint's header.
10
+ *
11
+ * Under proposer pipelining the parent checkpoint may not be confirmed on L1 by the time the
12
+ * builder runs, so the on-chain archiver query (`getCheckpointsData`) is missing it and the
13
+ * resulting `epochOutHash` would diverge from what other validators (and L1) compute after the
14
+ * parent lands. To avoid that, the parent's `checkpointOutHash` is spliced in from the locally
15
+ * known proposed checkpoint when:
16
+ * - pipelining is enabled,
17
+ * - the archiver lookup is genuinely short (its last entry is not already cp `N-1`),
18
+ * - and the proposed cp `N-1` is in the same target epoch (otherwise we're at an epoch boundary
19
+ * and the previous-epoch cps must be excluded).
20
+ *
21
+ * Callers may either pass the already-loaded `proposedCheckpointData` (the proposer has it on
22
+ * hand) or leave it undefined, in which case it's fetched via `getProposedCheckpointData`.
23
+ */
24
+ export declare function getPreviousCheckpointOutHashes(input: {
25
+ blockSource: Pick<L2BlockSource, 'getCheckpointsData' | 'getProposedCheckpointData'>;
26
+ epoch: EpochNumber;
27
+ checkpointNumber: CheckpointNumber;
28
+ l1Constants: Pick<L1RollupConstants, 'epochDuration'>;
29
+ pipeliningEnabled: boolean;
30
+ proposedCheckpointData?: ProposedCheckpointData;
31
+ log?: Logger;
32
+ }): Promise<Fr[]>;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlvdXNfY2hlY2twb2ludF9vdXRfaGFzaGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9wcmV2aW91c19jaGVja3BvaW50X291dF9oYXNoZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckYsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FBQyxLQUFLLEVBQUU7SUFDMUQsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEdBQUcsMkJBQTJCLENBQUMsQ0FBQztJQUNyRixLQUFLLEVBQUUsV0FBVyxDQUFDO0lBQ25CLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEQsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO0lBQzNCLHNCQUFzQixDQUFDLEVBQUUsc0JBQXNCLENBQUM7SUFDaEQsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2QsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0EyQmhCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previous_checkpoint_out_hashes.d.ts","sourceRoot":"","sources":["../../src/checkpoint/previous_checkpoint_out_hashes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,GAAG,2BAA2B,CAAC,CAAC;IACrF,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACtD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CA2BhB"}
@@ -0,0 +1,45 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import { getEpochAtSlot } from '../epoch-helpers/index.js';
3
+ /**
4
+ * Returns the out hashes (in epoch order) of all checkpoints in `epoch` that precede
5
+ * `checkpointNumber`, used to compute the `epochOutHash` baked into that checkpoint's header.
6
+ *
7
+ * Under proposer pipelining the parent checkpoint may not be confirmed on L1 by the time the
8
+ * builder runs, so the on-chain archiver query (`getCheckpointsData`) is missing it and the
9
+ * resulting `epochOutHash` would diverge from what other validators (and L1) compute after the
10
+ * parent lands. To avoid that, the parent's `checkpointOutHash` is spliced in from the locally
11
+ * known proposed checkpoint when:
12
+ * - pipelining is enabled,
13
+ * - the archiver lookup is genuinely short (its last entry is not already cp `N-1`),
14
+ * - and the proposed cp `N-1` is in the same target epoch (otherwise we're at an epoch boundary
15
+ * and the previous-epoch cps must be excluded).
16
+ *
17
+ * Callers may either pass the already-loaded `proposedCheckpointData` (the proposer has it on
18
+ * hand) or leave it undefined, in which case it's fetched via `getProposedCheckpointData`.
19
+ */ export async function getPreviousCheckpointOutHashes(input) {
20
+ const { blockSource, epoch, checkpointNumber, l1Constants, pipeliningEnabled, log } = input;
21
+ const checkpointed = (await blockSource.getCheckpointsData({
22
+ epoch
23
+ })).filter((c)=>c.checkpointNumber < checkpointNumber).sort((a, b)=>a.checkpointNumber - b.checkpointNumber);
24
+ if (!pipeliningEnabled || checkpointNumber === 0) {
25
+ return checkpointed.map((c)=>c.checkpointOutHash);
26
+ }
27
+ const parentCheckpoint = CheckpointNumber(checkpointNumber - 1);
28
+ if (checkpointed.at(-1)?.checkpointNumber === parentCheckpoint) {
29
+ return checkpointed.map((c)=>c.checkpointOutHash);
30
+ }
31
+ const proposedParent = input.proposedCheckpointData ?? await blockSource.getProposedCheckpointData({
32
+ number: parentCheckpoint
33
+ });
34
+ if (!proposedParent || proposedParent.checkpointNumber !== parentCheckpoint) {
35
+ return checkpointed.map((c)=>c.checkpointOutHash);
36
+ }
37
+ if (getEpochAtSlot(proposedParent.header.slotNumber, l1Constants) !== epoch) {
38
+ return checkpointed.map((c)=>c.checkpointOutHash);
39
+ }
40
+ log?.debug(`Splicing pipelined parent cp ${parentCheckpoint} outHash for cp ${checkpointNumber}`);
41
+ return [
42
+ ...checkpointed.map((c)=>c.checkpointOutHash),
43
+ proposedParent.checkpointOutHash
44
+ ];
45
+ }