@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
@@ -3,19 +3,67 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import type { TypedEventEmitter } from '@aztec/foundation/types';
5
5
  import { z } from 'zod';
6
- import type { Checkpoint } from '../checkpoint/checkpoint.js';
7
- import type { CheckpointData } from '../checkpoint/checkpoint_data.js';
6
+ import type { CheckpointData, ProposedCheckpointData, ProposedCheckpointInput } from '../checkpoint/checkpoint_data.js';
7
+ import type { CheckpointInfo } from '../checkpoint/checkpoint_info.js';
8
8
  import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
9
9
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
10
- import type { BlockHeader } from '../tx/block_header.js';
10
+ import type { L2ToL1MembershipWitness } from '../messaging/l2_to_l1_membership.js';
11
11
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
12
12
  import type { TxHash } from '../tx/tx_hash.js';
13
- import type { TxReceipt } from '../tx/tx_receipt.js';
14
13
  import type { BlockData } from './block_data.js';
15
- import type { BlockHash } from './block_hash.js';
16
- import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
14
+ import { BlockHash } from './block_hash.js';
15
+ import { type NormalizedBlockParameter } from './block_parameter.js';
17
16
  import type { L2Block } from './l2_block.js';
18
17
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
18
+ /** Lookup a single block by block number, hash, archive root, or chain-tip tag. */
19
+ export type BlockQuery = NormalizedBlockParameter;
20
+ /**
21
+ * Query a range of blocks by start/limit or by epoch.
22
+ *
23
+ * The `epoch` variant requires `onlyCheckpointed: true` because epoch boundaries are only
24
+ * meaningful for the checkpointed chain — the proposed chain may include uncheckpointed
25
+ * blocks past the epoch boundary that callers should not receive.
26
+ */
27
+ export type BlocksQuery = {
28
+ from: BlockNumber;
29
+ limit: number;
30
+ onlyCheckpointed?: boolean;
31
+ } | {
32
+ epoch: EpochNumber;
33
+ onlyCheckpointed: true;
34
+ };
35
+ export declare const BlockQuerySchema: z.ZodType<BlockQuery, unknown>;
36
+ export declare const BlocksQuerySchema: z.ZodType<BlocksQuery, unknown>;
37
+ /** Lookup a single confirmed checkpoint by checkpoint number, slot, or chain-tip tag. */
38
+ export type CheckpointQuery = {
39
+ number: CheckpointNumber;
40
+ } | {
41
+ slot: SlotNumber;
42
+ } | {
43
+ tag: 'checkpointed' | 'proven' | 'finalized';
44
+ };
45
+ /** Query a range of confirmed checkpoints by start/limit or by epoch. */
46
+ export type CheckpointsQuery = {
47
+ from: CheckpointNumber;
48
+ limit: number;
49
+ } | {
50
+ epoch: EpochNumber;
51
+ };
52
+ /**
53
+ * Lookup a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
54
+ * Distinct from CheckpointQuery because proposed checkpoints have a different shape
55
+ * (no l1, no attestations, but carries totalManaUsed) and live in their own LMDB map.
56
+ */
57
+ export type ProposedCheckpointQuery = {
58
+ number: CheckpointNumber;
59
+ } | {
60
+ slot: SlotNumber;
61
+ } | {
62
+ tag: 'proposed';
63
+ };
64
+ export declare const CheckpointQuerySchema: z.ZodType<CheckpointQuery, unknown>;
65
+ export declare const CheckpointsQuerySchema: z.ZodType<CheckpointsQuery, unknown>;
66
+ export declare const ProposedCheckpointQuerySchema: z.ZodType<ProposedCheckpointQuery, unknown>;
19
67
  /**
20
68
  * Interface of classes allowing for the retrieval of L2 blocks.
21
69
  */
