@aztec/stdlib 0.0.1-commit.b33fc05d0 → 0.0.1-commit.b3d3157a

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 (884) 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 +210 -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 +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/sequencer-config.d.ts +5 -3
  131. package/dest/config/sequencer-config.d.ts.map +1 -1
  132. package/dest/config/sequencer-config.js +18 -4
  133. package/dest/contract/complete_address.d.ts +3 -2
  134. package/dest/contract/complete_address.d.ts.map +1 -1
  135. package/dest/contract/complete_address.js +6 -2
  136. package/dest/contract/contract_address.d.ts +6 -6
  137. package/dest/contract/contract_address.d.ts.map +1 -1
  138. package/dest/contract/contract_address.js +6 -5
  139. package/dest/contract/contract_class_id.d.ts +2 -2
  140. package/dest/contract/contract_class_id.js +2 -2
  141. package/dest/contract/contract_deployment_data.d.ts +15 -61
  142. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  143. package/dest/contract/contract_instance.d.ts +4 -2
  144. package/dest/contract/contract_instance.d.ts.map +1 -1
  145. package/dest/contract/contract_instance.js +10 -3
  146. package/dest/contract/index.d.ts +1 -3
  147. package/dest/contract/index.d.ts.map +1 -1
  148. package/dest/contract/index.js +0 -2
  149. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  150. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  151. package/dest/contract/interfaces/contract_class.js +1 -28
  152. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  153. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  154. package/dest/contract/interfaces/contract_instance.js +4 -2
  155. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  156. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  157. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  158. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  159. package/dest/contract/private_function.d.ts +1 -1
  160. package/dest/contract/private_function.d.ts.map +1 -1
  161. package/dest/contract/private_function.js +2 -4
  162. package/dest/database-version/database_version.d.ts +5 -11
  163. package/dest/database-version/database_version.d.ts.map +1 -1
  164. package/dest/database-version/version_manager.d.ts +6 -2
  165. package/dest/database-version/version_manager.d.ts.map +1 -1
  166. package/dest/database-version/version_manager.js +12 -1
  167. package/dest/epoch-helpers/index.d.ts +10 -22
  168. package/dest/epoch-helpers/index.d.ts.map +1 -1
  169. package/dest/epoch-helpers/index.js +12 -0
  170. package/dest/file-store/factory.d.ts +4 -3
  171. package/dest/file-store/factory.d.ts.map +1 -1
  172. package/dest/file-store/factory.js +2 -2
  173. package/dest/file-store/http.d.ts +9 -2
  174. package/dest/file-store/http.d.ts.map +1 -1
  175. package/dest/file-store/http.js +20 -9
  176. package/dest/file-store/index.d.ts +2 -1
  177. package/dest/file-store/index.d.ts.map +1 -1
  178. package/dest/gas/fee_math.d.ts +49 -0
  179. package/dest/gas/fee_math.d.ts.map +1 -0
  180. package/dest/gas/fee_math.js +80 -0
  181. package/dest/gas/gas.d.ts +9 -14
  182. package/dest/gas/gas.d.ts.map +1 -1
  183. package/dest/gas/gas.js +6 -3
  184. package/dest/gas/gas_fees.d.ts +13 -14
  185. package/dest/gas/gas_fees.d.ts.map +1 -1
  186. package/dest/gas/gas_fees.js +17 -4
  187. package/dest/gas/gas_settings.d.ts +66 -86
  188. package/dest/gas/gas_settings.d.ts.map +1 -1
  189. package/dest/gas/gas_settings.js +56 -9
  190. package/dest/gas/index.d.ts +2 -1
  191. package/dest/gas/index.d.ts.map +1 -1
  192. package/dest/gas/index.js +1 -0
  193. package/dest/ha-signing/config.d.ts +11 -75
  194. package/dest/ha-signing/config.d.ts.map +1 -1
  195. package/dest/ha-signing/config.js +9 -18
  196. package/dest/ha-signing/index.d.ts +2 -2
  197. package/dest/ha-signing/index.d.ts.map +1 -1
  198. package/dest/ha-signing/index.js +1 -1
  199. package/dest/ha-signing/local_config.d.ts +3 -34
  200. package/dest/ha-signing/local_config.d.ts.map +1 -1
  201. package/dest/ha-signing/local_config.js +2 -2
  202. package/dest/ha-signing/types.d.ts +37 -32
  203. package/dest/ha-signing/types.d.ts.map +1 -1
  204. package/dest/ha-signing/types.js +13 -6
  205. package/dest/hash/hash.d.ts +34 -1
  206. package/dest/hash/hash.d.ts.map +1 -1
  207. package/dest/hash/hash.js +63 -2
  208. package/dest/interfaces/allowed_element.d.ts +4 -28
  209. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  210. package/dest/interfaces/api_limit.d.ts +1 -1
  211. package/dest/interfaces/api_limit.js +1 -1
  212. package/dest/interfaces/archiver.d.ts +22 -32
  213. package/dest/interfaces/archiver.d.ts.map +1 -1
  214. package/dest/interfaces/archiver.js +214 -70
  215. package/dest/interfaces/aztec-node-admin.d.ts +66 -301
  216. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  217. package/dest/interfaces/aztec-node-admin.js +59 -16
  218. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  219. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  220. package/dest/interfaces/aztec-node-debug.js +21 -0
  221. package/dest/interfaces/aztec-node.d.ts +110 -106
  222. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  223. package/dest/interfaces/aztec-node.js +309 -69
  224. package/dest/interfaces/block-builder.d.ts +33 -7
  225. package/dest/interfaces/block-builder.d.ts.map +1 -1
  226. package/dest/interfaces/block-builder.js +6 -4
  227. package/dest/interfaces/block_response.d.ts +90 -0
  228. package/dest/interfaces/block_response.d.ts.map +1 -0
  229. package/dest/interfaces/block_response.js +30 -0
  230. package/dest/interfaces/chain_tips.d.ts +50 -0
  231. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  232. package/dest/interfaces/chain_tips.js +11 -0
  233. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  234. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  235. package/dest/interfaces/checkpoint_parameter.js +18 -0
  236. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  237. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  238. package/dest/interfaces/checkpoint_response.js +26 -0
  239. package/dest/interfaces/client.d.ts +8 -2
  240. package/dest/interfaces/client.d.ts.map +1 -1
  241. package/dest/interfaces/client.js +7 -1
  242. package/dest/interfaces/configs.d.ts +44 -128
  243. package/dest/interfaces/configs.d.ts.map +1 -1
  244. package/dest/interfaces/configs.js +10 -1
  245. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  246. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  247. package/dest/interfaces/l1_publish_info.js +26 -0
  248. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  249. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  250. package/dest/interfaces/l2_logs_source.js +5 -0
  251. package/dest/interfaces/merkle_tree_operations.d.ts +20 -23
  252. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  253. package/dest/interfaces/p2p-bootstrap.js +8 -2
  254. package/dest/interfaces/p2p.d.ts +15 -5
  255. package/dest/interfaces/p2p.d.ts.map +1 -1
  256. package/dest/interfaces/p2p.js +28 -5
  257. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  258. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  259. package/dest/interfaces/prover-agent.d.ts +5 -23
  260. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  261. package/dest/interfaces/prover-agent.js +4 -1
  262. package/dest/interfaces/prover-client.d.ts +6 -27
  263. package/dest/interfaces/prover-client.d.ts.map +1 -1
  264. package/dest/interfaces/prover-client.js +1 -4
  265. package/dest/interfaces/prover-node.js +22 -8
  266. package/dest/interfaces/proving-job-source.js +24 -4
  267. package/dest/interfaces/proving-job.d.ts +742 -5793
  268. package/dest/interfaces/proving-job.d.ts.map +1 -1
  269. package/dest/interfaces/proving-job.js +1 -1
  270. package/dest/interfaces/public_storage_override.d.ts +22 -0
  271. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  272. package/dest/interfaces/public_storage_override.js +7 -0
  273. package/dest/interfaces/server.d.ts +6 -1
  274. package/dest/interfaces/server.d.ts.map +1 -1
  275. package/dest/interfaces/server.js +5 -0
  276. package/dest/interfaces/slasher.d.ts +25 -65
  277. package/dest/interfaces/slasher.d.ts.map +1 -1
  278. package/dest/interfaces/slasher.js +8 -4
  279. package/dest/interfaces/tx_provider.d.ts +6 -1
  280. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  281. package/dest/interfaces/validator.d.ts +48 -248
  282. package/dest/interfaces/validator.d.ts.map +1 -1
  283. package/dest/interfaces/validator.js +5 -1
  284. package/dest/interfaces/world_state.d.ts +6 -5
  285. package/dest/interfaces/world_state.d.ts.map +1 -1
  286. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  287. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  288. package/dest/kernel/hints/key_validation_request.js +20 -18
  289. package/dest/kernel/index.d.ts +5 -1
  290. package/dest/kernel/index.d.ts.map +1 -1
  291. package/dest/kernel/index.js +4 -0
  292. package/dest/kernel/log_hash.d.ts +6 -2
  293. package/dest/kernel/log_hash.d.ts.map +1 -1
  294. package/dest/kernel/log_hash.js +21 -9
  295. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  296. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  297. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  298. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  299. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  300. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  301. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  302. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  303. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  304. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  305. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  306. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  307. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  308. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  309. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  310. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  311. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  312. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  313. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  314. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  315. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  316. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  317. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  318. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  319. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  320. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  321. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  322. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  323. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  324. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  325. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  326. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  327. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  328. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  329. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  330. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  331. package/dest/kernel/public_call_request.d.ts +15 -30
  332. package/dest/kernel/public_call_request.d.ts.map +1 -1
  333. package/dest/kernel/public_call_request.js +16 -7
  334. package/dest/keys/derivation.d.ts +6 -2
  335. package/dest/keys/derivation.d.ts.map +1 -1
  336. package/dest/keys/derivation.js +16 -6
  337. package/dest/keys/public_key.d.ts +22 -3
  338. package/dest/keys/public_key.d.ts.map +1 -1
  339. package/dest/keys/public_key.js +20 -1
  340. package/dest/keys/public_keys.d.ts +55 -82
  341. package/dest/keys/public_keys.d.ts.map +1 -1
  342. package/dest/keys/public_keys.js +102 -74
  343. package/dest/kv-store/config.d.ts +3 -6
  344. package/dest/kv-store/config.d.ts.map +1 -1
  345. package/dest/kv-store/config.js +2 -7
  346. package/dest/l1-contracts/index.d.ts +2 -2
  347. package/dest/l1-contracts/index.d.ts.map +1 -1
  348. package/dest/l1-contracts/index.js +1 -1
  349. package/dest/logs/app_tagging_secret.d.ts +46 -0
  350. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  351. package/dest/logs/app_tagging_secret.js +109 -0
  352. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  353. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  354. package/dest/logs/app_tagging_secret_kind.js +17 -0
  355. package/dest/logs/contract_class_log.d.ts +16 -34
  356. package/dest/logs/contract_class_log.d.ts.map +1 -1
  357. package/dest/logs/contract_class_log.js +11 -9
  358. package/dest/logs/index.d.ts +7 -7
  359. package/dest/logs/index.d.ts.map +1 -1
  360. package/dest/logs/index.js +6 -6
  361. package/dest/logs/log_cursor.d.ts +51 -0
  362. package/dest/logs/log_cursor.d.ts.map +1 -0
  363. package/dest/logs/log_cursor.js +82 -0
  364. package/dest/logs/log_result.d.ts +54 -0
  365. package/dest/logs/log_result.d.ts.map +1 -0
  366. package/dest/logs/log_result.js +56 -0
  367. package/dest/logs/logs_query.d.ts +82 -0
  368. package/dest/logs/logs_query.d.ts.map +1 -0
  369. package/dest/logs/logs_query.js +50 -0
  370. package/dest/logs/message_context.d.ts +6 -8
  371. package/dest/logs/message_context.d.ts.map +1 -1
  372. package/dest/logs/message_context.js +27 -9
  373. package/dest/logs/pending_tagged_log.d.ts +2 -3
  374. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  375. package/dest/logs/pending_tagged_log.js +2 -2
  376. package/dest/logs/pre_tag.d.ts +11 -24
  377. package/dest/logs/pre_tag.d.ts.map +1 -1
  378. package/dest/logs/pre_tag.js +2 -2
  379. package/dest/logs/private_log.d.ts +7 -12
  380. package/dest/logs/private_log.d.ts.map +1 -1
  381. package/dest/logs/private_log.js +6 -3
  382. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  383. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  384. package/dest/logs/query_all_logs_by_tags.js +64 -0
  385. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  386. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  387. package/dest/logs/shared_secret_derivation.js +15 -9
  388. package/dest/logs/siloed_tag.d.ts +8 -7
  389. package/dest/logs/siloed_tag.d.ts.map +1 -1
  390. package/dest/logs/siloed_tag.js +13 -3
  391. package/dest/logs/tag.d.ts +5 -6
  392. package/dest/logs/tag.d.ts.map +1 -1
  393. package/dest/logs/tag.js +4 -0
  394. package/dest/logs/tagging_index_range.d.ts +13 -31
  395. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  396. package/dest/logs/tagging_index_range.js +2 -2
  397. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  398. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  399. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  400. package/dest/messaging/index.d.ts +2 -1
  401. package/dest/messaging/index.d.ts.map +1 -1
  402. package/dest/messaging/index.js +1 -0
  403. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  404. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  405. package/dest/messaging/l1_to_l2_message.js +11 -13
  406. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  407. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  408. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  409. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  410. package/dest/messaging/l2_to_l1_membership.js +72 -12
  411. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  412. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  413. package/dest/messaging/l2_to_l1_message.js +21 -12
  414. package/dest/noir/index.d.ts +5 -3
  415. package/dest/noir/index.d.ts.map +1 -1
  416. package/dest/note/note.d.ts +2 -2
  417. package/dest/note/note.d.ts.map +1 -1
  418. package/dest/note/note_dao.d.ts +1 -1
  419. package/dest/note/note_dao.d.ts.map +1 -1
  420. package/dest/note/note_dao.js +1 -4
  421. package/dest/p2p/block_proposal.d.ts +31 -14
  422. package/dest/p2p/block_proposal.d.ts.map +1 -1
  423. package/dest/p2p/block_proposal.js +57 -39
  424. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  425. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  426. package/dest/p2p/checkpoint_attestation.js +23 -24
  427. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  428. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  429. package/dest/p2p/checkpoint_proposal.js +59 -49
  430. package/dest/p2p/consensus_payload.d.ts +26 -20
  431. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  432. package/dest/p2p/consensus_payload.js +38 -19
  433. package/dest/p2p/gossipable.d.ts +4 -4
  434. package/dest/p2p/gossipable.d.ts.map +1 -1
  435. package/dest/p2p/signature_utils.d.ts +28 -19
  436. package/dest/p2p/signature_utils.d.ts.map +1 -1
  437. package/dest/p2p/signature_utils.js +118 -21
  438. package/dest/p2p/signed_txs.d.ts +15 -13
  439. package/dest/p2p/signed_txs.d.ts.map +1 -1
  440. package/dest/p2p/signed_txs.js +26 -24
  441. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  442. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  443. package/dest/parity/parity_base_private_inputs.js +7 -5
  444. package/dest/parity/parity_public_inputs.d.ts +8 -4
  445. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  446. package/dest/parity/parity_public_inputs.js +6 -3
  447. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  448. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  449. package/dest/proofs/chonk_proof.d.ts +57 -7
  450. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  451. package/dest/proofs/chonk_proof.js +112 -15
  452. package/dest/proofs/recursive_proof.d.ts +2 -2
  453. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  454. package/dest/rollup/block_headers_hash.d.ts +1 -1
  455. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  456. package/dest/rollup/block_headers_hash.js +8 -2
  457. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  458. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  459. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  460. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  461. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  462. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  463. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  464. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  465. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  466. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  467. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  468. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  469. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  470. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  471. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  472. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  473. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  474. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  475. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  476. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  477. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  478. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  479. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  480. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  481. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  482. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  483. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  484. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  485. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  486. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  487. package/dest/schemas/schemas.d.ts +32 -78
  488. package/dest/schemas/schemas.d.ts.map +1 -1
  489. package/dest/schemas/schemas.js +2 -2
  490. package/dest/slashing/helpers.d.ts +2 -2
  491. package/dest/slashing/helpers.d.ts.map +1 -1
  492. package/dest/slashing/helpers.js +10 -7
  493. package/dest/slashing/index.d.ts +2 -3
  494. package/dest/slashing/index.d.ts.map +1 -1
  495. package/dest/slashing/index.js +1 -2
  496. package/dest/slashing/serialization.d.ts +2 -6
  497. package/dest/slashing/serialization.d.ts.map +1 -1
  498. package/dest/slashing/serialization.js +0 -60
  499. package/dest/slashing/types.d.ts +18 -112
  500. package/dest/slashing/types.d.ts.map +1 -1
  501. package/dest/slashing/types.js +16 -24
  502. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  503. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  504. package/dest/slashing/{tally.js → votes.js} +1 -1
  505. package/dest/snapshots/types.d.ts +15 -78
  506. package/dest/snapshots/types.d.ts.map +1 -1
  507. package/dest/stats/stats.d.ts +2 -2
  508. package/dest/stats/stats.d.ts.map +1 -1
  509. package/dest/tests/factories.d.ts +25 -32
  510. package/dest/tests/factories.d.ts.map +1 -1
  511. package/dest/tests/factories.js +82 -82
  512. package/dest/tests/mocks.d.ts +8 -5
  513. package/dest/tests/mocks.d.ts.map +1 -1
  514. package/dest/tests/mocks.js +42 -54
  515. package/dest/timetable/index.d.ts +48 -1
  516. package/dest/timetable/index.d.ts.map +1 -1
  517. package/dest/timetable/index.js +184 -14
  518. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  519. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  520. package/dest/trees/append_only_tree_snapshot.js +6 -3
  521. package/dest/trees/nullifier_leaf.d.ts +19 -42
  522. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  523. package/dest/trees/nullifier_leaf.js +3 -0
  524. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  525. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  526. package/dest/trees/nullifier_membership_witness.js +2 -14
  527. package/dest/trees/public_data_leaf.d.ts +21 -53
  528. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  529. package/dest/trees/public_data_witness.d.ts +16 -58
  530. package/dest/trees/public_data_witness.d.ts.map +1 -1
  531. package/dest/tx/block_header.d.ts +5 -4
  532. package/dest/tx/block_header.d.ts.map +1 -1
  533. package/dest/tx/block_header.js +7 -4
  534. package/dest/tx/call_context.d.ts +4 -14
  535. package/dest/tx/call_context.d.ts.map +1 -1
  536. package/dest/tx/capsule.d.ts +7 -3
  537. package/dest/tx/capsule.d.ts.map +1 -1
  538. package/dest/tx/capsule.js +9 -3
  539. package/dest/tx/fee_provider.d.ts +10 -0
  540. package/dest/tx/fee_provider.d.ts.map +1 -0
  541. package/dest/tx/fee_provider.js +1 -0
  542. package/dest/tx/function_data.d.ts +4 -10
  543. package/dest/tx/function_data.d.ts.map +1 -1
  544. package/dest/tx/global_variable_builder.d.ts +3 -4
  545. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  546. package/dest/tx/global_variables.d.ts +16 -49
  547. package/dest/tx/global_variables.d.ts.map +1 -1
  548. package/dest/tx/global_variables.js +8 -12
  549. package/dest/tx/hashed_values.d.ts +4 -3
  550. package/dest/tx/hashed_values.d.ts.map +1 -1
  551. package/dest/tx/hashed_values.js +6 -3
  552. package/dest/tx/in_tx.d.ts +5 -17
  553. package/dest/tx/in_tx.d.ts.map +1 -1
  554. package/dest/tx/index.d.ts +2 -1
  555. package/dest/tx/index.d.ts.map +1 -1
  556. package/dest/tx/index.js +1 -0
  557. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  558. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  559. package/dest/tx/indexed_tx_effect.js +9 -6
  560. package/dest/tx/partial_state_reference.d.ts +22 -65
  561. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  562. package/dest/tx/partial_state_reference.js +6 -3
  563. package/dest/tx/private_execution_result.d.ts +6 -16
  564. package/dest/tx/private_execution_result.d.ts.map +1 -1
  565. package/dest/tx/profiling.d.ts +67 -353
  566. package/dest/tx/profiling.d.ts.map +1 -1
  567. package/dest/tx/profiling.js +17 -7
  568. package/dest/tx/protocol_contracts.d.ts +5 -9
  569. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  570. package/dest/tx/proven_tx.d.ts +30 -74
  571. package/dest/tx/proven_tx.d.ts.map +1 -1
  572. package/dest/tx/proven_tx.js +6 -0
  573. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  574. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  575. package/dest/tx/public_call_request_with_calldata.js +6 -3
  576. package/dest/tx/simulated_tx.d.ts +64 -1143
  577. package/dest/tx/simulated_tx.d.ts.map +1 -1
  578. package/dest/tx/simulated_tx.js +13 -11
  579. package/dest/tx/state_reference.d.ts +30 -117
  580. package/dest/tx/state_reference.d.ts.map +1 -1
  581. package/dest/tx/state_reference.js +6 -4
  582. package/dest/tx/tree_snapshots.d.ts +27 -84
  583. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  584. package/dest/tx/tree_snapshots.js +6 -4
  585. package/dest/tx/tx.d.ts +14 -13
  586. package/dest/tx/tx.d.ts.map +1 -1
  587. package/dest/tx/tx.js +30 -23
  588. package/dest/tx/tx_constant_data.d.ts +4 -3
  589. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  590. package/dest/tx/tx_constant_data.js +6 -3
  591. package/dest/tx/tx_context.d.ts +32 -131
  592. package/dest/tx/tx_context.d.ts.map +1 -1
  593. package/dest/tx/tx_context.js +6 -6
  594. package/dest/tx/tx_hash.d.ts +6 -4
  595. package/dest/tx/tx_hash.d.ts.map +1 -1
  596. package/dest/tx/tx_hash.js +13 -5
  597. package/dest/tx/tx_receipt.d.ts +144 -63
  598. package/dest/tx/tx_receipt.d.ts.map +1 -1
  599. package/dest/tx/tx_receipt.js +143 -60
  600. package/dest/tx/validator/error_texts.d.ts +5 -1
  601. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  602. package/dest/tx/validator/error_texts.js +6 -0
  603. package/dest/tx/validator/tx_validator.d.ts +5 -27
  604. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  605. package/dest/tx/validator/tx_validator.js +0 -4
  606. package/dest/types/shared.d.ts +4 -12
  607. package/dest/types/shared.d.ts.map +1 -1
  608. package/dest/types/shared.js +6 -12
  609. package/dest/update-checker/dev_version.d.ts +3 -0
  610. package/dest/update-checker/dev_version.d.ts.map +1 -0
  611. package/dest/update-checker/dev_version.js +1 -0
  612. package/dest/update-checker/index.d.ts +2 -1
  613. package/dest/update-checker/index.d.ts.map +1 -1
  614. package/dest/update-checker/index.js +1 -0
  615. package/dest/update-checker/package_version.d.ts +6 -3
  616. package/dest/update-checker/package_version.d.ts.map +1 -1
  617. package/dest/update-checker/package_version.js +9 -7
  618. package/dest/validators/schemas.d.ts +147 -614
  619. package/dest/validators/schemas.d.ts.map +1 -1
  620. package/dest/validators/schemas.js +6 -4
  621. package/dest/validators/types.d.ts +20 -3
  622. package/dest/validators/types.d.ts.map +1 -1
  623. package/dest/versioning/versioning.d.ts +4 -2
  624. package/dest/versioning/versioning.d.ts.map +1 -1
  625. package/dest/versioning/versioning.js +5 -2
  626. package/dest/vks/verification_key.d.ts +4 -139
  627. package/dest/vks/verification_key.d.ts.map +1 -1
  628. package/dest/vks/verification_key.js +5 -126
  629. package/dest/world-state/genesis_data.d.ts +13 -0
  630. package/dest/world-state/genesis_data.d.ts.map +1 -0
  631. package/dest/world-state/genesis_data.js +7 -0
  632. package/dest/world-state/index.d.ts +2 -1
  633. package/dest/world-state/index.d.ts.map +1 -1
  634. package/dest/world-state/index.js +1 -0
  635. package/dest/world-state/world_state_revision.d.ts +11 -39
  636. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  637. package/dest/world-state/world_state_revision.js +7 -21
  638. package/package.json +12 -11
  639. package/src/abi/abi.ts +78 -21
  640. package/src/abi/authorization_selector.ts +2 -8
  641. package/src/abi/buffer.ts +25 -4
  642. package/src/abi/contract_artifact.ts +11 -6
  643. package/src/abi/decoder.ts +23 -78
  644. package/src/abi/encoder.ts +42 -6
  645. package/src/abi/event_selector.ts +2 -8
  646. package/src/abi/function_selector.ts +4 -13
  647. package/src/abi/function_signature_decoder.ts +77 -0
  648. package/src/abi/index.ts +1 -0
  649. package/src/abi/note_selector.ts +3 -12
  650. package/src/abi/selector.ts +1 -1
  651. package/src/abi/utils.ts +6 -4
  652. package/src/avm/avm.ts +5 -0
  653. package/src/avm/message_pack.ts +12 -3
  654. package/src/avm/revert_code.ts +19 -39
  655. package/src/aztec-address/index.ts +15 -12
  656. package/src/block/attestation_info.ts +11 -11
  657. package/src/block/block_data.ts +3 -4
  658. package/src/block/block_hash.ts +21 -14
  659. package/src/block/block_parameter.ts +72 -4
  660. package/src/block/index.ts +0 -1
  661. package/src/block/l2_block_info.ts +8 -6
  662. package/src/block/l2_block_source.ts +209 -147
  663. package/src/block/l2_block_stream/interfaces.ts +6 -2
  664. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  665. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  666. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  667. package/src/block/proposal/attestations_and_signers.ts +32 -17
  668. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  669. package/src/checkpoint/checkpoint.ts +11 -1
  670. package/src/checkpoint/checkpoint_data.ts +44 -4
  671. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  672. package/src/checkpoint/digest.ts +28 -0
  673. package/src/checkpoint/index.ts +3 -0
  674. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  675. package/src/checkpoint/validate.ts +2 -2
  676. package/src/config/chain-config.ts +13 -16
  677. package/src/config/sequencer-config.ts +34 -6
  678. package/src/contract/complete_address.ts +7 -3
  679. package/src/contract/contract_address.ts +7 -7
  680. package/src/contract/contract_class_id.ts +2 -2
  681. package/src/contract/contract_instance.ts +11 -2
  682. package/src/contract/index.ts +0 -2
  683. package/src/contract/interfaces/contract_class.ts +2 -82
  684. package/src/contract/interfaces/contract_instance.ts +6 -2
  685. package/src/contract/private_function.ts +3 -1
  686. package/src/database-version/version_manager.ts +17 -0
  687. package/src/epoch-helpers/index.ts +24 -0
  688. package/src/file-store/factory.ts +13 -4
  689. package/src/file-store/http.ts +29 -10
  690. package/src/file-store/index.ts +1 -0
  691. package/src/gas/README.md +154 -0
  692. package/src/gas/fee_math.ts +120 -0
  693. package/src/gas/gas.ts +8 -3
  694. package/src/gas/gas_fees.ts +26 -13
  695. package/src/gas/gas_settings.ts +73 -15
  696. package/src/gas/index.ts +1 -0
  697. package/src/ha-signing/config.ts +14 -18
  698. package/src/ha-signing/index.ts +3 -1
  699. package/src/ha-signing/local_config.ts +2 -2
  700. package/src/ha-signing/types.ts +48 -34
  701. package/src/hash/hash.ts +63 -2
  702. package/src/interfaces/api_limit.ts +1 -1
  703. package/src/interfaces/archiver.ts +89 -93
  704. package/src/interfaces/aztec-node-admin.ts +35 -20
  705. package/src/interfaces/aztec-node-debug.ts +40 -0
  706. package/src/interfaces/aztec-node.ts +307 -257
  707. package/src/interfaces/block-builder.ts +39 -8
  708. package/src/interfaces/block_response.ts +92 -0
  709. package/src/interfaces/chain_tips.ts +24 -0
  710. package/src/interfaces/checkpoint_parameter.ts +20 -0
  711. package/src/interfaces/checkpoint_response.ts +84 -0
  712. package/src/interfaces/client.ts +7 -1
  713. package/src/interfaces/configs.ts +43 -1
  714. package/src/interfaces/l1_publish_info.ts +40 -0
  715. package/src/interfaces/l2_logs_source.ts +13 -39
  716. package/src/interfaces/merkle_tree_operations.ts +20 -22
  717. package/src/interfaces/p2p-bootstrap.ts +2 -2
  718. package/src/interfaces/p2p.ts +35 -15
  719. package/src/interfaces/private_kernel_prover.ts +88 -0
  720. package/src/interfaces/prover-agent.ts +1 -1
  721. package/src/interfaces/prover-client.ts +3 -6
  722. package/src/interfaces/prover-node.ts +7 -7
  723. package/src/interfaces/proving-job-source.ts +4 -4
  724. package/src/interfaces/proving-job.ts +3 -3
  725. package/src/interfaces/public_storage_override.ts +26 -0
  726. package/src/interfaces/server.ts +5 -0
  727. package/src/interfaces/slasher.ts +17 -10
  728. package/src/interfaces/tx_provider.ts +6 -0
  729. package/src/interfaces/validator.ts +34 -15
  730. package/src/interfaces/world_state.ts +5 -4
  731. package/src/kernel/hints/key_validation_request.ts +18 -16
  732. package/src/kernel/index.ts +4 -0
  733. package/src/kernel/log_hash.ts +29 -9
  734. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  735. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  736. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  737. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  738. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  739. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  740. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  741. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  742. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  743. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  744. package/src/kernel/public_call_request.ts +22 -7
  745. package/src/keys/derivation.ts +21 -9
  746. package/src/keys/public_key.ts +26 -2
  747. package/src/keys/public_keys.ts +124 -110
  748. package/src/kv-store/config.ts +3 -10
  749. package/src/l1-contracts/index.ts +1 -1
  750. package/src/logs/app_tagging_secret.ts +137 -0
  751. package/src/logs/app_tagging_secret_kind.ts +21 -0
  752. package/src/logs/contract_class_log.ts +15 -5
  753. package/src/logs/index.ts +6 -6
  754. package/src/logs/log_cursor.ts +110 -0
  755. package/src/logs/log_result.ts +104 -0
  756. package/src/logs/logs_query.ts +138 -0
  757. package/src/logs/message_context.ts +22 -8
  758. package/src/logs/pending_tagged_log.ts +1 -3
  759. package/src/logs/pre_tag.ts +3 -6
  760. package/src/logs/private_log.ts +9 -3
  761. package/src/logs/query_all_logs_by_tags.ts +98 -0
  762. package/src/logs/shared_secret_derivation.ts +21 -10
  763. package/src/logs/siloed_tag.ts +20 -11
  764. package/src/logs/tag.ts +8 -8
  765. package/src/logs/tagging_index_range.ts +4 -10
  766. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  767. package/src/messaging/index.ts +1 -0
  768. package/src/messaging/l1_to_l2_message.ts +12 -9
  769. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  770. package/src/messaging/l2_to_l1_membership.ts +108 -19
  771. package/src/messaging/l2_to_l1_message.ts +29 -9
  772. package/src/noir/index.ts +4 -2
  773. package/src/note/note_dao.ts +1 -4
  774. package/src/p2p/block_proposal.ts +111 -36
  775. package/src/p2p/checkpoint_attestation.ts +27 -31
  776. package/src/p2p/checkpoint_proposal.ts +126 -68
  777. package/src/p2p/consensus_payload.ts +59 -28
  778. package/src/p2p/gossipable.ts +4 -4
  779. package/src/p2p/signature_utils.ts +110 -25
  780. package/src/p2p/signed_txs.ts +46 -28
  781. package/src/parity/parity_base_private_inputs.ts +10 -4
  782. package/src/parity/parity_public_inputs.ts +9 -2
  783. package/src/proofs/chonk_proof.ts +132 -12
  784. package/src/rollup/block_headers_hash.ts +11 -2
  785. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  786. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  787. package/src/schemas/schemas.ts +6 -1
  788. package/src/slashing/helpers.ts +13 -9
  789. package/src/slashing/index.ts +1 -2
  790. package/src/slashing/serialization.ts +1 -81
  791. package/src/slashing/types.ts +24 -49
  792. package/src/slashing/{tally.ts → votes.ts} +1 -1
  793. package/src/stats/stats.ts +4 -0
  794. package/src/tests/factories.ts +103 -111
  795. package/src/tests/mocks.ts +66 -70
  796. package/src/timetable/index.ts +251 -13
  797. package/src/trees/append_only_tree_snapshot.ts +8 -3
  798. package/src/trees/nullifier_leaf.ts +4 -0
  799. package/src/trees/nullifier_membership_witness.ts +2 -12
  800. package/src/tx/block_header.ts +10 -5
  801. package/src/tx/capsule.ts +10 -2
  802. package/src/tx/fee_provider.ts +10 -0
  803. package/src/tx/global_variable_builder.ts +2 -3
  804. package/src/tx/global_variables.ts +10 -18
  805. package/src/tx/hashed_values.ts +8 -3
  806. package/src/tx/index.ts +1 -0
  807. package/src/tx/indexed_tx_effect.ts +18 -6
  808. package/src/tx/partial_state_reference.ts +8 -3
  809. package/src/tx/profiling.ts +15 -6
  810. package/src/tx/proven_tx.ts +6 -0
  811. package/src/tx/public_call_request_with_calldata.ts +8 -3
  812. package/src/tx/simulated_tx.ts +22 -21
  813. package/src/tx/state_reference.ts +9 -4
  814. package/src/tx/tree_snapshots.ts +9 -4
  815. package/src/tx/tx.ts +43 -24
  816. package/src/tx/tx_constant_data.ts +8 -3
  817. package/src/tx/tx_context.ts +8 -3
  818. package/src/tx/tx_hash.ts +20 -5
  819. package/src/tx/tx_receipt.ts +265 -85
  820. package/src/tx/validator/error_texts.ts +8 -0
  821. package/src/tx/validator/tx_validator.ts +1 -5
  822. package/src/types/shared.ts +8 -13
  823. package/src/update-checker/dev_version.ts +2 -0
  824. package/src/update-checker/index.ts +1 -0
  825. package/src/update-checker/package_version.ts +11 -11
  826. package/src/validators/schemas.ts +6 -4
  827. package/src/validators/types.ts +21 -2
  828. package/src/versioning/versioning.ts +5 -2
  829. package/src/vks/verification_key.ts +5 -184
  830. package/src/world-state/genesis_data.ts +27 -0
  831. package/src/world-state/index.ts +1 -0
  832. package/src/world-state/world_state_revision.ts +9 -34
  833. package/dest/abi/mocked_keys.d.ts +0 -2
  834. package/dest/abi/mocked_keys.d.ts.map +0 -1
  835. package/dest/abi/mocked_keys.js +0 -1
  836. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  837. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  838. package/dest/block/checkpointed_l2_block.js +0 -46
  839. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  840. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  841. package/dest/contract/private_function_membership_proof.js +0 -124
  842. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  843. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  844. package/dest/contract/utility_function_membership_proof.js +0 -87
  845. package/dest/interfaces/get_logs_response.d.ts +0 -97
  846. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  847. package/dest/interfaces/get_logs_response.js +0 -12
  848. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  849. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  850. package/dest/l1-contracts/slash_factory.js +0 -158
  851. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  852. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  853. package/dest/logs/extended_contract_class_log.js +0 -67
  854. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  855. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  856. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  857. package/dest/logs/extended_public_log.d.ts +0 -106
  858. package/dest/logs/extended_public_log.d.ts.map +0 -1
  859. package/dest/logs/extended_public_log.js +0 -73
  860. package/dest/logs/log_filter.d.ts +0 -22
  861. package/dest/logs/log_filter.d.ts.map +0 -1
  862. package/dest/logs/log_filter.js +0 -11
  863. package/dest/logs/log_id.d.ts +0 -85
  864. package/dest/logs/log_id.d.ts.map +0 -1
  865. package/dest/logs/log_id.js +0 -94
  866. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  867. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  868. package/dest/logs/tx_scoped_l2_log.js +0 -70
  869. package/dest/slashing/empire.d.ts +0 -31
  870. package/dest/slashing/empire.d.ts.map +0 -1
  871. package/dest/slashing/empire.js +0 -87
  872. package/src/abi/mocked_keys.ts +0 -2
  873. package/src/block/checkpointed_l2_block.ts +0 -70
  874. package/src/contract/private_function_membership_proof.ts +0 -167
  875. package/src/contract/utility_function_membership_proof.ts +0 -118
  876. package/src/interfaces/get_logs_response.ts +0 -35
  877. package/src/l1-contracts/slash_factory.ts +0 -180
  878. package/src/logs/extended_contract_class_log.ts +0 -87
  879. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  880. package/src/logs/extended_public_log.ts +0 -94
  881. package/src/logs/log_filter.ts +0 -31
  882. package/src/logs/log_id.ts +0 -125
  883. package/src/logs/tx_scoped_l2_log.ts +0 -98
  884. 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,34 @@ 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
