@aztec/stdlib 0.0.1-commit.04852196a → 0.0.1-commit.04d373f

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