@@ -35,100 +83,42 @@ export interface L2BlockSource {
35
83
  * @returns The number of the latest L2 block processed by the block source implementation.
36
84
  */
37
85
  getBlockNumber(): Promise<BlockNumber>;
86
+ /**
87
+ * Resolves a {@link BlockQuery} to its concrete L2 block number.
88
+ * @param query - Lookup by block number, hash, archive root, or chain-tip tag.
89
+ * @returns The block number, or undefined if no block matches the query.
90
+ */
91
+ getBlockNumber(query: BlockQuery): Promise<BlockNumber | undefined>;
92
+ getBlockNumber(query?: BlockQuery): Promise<BlockNumber | undefined>;
38
93
  /**
39
94
  * Gets the number of the latest L2 checkpoint processed by the block source implementation.
40
95
  * @returns The number of the latest L2 checkpoint processed by the block source implementation.
41
96
  */
42
97
  getCheckpointNumber(): Promise<CheckpointNumber>;
43
98
  /**
44
- * Gets the number of the latest L2 block proven seen by the block source implementation.
45
- * @returns The number of the latest L2 block proven seen by the block source implementation.
99
+ * Gets a single confirmed checkpoint matching the given query.
100
+ * Heavy shape: includes nested full `L2Block`s with transaction bodies.
101
+ * @param query - Lookup by checkpoint number, slot, or chain-tip tag.
46
102
  */
47
- getProvenBlockNumber(): Promise<BlockNumber>;
103
+ getCheckpoint(query: CheckpointQuery): Promise<PublishedCheckpoint | undefined>;
48
104
  /**
49
- * Gets the number of the latest L2 block checkpointed seen by the block source implementation.
50
- * @returns The number of the latest L2 block checkpointed seen by the block source implementation.
105
+ * Gets a collection of confirmed checkpoints matching the given query.
106
+ * Heavy shape: includes nested full `L2Block`s with transaction bodies.
107
+ * @param query - Range by start/limit or by epoch.
51
108
  */
52
- getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
109
+ getCheckpoints(query: CheckpointsQuery): Promise<PublishedCheckpoint[]>;
53
110
  /**
54
- * Returns the finalized L2 block number. A block is finalized when it was proven
55
- * in an L1 block that has itself been finalized on Ethereum.
56
- * @returns The finalized block number.
111
+ * Gets lightweight checkpoint metadata for a single checkpoint.
112
+ * Cheap passthrough for metadata-only queries (no block body reads).
113
+ * @param query - Lookup by checkpoint number, slot, or chain-tip tag.
57
114
  */
58
- getFinalizedL2BlockNumber(): Promise<BlockNumber>;
115
+ getCheckpointData(query: CheckpointQuery): Promise<CheckpointData | undefined>;
59
116
  /**
60
- * Gets an l2 block header.
61
- * @param number - The block number to return or 'latest' for the most recent one.
62
- * @returns The requested L2 block header.
117
+ * Gets a collection of lightweight checkpoint metadata entries matching the given query.
118
+ * Cheap passthrough for metadata-only queries (no block body reads).
119
+ * @param query - Range by start/limit or by epoch.
63
120
  */
64
- getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
65
- /**
66
- * Gets a checkpointed L2 block by block number.
67
- * Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
68
- * @param number - The block number to retrieve.
69
- * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
70
- */
71
- getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
72
- getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
73
- /**
74
- * Retrieves a collection of checkpoints.
75
- * @param checkpointNumber The first checkpoint to be retrieved.
76
- * @param limit The number of checkpoints to be retrieved.
77
- * @returns The collection of complete checkpoints.
78
- */
79
- getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
80
- /**
81
- * Gets the checkpoints for a given epoch
82
- * @param epochNumber - Epoch for which we want checkpoint data
83
- */
84
- getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
85
- /**
86
- * Gets lightweight checkpoint metadata for a given epoch, without fetching full block data.
87
- * @param epochNumber - Epoch for which we want checkpoint data
88
- */
89
- getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
90
- /**
91
- * Gets a block header by its hash.
92
- * @param blockHash - The block hash to retrieve.
93
- * @returns The requested block header (or undefined if not found).
94
- */
95
- getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
96
- /**
97
- * Gets a block header by its archive root.
98
- * @param archive - The archive root to retrieve.
99
- * @returns The requested block header (or undefined if not found).
100
- */
101
- getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
102
- /**
103
- * Gets block metadata (without tx data) by block number.
104
- * @param number - The block number to retrieve.
105
- * @returns The requested block data (or undefined if not found).
106
- */
107
- getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
108
- /**
109
- * Gets block metadata (without tx data) by archive root.
110
- * @param archive - The archive root to retrieve.
111
- * @returns The requested block data (or undefined if not found).
112
- */
113
- getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
114
- /**
115
- * Gets an L2 block by block number.
116
- * @param number - The block number to return.
117
- * @returns The requested L2 block (or undefined if not found).
118
- */
119
- getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
120
- /**
121
- * Gets an L2 block by its hash.
122
- * @param blockHash - The block hash to retrieve.
123
- * @returns The requested L2 block (or undefined if not found).
124
- */
125
- getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
126
- /**
127
- * Gets an L2 block by its archive root.
128
- * @param archive - The archive root to retrieve.
129
- * @returns The requested L2 block (or undefined if not found).
130
- */
131
- getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
121
+ getCheckpointsData(query: CheckpointsQuery): Promise<CheckpointData[]>;
132
122
  /**
133
123
  * Gets a tx effect.
134
124
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -136,11 +126,17 @@ export interface L2BlockSource {
136
126
  */
137
127
  getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
138
128
  /**
139
- * Gets a receipt of a settled tx.
140
- * @param txHash - The hash of a tx we try to get the receipt for.
141
- * @returns The requested tx receipt (or undefined if not found).
129
+ * Returns the L2-to-L1 membership witness for `message` emitted by tx `txHash`, built against the
130
+ * smallest partial-proof root on the Outbox that covers the tx's checkpoint.
131
+ *
132
+ * The Outbox roots are read lazily, pinned to the node's synced L1 block, so the witness reflects
133
+ * the node's synced view. Returns `undefined` if the tx isn't yet in a block/epoch or no covering
134
+ * root has landed on L1 as of the synced block.
135
+ *
136
+ * Caveat: cached roots that are sealed and L1-finalized are not re-validated. A reorg deeper than
137
+ * L1 finality could leave the node serving a witness against a no-longer-canonical root.
142
138
  */
143
- getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
139
+ getL2ToL1MembershipWitness(txHash: TxHash, message: Fr, messageIndexInTx?: number): Promise<L2ToL1MembershipWitness | undefined>;
144
140
  /**
145
141
  * Returns the last L2 slot number for which we have all L1 data needed to build the next checkpoint.
146
142
  * Determined by the max of two signals: L1 block sync progress and latest synced checkpoint slot.
@@ -153,12 +149,6 @@ export interface L2BlockSource {
153
149
  * An epoch is fully synced when all its L2 slots have been fully synced.
154
150
  */
155
151
  getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
156
- /**
157
- * Returns all checkpointed block headers for a given epoch.
158
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
159
- * @param epochNumber - The epoch number to return headers for.
160
- */
161
- getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
162
152
  /**
163
153
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
164
154
  * @param epochNumber - The epoch number to check.
@@ -172,10 +162,21 @@ export interface L2BlockSource {
172
162
  * Returns the rollup constants for the current chain.
173
163
  */
174
164
  getL1Constants(): Promise<L1RollupConstants>;
165
+ /**
166
+ * Returns true iff `canPruneAtTime` would be true at the latest L1 timestamp inside
167
+ * the L2 slot's window. Computed entirely from local archiver state (no L1 RPC).
168
+ * @param slot - The L2 slot to check.
169
+ */
170
+ isPruneDueAtSlot(slot: SlotNumber): Promise<boolean>;
175
171
  /** Returns values for the genesis block */
176
172
  getGenesisValues(): Promise<{
177
173
  genesisArchiveRoot: Fr;
178
174
  }>;
175
+ /**
176
+ * Returns the precomputed hash of the genesis block header. Synchronous because the hash
177
+ * is derived from the initial block header at construction time and cached by implementers.
178
+ */
179
+ getGenesisBlockHash(): BlockHash;
179
180
  /** Latest synced L1 timestamp. */
180
181
  getL1Timestamp(): Promise<bigint | undefined>;
181
182
  /**
@@ -188,45 +189,41 @@ export interface L2BlockSource {
188
189
  * checkpoint that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
189
190
  */
190
191
  getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
191
- /** Force a sync. */
192
- syncImmediate(): Promise<void>;
193
192
  /**
194
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
195
- * @param number - The block number to return (inclusive).
196
- * @returns The requested L2 block.
193
+ * Looks up a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
194
+ * Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`.
195
+ * With `{ number }` or `{ slot }`, returns the matching entry or undefined.
196
+ * Never falls back to confirmed checkpoints.
197
197
  */
198
- getBlock(number: BlockNumber): Promise<L2Block | undefined>;
198
+ getProposedCheckpointData(query?: ProposedCheckpointQuery): Promise<ProposedCheckpointData | undefined>;
199
+ /** Force a sync. */
200
+ syncImmediate(): Promise<void>;
199
201
  /**
200
- * Returns all checkpointed blocks for a given epoch.
201
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
202
- * @param epochNumber - The epoch number to return blocks for.
202
+ * Gets an L2 block matching the given query.
203
+ * @param query - Lookup by block number, hash, or archive root.
203
204
  */
204
- getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
205
+ getBlock(query: BlockQuery): Promise<L2Block | undefined>;
205
206
  /**
206
- * Returns all blocks for a given slot.
207
- * @dev Use this method only with recent slots, since it walks the block list backwards.
208
- * @param slotNumber - The slot number to return blocks for.
207
+ * Gets a collection of L2 blocks matching the given query.
208
+ * @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
209
209
  */
210
- getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
210
+ getBlocks(query: BlocksQuery): Promise<L2Block[]>;
211
211
  /**
212
- * Gets a checkpointed block by its block hash.
213
- * @param blockHash - The block hash to retrieve.
214
- * @returns The requested block (or undefined if not found).
212
+ * Gets block metadata (without tx data) matching the given query.
213
+ * @param query - Lookup by block number, hash, or archive root.
215
214
  */
216
- getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
215
+ getBlockData(query: BlockQuery): Promise<BlockData | undefined>;
217
216
  /**
218
- * Gets a checkpointed block by its archive root.
219
- * @param archive - The archive root to retrieve.
220
- * @returns The requested block (or undefined if not found).
217
+ * Gets a collection of block metadata entries matching the given query.
218
+ * @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
221
219
  */
222
- getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
220
+ getBlocksData(query: BlocksQuery): Promise<BlockData[]>;
223
221
  /**
224
- * Gets up to `limit` amount of L2 blocks starting from `from`.
225
- * @param from - Number of the first block to return (inclusive).
226
- * @param limit - The maximum number of blocks to return.
227
- * @returns The requested L2 blocks.
222
+ * Returns all blocks for a given slot.
223
+ * @dev Use this method only with recent slots, since it walks the block list backwards.
224
+ * @param slotNumber - The slot number to return blocks for.
228
225
  */
229
- getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
226
+ getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
230
227
  }
