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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +6 -3
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +8 -8
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +9 -6
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +216 -357
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +67 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +46 -7
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +57 -21
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +12 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +66 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +202 -33
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +4 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +3 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/validate.d.ts +11 -3
  127. package/dest/checkpoint/validate.d.ts.map +1 -1
  128. package/dest/checkpoint/validate.js +11 -8
  129. package/dest/config/chain-config.d.ts +4 -9
  130. package/dest/config/chain-config.d.ts.map +1 -1
  131. package/dest/config/chain-config.js +13 -12
  132. package/dest/config/index.d.ts +2 -1
  133. package/dest/config/index.d.ts.map +1 -1
  134. package/dest/config/index.js +1 -0
  135. package/dest/config/network-consensus-config.d.ts +72 -0
  136. package/dest/config/network-consensus-config.d.ts.map +1 -0
  137. package/dest/config/network-consensus-config.js +231 -0
  138. package/dest/config/sequencer-config.d.ts +7 -3
  139. package/dest/config/sequencer-config.d.ts.map +1 -1
  140. package/dest/config/sequencer-config.js +38 -5
  141. package/dest/contract/complete_address.d.ts +3 -2
  142. package/dest/contract/complete_address.d.ts.map +1 -1
  143. package/dest/contract/complete_address.js +6 -2
  144. package/dest/contract/contract_address.d.ts +6 -6
  145. package/dest/contract/contract_address.d.ts.map +1 -1
  146. package/dest/contract/contract_address.js +6 -5
  147. package/dest/contract/contract_class_id.d.ts +2 -2
  148. package/dest/contract/contract_class_id.js +2 -2
  149. package/dest/contract/contract_deployment_data.d.ts +15 -61
  150. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.d.ts +4 -2
  152. package/dest/contract/contract_instance.d.ts.map +1 -1
  153. package/dest/contract/contract_instance.js +10 -3
  154. package/dest/contract/index.d.ts +1 -3
  155. package/dest/contract/index.d.ts.map +1 -1
  156. package/dest/contract/index.js +0 -2
  157. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  158. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  159. package/dest/contract/interfaces/contract_class.js +1 -28
  160. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  161. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  162. package/dest/contract/interfaces/contract_instance.js +4 -2
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  164. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +11 -1
  166. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  167. package/dest/contract/interfaces/node-info.js +7 -1
  168. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  170. package/dest/contract/private_function.d.ts +1 -1
  171. package/dest/contract/private_function.d.ts.map +1 -1
  172. package/dest/contract/private_function.js +2 -4
  173. package/dest/database-version/database_version.d.ts +5 -11
  174. package/dest/database-version/database_version.d.ts.map +1 -1
  175. package/dest/database-version/version_manager.d.ts +6 -2
  176. package/dest/database-version/version_manager.d.ts.map +1 -1
  177. package/dest/database-version/version_manager.js +12 -1
  178. package/dest/deserialization/index.d.ts +35 -3
  179. package/dest/deserialization/index.d.ts.map +1 -1
  180. package/dest/deserialization/index.js +32 -1
  181. package/dest/epoch-helpers/index.d.ts +10 -22
  182. package/dest/epoch-helpers/index.d.ts.map +1 -1
  183. package/dest/epoch-helpers/index.js +12 -0
  184. package/dest/file-store/factory.d.ts +4 -3
  185. package/dest/file-store/factory.d.ts.map +1 -1
  186. package/dest/file-store/factory.js +2 -2
  187. package/dest/file-store/http.d.ts +9 -2
  188. package/dest/file-store/http.d.ts.map +1 -1
  189. package/dest/file-store/http.js +20 -9
  190. package/dest/file-store/index.d.ts +2 -1
  191. package/dest/file-store/index.d.ts.map +1 -1
  192. package/dest/gas/fee_math.d.ts +49 -0
  193. package/dest/gas/fee_math.d.ts.map +1 -0
  194. package/dest/gas/fee_math.js +80 -0
  195. package/dest/gas/gas.d.ts +9 -14
  196. package/dest/gas/gas.d.ts.map +1 -1
  197. package/dest/gas/gas.js +6 -3
  198. package/dest/gas/gas_fees.d.ts +13 -14
  199. package/dest/gas/gas_fees.d.ts.map +1 -1
  200. package/dest/gas/gas_fees.js +17 -4
  201. package/dest/gas/gas_settings.d.ts +60 -86
  202. package/dest/gas/gas_settings.d.ts.map +1 -1
  203. package/dest/gas/gas_settings.js +49 -9
  204. package/dest/gas/index.d.ts +3 -1
  205. package/dest/gas/index.d.ts.map +1 -1
  206. package/dest/gas/index.js +2 -0
  207. package/dest/gas/tx_gas_limits.d.ts +72 -0
  208. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  209. package/dest/gas/tx_gas_limits.js +85 -0
  210. package/dest/ha-signing/config.d.ts +11 -75
  211. package/dest/ha-signing/config.d.ts.map +1 -1
  212. package/dest/ha-signing/config.js +9 -18
  213. package/dest/ha-signing/index.d.ts +2 -2
  214. package/dest/ha-signing/index.d.ts.map +1 -1
  215. package/dest/ha-signing/index.js +1 -1
  216. package/dest/ha-signing/local_config.d.ts +3 -34
  217. package/dest/ha-signing/local_config.d.ts.map +1 -1
  218. package/dest/ha-signing/local_config.js +2 -2
  219. package/dest/ha-signing/types.d.ts +37 -32
  220. package/dest/ha-signing/types.d.ts.map +1 -1
  221. package/dest/ha-signing/types.js +13 -6
  222. package/dest/hash/hash.d.ts +34 -1
  223. package/dest/hash/hash.d.ts.map +1 -1
  224. package/dest/hash/hash.js +63 -2
  225. package/dest/interfaces/allowed_element.d.ts +4 -28
  226. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  227. package/dest/interfaces/api_limit.d.ts +1 -1
  228. package/dest/interfaces/api_limit.js +1 -1
  229. package/dest/interfaces/archiver.d.ts +20 -32
  230. package/dest/interfaces/archiver.d.ts.map +1 -1
  231. package/dest/interfaces/archiver.js +215 -70
  232. package/dest/interfaces/aztec-node-admin.d.ts +71 -308
  233. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node-admin.js +60 -17
  235. package/dest/interfaces/aztec-node-debug.d.ts +34 -0
  236. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  237. package/dest/interfaces/aztec-node-debug.js +29 -0
  238. package/dest/interfaces/aztec-node.d.ts +156 -112
  239. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  240. package/dest/interfaces/aztec-node.js +354 -71
  241. package/dest/interfaces/block-builder.d.ts +30 -7
  242. package/dest/interfaces/block-builder.d.ts.map +1 -1
  243. package/dest/interfaces/block-builder.js +1 -4
  244. package/dest/interfaces/block_response.d.ts +90 -0
  245. package/dest/interfaces/block_response.d.ts.map +1 -0
  246. package/dest/interfaces/block_response.js +30 -0
  247. package/dest/interfaces/chain_tips.d.ts +50 -0
  248. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  249. package/dest/interfaces/chain_tips.js +11 -0
  250. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  251. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  252. package/dest/interfaces/checkpoint_parameter.js +18 -0
  253. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  254. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  255. package/dest/interfaces/checkpoint_response.js +26 -0
  256. package/dest/interfaces/client.d.ts +9 -2
  257. package/dest/interfaces/client.d.ts.map +1 -1
  258. package/dest/interfaces/client.js +7 -1
  259. package/dest/interfaces/configs.d.ts +63 -139
  260. package/dest/interfaces/configs.d.ts.map +1 -1
  261. package/dest/interfaces/configs.js +13 -3
  262. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  263. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  264. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  265. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  266. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  267. package/dest/interfaces/l1_publish_info.js +26 -0
  268. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  269. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  270. package/dest/interfaces/l2_logs_source.js +5 -0
  271. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  272. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  273. package/dest/interfaces/p2p-bootstrap.js +8 -2
  274. package/dest/interfaces/p2p.d.ts +46 -7
  275. package/dest/interfaces/p2p.d.ts.map +1 -1
  276. package/dest/interfaces/p2p.js +41 -6
  277. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  278. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  279. package/dest/interfaces/prover-agent.d.ts +5 -23
  280. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  281. package/dest/interfaces/prover-agent.js +4 -1
  282. package/dest/interfaces/prover-client.d.ts +7 -29
  283. package/dest/interfaces/prover-client.d.ts.map +1 -1
  284. package/dest/interfaces/prover-client.js +0 -3
  285. package/dest/interfaces/prover-node.d.ts +8 -3
  286. package/dest/interfaces/prover-node.d.ts.map +1 -1
  287. package/dest/interfaces/prover-node.js +30 -14
  288. package/dest/interfaces/proving-job-source.js +24 -4
  289. package/dest/interfaces/proving-job.d.ts +763 -5814
  290. package/dest/interfaces/proving-job.d.ts.map +1 -1
  291. package/dest/interfaces/proving-job.js +1 -1
  292. package/dest/interfaces/public_storage_override.d.ts +22 -0
  293. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  294. package/dest/interfaces/public_storage_override.js +7 -0
  295. package/dest/interfaces/server.d.ts +6 -2
  296. package/dest/interfaces/server.d.ts.map +1 -1
  297. package/dest/interfaces/server.js +5 -1
  298. package/dest/interfaces/slasher.d.ts +25 -65
  299. package/dest/interfaces/slasher.d.ts.map +1 -1
  300. package/dest/interfaces/slasher.js +8 -4
  301. package/dest/interfaces/tx_provider.d.ts +6 -1
  302. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  303. package/dest/interfaces/validator.d.ts +55 -248
  304. package/dest/interfaces/validator.d.ts.map +1 -1
  305. package/dest/interfaces/validator.js +8 -2
  306. package/dest/interfaces/world_state.d.ts +2 -2
  307. package/dest/interfaces/world_state.d.ts.map +1 -1
  308. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  309. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  310. package/dest/kernel/hints/key_validation_request.js +20 -18
  311. package/dest/kernel/index.d.ts +5 -1
  312. package/dest/kernel/index.d.ts.map +1 -1
  313. package/dest/kernel/index.js +4 -0
  314. package/dest/kernel/log_hash.d.ts +6 -2
  315. package/dest/kernel/log_hash.d.ts.map +1 -1
  316. package/dest/kernel/log_hash.js +21 -9
  317. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  318. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  320. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  321. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  322. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  324. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  325. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  326. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  327. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  328. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  329. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  330. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  331. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  332. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  333. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  334. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  336. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  338. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  339. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  341. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  342. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  343. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  344. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  345. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  347. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  348. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  349. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  350. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  351. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  352. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  353. package/dest/kernel/public_call_request.d.ts +15 -30
  354. package/dest/kernel/public_call_request.d.ts.map +1 -1
  355. package/dest/kernel/public_call_request.js +16 -7
  356. package/dest/keys/derivation.d.ts +6 -2
  357. package/dest/keys/derivation.d.ts.map +1 -1
  358. package/dest/keys/derivation.js +16 -6
  359. package/dest/keys/public_key.d.ts +22 -3
  360. package/dest/keys/public_key.d.ts.map +1 -1
  361. package/dest/keys/public_key.js +20 -1
  362. package/dest/keys/public_keys.d.ts +55 -82
  363. package/dest/keys/public_keys.d.ts.map +1 -1
  364. package/dest/keys/public_keys.js +102 -74
  365. package/dest/kv-store/config.d.ts +3 -6
  366. package/dest/kv-store/config.d.ts.map +1 -1
  367. package/dest/kv-store/config.js +2 -7
  368. package/dest/l1-contracts/index.d.ts +2 -2
  369. package/dest/l1-contracts/index.d.ts.map +1 -1
  370. package/dest/l1-contracts/index.js +1 -1
  371. package/dest/logs/app_tagging_secret.d.ts +46 -0
  372. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  373. package/dest/logs/app_tagging_secret.js +109 -0
  374. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  375. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  376. package/dest/logs/app_tagging_secret_kind.js +17 -0
  377. package/dest/logs/contract_class_log.d.ts +16 -34
  378. package/dest/logs/contract_class_log.d.ts.map +1 -1
  379. package/dest/logs/contract_class_log.js +11 -9
  380. package/dest/logs/index.d.ts +7 -7
  381. package/dest/logs/index.d.ts.map +1 -1
  382. package/dest/logs/index.js +6 -6
  383. package/dest/logs/log_cursor.d.ts +51 -0
  384. package/dest/logs/log_cursor.d.ts.map +1 -0
  385. package/dest/logs/log_cursor.js +82 -0
  386. package/dest/logs/log_result.d.ts +54 -0
  387. package/dest/logs/log_result.d.ts.map +1 -0
  388. package/dest/logs/log_result.js +56 -0
  389. package/dest/logs/logs_query.d.ts +82 -0
  390. package/dest/logs/logs_query.d.ts.map +1 -0
  391. package/dest/logs/logs_query.js +50 -0
  392. package/dest/logs/message_context.d.ts +6 -8
  393. package/dest/logs/message_context.d.ts.map +1 -1
  394. package/dest/logs/message_context.js +27 -9
  395. package/dest/logs/pending_tagged_log.d.ts +2 -3
  396. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  397. package/dest/logs/pending_tagged_log.js +2 -2
  398. package/dest/logs/pre_tag.d.ts +11 -24
  399. package/dest/logs/pre_tag.d.ts.map +1 -1
  400. package/dest/logs/pre_tag.js +2 -2
  401. package/dest/logs/private_log.d.ts +7 -12
  402. package/dest/logs/private_log.d.ts.map +1 -1
  403. package/dest/logs/private_log.js +6 -3
  404. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  405. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  406. package/dest/logs/query_all_logs_by_tags.js +64 -0
  407. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  408. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  409. package/dest/logs/shared_secret_derivation.js +15 -9
  410. package/dest/logs/siloed_tag.d.ts +8 -7
  411. package/dest/logs/siloed_tag.d.ts.map +1 -1
  412. package/dest/logs/siloed_tag.js +13 -3
  413. package/dest/logs/tag.d.ts +5 -6
  414. package/dest/logs/tag.d.ts.map +1 -1
  415. package/dest/logs/tag.js +4 -0
  416. package/dest/logs/tagging_index_range.d.ts +13 -31
  417. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  418. package/dest/logs/tagging_index_range.js +2 -2
  419. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  420. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  421. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  422. package/dest/messaging/index.d.ts +2 -1
  423. package/dest/messaging/index.d.ts.map +1 -1
  424. package/dest/messaging/index.js +1 -0
  425. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  426. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  427. package/dest/messaging/l1_to_l2_message.js +11 -13
  428. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  429. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  430. package/dest/messaging/l2_to_l1_membership.js +72 -12
  431. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  432. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  433. package/dest/messaging/l2_to_l1_message.js +21 -12
  434. package/dest/noir/index.d.ts +5 -3
  435. package/dest/noir/index.d.ts.map +1 -1
  436. package/dest/note/note.d.ts +2 -2
  437. package/dest/note/note.d.ts.map +1 -1
  438. package/dest/note/note_dao.d.ts +1 -1
  439. package/dest/note/note_dao.d.ts.map +1 -1
  440. package/dest/note/note_dao.js +1 -4
  441. package/dest/p2p/block_proposal.d.ts +31 -14
  442. package/dest/p2p/block_proposal.d.ts.map +1 -1
  443. package/dest/p2p/block_proposal.js +57 -39
  444. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  445. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  446. package/dest/p2p/checkpoint_attestation.js +23 -24
  447. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  448. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  449. package/dest/p2p/checkpoint_proposal.js +59 -49
  450. package/dest/p2p/consensus_payload.d.ts +26 -20
  451. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  452. package/dest/p2p/consensus_payload.js +38 -19
  453. package/dest/p2p/gossipable.d.ts +4 -4
  454. package/dest/p2p/gossipable.d.ts.map +1 -1
  455. package/dest/p2p/signature_utils.d.ts +28 -19
  456. package/dest/p2p/signature_utils.d.ts.map +1 -1
  457. package/dest/p2p/signature_utils.js +118 -21
  458. package/dest/p2p/signed_txs.d.ts +15 -13
  459. package/dest/p2p/signed_txs.d.ts.map +1 -1
  460. package/dest/p2p/signed_txs.js +26 -24
  461. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  462. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  463. package/dest/parity/parity_base_private_inputs.js +7 -5
  464. package/dest/parity/parity_public_inputs.d.ts +8 -4
  465. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  466. package/dest/parity/parity_public_inputs.js +6 -3
  467. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  468. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  469. package/dest/proofs/chonk_proof.d.ts +57 -7
  470. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  471. package/dest/proofs/chonk_proof.js +112 -15
  472. package/dest/proofs/recursive_proof.d.ts +2 -2
  473. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  474. package/dest/rollup/block_headers_hash.d.ts +1 -1
  475. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  476. package/dest/rollup/block_headers_hash.js +8 -2
  477. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  478. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  479. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  480. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  481. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  482. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  483. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  484. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  485. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  486. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  487. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  488. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  489. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  490. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  492. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  493. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  494. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  496. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  497. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  498. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  499. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  502. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  504. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  505. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  506. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  507. package/dest/schemas/schemas.d.ts +32 -78
  508. package/dest/schemas/schemas.d.ts.map +1 -1
  509. package/dest/schemas/schemas.js +2 -2
  510. package/dest/slashing/helpers.d.ts +2 -2
  511. package/dest/slashing/helpers.d.ts.map +1 -1
  512. package/dest/slashing/helpers.js +10 -7
  513. package/dest/slashing/index.d.ts +2 -3
  514. package/dest/slashing/index.d.ts.map +1 -1
  515. package/dest/slashing/index.js +1 -2
  516. package/dest/slashing/serialization.d.ts +2 -6
  517. package/dest/slashing/serialization.d.ts.map +1 -1
  518. package/dest/slashing/serialization.js +0 -60
  519. package/dest/slashing/types.d.ts +18 -112
  520. package/dest/slashing/types.d.ts.map +1 -1
  521. package/dest/slashing/types.js +16 -24
  522. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  523. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  524. package/dest/slashing/{tally.js → votes.js} +1 -1
  525. package/dest/snapshots/types.d.ts +15 -78
  526. package/dest/snapshots/types.d.ts.map +1 -1
  527. package/dest/stats/stats.d.ts +2 -2
  528. package/dest/stats/stats.d.ts.map +1 -1
  529. package/dest/tests/factories.d.ts +25 -32
  530. package/dest/tests/factories.d.ts.map +1 -1
  531. package/dest/tests/factories.js +85 -82
  532. package/dest/tests/mocks.d.ts +8 -5
  533. package/dest/tests/mocks.d.ts.map +1 -1
  534. package/dest/tests/mocks.js +45 -56
  535. package/dest/timetable/budgets.d.ts +57 -0
  536. package/dest/timetable/budgets.d.ts.map +1 -0
  537. package/dest/timetable/budgets.js +56 -0
  538. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  539. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  540. package/dest/timetable/build_proposer_timetable.js +17 -0
  541. package/dest/timetable/consensus_timetable.d.ts +70 -0
  542. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  543. package/dest/timetable/consensus_timetable.js +89 -0
  544. package/dest/timetable/index.d.ts +5 -37
  545. package/dest/timetable/index.d.ts.map +1 -1
  546. package/dest/timetable/index.js +4 -39
  547. package/dest/timetable/proposer_timetable.d.ts +106 -0
  548. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  549. package/dest/timetable/proposer_timetable.js +132 -0
  550. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  551. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  552. package/dest/trees/append_only_tree_snapshot.js +6 -3
  553. package/dest/trees/nullifier_leaf.d.ts +19 -42
  554. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  555. package/dest/trees/nullifier_leaf.js +3 -0
  556. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  557. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  558. package/dest/trees/nullifier_membership_witness.js +2 -14
  559. package/dest/trees/public_data_leaf.d.ts +21 -53
  560. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  561. package/dest/trees/public_data_witness.d.ts +16 -58
  562. package/dest/trees/public_data_witness.d.ts.map +1 -1
  563. package/dest/tx/block_header.d.ts +5 -4
  564. package/dest/tx/block_header.d.ts.map +1 -1
  565. package/dest/tx/block_header.js +7 -4
  566. package/dest/tx/call_context.d.ts +4 -14
  567. package/dest/tx/call_context.d.ts.map +1 -1
  568. package/dest/tx/capsule.d.ts +7 -3
  569. package/dest/tx/capsule.d.ts.map +1 -1
  570. package/dest/tx/capsule.js +9 -3
  571. package/dest/tx/fee_provider.d.ts +10 -0
  572. package/dest/tx/fee_provider.d.ts.map +1 -0
  573. package/dest/tx/fee_provider.js +1 -0
  574. package/dest/tx/function_data.d.ts +4 -10
  575. package/dest/tx/function_data.d.ts.map +1 -1
  576. package/dest/tx/global_variable_builder.d.ts +3 -4
  577. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  578. package/dest/tx/global_variables.d.ts +16 -49
  579. package/dest/tx/global_variables.d.ts.map +1 -1
  580. package/dest/tx/global_variables.js +8 -12
  581. package/dest/tx/hashed_values.d.ts +4 -3
  582. package/dest/tx/hashed_values.d.ts.map +1 -1
  583. package/dest/tx/hashed_values.js +6 -3
  584. package/dest/tx/in_tx.d.ts +5 -17
  585. package/dest/tx/in_tx.d.ts.map +1 -1
  586. package/dest/tx/index.d.ts +2 -1
  587. package/dest/tx/index.d.ts.map +1 -1
  588. package/dest/tx/index.js +1 -0
  589. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  590. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  591. package/dest/tx/indexed_tx_effect.js +9 -6
  592. package/dest/tx/partial_state_reference.d.ts +22 -65
  593. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  594. package/dest/tx/partial_state_reference.js +6 -3
  595. package/dest/tx/private_execution_result.d.ts +6 -16
  596. package/dest/tx/private_execution_result.d.ts.map +1 -1
  597. package/dest/tx/profiling.d.ts +54 -352
  598. package/dest/tx/profiling.d.ts.map +1 -1
  599. package/dest/tx/profiling.js +4 -4
  600. package/dest/tx/protocol_contracts.d.ts +5 -9
  601. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  602. package/dest/tx/proven_tx.d.ts +30 -74
  603. package/dest/tx/proven_tx.d.ts.map +1 -1
  604. package/dest/tx/proven_tx.js +6 -0
  605. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  606. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  607. package/dest/tx/public_call_request_with_calldata.js +6 -3
  608. package/dest/tx/simulated_tx.d.ts +64 -1143
  609. package/dest/tx/simulated_tx.d.ts.map +1 -1
  610. package/dest/tx/simulated_tx.js +13 -11
  611. package/dest/tx/state_reference.d.ts +30 -117
  612. package/dest/tx/state_reference.d.ts.map +1 -1
  613. package/dest/tx/state_reference.js +6 -4
  614. package/dest/tx/tree_snapshots.d.ts +27 -84
  615. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  616. package/dest/tx/tree_snapshots.js +6 -4
  617. package/dest/tx/tx.d.ts +22 -13
  618. package/dest/tx/tx.d.ts.map +1 -1
  619. package/dest/tx/tx.js +44 -22
  620. package/dest/tx/tx_constant_data.d.ts +4 -3
  621. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  622. package/dest/tx/tx_constant_data.js +6 -3
  623. package/dest/tx/tx_context.d.ts +32 -131
  624. package/dest/tx/tx_context.d.ts.map +1 -1
  625. package/dest/tx/tx_context.js +6 -6
  626. package/dest/tx/tx_hash.d.ts +6 -4
  627. package/dest/tx/tx_hash.d.ts.map +1 -1
  628. package/dest/tx/tx_hash.js +13 -5
  629. package/dest/tx/tx_receipt.d.ts +144 -63
  630. package/dest/tx/tx_receipt.d.ts.map +1 -1
  631. package/dest/tx/tx_receipt.js +143 -60
  632. package/dest/tx/validator/error_texts.d.ts +6 -2
  633. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  634. package/dest/tx/validator/error_texts.js +7 -1
  635. package/dest/tx/validator/tx_validator.d.ts +5 -27
  636. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  637. package/dest/tx/validator/tx_validator.js +0 -4
  638. package/dest/types/shared.d.ts +4 -12
  639. package/dest/types/shared.d.ts.map +1 -1
  640. package/dest/types/shared.js +6 -12
  641. package/dest/update-checker/dev_version.d.ts +3 -0
  642. package/dest/update-checker/dev_version.d.ts.map +1 -0
  643. package/dest/update-checker/dev_version.js +1 -0
  644. package/dest/update-checker/index.d.ts +2 -1
  645. package/dest/update-checker/index.d.ts.map +1 -1
  646. package/dest/update-checker/index.js +1 -0
  647. package/dest/update-checker/package_version.d.ts +6 -3
  648. package/dest/update-checker/package_version.d.ts.map +1 -1
  649. package/dest/update-checker/package_version.js +8 -19
  650. package/dest/validators/schemas.d.ts +147 -614
  651. package/dest/validators/schemas.d.ts.map +1 -1
  652. package/dest/validators/schemas.js +6 -4
  653. package/dest/validators/types.d.ts +20 -3
  654. package/dest/validators/types.d.ts.map +1 -1
  655. package/dest/versioning/versioning.js +1 -1
  656. package/dest/vks/verification_key.d.ts +4 -139
  657. package/dest/vks/verification_key.d.ts.map +1 -1
  658. package/dest/vks/verification_key.js +5 -126
  659. package/dest/world-state/genesis_data.d.ts +13 -0
  660. package/dest/world-state/genesis_data.d.ts.map +1 -0
  661. package/dest/world-state/genesis_data.js +7 -0
  662. package/dest/world-state/index.d.ts +2 -1
  663. package/dest/world-state/index.d.ts.map +1 -1
  664. package/dest/world-state/index.js +1 -0
  665. package/dest/world-state/world_state_revision.d.ts +15 -26
  666. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  667. package/dest/world-state/world_state_revision.js +7 -1
  668. package/package.json +12 -11
  669. package/src/abi/abi.ts +78 -21
  670. package/src/abi/authorization_selector.ts +2 -8
  671. package/src/abi/buffer.ts +25 -4
  672. package/src/abi/contract_artifact.ts +30 -6
  673. package/src/abi/decoder.ts +23 -78
  674. package/src/abi/encoder.ts +42 -6
  675. package/src/abi/event_selector.ts +2 -8
  676. package/src/abi/function_selector.ts +4 -13
  677. package/src/abi/function_signature_decoder.ts +77 -0
  678. package/src/abi/index.ts +1 -0
  679. package/src/abi/note_selector.ts +3 -12
  680. package/src/abi/selector.ts +1 -1
  681. package/src/abi/utils.ts +6 -4
  682. package/src/avm/avm.ts +5 -0
  683. package/src/avm/message_pack.ts +12 -3
  684. package/src/avm/revert_code.ts +19 -39
  685. package/src/aztec-address/index.ts +15 -12
  686. package/src/block/attestation_info.ts +11 -11
  687. package/src/block/block_data.ts +3 -4
  688. package/src/block/block_hash.ts +21 -14
  689. package/src/block/block_parameter.ts +72 -4
  690. package/src/block/index.ts +0 -1
  691. package/src/block/l2_block_info.ts +8 -6
  692. package/src/block/l2_block_source.ts +216 -147
  693. package/src/block/l2_block_stream/interfaces.ts +42 -6
  694. package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
  695. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  696. package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
  697. package/src/block/proposal/attestations_and_signers.ts +32 -17
  698. package/src/block/test/l2_tips_store_test_suite.ts +198 -18
  699. package/src/checkpoint/checkpoint.ts +13 -3
  700. package/src/checkpoint/checkpoint_data.ts +44 -4
  701. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  702. package/src/checkpoint/digest.ts +28 -0
  703. package/src/checkpoint/index.ts +3 -0
  704. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  705. package/src/checkpoint/validate.ts +18 -8
  706. package/src/config/chain-config.ts +13 -16
  707. package/src/config/index.ts +1 -0
  708. package/src/config/network-consensus-config.ts +302 -0
  709. package/src/config/sequencer-config.ts +68 -9
  710. package/src/contract/complete_address.ts +7 -3
  711. package/src/contract/contract_address.ts +7 -7
  712. package/src/contract/contract_class_id.ts +2 -2
  713. package/src/contract/contract_instance.ts +11 -2
  714. package/src/contract/index.ts +0 -2
  715. package/src/contract/interfaces/contract_class.ts +2 -82
  716. package/src/contract/interfaces/contract_instance.ts +6 -2
  717. package/src/contract/interfaces/node-info.ts +11 -0
  718. package/src/contract/private_function.ts +3 -1
  719. package/src/database-version/version_manager.ts +17 -0
  720. package/src/deserialization/index.ts +35 -2
  721. package/src/epoch-helpers/index.ts +24 -0
  722. package/src/file-store/factory.ts +13 -4
  723. package/src/file-store/http.ts +29 -10
  724. package/src/file-store/index.ts +1 -0
  725. package/src/gas/README.md +123 -0
  726. package/src/gas/fee_math.ts +120 -0
  727. package/src/gas/gas.ts +8 -3
  728. package/src/gas/gas_fees.ts +26 -13
  729. package/src/gas/gas_settings.ts +63 -15
  730. package/src/gas/index.ts +2 -0
  731. package/src/gas/tx_gas_limits.ts +123 -0
  732. package/src/ha-signing/config.ts +14 -18
  733. package/src/ha-signing/index.ts +3 -1
  734. package/src/ha-signing/local_config.ts +2 -2
  735. package/src/ha-signing/types.ts +48 -34
  736. package/src/hash/hash.ts +63 -2
  737. package/src/interfaces/api_limit.ts +1 -1
  738. package/src/interfaces/archiver.ts +88 -93
  739. package/src/interfaces/aztec-node-admin.ts +36 -21
  740. package/src/interfaces/aztec-node-debug.ts +55 -0
  741. package/src/interfaces/aztec-node.ts +389 -259
  742. package/src/interfaces/block-builder.ts +31 -9
  743. package/src/interfaces/block_response.ts +92 -0
  744. package/src/interfaces/chain_tips.ts +24 -0
  745. package/src/interfaces/checkpoint_parameter.ts +20 -0
  746. package/src/interfaces/checkpoint_response.ts +84 -0
  747. package/src/interfaces/client.ts +8 -1
  748. package/src/interfaces/configs.ts +63 -11
  749. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  750. package/src/interfaces/l1_publish_info.ts +40 -0
  751. package/src/interfaces/l2_logs_source.ts +13 -42
  752. package/src/interfaces/merkle_tree_operations.ts +3 -2
  753. package/src/interfaces/p2p-bootstrap.ts +2 -2
  754. package/src/interfaces/p2p.ts +59 -19
  755. package/src/interfaces/private_kernel_prover.ts +88 -0
  756. package/src/interfaces/prover-agent.ts +1 -1
  757. package/src/interfaces/prover-client.ts +3 -8
  758. package/src/interfaces/prover-node.ts +19 -12
  759. package/src/interfaces/proving-job-source.ts +4 -4
  760. package/src/interfaces/proving-job.ts +3 -3
  761. package/src/interfaces/public_storage_override.ts +26 -0
  762. package/src/interfaces/server.ts +5 -1
  763. package/src/interfaces/slasher.ts +17 -10
  764. package/src/interfaces/tx_provider.ts +6 -0
  765. package/src/interfaces/validator.ts +45 -15
  766. package/src/interfaces/world_state.ts +1 -1
  767. package/src/kernel/hints/key_validation_request.ts +18 -16
  768. package/src/kernel/index.ts +4 -0
  769. package/src/kernel/log_hash.ts +29 -9
  770. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  771. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  772. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  773. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  774. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  775. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  776. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  777. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  778. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  779. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  780. package/src/kernel/public_call_request.ts +22 -7
  781. package/src/keys/derivation.ts +21 -9
  782. package/src/keys/public_key.ts +26 -2
  783. package/src/keys/public_keys.ts +124 -110
  784. package/src/kv-store/config.ts +3 -10
  785. package/src/l1-contracts/index.ts +1 -1
  786. package/src/logs/app_tagging_secret.ts +137 -0
  787. package/src/logs/app_tagging_secret_kind.ts +21 -0
  788. package/src/logs/contract_class_log.ts +15 -5
  789. package/src/logs/index.ts +6 -6
  790. package/src/logs/log_cursor.ts +110 -0
  791. package/src/logs/log_result.ts +104 -0
  792. package/src/logs/logs_query.ts +138 -0
  793. package/src/logs/message_context.ts +22 -8
  794. package/src/logs/pending_tagged_log.ts +1 -3
  795. package/src/logs/pre_tag.ts +3 -6
  796. package/src/logs/private_log.ts +9 -3
  797. package/src/logs/query_all_logs_by_tags.ts +98 -0
  798. package/src/logs/shared_secret_derivation.ts +21 -10
  799. package/src/logs/siloed_tag.ts +20 -11
  800. package/src/logs/tag.ts +8 -8
  801. package/src/logs/tagging_index_range.ts +4 -10
  802. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  803. package/src/messaging/index.ts +1 -0
  804. package/src/messaging/l1_to_l2_message.ts +12 -9
  805. package/src/messaging/l2_to_l1_membership.ts +108 -19
  806. package/src/messaging/l2_to_l1_message.ts +29 -9
  807. package/src/noir/index.ts +4 -2
  808. package/src/note/note_dao.ts +1 -4
  809. package/src/p2p/block_proposal.ts +111 -36
  810. package/src/p2p/checkpoint_attestation.ts +27 -31
  811. package/src/p2p/checkpoint_proposal.ts +126 -68
  812. package/src/p2p/consensus_payload.ts +59 -28
  813. package/src/p2p/gossipable.ts +4 -4
  814. package/src/p2p/signature_utils.ts +110 -25
  815. package/src/p2p/signed_txs.ts +46 -28
  816. package/src/parity/parity_base_private_inputs.ts +10 -4
  817. package/src/parity/parity_public_inputs.ts +9 -2
  818. package/src/proofs/chonk_proof.ts +132 -12
  819. package/src/rollup/block_headers_hash.ts +11 -2
  820. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  821. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  822. package/src/schemas/schemas.ts +6 -1
  823. package/src/slashing/helpers.ts +13 -9
  824. package/src/slashing/index.ts +1 -2
  825. package/src/slashing/serialization.ts +1 -81
  826. package/src/slashing/types.ts +24 -49
  827. package/src/slashing/{tally.ts → votes.ts} +1 -1
  828. package/src/stats/stats.ts +4 -0
  829. package/src/tests/factories.ts +109 -111
  830. package/src/tests/mocks.ts +72 -71
  831. package/src/timetable/README.md +609 -0
  832. package/src/timetable/budgets.ts +87 -0
  833. package/src/timetable/build_proposer_timetable.ts +42 -0
  834. package/src/timetable/consensus_timetable.ts +126 -0
  835. package/src/timetable/index.ts +4 -66
  836. package/src/timetable/proposer_timetable.ts +190 -0
  837. package/src/timetable/timetable-example.svg +108 -0
  838. package/src/trees/append_only_tree_snapshot.ts +8 -3
  839. package/src/trees/nullifier_leaf.ts +4 -0
  840. package/src/trees/nullifier_membership_witness.ts +2 -12
  841. package/src/tx/block_header.ts +10 -5
  842. package/src/tx/capsule.ts +10 -2
  843. package/src/tx/fee_provider.ts +10 -0
  844. package/src/tx/global_variable_builder.ts +2 -3
  845. package/src/tx/global_variables.ts +10 -18
  846. package/src/tx/hashed_values.ts +8 -3
  847. package/src/tx/index.ts +1 -0
  848. package/src/tx/indexed_tx_effect.ts +18 -6
  849. package/src/tx/partial_state_reference.ts +8 -3
  850. package/src/tx/profiling.ts +4 -4
  851. package/src/tx/proven_tx.ts +6 -0
  852. package/src/tx/public_call_request_with_calldata.ts +8 -3
  853. package/src/tx/simulated_tx.ts +22 -21
  854. package/src/tx/state_reference.ts +9 -4
  855. package/src/tx/tree_snapshots.ts +9 -4
  856. package/src/tx/tx.ts +60 -24
  857. package/src/tx/tx_constant_data.ts +8 -3
  858. package/src/tx/tx_context.ts +8 -3
  859. package/src/tx/tx_hash.ts +20 -5
  860. package/src/tx/tx_receipt.ts +265 -85
  861. package/src/tx/validator/error_texts.ts +10 -1
  862. package/src/tx/validator/tx_validator.ts +1 -5
  863. package/src/types/shared.ts +8 -13
  864. package/src/update-checker/dev_version.ts +2 -0
  865. package/src/update-checker/index.ts +1 -0
  866. package/src/update-checker/package_version.ts +10 -23
  867. package/src/validators/schemas.ts +6 -4
  868. package/src/validators/types.ts +21 -2
  869. package/src/versioning/versioning.ts +1 -1
  870. package/src/vks/verification_key.ts +5 -184
  871. package/src/world-state/genesis_data.ts +27 -0
  872. package/src/world-state/index.ts +1 -0
  873. package/src/world-state/world_state_revision.ts +9 -1
  874. package/dest/abi/mocked_keys.d.ts +0 -2
  875. package/dest/abi/mocked_keys.d.ts.map +0 -1
  876. package/dest/abi/mocked_keys.js +0 -1
  877. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  878. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  879. package/dest/block/checkpointed_l2_block.js +0 -46
  880. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  881. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  882. package/dest/contract/private_function_membership_proof.js +0 -124
  883. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  884. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  885. package/dest/contract/utility_function_membership_proof.js +0 -87
  886. package/dest/interfaces/epoch-prover.d.ts +0 -57
  887. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  888. package/dest/interfaces/epoch-prover.js +0 -1
  889. package/dest/interfaces/get_logs_response.d.ts +0 -97
  890. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  891. package/dest/interfaces/get_logs_response.js +0 -12
  892. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  893. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  894. package/dest/l1-contracts/slash_factory.js +0 -158
  895. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  896. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  897. package/dest/logs/extended_contract_class_log.js +0 -67
  898. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  899. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  900. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  901. package/dest/logs/extended_public_log.d.ts +0 -106
  902. package/dest/logs/extended_public_log.d.ts.map +0 -1
  903. package/dest/logs/extended_public_log.js +0 -73
  904. package/dest/logs/log_filter.d.ts +0 -25
  905. package/dest/logs/log_filter.d.ts.map +0 -1
  906. package/dest/logs/log_filter.js +0 -12
  907. package/dest/logs/log_id.d.ts +0 -85
  908. package/dest/logs/log_id.d.ts.map +0 -1
  909. package/dest/logs/log_id.js +0 -94
  910. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  911. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  912. package/dest/logs/tx_scoped_l2_log.js +0 -70
  913. package/dest/slashing/empire.d.ts +0 -31
  914. package/dest/slashing/empire.d.ts.map +0 -1
  915. package/dest/slashing/empire.js +0 -87
  916. package/src/abi/mocked_keys.ts +0 -2
  917. package/src/block/checkpointed_l2_block.ts +0 -70
  918. package/src/contract/private_function_membership_proof.ts +0 -167
  919. package/src/contract/utility_function_membership_proof.ts +0 -118
  920. package/src/interfaces/epoch-prover.ts +0 -72
  921. package/src/interfaces/get_logs_response.ts +0 -35
  922. package/src/l1-contracts/slash_factory.ts +0 -180
  923. package/src/logs/extended_contract_class_log.ts +0 -87
  924. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  925. package/src/logs/extended_public_log.ts +0 -94
  926. package/src/logs/log_filter.ts +0 -36
  927. package/src/logs/log_id.ts +0 -125
  928. package/src/logs/tx_scoped_l2_log.ts +0 -98
  929. package/src/slashing/empire.ts +0 -104