+ };
68
+
69
+ /** Validator mode: no redistribution params needed. */
70
+ type ValidatorBlockBuilderOptions = BlockBuilderOptionsBase & {
71
+ isBuildingProposal: false;
72
+ };
73
+
74
+ /** Options for building a block within a checkpoint. When proposing, redistribution params are required. */
75
+ export type BlockBuilderOptions = ProposerBlockBuilderOptions | ValidatorBlockBuilderOptions;
50
76
 
51
77
  export interface PublicProcessorValidator {
52
78
  preprocessValidator?: TxValidator<Tx>;
@@ -81,11 +107,15 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
81
107
  'rollupManaLimit',
82
108
  ] as const;
83
109
 
84
- /** Thrown when no valid transactions are available to include in a block after processing, and this is not the first block in a checkpoint. */
85
- export class NoValidTxsError extends Error {
86
- constructor(public readonly failedTxs: FailedTx[]) {
87
- super('No valid transactions to include in block');
88
- this.name = 'NoValidTxsError';
110
+ /** Thrown when the number of successfully processed transactions is below the required minimum. */
111
+ export class InsufficientValidTxsError extends Error {
112
+ constructor(
113
+ public readonly processedCount: number,
114
+ public readonly minRequired: number,
115
+ public readonly failedTxs: FailedTx[],
116
+ ) {
117
+ super(`Insufficient valid txs: got ${processedCount} but need ${minRequired}`);
118
+ this.name = 'InsufficientValidTxsError';
89
119
  }
90
120
  }
91
121
 
@@ -100,11 +130,12 @@ export type BuildBlockInCheckpointResult = {
100
130
 
101
131
  /** Interface for building blocks within a checkpoint context. */
102
132
  export interface ICheckpointBlockBuilder {
133
+ /** Builds a single block within this checkpoint. Throws InsufficientValidTxsError if fewer than minValidTxs succeed. */
103
134
  buildBlock(
104
135
  pendingTxs: Iterable<Tx> | AsyncIterable<Tx>,
105
136
  blockNumber: BlockNumber,
106
137
  timestamp: bigint,
107
- opts: PublicProcessorLimits,
138
+ opts: BlockBuilderOptions,
108
139
  ): Promise<BuildBlockInCheckpointResult>;
109
140
  }
110
141
 
@@ -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,11 @@
1
1
  export * from './aztec-node.js';
2
2
  export * from './aztec-node-admin.js';
3
+ export * from './aztec-node-debug.js';
4
+ export * from './block_response.js';
5
+ export * from './chain_tips.js';
6
+ export * from './checkpoint_parameter.js';
7
+ export * from './checkpoint_response.js';
8
+ export * from './l1_publish_info.js';
3
9
  export * from './private_kernel_prover.js';
4
- export * from './get_logs_response.js';
5
10
  export * from './api_limit.js';
11
+ 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,6 +30,8 @@ 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
+ /** Redistribute remaining checkpoint budget evenly across remaining blocks instead of allowing a single block to consume the entire remaining budget. */
34
+ redistributeCheckpointBudget?: boolean;
30
35
  /** Recipient of block reward. */
31
36
  coinbase?: EthAddress;
32
37
  /** Address to receive fees. */
@@ -57,8 +62,21 @@ export interface SequencerConfig {
57
62
  skipCollectingAttestations?: boolean;
58
63
  /** Do not invalidate the previous block if invalid when we are the proposer (for testing only) */
59
64
  skipInvalidateBlockAsProposer?: boolean;
65
+ /**
66
+ * Bypass the parent checkpoint validity check before submitting a pipelined checkpoint, allowing
67
+ * the proposer to publish even when the parent landed on L1 with invalid attestations (for testing only).
68
+ */
69
+ skipWaitForValidParentCheckpointOnL1?: boolean;
60
70
  /** Broadcast invalid block proposals with corrupted state (for testing only) */
61
71
  broadcastInvalidBlockProposal?: boolean;
72
+ /** Broadcast an invalid block proposal only at this indexWithinCheckpoint (for testing only) */
73
+ invalidBlockProposalIndexWithinCheckpoint?: number;
74
+ /**
75
+ * Broadcast invalid checkpoint proposals (with corrupted archive) while keeping the underlying
76
+ * block proposals valid (for testing only). When unset, the checkpoint follows
77
+ * `broadcastInvalidBlockProposal`.
78
+ */
79
+ broadcastInvalidCheckpointProposalOnly?: boolean;
62
80
  /** Inject a fake attestation (for testing only) */
63
81
  injectFakeAttestation?: boolean;
64
82
  /** Inject a malleable attestation with a high-s value (for testing only) */
@@ -81,6 +99,18 @@ export interface SequencerConfig {
81
99
  minBlocksForCheckpoint?: number;
82
100
  /** Skip publishing checkpoint proposals probability (for testing checkpoint prunes only) */
83
101
  skipPublishingCheckpointsPercent?: number;
102
+ /** Skip broadcasting checkpoint and block proposals via gossipsub when proposer (for testing only) */
103
+ skipBroadcastProposals?: boolean;
104
+ /**
105
+ * Skip broadcasting only the CheckpointProposal via gossipsub when proposer; the held last block is still broadcast
106
+ * standalone so peers receive it as a proposed-but-uncheckpointed tip. Used to exercise the orphan-proposed-block
107
+ * prune path (for testing only). Narrower variant of `skipBroadcastProposals`: when only this flag is set the held
108
+ * last block is still broadcast standalone, but when `skipBroadcastProposals` is also set neither the block nor the
109
+ * checkpoint proposal is broadcast.
110
+ */
111
+ skipBroadcastCheckpointProposal?: boolean;
112
+ /** List of slots for which the sequencer will not produce a proposal (for testing only). Attestation paths are unaffected. */
113
+ pauseProposingForSlots?: SlotNumber[];
84
114
  }
85
115
 
86
116
  export const SequencerConfigSchema = zodFor<SequencerConfig>()(
@@ -88,12 +118,14 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
88
118
  sequencerPollingIntervalMS: z.number().optional(),
89
119
  maxTxsPerBlock: z.number().optional(),
90
120
  maxTxsPerCheckpoint: z.number().optional(),
121
+ maxBlocksPerCheckpoint: z.number().positive().optional(),
91
122
  minValidTxsPerBlock: z.number().optional(),
92
123
  minTxsPerBlock: z.number().optional(),
93
124
  maxL2BlockGas: z.number().optional(),
94
125
  publishTxsWithProposals: z.boolean().optional(),
95
126
  maxDABlockGas: z.number().optional(),
96
127
  perBlockAllocationMultiplier: z.number().optional(),
128
+ redistributeCheckpointBudget: z.boolean().optional(),
97
129
  coinbase: schemas.EthAddress.optional(),
98
130
  feeRecipient: schemas.AztecAddress.optional(),
99
131
  acvmWorkingDirectory: z.string().optional(),
@@ -107,9 +139,12 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
107
139
  attestationPropagationTime: z.number().optional(),
108
140
  skipCollectingAttestations: z.boolean().optional(),
109
141
  skipInvalidateBlockAsProposer: z.boolean().optional(),
142
+ skipWaitForValidParentCheckpointOnL1: z.boolean().optional(),
110
143
  secondsBeforeInvalidatingBlockAsCommitteeMember: z.number(),
111
144
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
112
145
  broadcastInvalidBlockProposal: z.boolean().optional(),
146
+ invalidBlockProposalIndexWithinCheckpoint: z.number().int().nonnegative().optional(),
147
+ broadcastInvalidCheckpointProposalOnly: z.boolean().optional(),
113
148
  injectFakeAttestation: z.boolean().optional(),
114
149
  injectHighSValueAttestation: z.boolean().optional(),
115
150
  injectUnrecoverableSignatureAttestation: z.boolean().optional(),
@@ -121,6 +156,9 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
121
156
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
122
157
  minBlocksForCheckpoint: z.number().positive().optional(),
123
158
  skipPublishingCheckpointsPercent: z.number().gte(0).lte(100).optional(),
159
+ skipBroadcastProposals: z.boolean().optional(),
160
+ skipBroadcastCheckpointProposal: z.boolean().optional(),
161
+ pauseProposingForSlots: z.array(SlotNumberSchema).optional(),
124
162
  }),
125
163
  );
126
164
 
@@ -136,13 +174,17 @@ type SequencerConfigOptionalKeys =
136
174
  | 'fakeThrowAfterProcessingTxCount'
137
175
  | 'l1PublishingTime'
138
176
  | 'txPublicSetupAllowListExtend'
177
+ | 'invalidBlockProposalIndexWithinCheckpoint'
139
178
  | 'minValidTxsPerBlock'
140
179
  | 'minBlocksForCheckpoint'
141
180
  | 'maxTxsPerBlock'
142
181
  | 'maxTxsPerCheckpoint'
143
182
  | 'maxL2BlockGas'
144
183
  | 'maxDABlockGas'
145
- | 'perBlockAllocationMultiplier';
184
+ | 'redistributeCheckpointBudget'
185
+ | 'skipBroadcastProposals'
186
+ | 'skipBroadcastCheckpointProposal'
187
+ | 'pauseProposingForSlots';
146
188
 
147
189
  export type ResolvedSequencerConfig = Prettify<
148
190
  Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>
@@ -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,54 +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
- * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
20
- * 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.
21
18
  */
22
- getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
19
+ getPrivateLogsByTags(query: PrivateLogsQuery): Promise<LogResult[][]>;
23
20
 
24
21
  /**
25
- * Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
26
- * logs is returned. An empty array implies no logs match that tag.
27
- * @param contractAddress - The contract address to search logs for.
28
- * @param tags - The tags to search for.
29
- * @param page - The page number (0-indexed) for pagination.
30
- * @returns An array of log arrays, one per tag. Returns at most 10 logs per tag per page. If 10 logs are returned
31
- * 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.
32
24
  */
33
- getPublicLogsByTagsFromContract(
34
- contractAddress: AztecAddress,
35
- tags: Tag[],
36
- page?: number,
37
- ): Promise<TxScopedL2Log[][]>;
38
-
39
- /**
40
- * Gets public logs based on the provided filter.
41
- * @param filter - The filter to apply to the logs.
42
- * @returns The requested logs.
43
- */
44
- getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
45
-
46
- /**
47
- * Gets contract class logs based on the provided filter.
48
- * @param filter - The filter to apply to the logs.
49
- * @returns The requested logs.
50
- */
51
- getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
25
+ getPublicLogsByTags(query: PublicLogsQuery): Promise<LogResult[][]>;
52
26
 
53
27
  /**
54
28
  * Gets the number of the latest L2 block processed by the implementation.
@@ -3,12 +3,13 @@ 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';
9
10
  import type { BlockHeader } from '../tx/block_header.js';
10
11
  import type { StateReference } from '../tx/state_reference.js';
11
- import type { WorldStateRevision, WorldStateRevisionWithHandle } from '../world-state/world_state_revision.js';
12
+ import type { WorldStateRevision } from '../world-state/world_state_revision.js';
12
13
 
13
14
  /**
14
15
  * Type alias for the nullifier tree ID.
@@ -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];
@@ -137,7 +138,14 @@ export interface MerkleTreeReadOperations {
137
138
  /**
138
139
  * Gets the current revision.
139
140
  */
140
- getRevision(): WorldStateRevision | WorldStateRevisionWithHandle;
141
+ getRevision(): WorldStateRevision;
142
+
143
+ /**
144
+ * Returns the IPC path of the underlying aztec-wsdb process. The C++ AVM (NAPI) uses this to
145
+ * connect to the same world state instance that the TS layer is using; the merkle tree fork and
146
+ * the AVM must point at the same WSDB process for the simulation to see consistent state.
147
+ */
148
+ getIpcPath(): string;
141
149
 
142
150
  /**
143
151
  * Gets sibling path for a leaf.
@@ -225,30 +233,20 @@ export interface MerkleTreeReadOperations {
225
233
  }
226
234
 
227
235
  export interface MerkleTreeCheckpointOperations {
228
- /**
229
- * Checkpoints the current fork state
230
- */
231
- createCheckpoint(): Promise<void>;
236
+ /** Checkpoints the current fork state. Returns the depth of the new checkpoint. */
237
+ createCheckpoint(): Promise<number>;
232
238
 
233
- /**
234
- * Commits the current checkpoint
235
- */
239
+ /** Commits the current checkpoint. */
236
240
  commitCheckpoint(): Promise<void>;
237
241
 
238
- /**
239
- * Reverts the current checkpoint
240
- */
242
+ /** Reverts the current checkpoint. */
241
243
  revertCheckpoint(): Promise<void>;
242
244
 
243
- /**
244
- * Commits all checkpoints
245
- */
246
- commitAllCheckpoints(): Promise<void>;
245
+ /** Commits all checkpoints above the given depth, leaving checkpoint depth at the given value. */
246
+ commitAllCheckpointsTo(depth: number): Promise<void>;
247
247
 
248
- /**
249
- * Reverts all checkpoints
250
- */
251
- revertAllCheckpoints(): Promise<void>;
248
+ /** Reverts all checkpoints above the given depth, leaving checkpoint depth at the given value. */
249
+ revertAllCheckpointsTo(depth: number): Promise<void>;
252
250
  }
253
251
 
254
252
  export interface MerkleTreeWriteOperations
@@ -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
  };