231
228
  /**
232
229
  * Interface for classes that can receive and store L2 blocks.
@@ -239,6 +236,18 @@ export interface L2BlockSink {
239
236
  */
240
237
  addBlock(block: L2Block): Promise<void>;
241
238
  }
239
+ /**
240
+ * Interface for classes that can receive and store proposed (not-yet-L1-confirmed) checkpoints.
241
+ */
242
+ export interface ProposedCheckpointSink {
243
+ /**
244
+ * Adds a proposed checkpoint to the store. The archive and checkpointOutHash are computed
245
+ * internally from the already-stored blocks, so every block in the checkpoint must be added
246
+ * (via {@link L2BlockSink.addBlock}) before calling this.
247
+ * @param checkpoint - The proposed checkpoint metadata.
248
+ */
249
+ addProposedCheckpoint(checkpoint: ProposedCheckpointInput): Promise<void>;
250
+ }
242
251
  /**
243
252
  * L2BlockSource that emits events upon pending / proven chain changes.
244
253
  * see L2BlockSourceEvents for the events emitted.
@@ -249,22 +258,32 @@ export type ArchiverEmitter = TypedEventEmitter<{
249
258
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
250
259
  [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
251
260
  [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
261
+ [L2BlockSourceEvents.CheckpointEquivocationDetected]: (args: CheckpointEquivocationDetectedEvent) => void;
262
+ [L2BlockSourceEvents.DescendentOfInvalidAttestationsCheckpointDetected]: (args: DescendentOfInvalidAttestationsCheckpointEvent) => void;
252
263
  }>;
253
264
  export interface L2BlockSourceEventEmitter extends L2BlockSource {
254
265
  events: ArchiverEmitter;
255
266
  }
256
267
  /**
257
- * Identifier for L2 block tags.
268
+ * Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that exposes
269
+ * the additional `proposedCheckpoint` value (used for the optimistic chain tip on the
270
+ * archiver side) and omits `latest` (which is an alias for `proposed` accepted only at
271
+ * the public RPC surface).
272
+ *
258
273
  * - proposed: Latest block proposed on L2.
259
- * - checkpointed: Checkpointed block on L1.
260
- * - proven: Proven block on L1.
261
- * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
274
+ * - proposedCheckpoint: Latest block in the most recent proposed checkpoint (archiver-internal).
275
+ * - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
276
+ * - proven: Latest block whose enclosing checkpoint has been proven on L1.
277
+ * - finalized: Latest block whose proving L1 transaction has reached L1 finality.
278
+ *
279
+ * TODO(palla): Remove `proposedCheckpoint` and unify with `proposed`.
262
280
  */