@@ -35,7 +35,8 @@ export interface IBlockFactory extends ProcessedTxHandler {
35
35
  setBlockCompleted(expectedBlockHeader?: BlockHeader): Promise<L2Block>;
36
36
  }
37
37
 
38
- export interface PublicProcessorLimits {
38
+ /** Limits passed to the public processor for tx processing within a block. */
39
+ export type PublicProcessorLimits = {
39
40
  /** Maximum number of txs to process. */
40
41
  maxTransactions?: number;
41
42
  /** L2 and DA gas limits. */
@@ -44,9 +45,36 @@ export interface PublicProcessorLimits {
44
45
  maxBlobFields?: number;
45
46
  /** Deadline for processing the txs. Processor will stop as soon as it hits this time. */
46
47
  deadline?: Date;
48
+ /** Signal for interrupting processing before the deadline. */
49
+ signal?: AbortSignal;
47
50
  /** Whether this processor is building a proposal (as opposed to re-executing one). Skipping txs due to gas or blob limits is only done during proposal building. */
48
51
  isBuildingProposal?: boolean;
49
- }
52
+ };
53
+
54
+ /** Base fields shared by both proposer and validator block builder options. */
55
+ type BlockBuilderOptionsBase = PublicProcessorLimits & {
56
+ /** Minimum number of successfully processed txs required. Block is rejected if fewer succeed. */
57
+ minValidTxs: number;
58
+ };
59
+
60
+ /** Proposer mode: redistribution params are required. */
61
+ type ProposerBlockBuilderOptions = BlockBuilderOptionsBase & {
62
+ isBuildingProposal: true;
63
+ /** Maximum number of blocks per checkpoint, derived from the timetable. */
64
+ maxBlocksPerCheckpoint: number;
65
+ /** Per-block gas budget multiplier. Budget = (remaining / remainingBlocks) * multiplier. */
66
+ perBlockAllocationMultiplier: number;
67
+ /** Per-block budget multiplier for DA gas and blob fields. Falls back to perBlockAllocationMultiplier when unset. */
68
+ perBlockDAAllocationMultiplier?: number;
69
+ };
70
+
71
+ /** Validator mode: no redistribution params needed. */
72
+ type ValidatorBlockBuilderOptions = BlockBuilderOptionsBase & {
73
+ isBuildingProposal: false;
74
+ };
75
+
76
+ /** Options for building a block within a checkpoint. When proposing, redistribution params are required. */
77
+ export type BlockBuilderOptions = ProposerBlockBuilderOptions | ValidatorBlockBuilderOptions;
50
78
 
51
79
  export interface PublicProcessorValidator {
52
80
  preprocessValidator?: TxValidator<Tx>;
@@ -64,9 +92,6 @@ export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime'
64
92
  | 'maxTxsPerCheckpoint'
65
93
  | 'maxL2BlockGas'
66
94
  | 'maxDABlockGas'
67
- | 'redistributeCheckpointBudget'
68
- | 'perBlockAllocationMultiplier'
69
- | 'maxBlocksPerCheckpoint'
70
95
  >;
71
96
 
72
97
  export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[] = [
@@ -82,9 +107,6 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
82
107
  'maxL2BlockGas',
83
108
  'maxDABlockGas',
84
109
  'rollupManaLimit',
85
- 'redistributeCheckpointBudget',
86
- 'perBlockAllocationMultiplier',
87
- 'maxBlocksPerCheckpoint',
88
110
  ] as const;
89
111
 
90
112
  /** Thrown when the number of successfully processed transactions is below the required minimum. */
@@ -115,7 +137,7 @@ export interface ICheckpointBlockBuilder {
115
137
  pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
116
138
  blockNumber: BlockNumber,
117
139
  timestamp: bigint,
118
- opts: PublicProcessorLimits & { minValidTxs?: number },
140
+ opts: BlockBuilderOptions,
119
141
  ): Promise<BuildBlockInCheckpointResult>;
120
142
  }
121
143
 
@@ -0,0 +1,92 @@
1
+ import {
2
+ BlockNumberSchema,
3
+ CheckpointNumberSchema,
4
+ IndexWithinCheckpointSchema,
5
+ } from '@aztec/foundation/branded-types';
6
+ import type { BlockNumber, CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
7
+ import type { PickIfFlag, Prettify } from '@aztec/foundation/types';
8
+
9
+ import { z } from 'zod';
10
+
11
+ import { BlockHash } from '../block/block_hash.js';
12
+ import { Body } from '../block/body.js';
13
+ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
14
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
15
+ import { BlockHeader } from '../tx/block_header.js';
16
+ import { type L1PublishInfo, L1PublishInfoSchema } from './l1_publish_info.js';
17
+
18
+ /** Options for narrowing the response of `getBlock`. */
19
+ export type BlockIncludeOptions = {
20
+ /** Include the block body (tx effects). Off by default. */
21
+ includeTransactions?: boolean;
22
+ /** Include L1 publish info (populated with `published: false` if not yet on L1). Off by default. */
23
+ includeL1PublishInfo?: boolean;
24
+ /** Include committee attestations. Empty array until the block's checkpoint is published. Off by default. */
25
+ includeAttestations?: boolean;
26
+ };
27
+
28
+ export const BlockIncludeOptionsSchema: z.ZodType<BlockIncludeOptions> = z.object({
29
+ includeTransactions: z.boolean().optional(),
30
+ includeL1PublishInfo: z.boolean().optional(),
31
+ includeAttestations: z.boolean().optional(),
32
+ });
33
+
34
+ /** Options for narrowing the response of `getBlocks` (range). Extends single-block options with range-only flags. */
35
+ export type BlocksIncludeOptions = BlockIncludeOptions & {
36
+ /** Only return blocks that belong to a confirmed L1 checkpoint. Off by default. */
37
+ onlyCheckpointed?: boolean;
38
+ };
39
+
40
+ export const BlocksIncludeOptionsSchema: z.ZodType<BlocksIncludeOptions> = z.object({
41
+ includeTransactions: z.boolean().optional(),
42
+ includeL1PublishInfo: z.boolean().optional(),
43
+ includeAttestations: z.boolean().optional(),
44
+ onlyCheckpointed: z.boolean().optional(),
45
+ });
46
+
47
+ /** Required metadata always present on a {@link BlockResponse}. */
48
+ export type BlockResponseBase = {
49
+ /** Block header. */
50
+ header: BlockHeader;
51
+ /** Archive tree snapshot after this block. */
52
+ archive: AppendOnlyTreeSnapshot;
53
+ /** Hash of the block header. */
54
+ hash: BlockHash;
55
+ /** Checkpoint number this block belongs to. */
56
+ checkpointNumber: CheckpointNumber;
57
+ /** Position of the block within its checkpoint. */
58
+ indexWithinCheckpoint: IndexWithinCheckpoint;
59
+ /** L2 block number. */
60
+ number: BlockNumber;
61
+ };
62
+
63
+ /**
64
+ * RPC-surface representation of an L2 block.
65
+ *
66
+ * Generic over the include-options so that flagged fields become required when the caller passes a
67
+ * literal `true`. The default type argument ({@link BlockIncludeOptions}) yields the widest shape
68
+ * (all include-fields optional) — this is what the JSON-RPC wire layer validates against.
69
+ *
70
+ * @example
71
+ * const b: BlockResponse<{ includeTransactions: true }> = await node.getBlock(1, { includeTransactions: true });
72
+ * b.body; // required, not optional
73
+ */
74
+ export type BlockResponse<Opts extends BlockIncludeOptions = BlockIncludeOptions> = Prettify<
75
+ BlockResponseBase &
76
+ PickIfFlag<BlockIncludeOptions, Opts, 'includeTransactions', { body: Body }> &
77
+ PickIfFlag<BlockIncludeOptions, Opts, 'includeL1PublishInfo', { l1: L1PublishInfo }> &
78
+ PickIfFlag<BlockIncludeOptions, Opts, 'includeAttestations', { attestations: CommitteeAttestation[] }>
79
+ >;
80
+
81
+ /** Zod schema for the widest {@link BlockResponse} shape (all include-gated fields optional). */
82
+ export const BlockResponseSchema = z.object({
83
+ header: BlockHeader.schema,
84
+ archive: AppendOnlyTreeSnapshot.schema,
85
+ hash: BlockHash.schema,
86
+ checkpointNumber: CheckpointNumberSchema,
87
+ indexWithinCheckpoint: IndexWithinCheckpointSchema,
88
+ number: BlockNumberSchema,
89
+ body: Body.schema.optional(),
90
+ l1: L1PublishInfoSchema.optional(),
91
+ attestations: z.array(CommitteeAttestation.schema).optional(),
92
+ });
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+
3
+ import { type L2BlockTag, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
4
+
5
+ /**
6
+ * Public chain-tip selectors usable in RPC requests.
7
+ * Omits internal-only tags (e.g. `proposedCheckpoint`) from {@link L2BlockTag}.
8
+ */
9
+ export type ChainTip = Exclude<L2BlockTag, 'proposedCheckpoint'>;
10
+
11
+ export const ChainTipSchema = z.union([
12
+ z.literal('proposed'),
13
+ z.literal('checkpointed'),
14
+ z.literal('proven'),
15
+ z.literal('finalized'),
16
+ ]) satisfies z.ZodType<ChainTip>;
17
+
18
+ /**
19
+ * Tips of the L2 chain.
20
+ * Omits the sequencer-internal `proposedCheckpoint` from the public RPC surface.
21
+ */
22
+ export type ChainTips = Omit<L2Tips, 'proposedCheckpoint'>;
23
+
24
+ export const ChainTipsSchema = L2TipsSchema.omit({ proposedCheckpoint: true });
@@ -0,0 +1,20 @@
1
+ import { CheckpointNumberSchema, SlotNumberSchema } from '@aztec/foundation/branded-types';
2
+
3
+ import { z } from 'zod';
4
+
5
+ import { ChainTipSchema } from './chain_tips.js';
6
+
7
+ /**
8
+ * Selector for a checkpoint in RPC calls.
9
+ *
10
+ * Accepts a numeric checkpoint number (or `{ number }`), a slot number (`{ slot }`),
11
+ * or a chain-tip name (e.g. `'proposed'`, `'proven'`).
12
+ */
13
+ export const CheckpointParameterSchema = z.union([
14
+ z.object({ number: CheckpointNumberSchema }).strict(),
15
+ z.object({ slot: SlotNumberSchema }).strict(),
16
+ ChainTipSchema,
17
+ CheckpointNumberSchema,
18
+ ]);
19
+
20
+ export type CheckpointParameter = z.infer<typeof CheckpointParameterSchema>;
@@ -0,0 +1,84 @@
1
+ import { BlockNumberSchema, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
2
+ import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { schemas } from '@aztec/foundation/schemas';
5
+ import type { PickIfFlag, Prettify } from '@aztec/foundation/types';
6
+
7
+ import { z } from 'zod';
8
+
9
+ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
10
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
11
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
12
+ import { type BlockResponse, BlockResponseSchema } from './block_response.js';
13
+ import { type L1PublishInfo, L1PublishInfoSchema } from './l1_publish_info.js';
14
+
15
+ /** Options for narrowing the response of `getCheckpoint` / `getCheckpoints`. */
16
+ export type CheckpointIncludeOptions = {
17
+ /** Include the nested blocks. Off by default. */
18
+ includeBlocks?: boolean;
19
+ /** When `includeBlocks` is true, include each block's body (tx effects). Off by default. No-op if `includeBlocks` is false. */
20
+ includeTransactions?: boolean;
21
+ /** Include L1 publish info. Off by default. */
22
+ includeL1PublishInfo?: boolean;
23
+ /** Include committee attestations. Off by default. */
24
+ includeAttestations?: boolean;
25
+ };
26
+
27
+ export const CheckpointIncludeOptionsSchema: z.ZodType<CheckpointIncludeOptions> = z.object({
28
+ includeBlocks: z.boolean().optional(),
29
+ includeTransactions: z.boolean().optional(),
30
+ includeL1PublishInfo: z.boolean().optional(),
31
+ includeAttestations: z.boolean().optional(),
32
+ });
33
+
34
+ /** Required metadata always present on a {@link CheckpointResponse}. */
35
+ export type CheckpointResponseBase = {
36
+ /** Checkpoint number. */
37
+ number: CheckpointNumber;
38
+ /** Checkpoint header. */
39
+ header: CheckpointHeader;
40
+ /** Archive tree snapshot after this checkpoint. */
41
+ archive: AppendOnlyTreeSnapshot;
42
+ /** Hash of the checkpoint out messages. */
43
+ checkpointOutHash: Fr;
44
+ /** First block number in this checkpoint. */
45
+ startBlock: BlockNumber;
46
+ /** Number of blocks in this checkpoint. */
47
+ blockCount: number;
48
+ /** Fee asset price modifier in basis points applied during this checkpoint. */
49
+ feeAssetPriceModifier: bigint;
50
+ };
51
+
52
+ // Only forward `includeTransactions` to nested blocks — the other include-flags on the checkpoint
53
+ // options do not apply to the nested block responses (those carry no independent L1 / attestations).
54
+ type NestedBlockOpts<Opts> = Opts extends { includeTransactions: true } ? { includeTransactions: true } : {};
55
+
56
+ /**
57
+ * RPC-surface representation of an L2 checkpoint.
58
+ *
59
+ * Generic over the include-options so that flagged fields become required when the caller passes a
60
+ * literal `true`. Only `includeTransactions` is forwarded to nested blocks, so
61
+ * `includeL1PublishInfo` / `includeAttestations` on a checkpoint request do not imply the same on
62
+ * its nested blocks. The default type argument ({@link CheckpointIncludeOptions}) yields the
63
+ * widest shape — what the JSON-RPC wire layer validates against.
64
+ */
65
+ export type CheckpointResponse<Opts extends CheckpointIncludeOptions = CheckpointIncludeOptions> = Prettify<
66
+ CheckpointResponseBase &
67
+ PickIfFlag<CheckpointIncludeOptions, Opts, 'includeBlocks', { blocks: BlockResponse<NestedBlockOpts<Opts>>[] }> &
68
+ PickIfFlag<CheckpointIncludeOptions, Opts, 'includeL1PublishInfo', { l1: L1PublishInfo }> &
69
+ PickIfFlag<CheckpointIncludeOptions, Opts, 'includeAttestations', { attestations: CommitteeAttestation[] }>
70
+ >;
71
+
72
+ /** Zod schema for the widest {@link CheckpointResponse} shape (all include-gated fields optional). */
73
+ export const CheckpointResponseSchema = z.object({
74
+ number: CheckpointNumberSchema,
75
+ header: CheckpointHeader.schema,
76
+ archive: AppendOnlyTreeSnapshot.schema,
77
+ checkpointOutHash: schemas.Fr,
78
+ startBlock: BlockNumberSchema,
79
+ blockCount: z.number(),
80
+ feeAssetPriceModifier: schemas.BigInt,
81
+ blocks: z.array(BlockResponseSchema).optional(),
82
+ l1: L1PublishInfoSchema.optional(),
83
+ attestations: z.array(CommitteeAttestation.schema).optional(),
84
+ });
@@ -1,5 +1,12 @@
1
1
  export * from './aztec-node.js';
2
2
  export * from './aztec-node-admin.js';
3
+ export * from './aztec-node-debug.js';
4
+ export { type PeerInfo, type ProposalsForSlot } from './p2p.js';
5
+ export * from './block_response.js';
6
+ export * from './chain_tips.js';
7
+ export * from './checkpoint_parameter.js';
8
+ export * from './checkpoint_response.js';
9
+ export * from './l1_publish_info.js';
3
10
  export * from './private_kernel_prover.js';
4
- export * from './get_logs_response.js';
5
11
  export * from './api_limit.js';
12
+ export * from './public_storage_override.js';
@@ -1,3 +1,4 @@
1
+ import { type SlotNumber, SlotNumberSchema } from '@aztec/foundation/branded-types';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import type { Prettify } from '@aztec/foundation/types';
3
4
 
@@ -15,6 +16,8 @@ export interface SequencerConfig {
15
16
  maxTxsPerBlock?: number;
16
17
  /** The maximum number of txs across all blocks in a checkpoint. */
17
18
  maxTxsPerCheckpoint?: number;
19
+ /** Maximum number of blocks the sequencer packs into a single checkpoint, and the highest indexWithinCheckpoint accepted on a block proposal. */
20
+ maxBlocksPerCheckpoint?: number;
18
21
  /** The minimum number of txs to include in a block. */
19
22
  minTxsPerBlock?: number;
20
23
  /** The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock. */
@@ -27,10 +30,13 @@ export interface SequencerConfig {
27
30
  maxDABlockGas?: number;
28
31
  /** Per-block gas budget multiplier for both L2 and DA gas. Budget = (checkpointLimit / maxBlocks) * multiplier. */
29
32
  perBlockAllocationMultiplier?: number;
33
+ /**
34
+ * Per-block budget multiplier applied to DA gas and blob fields in place of `perBlockAllocationMultiplier`.
35
+ * Defaults higher than the general multiplier so the largest contract class deploy fits a single block.
36
+ */
37
+ perBlockDAAllocationMultiplier?: number;
30
38
  /** Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget. */
31
39
  redistributeCheckpointBudget?: boolean;
32
- /** Computed max number of blocks per checkpoint from timetable. */
33
- maxBlocksPerCheckpoint?: number;
34
40
  /** Recipient of block reward. */
35
41
  coinbase?: EthAddress;
36
42
  /** Address to receive fees. */
@@ -43,8 +49,16 @@ export interface SequencerConfig {
43
49
  txPublicSetupAllowListExtend?: AllowedElement[];
44
50
  /** Payload address to vote for */
45
51
  governanceProposerPayload?: EthAddress;
46
- /** Whether to enforce the time table when building blocks */
47
- enforceTimeTable?: boolean;
52
+ /**
53
+ * Minimum block-building time (`min_block_duration`) still worth allocating if the proposer starts
54
+ * late, in seconds.
55
+ */
56
+ minBlockDuration?: number;
57
+ /**
58
+ * Local time (`checkpoint_proposal_prepare_time`) between the last block build finishing and the
59
+ * checkpoint proposal being ready for p2p send, in seconds.
60
+ */
61
+ checkpointProposalPrepareTime?: number;
48
62
  /** How much time (in seconds) we allow in the slot for publishing the L1 tx. */
49
63
  l1PublishingTime?: number;
50
64
  /** Used for testing to introduce a fake delay after processing each tx */
@@ -61,8 +75,21 @@ export interface SequencerConfig {
61
75
  skipCollectingAttestations?: boolean;
62
76
  /** Do not invalidate the previous block if invalid when we are the proposer (for testing only) */
63
77
  skipInvalidateBlockAsProposer?: boolean;
78
+ /**
79
+ * Bypass the parent checkpoint validity check before submitting a pipelined checkpoint, allowing
80
+ * the proposer to publish even when the parent landed on L1 with invalid attestations (for testing only).
81
+ */
82
+ skipWaitForValidParentCheckpointOnL1?: boolean;
64
83
  /** Broadcast invalid block proposals with corrupted state (for testing only) */
65
84
  broadcastInvalidBlockProposal?: boolean;
85
+ /** Broadcast an invalid block proposal only at this indexWithinCheckpoint (for testing only) */
86
+ invalidBlockProposalIndexWithinCheckpoint?: number;
87
+ /**
88
+ * Broadcast invalid checkpoint proposals (with corrupted archive) while keeping the underlying
89
+ * block proposals valid (for testing only). When unset, the checkpoint follows
90
+ * `broadcastInvalidBlockProposal`.
91
+ */
92
+ broadcastInvalidCheckpointProposalOnly?: boolean;
66
93
  /** Inject a fake attestation (for testing only) */
67
94
  injectFakeAttestation?: boolean;
68
95
  /** Inject a malleable attestation with a high-s value (for testing only) */
@@ -73,8 +100,10 @@ export interface SequencerConfig {
73
100
  fishermanMode?: boolean;
74
101
  /** Shuffle attestation ordering to create invalid ordering (for testing only) */
75
102
  shuffleAttestationOrdering?: boolean;
76
- /** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
103
+ /** Duration per block in milliseconds, used to derive how many blocks fit in a slot (defaults to 3000 ms). */
77
104
  blockDurationMs?: number;
105
+ /** Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. */
106
+ checkpointProposalSyncGraceSeconds?: number;
78
107
  /** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
79
108
  expectedBlockProposalsPerSlot?: number;
80
109
  /** Have sequencer build and publish an empty checkpoint if there are no txs */
@@ -85,6 +114,18 @@ export interface SequencerConfig {
85
114
  minBlocksForCheckpoint?: number;
86
115
  /** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
87
116
  skipPublishingCheckpointsPercent?: number;
117
+ /** Skip broadcasting checkpoint and block proposals via gossipsub when proposer (for testing only) */
118
+ skipBroadcastProposals?: boolean;
119
+ /**
120
+ * Skip broadcasting only the CheckpointProposal via gossipsub when proposer; the held last block is still broadcast
121
+ * standalone so peers receive it as a proposed-but-uncheckpointed tip. Used to exercise the orphan-proposed-block
122
+ * prune path (for testing only). Narrower variant of `skipBroadcastProposals`: when only this flag is set the held
123
+ * last block is still broadcast standalone, but when `skipBroadcastProposals` is also set neither the block nor the
124
+ * checkpoint proposal is broadcast.
125
+ */
126
+ skipBroadcastCheckpointProposal?: boolean;
127
+ /** List of slots for which the sequencer will not produce a proposal (for testing only). Attestation paths are unaffected. */
128
+ pauseProposingForSlots?: SlotNumber[];
88
129
  }
89
130
 
90
131
  export const SequencerConfigSchema = zodFor<SequencerConfig>()(
@@ -92,47 +133,55 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
92
133
  sequencerPollingIntervalMS: z.number().optional(),
93
134
  maxTxsPerBlock: z.number().optional(),
94
135
  maxTxsPerCheckpoint: z.number().optional(),
136
+ maxBlocksPerCheckpoint: z.number().positive().optional(),
95
137
  minValidTxsPerBlock: z.number().optional(),
96
138
  minTxsPerBlock: z.number().optional(),
97
139
  maxL2BlockGas: z.number().optional(),
98
140
  publishTxsWithProposals: z.boolean().optional(),
99
141
  maxDABlockGas: z.number().optional(),
100
142
  perBlockAllocationMultiplier: z.number().optional(),
143
+ perBlockDAAllocationMultiplier: z.number().optional(),
101
144
  redistributeCheckpointBudget: z.boolean().optional(),
102
- maxBlocksPerCheckpoint: z.number().optional(),
103
145
  coinbase: schemas.EthAddress.optional(),
104
146
  feeRecipient: schemas.AztecAddress.optional(),
105
147
  acvmWorkingDirectory: z.string().optional(),
106
148
  acvmBinaryPath: z.string().optional(),
107
149
  txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
108
150
  governanceProposerPayload: schemas.EthAddress.optional(),
151
+ minBlockDuration: z.number().positive().optional(),
152
+ checkpointProposalPrepareTime: z.number().nonnegative().optional(),
109
153
  l1PublishingTime: z.number().optional(),
110
- enforceTimeTable: z.boolean().optional(),
111
154
  fakeProcessingDelayPerTxMs: z.number().optional(),
112
155
  fakeThrowAfterProcessingTxCount: z.number().optional(),
113
156
  attestationPropagationTime: z.number().optional(),
114
157
  skipCollectingAttestations: z.boolean().optional(),
115
158
  skipInvalidateBlockAsProposer: z.boolean().optional(),
159
+ skipWaitForValidParentCheckpointOnL1: z.boolean().optional(),
116
160
  secondsBeforeInvalidatingBlockAsCommitteeMember: z.number(),
117
161
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
118
162
  broadcastInvalidBlockProposal: z.boolean().optional(),
163
+ invalidBlockProposalIndexWithinCheckpoint: z.number().int().nonnegative().optional(),
164
+ broadcastInvalidCheckpointProposalOnly: z.boolean().optional(),
119
165
  injectFakeAttestation: z.boolean().optional(),
120
166
  injectHighSValueAttestation: z.boolean().optional(),
121
167
  injectUnrecoverableSignatureAttestation: z.boolean().optional(),
122
168
  fishermanMode: z.boolean().optional(),
123
169
  shuffleAttestationOrdering: z.boolean().optional(),
124
170
  blockDurationMs: z.number().positive().optional(),
171
+ checkpointProposalSyncGraceSeconds: z.number().nonnegative().optional(),
125
172
  expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
126
173
  buildCheckpointIfEmpty: z.boolean().optional(),
127
174
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
128
175
  minBlocksForCheckpoint: z.number().positive().optional(),
129
176
  skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
177
+ skipBroadcastProposals: z.boolean().optional(),
178
+ skipBroadcastCheckpointProposal: z.boolean().optional(),
179
+ pauseProposingForSlots: z.array(SlotNumberSchema).optional(),
130
180
  }),
131
181
  );
132
182
 
133
183
  type SequencerConfigOptionalKeys =
134
184
  | 'governanceProposerPayload'
135
- | 'blockDurationMs'
136
185
  | 'expectedBlockProposalsPerSlot'
137
186
  | 'coinbase'
138
187
  | 'feeRecipient'
@@ -140,17 +189,20 @@ type SequencerConfigOptionalKeys =
140
189
  | 'acvmBinaryPath'
141
190
  | 'fakeProcessingDelayPerTxMs'
142
191
  | 'fakeThrowAfterProcessingTxCount'
143
- | 'l1PublishingTime'
192
+ | 'minBlockDuration'
193
+ | 'checkpointProposalPrepareTime'
144
194
  | 'txPublicSetupAllowListExtend'
195
+ | 'invalidBlockProposalIndexWithinCheckpoint'
145
196
  | 'minValidTxsPerBlock'
146
197
  | 'minBlocksForCheckpoint'
147
198
  | 'maxTxsPerBlock'
148
199
  | 'maxTxsPerCheckpoint'
149
200
  | 'maxL2BlockGas'
150
201
  | 'maxDABlockGas'
151
- | 'perBlockAllocationMultiplier'
152
202
  | 'redistributeCheckpointBudget'
153
- | 'maxBlocksPerCheckpoint';
203
+ | 'skipBroadcastProposals'
204
+ | 'skipBroadcastCheckpointProposal'
205
+ | 'pauseProposingForSlots';
154
206
 
155
207
  export type ResolvedSequencerConfig = Prettify<
156
208
  Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+
3
+ import type { ZodFor } from '../schemas/schemas.js';
4
+
5
+ /** Options for retrieving txs via {@link AztecNode.getTxByHash} and {@link AztecNode.getTxsByHash}. */
6
+ export type GetTxByHashOptions = {
7
+ /** Keep the proof on the returned tx; stripped by default. */
8
+ includeProof?: boolean;
9
+ };
10
+
11
+ /** Zod schema for {@link GetTxByHashOptions}. */
12
+ export const GetTxByHashOptionsSchema: ZodFor<GetTxByHashOptions> = z.object({
13
+ includeProof: z.boolean().optional(),
14
+ });
@@ -0,0 +1,40 @@
1
+ import { schemas } from '@aztec/foundation/schemas';
2
+
3
+ import { z } from 'zod';
4
+
5
+ import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
6
+
7
+ /**
8
+ * L1 publication info for a block or checkpoint.
9
+ *
10
+ * A discriminated union over `published`: when `false`, the block/checkpoint has not yet been
11
+ * published to L1. When `true`, the L1 block info (number, timestamp, hash) is present.
12
+ *
13
+ * Distinct from {@link L1PublishedData}, which is always the "published" case.
14
+ */
15
+ export type L1PublishInfo =
16
+ | { published: false }
17
+ | { published: true; blockNumber: bigint; timestamp: bigint; blockHash: string };
18
+
19
+ export const L1PublishInfoSchema = z.union([
20
+ z.object({ published: z.literal(false) }),
21
+ z.object({
22
+ published: z.literal(true),
23
+ blockNumber: schemas.BigInt,
24
+ timestamp: schemas.BigInt,
25
+ blockHash: z.string(),
26
+ }),
27
+ ]);
28
+
29
+ /** Projects the internal {@link L1PublishedData} (or its absence) to the public {@link L1PublishInfo} shape. */
30
+ export function l1PublishInfoFromL1PublishedData(data: L1PublishedData | undefined): L1PublishInfo {
31
+ if (!data) {
32
+ return { published: false };
33
+ }
34
+ return {
35
+ published: true,
36
+ blockNumber: data.blockNumber,
37
+ timestamp: data.timestamp,
38
+ blockHash: data.blockHash,
39
+ };
40
+ }
@@ -1,57 +1,28 @@
1
1
  import type { BlockNumber } from '@aztec/foundation/branded-types';
2
2
 
3
- import type { AztecAddress } from '../aztec-address/index.js';
4
- import type { LogFilter } from '../logs/log_filter.js';
5
- import type { SiloedTag } from '../logs/siloed_tag.js';
6
- import type { Tag } from '../logs/tag.js';
7
- import type { TxScopedL2Log } from '../logs/tx_scoped_l2_log.js';
8
- import type { GetContractClassLogsResponse, GetPublicLogsResponse } from './get_logs_response.js';
3
+ import type { LogResult } from '../logs/log_result.js';
4
+ import type { PrivateLogsQuery, PublicLogsQuery } from '../logs/logs_query.js';
9
5
 
10
6
  /**
11
7
  * Interface of classes allowing for the retrieval of logs.
8
+ *
9
+ * The return type is always the widest {@link LogResult} shape (noteHashes/nullifiers optional). To
10
+ * narrow at the call site after passing `includeEffects: true`, use the typed wrapper functions in
11
+ * `pxe/src/tagging/get_all_logs_by_tags.ts` (or cast — the wire payload is the widest shape, so a
12
+ * stricter generic on this interface would not survive the JSON-RPC boundary anyway).
12
13
  */
13
14
  export interface L2LogsSource {
14
15
  /**
15
- * Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
16
- * array implies no logs match that tag.
17
- * @param tags - The tags to search for.
18
- * @param page - The page number (0-indexed) for pagination.
19
- * @param upToBlockNumber - If set, only return logs from blocks up to and including this block number.
20
- * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
21
- * for a tag, the caller should fetch the next page to check for more logs.
16
+ * Gets private logs matching the given tags. Returns one inner array per element of `query.tags`, in
17
+ * input order. An empty inner array means no logs matched that tag.
22
18
  */
23
- getPrivateLogsByTags(tags: SiloedTag[], page?: number, upToBlockNumber?: BlockNumber): Promise<TxScopedL2Log[][]>;
19
+ getPrivateLogsByTags(query: PrivateLogsQuery): Promise<LogResult[][]>;
24
20
 
25
21
  /**
26
- * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
27
- * logs is returned. An empty array implies no logs match that tag.
28
- * @param contractAddress - The contract address to search logs for.
29
- * @param tags - The tags to search for.
30
- * @param page - The page number (0-indexed) for pagination.
31
- * @param upToBlockNumber - If set, only return logs from blocks up to and including this block number.
32
- * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
33
- * for a tag, the caller should fetch the next page to check for more logs.
22
+ * Gets public logs matching the given tags for the given contract. Returns one inner array per element
23
+ * of `query.tags`, in input order. An empty inner array means no logs matched that tag.
34
24
  */
35
- getPublicLogsByTagsFromContract(
36
- contractAddress: AztecAddress,
37
- tags: Tag[],
38
- page?: number,
39
- upToBlockNumber?: BlockNumber,
40
- ): Promise<TxScopedL2Log[][]>;
41
-
42
- /**
43
- * Gets public logs based on the provided filter.
44
- * @param filter - The filter to apply to the logs.
45
- * @returns The requested logs.
46
- */
47
- getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
48
-
49
- /**
50
- * Gets contract class logs based on the provided filter.
51
- * @param filter - The filter to apply to the logs.
52
- * @returns The requested logs.
53
- */
54
- getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
25
+ getPublicLogsByTags(query: PublicLogsQuery): Promise<LogResult[][]>;
55
26
 
56
27
  /**
57
28
  * Gets the number of the latest L2 block processed by the implementation.
@@ -3,6 +3,7 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { type IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
5
5
 
6
+ import type { BlockHash } from '../block/block_hash.js';
6
7
  import type { MerkleTreeId, TreeHeights } from '../trees/merkle_tree_id.js';
7
8
  import type { NullifierLeaf } from '../trees/nullifier_leaf.js';
8
9
  import type { PublicDataTreeLeaf } from '../trees/public_data_leaf.js';
@@ -99,7 +100,7 @@ type LeafTypes = {
99
100
  [MerkleTreeId.NOTE_HASH_TREE]: Fr;
100
101
  [MerkleTreeId.PUBLIC_DATA_TREE]: Buffer;
101
102
  [MerkleTreeId.L1_TO_L2_MESSAGE_TREE]: Fr;
102
- [MerkleTreeId.ARCHIVE]: Fr;
103
+ [MerkleTreeId.ARCHIVE]: BlockHash;
103
104
  };
104
105
 
105
106
  type LeafValueTypes = {
@@ -107,7 +108,7 @@ type LeafValueTypes = {
107
108
  [MerkleTreeId.NOTE_HASH_TREE]: Fr;
108
109
  [MerkleTreeId.PUBLIC_DATA_TREE]: PublicDataTreeLeaf;
109
110
  [MerkleTreeId.L1_TO_L2_MESSAGE_TREE]: Fr;
110
- [MerkleTreeId.ARCHIVE]: Fr;
111
+ [MerkleTreeId.ARCHIVE]: BlockHash;
111
112
  };
112
113
 
113
114
  export type MerkleTreeLeafType<ID extends MerkleTreeId> = LeafTypes[ID];
@@ -16,6 +16,6 @@ export interface P2PBootstrapApi {
16
16
  }
17
17
 
18
18
  export const P2PBootstrapApiSchema: ApiSchemaFor<P2PBootstrapApi> = {
19
- getEncodedEnr: z.function().returns(z.string()),
20
- getRoutingTable: z.function().returns(z.array(z.string())),
19
+ getEncodedEnr: z.function({ input: z.tuple([]), output: z.string() }),
20
+ getRoutingTable: z.function({ input: z.tuple([]), output: z.array(z.string()) }),
21
21
  };