263
- export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
281
+ export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
264
282
  /** Tips of the L2 chain. */
265
283
  export type L2Tips = {
266
284
  proposed: L2BlockId;
267
285
  checkpointed: L2TipId;
286
+ proposedCheckpoint: L2TipId;
268
287
  proven: L2TipId;
269
288
  finalized: L2TipId;
270
289
  };
@@ -288,252 +307,58 @@ export declare function makeL2BlockId(number: BlockNumber, hash?: string): L2Blo
288
307
  export declare function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId;
289
308
  export declare const L2TipsSchema: z.ZodObject<{
290
309
  proposed: z.ZodObject<{
291
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
310
+ number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
292
311
  hash: z.ZodString;
293
- }, "strip", z.ZodTypeAny, {
294
- number: number & {
295
- _branding: "BlockNumber";
296
- };
297
- hash: string;
298
- }, {
299
- number: string | number | bigint;
300
- hash: string;
301
- }>;
312
+ }, z.core.$strip>;
302
313
  checkpointed: z.ZodObject<{
303
314
  block: z.ZodObject<{
304
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
315
+ number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
305
316
  hash: z.ZodString;
306
- }, "strip", z.ZodTypeAny, {
307
- number: number & {
308
- _branding: "BlockNumber";
309
- };
310
- hash: string;
311
- }, {
312
- number: string | number | bigint;
313
- hash: string;
314
- }>;
317
+ }, z.core.$strip>;
315
318
  checkpoint: z.ZodObject<{
316
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
319
+ number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
317
320
  hash: z.ZodString;
318
- }, "strip", z.ZodTypeAny, {
319
- number: number & {
320
- _branding: "CheckpointNumber";
321
- };
322
- hash: string;
323
- }, {
324
- number: string | number | bigint;
325
- hash: string;
326
- }>;
327
- }, "strip", z.ZodTypeAny, {
328
- block: {
329
- number: number & {
330
- _branding: "BlockNumber";
331
- };
332
- hash: string;
333
- };
334
- checkpoint: {
335
- number: number & {
336
- _branding: "CheckpointNumber";
337
- };
338
- hash: string;
339
- };
340
- }, {
341
- block: {
342
- number: string | number | bigint;
343
- hash: string;
344
- };
345
- checkpoint: {
346
- number: string | number | bigint;
347
- hash: string;
348
- };
349
- }>;
321
+ }, z.core.$strip>;
322
+ }, z.core.$strip>;
323
+ proposedCheckpoint: z.ZodObject<{
324
+ block: z.ZodObject<{
325
+ number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
326
+ hash: z.ZodString;
327
+ }, z.core.$strip>;
328
+ checkpoint: z.ZodObject<{
329
+ number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
330
+ hash: z.ZodString;
331
+ }, z.core.$strip>;
332
+ }, z.core.$strip>;
350
333
  proven: z.ZodObject<{
351
334
  block: z.ZodObject<{
352
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
335
+ number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
353
336
  hash: z.ZodString;
354
- }, "strip", z.ZodTypeAny, {
355
- number: number & {
356
- _branding: "BlockNumber";
357
- };
358
- hash: string;
359
- }, {
360
- number: string | number | bigint;
361
- hash: string;
362
- }>;
337
+ }, z.core.$strip>;
363
338
  checkpoint: z.ZodObject<{
364
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
339
+ number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
365
340
  hash: z.ZodString;
366
- }, "strip", z.ZodTypeAny, {
367
- number: number & {
368
- _branding: "CheckpointNumber";
369
- };
370
- hash: string;
371
- }, {
372
- number: string | number | bigint;
373
- hash: string;
374
- }>;
375
- }, "strip", z.ZodTypeAny, {
376
- block: {
377
- number: number & {
378
- _branding: "BlockNumber";
379
- };
380
- hash: string;
381
- };
382
- checkpoint: {
383
- number: number & {
384
- _branding: "CheckpointNumber";
385
- };
386
- hash: string;
387
- };
388
- }, {
389
- block: {
390
- number: string | number | bigint;
391
- hash: string;
392
- };
393
- checkpoint: {
394
- number: string | number | bigint;
395
- hash: string;
396
- };
397
- }>;
341
+ }, z.core.$strip>;
342
+ }, z.core.$strip>;
398
343
  finalized: z.ZodObject<{
399
344
  block: z.ZodObject<{
400
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
345
+ number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
401
346
  hash: z.ZodString;
402
- }, "strip", z.ZodTypeAny, {
403
- number: number & {
404
- _branding: "BlockNumber";
405
- };
406
- hash: string;
407
- }, {
408
- number: string | number | bigint;
409
- hash: string;
410
- }>;
347
+ }, z.core.$strip>;
411
348
  checkpoint: z.ZodObject<{
412
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
349
+ number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
413
350
  hash: z.ZodString;
414
- }, "strip", z.ZodTypeAny, {
415
- number: number & {
416
- _branding: "CheckpointNumber";
417
- };
418
- hash: string;
419
- }, {
420
- number: string | number | bigint;
421
- hash: string;
422
- }>;
423
- }, "strip", z.ZodTypeAny, {
424
- block: {
425
- number: number & {
426
- _branding: "BlockNumber";
427
- };
428
- hash: string;
429
- };
430
- checkpoint: {
431
- number: number & {
432
- _branding: "CheckpointNumber";
433
- };
434
- hash: string;
435
- };
436
- }, {
437
- block: {
438
- number: string | number | bigint;
439
- hash: string;
440
- };
441
- checkpoint: {
442
- number: string | number | bigint;
443
- hash: string;
444
- };
445
- }>;
446
- }, "strip", z.ZodTypeAny, {
447
- proposed: {
448
- number: number & {
449
- _branding: "BlockNumber";
450
- };
451
- hash: string;
452
- };
453
- checkpointed: {
454
- block: {
455
- number: number & {
456
- _branding: "BlockNumber";
457
- };
458
- hash: string;
459
- };
460
- checkpoint: {
461
- number: number & {
462
- _branding: "CheckpointNumber";
463
- };
464
- hash: string;
465
- };
466
- };
467
- proven: {
468
- block: {
469
- number: number & {
470
- _branding: "BlockNumber";
471
- };
472
- hash: string;
473
- };
474
- checkpoint: {
475
- number: number & {
476
- _branding: "CheckpointNumber";
477
- };
478
- hash: string;
479
- };
480
- };
481
- finalized: {
482
- block: {
483
- number: number & {
484
- _branding: "BlockNumber";
485
- };
486
- hash: string;
487
- };
488
- checkpoint: {
489
- number: number & {
490
- _branding: "CheckpointNumber";
491
- };
492
- hash: string;
493
- };
494
- };
495
- }, {
496
- proposed: {
497
- number: string | number | bigint;
498
- hash: string;
499
- };
500
- checkpointed: {
501
- block: {
502
- number: string | number | bigint;
503
- hash: string;
504
- };
505
- checkpoint: {
506
- number: string | number | bigint;
507
- hash: string;
508
- };
509
- };
510
- proven: {
511
- block: {
512
- number: string | number | bigint;
513
- hash: string;
514
- };
515
- checkpoint: {
516
- number: string | number | bigint;
517
- hash: string;
518
- };
519
- };
520
- finalized: {
521
- block: {
522
- number: string | number | bigint;
523
- hash: string;
524
- };
525
- checkpoint: {
526
- number: string | number | bigint;
527
- hash: string;
528
- };
529
- };
530
- }>;
351
+ }, z.core.$strip>;
352
+ }, z.core.$strip>;
353
+ }, z.core.$strip>;
531
354
  export declare enum L2BlockSourceEvents {
532
355
  L2PruneUnproven = "l2PruneUnproven",
533
356
  L2PruneUncheckpointed = "l2PruneUncheckpointed",
534
357
  L2BlockProven = "l2BlockProven",
535
358
  L2BlocksCheckpointed = "l2BlocksCheckpointed",
536
- InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected"
359
+ InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected",
360
+ CheckpointEquivocationDetected = "checkpointEquivocationDetected",
361
+ DescendentOfInvalidAttestationsCheckpointDetected = "descendentOfInvalidAttestationsCheckpointDetected"
537
362
  }
538
363
  export type L2BlockProvenEvent = {
539
364
  type: 'l2BlockProven';
@@ -559,4 +384,30 @@ export type InvalidCheckpointDetectedEvent = {
559
384
  type: 'invalidCheckpointDetected';
560
385
  validationResult: ValidateCheckpointNegativeResult;
561
386
  };
562
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8s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
387
+ /**
388
+ * Emitted when a local proposed checkpoint is found to disagree with the L1-confirmed
389
+ * checkpoint at the same slot. The slot proposer signed both — equivocation.
390
+ */
391
+ export type CheckpointEquivocationDetectedEvent = {
392
+ type: 'checkpointEquivocationDetected';
393
+ slotNumber: SlotNumber;
394
+ checkpointNumber: CheckpointNumber;
395
+ l1ArchiveRoot: Fr;
396
+ proposedArchiveRoot: Fr;
397
+ };
398
+ /**
399
+ * Emitted when the archiver observes a checkpoint that builds on a previously-rejected
400
+ * ancestor (typically one with insufficient/invalid attestations). The descendant itself may
401
+ * have valid attestations, but it cannot be ingested because the chain it extends was
402
+ * skipped. The slasher uses this to slash the proposer of the descendant.
403
+ */
404
+ export type DescendentOfInvalidAttestationsCheckpointEvent = {
405
+ type: 'descendentOfInvalidAttestationsCheckpointDetected';
406
+ /** The descendant checkpoint being rejected. */
407
+ checkpoint: CheckpointInfo;
408
+ /** Archive root of the rejected ancestor this descendant builds on. */
409
+ ancestorArchiveRoot: Fr;
410
+ /** Checkpoint number of the rejected ancestor. */
411
+ ancestorCheckpointNumber: CheckpointNumber;
412
+ };
413
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbkYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBK0IsS0FBSyx3QkFBd0IsRUFBRSxNQUFN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