@aztec/stdlib 0.0.1-commit.7b97ef96e → 0.0.1-commit.7cbc774

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 (961) 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 +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  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 +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +7 -25
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_selector.d.ts +3 -6
  26. package/dest/abi/function_selector.d.ts.map +1 -1
  27. package/dest/abi/function_selector.js +2 -4
  28. package/dest/abi/function_signature_decoder.d.ts +43 -0
  29. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  30. package/dest/abi/function_signature_decoder.js +66 -0
  31. package/dest/abi/index.d.ts +2 -1
  32. package/dest/abi/index.d.ts.map +1 -1
  33. package/dest/abi/index.js +1 -0
  34. package/dest/abi/note_selector.d.ts +4 -7
  35. package/dest/abi/note_selector.d.ts.map +1 -1
  36. package/dest/abi/note_selector.js +1 -3
  37. package/dest/abi/selector.d.ts +2 -2
  38. package/dest/abi/selector.d.ts.map +1 -1
  39. package/dest/abi/selector.js +1 -1
  40. package/dest/abi/utils.d.ts +14 -1
  41. package/dest/abi/utils.d.ts.map +1 -1
  42. package/dest/abi/utils.js +16 -1
  43. package/dest/auth_witness/auth_witness.d.ts +2 -2
  44. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  45. package/dest/avm/avm.d.ts +1756 -10463
  46. package/dest/avm/avm.d.ts.map +1 -1
  47. package/dest/avm/avm.js +6 -3
  48. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  49. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  50. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  51. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  52. package/dest/avm/avm_proving_request.d.ts +653 -5446
  53. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  54. package/dest/avm/message_pack.js +12 -3
  55. package/dest/avm/public_data_write.d.ts +6 -12
  56. package/dest/avm/public_data_write.d.ts.map +1 -1
  57. package/dest/avm/revert_code.d.ts +6 -7
  58. package/dest/avm/revert_code.d.ts.map +1 -1
  59. package/dest/avm/revert_code.js +13 -21
  60. package/dest/aztec-address/index.d.ts +8 -8
  61. package/dest/aztec-address/index.d.ts.map +1 -1
  62. package/dest/aztec-address/index.js +9 -6
  63. package/dest/block/attestation_info.d.ts +3 -2
  64. package/dest/block/attestation_info.d.ts.map +1 -1
  65. package/dest/block/attestation_info.js +7 -5
  66. package/dest/block/block_data.d.ts +13 -38
  67. package/dest/block/block_data.d.ts.map +1 -1
  68. package/dest/block/block_data.js +2 -2
  69. package/dest/block/block_hash.d.ts +11 -10
  70. package/dest/block/block_hash.d.ts.map +1 -1
  71. package/dest/block/block_hash.js +10 -9
  72. package/dest/block/block_parameter.d.ts +37 -4
  73. package/dest/block/block_parameter.d.ts.map +1 -1
  74. package/dest/block/block_parameter.js +53 -2
  75. package/dest/block/in_block.d.ts +5 -24
  76. package/dest/block/in_block.d.ts.map +1 -1
  77. package/dest/block/index.d.ts +1 -2
  78. package/dest/block/index.d.ts.map +1 -1
  79. package/dest/block/index.js +0 -1
  80. package/dest/block/l2_block.d.ts +21 -41
  81. package/dest/block/l2_block.d.ts.map +1 -1
  82. package/dest/block/l2_block.js +12 -2
  83. package/dest/block/l2_block_info.d.ts +10 -29
  84. package/dest/block/l2_block_info.d.ts.map +1 -1
  85. package/dest/block/l2_block_info.js +6 -5
  86. package/dest/block/l2_block_source.d.ts +204 -351
  87. package/dest/block/l2_block_source.d.ts.map +1 -1
  88. package/dest/block/l2_block_source.js +67 -1
  89. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  90. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  91. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  92. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  94. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  95. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  97. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  98. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  100. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  101. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  102. package/dest/block/proposal/attestations_and_signers.js +26 -18
  103. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  104. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  105. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  106. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  108. package/dest/checkpoint/checkpoint.d.ts +31 -96
  109. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint.js +18 -5
  111. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  112. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_data.js +12 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  115. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  119. package/dest/checkpoint/digest.d.ts +18 -0
  120. package/dest/checkpoint/digest.d.ts.map +1 -0
  121. package/dest/checkpoint/digest.js +12 -0
  122. package/dest/checkpoint/index.d.ts +5 -1
  123. package/dest/checkpoint/index.d.ts.map +1 -1
  124. package/dest/checkpoint/index.js +4 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  128. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  129. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  130. package/dest/checkpoint/validate.d.ts +36 -0
  131. package/dest/checkpoint/validate.d.ts.map +1 -0
  132. package/dest/checkpoint/validate.js +120 -0
  133. package/dest/config/chain-config.d.ts +4 -9
  134. package/dest/config/chain-config.d.ts.map +1 -1
  135. package/dest/config/chain-config.js +13 -12
  136. package/dest/config/index.d.ts +2 -1
  137. package/dest/config/index.d.ts.map +1 -1
  138. package/dest/config/index.js +1 -0
  139. package/dest/config/pipelining-config.d.ts +15 -0
  140. package/dest/config/pipelining-config.d.ts.map +1 -0
  141. package/dest/config/pipelining-config.js +18 -0
  142. package/dest/config/sequencer-config.d.ts +7 -3
  143. package/dest/config/sequencer-config.d.ts.map +1 -1
  144. package/dest/config/sequencer-config.js +23 -3
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +6 -6
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +6 -5
  151. package/dest/contract/contract_class_id.d.ts +2 -2
  152. package/dest/contract/contract_class_id.js +2 -2
  153. package/dest/contract/contract_deployment_data.d.ts +15 -61
  154. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  155. package/dest/contract/contract_instance.d.ts +4 -2
  156. package/dest/contract/contract_instance.d.ts.map +1 -1
  157. package/dest/contract/contract_instance.js +10 -3
  158. package/dest/contract/index.d.ts +1 -3
  159. package/dest/contract/index.d.ts.map +1 -1
  160. package/dest/contract/index.js +0 -2
  161. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  162. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_class.js +1 -28
  164. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  165. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  166. package/dest/contract/interfaces/contract_instance.js +4 -2
  167. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  168. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  170. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  171. package/dest/contract/private_function.d.ts +1 -1
  172. package/dest/contract/private_function.d.ts.map +1 -1
  173. package/dest/contract/private_function.js +2 -4
  174. package/dest/database-version/database_version.d.ts +5 -11
  175. package/dest/database-version/database_version.d.ts.map +1 -1
  176. package/dest/database-version/version_manager.d.ts +6 -2
  177. package/dest/database-version/version_manager.d.ts.map +1 -1
  178. package/dest/database-version/version_manager.js +12 -1
  179. package/dest/epoch-helpers/index.d.ts +12 -20
  180. package/dest/epoch-helpers/index.d.ts.map +1 -1
  181. package/dest/epoch-helpers/index.js +16 -2
  182. package/dest/file-store/factory.d.ts +4 -3
  183. package/dest/file-store/factory.d.ts.map +1 -1
  184. package/dest/file-store/factory.js +2 -2
  185. package/dest/file-store/http.d.ts +9 -2
  186. package/dest/file-store/http.d.ts.map +1 -1
  187. package/dest/file-store/http.js +20 -9
  188. package/dest/file-store/index.d.ts +2 -1
  189. package/dest/file-store/index.d.ts.map +1 -1
  190. package/dest/gas/fee_math.d.ts +49 -0
  191. package/dest/gas/fee_math.d.ts.map +1 -0
  192. package/dest/gas/fee_math.js +80 -0
  193. package/dest/gas/gas.d.ts +9 -14
  194. package/dest/gas/gas.d.ts.map +1 -1
  195. package/dest/gas/gas.js +6 -3
  196. package/dest/gas/gas_fees.d.ts +13 -14
  197. package/dest/gas/gas_fees.d.ts.map +1 -1
  198. package/dest/gas/gas_fees.js +20 -4
  199. package/dest/gas/gas_settings.d.ts +66 -86
  200. package/dest/gas/gas_settings.d.ts.map +1 -1
  201. package/dest/gas/gas_settings.js +56 -9
  202. package/dest/gas/index.d.ts +2 -1
  203. package/dest/gas/index.d.ts.map +1 -1
  204. package/dest/gas/index.js +1 -0
  205. package/dest/ha-signing/config.d.ts +72 -0
  206. package/dest/ha-signing/config.d.ts.map +1 -0
  207. package/dest/ha-signing/config.js +88 -0
  208. package/dest/ha-signing/index.d.ts +4 -0
  209. package/dest/ha-signing/index.d.ts.map +1 -0
  210. package/dest/ha-signing/index.js +3 -0
  211. package/dest/ha-signing/local_config.d.ts +32 -0
  212. package/dest/ha-signing/local_config.d.ts.map +1 -0
  213. package/dest/ha-signing/local_config.js +24 -0
  214. package/dest/ha-signing/types.d.ts +90 -0
  215. package/dest/ha-signing/types.d.ts.map +1 -0
  216. package/dest/ha-signing/types.js +39 -0
  217. package/dest/hash/hash.d.ts +34 -1
  218. package/dest/hash/hash.d.ts.map +1 -1
  219. package/dest/hash/hash.js +63 -2
  220. package/dest/interfaces/allowed_element.d.ts +17 -35
  221. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  222. package/dest/interfaces/allowed_element.js +8 -8
  223. package/dest/interfaces/api_limit.d.ts +1 -1
  224. package/dest/interfaces/api_limit.js +1 -1
  225. package/dest/interfaces/archiver.d.ts +22 -32
  226. package/dest/interfaces/archiver.d.ts.map +1 -1
  227. package/dest/interfaces/archiver.js +208 -68
  228. package/dest/interfaces/aztec-node-admin.d.ts +81 -273
  229. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  230. package/dest/interfaces/aztec-node-admin.js +59 -16
  231. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  232. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  233. package/dest/interfaces/aztec-node-debug.js +21 -0
  234. package/dest/interfaces/aztec-node.d.ts +84 -101
  235. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  236. package/dest/interfaces/aztec-node.js +298 -68
  237. package/dest/interfaces/block-builder.d.ts +40 -11
  238. package/dest/interfaces/block-builder.d.ts.map +1 -1
  239. package/dest/interfaces/block-builder.js +13 -6
  240. package/dest/interfaces/block_response.d.ts +90 -0
  241. package/dest/interfaces/block_response.d.ts.map +1 -0
  242. package/dest/interfaces/block_response.js +30 -0
  243. package/dest/interfaces/chain_tips.d.ts +50 -0
  244. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  245. package/dest/interfaces/chain_tips.js +11 -0
  246. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  247. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  248. package/dest/interfaces/checkpoint_parameter.js +18 -0
  249. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  250. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  251. package/dest/interfaces/checkpoint_response.js +26 -0
  252. package/dest/interfaces/client.d.ts +8 -2
  253. package/dest/interfaces/client.d.ts.map +1 -1
  254. package/dest/interfaces/client.js +7 -1
  255. package/dest/interfaces/configs.d.ts +64 -123
  256. package/dest/interfaces/configs.d.ts.map +1 -1
  257. package/dest/interfaces/configs.js +15 -3
  258. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  259. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  260. package/dest/interfaces/l1_publish_info.js +26 -0
  261. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  262. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  263. package/dest/interfaces/l2_logs_source.js +5 -0
  264. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  265. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  266. package/dest/interfaces/p2p-bootstrap.js +8 -2
  267. package/dest/interfaces/p2p.d.ts +17 -12
  268. package/dest/interfaces/p2p.d.ts.map +1 -1
  269. package/dest/interfaces/p2p.js +28 -5
  270. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  271. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  272. package/dest/interfaces/prover-agent.d.ts +5 -23
  273. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  274. package/dest/interfaces/prover-agent.js +4 -1
  275. package/dest/interfaces/prover-client.d.ts +9 -25
  276. package/dest/interfaces/prover-client.d.ts.map +1 -1
  277. package/dest/interfaces/prover-client.js +7 -4
  278. package/dest/interfaces/prover-node.js +22 -8
  279. package/dest/interfaces/proving-job-source.js +24 -4
  280. package/dest/interfaces/proving-job.d.ts +742 -5793
  281. package/dest/interfaces/proving-job.d.ts.map +1 -1
  282. package/dest/interfaces/proving-job.js +1 -1
  283. package/dest/interfaces/public_storage_override.d.ts +22 -0
  284. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  285. package/dest/interfaces/public_storage_override.js +7 -0
  286. package/dest/interfaces/server.d.ts +6 -1
  287. package/dest/interfaces/server.d.ts.map +1 -1
  288. package/dest/interfaces/server.js +5 -0
  289. package/dest/interfaces/slasher.d.ts +25 -65
  290. package/dest/interfaces/slasher.d.ts.map +1 -1
  291. package/dest/interfaces/slasher.js +8 -4
  292. package/dest/interfaces/tx_provider.d.ts +6 -1
  293. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  294. package/dest/interfaces/validator.d.ts +70 -208
  295. package/dest/interfaces/validator.d.ts.map +1 -1
  296. package/dest/interfaces/validator.js +13 -5
  297. package/dest/interfaces/world_state.d.ts +6 -5
  298. package/dest/interfaces/world_state.d.ts.map +1 -1
  299. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  300. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  301. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  302. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  303. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  304. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  305. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  306. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  307. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  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 +10 -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 +26 -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 +14 -0
  366. package/dest/kv-store/config.d.ts.map +1 -0
  367. package/dest/kv-store/config.js +21 -0
  368. package/dest/kv-store/index.d.ts +2 -0
  369. package/dest/kv-store/index.d.ts.map +1 -0
  370. package/dest/kv-store/index.js +1 -0
  371. package/dest/l1-contracts/index.d.ts +2 -2
  372. package/dest/l1-contracts/index.d.ts.map +1 -1
  373. package/dest/l1-contracts/index.js +1 -1
  374. package/dest/logs/app_tagging_secret.d.ts +46 -0
  375. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  376. package/dest/logs/app_tagging_secret.js +109 -0
  377. package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
  378. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  379. package/dest/logs/app_tagging_secret_kind.js +4 -0
  380. package/dest/logs/contract_class_log.d.ts +16 -34
  381. package/dest/logs/contract_class_log.d.ts.map +1 -1
  382. package/dest/logs/contract_class_log.js +11 -9
  383. package/dest/logs/debug_log_store.d.ts +30 -0
  384. package/dest/logs/debug_log_store.d.ts.map +1 -0
  385. package/dest/logs/debug_log_store.js +30 -0
  386. package/dest/logs/index.d.ts +9 -7
  387. package/dest/logs/index.d.ts.map +1 -1
  388. package/dest/logs/index.js +8 -6
  389. package/dest/logs/log_cursor.d.ts +51 -0
  390. package/dest/logs/log_cursor.d.ts.map +1 -0
  391. package/dest/logs/log_cursor.js +82 -0
  392. package/dest/logs/log_result.d.ts +54 -0
  393. package/dest/logs/log_result.d.ts.map +1 -0
  394. package/dest/logs/log_result.js +56 -0
  395. package/dest/logs/logs_query.d.ts +82 -0
  396. package/dest/logs/logs_query.d.ts.map +1 -0
  397. package/dest/logs/logs_query.js +50 -0
  398. package/dest/logs/message_context.d.ts +4 -7
  399. package/dest/logs/message_context.d.ts.map +1 -1
  400. package/dest/logs/message_context.js +23 -9
  401. package/dest/logs/pending_tagged_log.d.ts +2 -3
  402. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  403. package/dest/logs/pending_tagged_log.js +2 -2
  404. package/dest/logs/pre_tag.d.ts +14 -22
  405. package/dest/logs/pre_tag.d.ts.map +1 -1
  406. package/dest/logs/pre_tag.js +2 -2
  407. package/dest/logs/private_log.d.ts +7 -12
  408. package/dest/logs/private_log.d.ts.map +1 -1
  409. package/dest/logs/private_log.js +6 -3
  410. package/dest/logs/public_log.d.ts +4 -3
  411. package/dest/logs/public_log.d.ts.map +1 -1
  412. package/dest/logs/public_log.js +2 -1
  413. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  414. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  415. package/dest/logs/query_all_logs_by_tags.js +64 -0
  416. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  417. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  418. package/dest/logs/shared_secret_derivation.js +15 -9
  419. package/dest/logs/siloed_tag.d.ts +12 -9
  420. package/dest/logs/siloed_tag.d.ts.map +1 -1
  421. package/dest/logs/siloed_tag.js +17 -2
  422. package/dest/logs/tag.d.ts +5 -6
  423. package/dest/logs/tag.d.ts.map +1 -1
  424. package/dest/logs/tag.js +5 -1
  425. package/dest/logs/tagging_index_range.d.ts +22 -0
  426. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  427. package/dest/logs/tagging_index_range.js +8 -0
  428. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  429. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  430. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  431. package/dest/messaging/index.d.ts +2 -1
  432. package/dest/messaging/index.d.ts.map +1 -1
  433. package/dest/messaging/index.js +1 -0
  434. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  435. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  436. package/dest/messaging/l1_to_l2_message.js +11 -13
  437. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  438. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  439. package/dest/messaging/l2_to_l1_membership.d.ts +62 -6
  440. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  441. package/dest/messaging/l2_to_l1_membership.js +115 -27
  442. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  443. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  444. package/dest/messaging/l2_to_l1_message.js +21 -12
  445. package/dest/noir/index.d.ts +5 -3
  446. package/dest/noir/index.d.ts.map +1 -1
  447. package/dest/note/note.d.ts +2 -2
  448. package/dest/note/note.d.ts.map +1 -1
  449. package/dest/note/note_dao.d.ts +1 -1
  450. package/dest/note/note_dao.d.ts.map +1 -1
  451. package/dest/note/note_dao.js +1 -4
  452. package/dest/p2p/attestation_utils.d.ts +11 -1
  453. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  454. package/dest/p2p/attestation_utils.js +45 -0
  455. package/dest/p2p/block_proposal.d.ts +32 -15
  456. package/dest/p2p/block_proposal.d.ts.map +1 -1
  457. package/dest/p2p/block_proposal.js +58 -40
  458. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  459. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  460. package/dest/p2p/checkpoint_attestation.js +23 -24
  461. package/dest/p2p/checkpoint_proposal.d.ts +36 -22
  462. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  463. package/dest/p2p/checkpoint_proposal.js +60 -62
  464. package/dest/p2p/client_type.d.ts +2 -5
  465. package/dest/p2p/client_type.d.ts.map +1 -1
  466. package/dest/p2p/client_type.js +0 -7
  467. package/dest/p2p/consensus_payload.d.ts +26 -20
  468. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  469. package/dest/p2p/consensus_payload.js +38 -19
  470. package/dest/p2p/gossipable.d.ts +4 -4
  471. package/dest/p2p/gossipable.d.ts.map +1 -1
  472. package/dest/p2p/index.d.ts +1 -2
  473. package/dest/p2p/index.d.ts.map +1 -1
  474. package/dest/p2p/index.js +0 -1
  475. package/dest/p2p/peer_error.d.ts +3 -1
  476. package/dest/p2p/peer_error.d.ts.map +1 -1
  477. package/dest/p2p/peer_error.js +5 -0
  478. package/dest/p2p/signature_utils.d.ts +28 -19
  479. package/dest/p2p/signature_utils.d.ts.map +1 -1
  480. package/dest/p2p/signature_utils.js +118 -21
  481. package/dest/p2p/signed_txs.d.ts +15 -13
  482. package/dest/p2p/signed_txs.d.ts.map +1 -1
  483. package/dest/p2p/signed_txs.js +26 -24
  484. package/dest/p2p/topic_type.d.ts +3 -4
  485. package/dest/p2p/topic_type.d.ts.map +1 -1
  486. package/dest/p2p/topic_type.js +7 -24
  487. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  488. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  489. package/dest/parity/parity_base_private_inputs.js +7 -5
  490. package/dest/parity/parity_public_inputs.d.ts +8 -4
  491. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  492. package/dest/parity/parity_public_inputs.js +6 -3
  493. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  494. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  495. package/dest/proofs/chonk_proof.d.ts +57 -7
  496. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  497. package/dest/proofs/chonk_proof.js +112 -15
  498. package/dest/proofs/recursive_proof.d.ts +2 -2
  499. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  500. package/dest/rollup/block_headers_hash.d.ts +1 -1
  501. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  502. package/dest/rollup/block_headers_hash.js +8 -2
  503. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  504. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  505. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  506. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  507. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  508. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  509. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  510. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  511. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  512. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  513. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  514. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  515. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  516. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  517. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  518. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  519. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  520. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  521. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  522. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  523. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  524. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  525. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  526. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  527. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  528. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  529. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  530. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  531. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  532. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  533. package/dest/schemas/schemas.d.ts +32 -78
  534. package/dest/schemas/schemas.d.ts.map +1 -1
  535. package/dest/schemas/schemas.js +2 -2
  536. package/dest/slashing/helpers.d.ts +2 -2
  537. package/dest/slashing/helpers.d.ts.map +1 -1
  538. package/dest/slashing/helpers.js +10 -7
  539. package/dest/slashing/index.d.ts +2 -3
  540. package/dest/slashing/index.d.ts.map +1 -1
  541. package/dest/slashing/index.js +1 -2
  542. package/dest/slashing/serialization.d.ts +2 -6
  543. package/dest/slashing/serialization.d.ts.map +1 -1
  544. package/dest/slashing/serialization.js +0 -60
  545. package/dest/slashing/types.d.ts +18 -112
  546. package/dest/slashing/types.d.ts.map +1 -1
  547. package/dest/slashing/types.js +16 -24
  548. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  549. package/dest/slashing/votes.d.ts.map +1 -0
  550. package/dest/slashing/{tally.js → votes.js} +30 -2
  551. package/dest/snapshots/types.d.ts +15 -78
  552. package/dest/snapshots/types.d.ts.map +1 -1
  553. package/dest/stats/stats.d.ts +2 -2
  554. package/dest/stats/stats.d.ts.map +1 -1
  555. package/dest/tests/factories.d.ts +25 -30
  556. package/dest/tests/factories.d.ts.map +1 -1
  557. package/dest/tests/factories.js +84 -76
  558. package/dest/tests/mocks.d.ts +12 -7
  559. package/dest/tests/mocks.d.ts.map +1 -1
  560. package/dest/tests/mocks.js +60 -67
  561. package/dest/timetable/index.d.ts +51 -1
  562. package/dest/timetable/index.d.ts.map +1 -1
  563. package/dest/timetable/index.js +218 -14
  564. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  565. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  566. package/dest/trees/append_only_tree_snapshot.js +6 -3
  567. package/dest/trees/nullifier_leaf.d.ts +19 -42
  568. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  569. package/dest/trees/nullifier_leaf.js +3 -0
  570. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  571. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  572. package/dest/trees/nullifier_membership_witness.js +2 -14
  573. package/dest/trees/public_data_leaf.d.ts +21 -53
  574. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  575. package/dest/trees/public_data_witness.d.ts +16 -58
  576. package/dest/trees/public_data_witness.d.ts.map +1 -1
  577. package/dest/tx/block_header.d.ts +7 -4
  578. package/dest/tx/block_header.d.ts.map +1 -1
  579. package/dest/tx/block_header.js +11 -4
  580. package/dest/tx/call_context.d.ts +4 -14
  581. package/dest/tx/call_context.d.ts.map +1 -1
  582. package/dest/tx/capsule.d.ts +7 -3
  583. package/dest/tx/capsule.d.ts.map +1 -1
  584. package/dest/tx/capsule.js +9 -3
  585. package/dest/tx/fee_provider.d.ts +10 -0
  586. package/dest/tx/fee_provider.d.ts.map +1 -0
  587. package/dest/tx/fee_provider.js +1 -0
  588. package/dest/tx/function_data.d.ts +4 -10
  589. package/dest/tx/function_data.d.ts.map +1 -1
  590. package/dest/tx/global_variable_builder.d.ts +3 -4
  591. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  592. package/dest/tx/global_variables.d.ts +16 -49
  593. package/dest/tx/global_variables.d.ts.map +1 -1
  594. package/dest/tx/global_variables.js +8 -12
  595. package/dest/tx/hashed_values.d.ts +4 -3
  596. package/dest/tx/hashed_values.d.ts.map +1 -1
  597. package/dest/tx/hashed_values.js +6 -3
  598. package/dest/tx/in_tx.d.ts +5 -17
  599. package/dest/tx/in_tx.d.ts.map +1 -1
  600. package/dest/tx/index.d.ts +2 -1
  601. package/dest/tx/index.d.ts.map +1 -1
  602. package/dest/tx/index.js +1 -0
  603. package/dest/tx/indexed_tx_effect.d.ts +4 -18
  604. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  605. package/dest/tx/indexed_tx_effect.js +1 -2
  606. package/dest/tx/partial_state_reference.d.ts +22 -65
  607. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  608. package/dest/tx/partial_state_reference.js +6 -3
  609. package/dest/tx/private_execution_result.d.ts +11 -21
  610. package/dest/tx/private_execution_result.d.ts.map +1 -1
  611. package/dest/tx/private_execution_result.js +6 -6
  612. package/dest/tx/profiling.d.ts +67 -353
  613. package/dest/tx/profiling.d.ts.map +1 -1
  614. package/dest/tx/profiling.js +17 -7
  615. package/dest/tx/protocol_contracts.d.ts +5 -9
  616. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  617. package/dest/tx/proven_tx.d.ts +30 -74
  618. package/dest/tx/proven_tx.d.ts.map +1 -1
  619. package/dest/tx/proven_tx.js +6 -0
  620. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  621. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  622. package/dest/tx/public_call_request_with_calldata.js +6 -3
  623. package/dest/tx/simulated_tx.d.ts +68 -1144
  624. package/dest/tx/simulated_tx.d.ts.map +1 -1
  625. package/dest/tx/simulated_tx.js +17 -12
  626. package/dest/tx/state_reference.d.ts +30 -117
  627. package/dest/tx/state_reference.d.ts.map +1 -1
  628. package/dest/tx/state_reference.js +6 -4
  629. package/dest/tx/tree_snapshots.d.ts +27 -84
  630. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  631. package/dest/tx/tree_snapshots.js +6 -4
  632. package/dest/tx/tx.d.ts +12 -17
  633. package/dest/tx/tx.d.ts.map +1 -1
  634. package/dest/tx/tx.js +40 -29
  635. package/dest/tx/tx_constant_data.d.ts +4 -3
  636. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  637. package/dest/tx/tx_constant_data.js +6 -3
  638. package/dest/tx/tx_context.d.ts +32 -131
  639. package/dest/tx/tx_context.d.ts.map +1 -1
  640. package/dest/tx/tx_context.js +6 -6
  641. package/dest/tx/tx_hash.d.ts +6 -4
  642. package/dest/tx/tx_hash.d.ts.map +1 -1
  643. package/dest/tx/tx_hash.js +13 -5
  644. package/dest/tx/tx_receipt.d.ts +23 -6
  645. package/dest/tx/tx_receipt.d.ts.map +1 -1
  646. package/dest/tx/tx_receipt.js +17 -19
  647. package/dest/tx/validator/error_texts.d.ts +9 -1
  648. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  649. package/dest/tx/validator/error_texts.js +10 -0
  650. package/dest/tx/validator/tx_validator.d.ts +5 -27
  651. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  652. package/dest/tx/validator/tx_validator.js +0 -4
  653. package/dest/types/shared.d.ts +4 -12
  654. package/dest/types/shared.d.ts.map +1 -1
  655. package/dest/types/shared.js +6 -12
  656. package/dest/update-checker/dev_version.d.ts +3 -0
  657. package/dest/update-checker/dev_version.d.ts.map +1 -0
  658. package/dest/update-checker/dev_version.js +1 -0
  659. package/dest/update-checker/index.d.ts +4 -2
  660. package/dest/update-checker/index.d.ts.map +1 -1
  661. package/dest/update-checker/index.js +3 -1
  662. package/dest/update-checker/package_version.d.ts +6 -0
  663. package/dest/update-checker/package_version.d.ts.map +1 -0
  664. package/dest/update-checker/package_version.js +13 -0
  665. package/dest/update-checker/version_checker.d.ts +25 -0
  666. package/dest/update-checker/version_checker.d.ts.map +1 -0
  667. package/dest/update-checker/version_checker.js +50 -0
  668. package/dest/validators/errors.d.ts +6 -1
  669. package/dest/validators/errors.d.ts.map +1 -1
  670. package/dest/validators/errors.js +7 -0
  671. package/dest/validators/schemas.d.ts +147 -614
  672. package/dest/validators/schemas.d.ts.map +1 -1
  673. package/dest/validators/schemas.js +6 -4
  674. package/dest/validators/types.d.ts +20 -3
  675. package/dest/validators/types.d.ts.map +1 -1
  676. package/dest/versioning/versioning.d.ts +4 -2
  677. package/dest/versioning/versioning.d.ts.map +1 -1
  678. package/dest/versioning/versioning.js +5 -2
  679. package/dest/vks/verification_key.d.ts +4 -139
  680. package/dest/vks/verification_key.d.ts.map +1 -1
  681. package/dest/vks/verification_key.js +5 -126
  682. package/dest/world-state/genesis_data.d.ts +13 -0
  683. package/dest/world-state/genesis_data.d.ts.map +1 -0
  684. package/dest/world-state/genesis_data.js +7 -0
  685. package/dest/world-state/index.d.ts +2 -1
  686. package/dest/world-state/index.d.ts.map +1 -1
  687. package/dest/world-state/index.js +1 -0
  688. package/dest/world-state/world_state_revision.d.ts +15 -26
  689. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  690. package/dest/world-state/world_state_revision.js +7 -1
  691. package/package.json +15 -13
  692. package/src/abi/abi.ts +78 -21
  693. package/src/abi/authorization_selector.ts +2 -8
  694. package/src/abi/buffer.ts +25 -4
  695. package/src/abi/contract_artifact.ts +11 -6
  696. package/src/abi/decoder.ts +36 -82
  697. package/src/abi/encoder.ts +85 -6
  698. package/src/abi/event_metadata_definition.ts +2 -0
  699. package/src/abi/event_selector.ts +2 -8
  700. package/src/abi/function_selector.ts +4 -13
  701. package/src/abi/function_signature_decoder.ts +77 -0
  702. package/src/abi/index.ts +1 -0
  703. package/src/abi/note_selector.ts +3 -12
  704. package/src/abi/selector.ts +1 -1
  705. package/src/abi/utils.ts +31 -4
  706. package/src/avm/avm.ts +5 -0
  707. package/src/avm/message_pack.ts +12 -3
  708. package/src/avm/revert_code.ts +20 -25
  709. package/src/aztec-address/index.ts +15 -12
  710. package/src/block/attestation_info.ts +11 -11
  711. package/src/block/block_data.ts +3 -4
  712. package/src/block/block_hash.ts +21 -14
  713. package/src/block/block_parameter.ts +72 -4
  714. package/src/block/index.ts +0 -1
  715. package/src/block/l2_block.ts +13 -1
  716. package/src/block/l2_block_info.ts +8 -6
  717. package/src/block/l2_block_source.ts +198 -139
  718. package/src/block/l2_block_stream/interfaces.ts +6 -2
  719. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  720. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  721. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  722. package/src/block/proposal/attestations_and_signers.ts +32 -17
  723. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  724. package/src/checkpoint/checkpoint.ts +23 -4
  725. package/src/checkpoint/checkpoint_data.ts +44 -4
  726. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  727. package/src/checkpoint/digest.ts +28 -0
  728. package/src/checkpoint/index.ts +4 -0
  729. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  730. package/src/checkpoint/validate.ts +230 -0
  731. package/src/config/chain-config.ts +13 -16
  732. package/src/config/index.ts +1 -0
  733. package/src/config/pipelining-config.ts +31 -0
  734. package/src/config/sequencer-config.ts +41 -5
  735. package/src/contract/complete_address.ts +7 -3
  736. package/src/contract/contract_address.ts +7 -7
  737. package/src/contract/contract_class_id.ts +2 -2
  738. package/src/contract/contract_instance.ts +11 -2
  739. package/src/contract/index.ts +0 -2
  740. package/src/contract/interfaces/contract_class.ts +2 -82
  741. package/src/contract/interfaces/contract_instance.ts +6 -2
  742. package/src/contract/private_function.ts +3 -1
  743. package/src/database-version/version_manager.ts +17 -0
  744. package/src/epoch-helpers/index.ts +27 -0
  745. package/src/file-store/factory.ts +13 -4
  746. package/src/file-store/http.ts +29 -10
  747. package/src/file-store/index.ts +1 -0
  748. package/src/gas/README.md +154 -0
  749. package/src/gas/fee_math.ts +120 -0
  750. package/src/gas/gas.ts +8 -3
  751. package/src/gas/gas_fees.ts +29 -10
  752. package/src/gas/gas_settings.ts +73 -15
  753. package/src/gas/index.ts +1 -0
  754. package/src/ha-signing/config.ts +152 -0
  755. package/src/ha-signing/index.ts +29 -0
  756. package/src/ha-signing/local_config.ts +46 -0
  757. package/src/ha-signing/types.ts +126 -0
  758. package/src/hash/hash.ts +63 -2
  759. package/src/interfaces/allowed_element.ts +29 -9
  760. package/src/interfaces/api_limit.ts +1 -1
  761. package/src/interfaces/archiver.ts +82 -91
  762. package/src/interfaces/aztec-node-admin.ts +35 -20
  763. package/src/interfaces/aztec-node-debug.ts +40 -0
  764. package/src/interfaces/aztec-node.ts +260 -240
  765. package/src/interfaces/block-builder.ts +62 -14
  766. package/src/interfaces/block_response.ts +92 -0
  767. package/src/interfaces/chain_tips.ts +24 -0
  768. package/src/interfaces/checkpoint_parameter.ts +20 -0
  769. package/src/interfaces/checkpoint_response.ts +84 -0
  770. package/src/interfaces/client.ts +7 -1
  771. package/src/interfaces/configs.ts +64 -8
  772. package/src/interfaces/l1_publish_info.ts +40 -0
  773. package/src/interfaces/l2_logs_source.ts +13 -39
  774. package/src/interfaces/merkle_tree_operations.ts +11 -20
  775. package/src/interfaces/p2p-bootstrap.ts +2 -2
  776. package/src/interfaces/p2p.ts +37 -28
  777. package/src/interfaces/private_kernel_prover.ts +88 -0
  778. package/src/interfaces/prover-agent.ts +1 -1
  779. package/src/interfaces/prover-client.ts +10 -5
  780. package/src/interfaces/prover-node.ts +7 -7
  781. package/src/interfaces/proving-job-source.ts +4 -4
  782. package/src/interfaces/proving-job.ts +3 -3
  783. package/src/interfaces/public_storage_override.ts +26 -0
  784. package/src/interfaces/server.ts +5 -0
  785. package/src/interfaces/slasher.ts +17 -10
  786. package/src/interfaces/tx_provider.ts +6 -0
  787. package/src/interfaces/validator.ts +79 -38
  788. package/src/interfaces/world_state.ts +5 -4
  789. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  790. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  791. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  792. package/src/kernel/hints/key_validation_request.ts +18 -16
  793. package/src/kernel/index.ts +4 -0
  794. package/src/kernel/log_hash.ts +29 -9
  795. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  796. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  797. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  798. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  799. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  800. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  801. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  802. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  803. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  804. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  805. package/src/kernel/public_call_request.ts +22 -7
  806. package/src/keys/derivation.ts +21 -9
  807. package/src/keys/public_key.ts +26 -2
  808. package/src/keys/public_keys.ts +124 -110
  809. package/src/kv-store/config.ts +29 -0
  810. package/src/kv-store/index.ts +1 -0
  811. package/src/l1-contracts/index.ts +1 -1
  812. package/src/logs/app_tagging_secret.ts +137 -0
  813. package/src/logs/app_tagging_secret_kind.ts +6 -0
  814. package/src/logs/contract_class_log.ts +15 -5
  815. package/src/logs/debug_log_store.ts +54 -0
  816. package/src/logs/index.ts +8 -6
  817. package/src/logs/log_cursor.ts +110 -0
  818. package/src/logs/log_result.ts +104 -0
  819. package/src/logs/logs_query.ts +138 -0
  820. package/src/logs/message_context.ts +17 -7
  821. package/src/logs/pending_tagged_log.ts +1 -3
  822. package/src/logs/pre_tag.ts +3 -6
  823. package/src/logs/private_log.ts +9 -3
  824. package/src/logs/public_log.ts +4 -2
  825. package/src/logs/query_all_logs_by_tags.ts +98 -0
  826. package/src/logs/shared_secret_derivation.ts +21 -10
  827. package/src/logs/siloed_tag.ts +27 -12
  828. package/src/logs/tag.ts +9 -9
  829. package/src/logs/tagging_index_range.ts +18 -0
  830. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  831. package/src/messaging/index.ts +1 -0
  832. package/src/messaging/l1_to_l2_message.ts +12 -9
  833. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  834. package/src/messaging/l2_to_l1_membership.ts +171 -34
  835. package/src/messaging/l2_to_l1_message.ts +29 -9
  836. package/src/noir/index.ts +4 -2
  837. package/src/note/note_dao.ts +1 -4
  838. package/src/p2p/attestation_utils.ts +56 -0
  839. package/src/p2p/block_proposal.ts +112 -37
  840. package/src/p2p/checkpoint_attestation.ts +27 -31
  841. package/src/p2p/checkpoint_proposal.ts +127 -86
  842. package/src/p2p/client_type.ts +0 -6
  843. package/src/p2p/consensus_payload.ts +59 -28
  844. package/src/p2p/gossipable.ts +4 -4
  845. package/src/p2p/index.ts +0 -1
  846. package/src/p2p/peer_error.ts +7 -0
  847. package/src/p2p/signature_utils.ts +110 -25
  848. package/src/p2p/signed_txs.ts +46 -28
  849. package/src/p2p/topic_type.ts +8 -15
  850. package/src/parity/parity_base_private_inputs.ts +10 -4
  851. package/src/parity/parity_public_inputs.ts +9 -2
  852. package/src/proofs/chonk_proof.ts +132 -12
  853. package/src/rollup/block_headers_hash.ts +11 -2
  854. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  855. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  856. package/src/schemas/schemas.ts +6 -1
  857. package/src/slashing/helpers.ts +13 -9
  858. package/src/slashing/index.ts +1 -2
  859. package/src/slashing/serialization.ts +1 -81
  860. package/src/slashing/types.ts +24 -49
  861. package/src/slashing/{tally.ts → votes.ts} +34 -1
  862. package/src/stats/stats.ts +4 -0
  863. package/src/tests/factories.ts +106 -105
  864. package/src/tests/mocks.ts +90 -79
  865. package/src/timetable/index.ts +308 -13
  866. package/src/trees/append_only_tree_snapshot.ts +8 -3
  867. package/src/trees/nullifier_leaf.ts +4 -0
  868. package/src/trees/nullifier_membership_witness.ts +2 -12
  869. package/src/tx/block_header.ts +16 -5
  870. package/src/tx/capsule.ts +10 -2
  871. package/src/tx/fee_provider.ts +10 -0
  872. package/src/tx/global_variable_builder.ts +2 -3
  873. package/src/tx/global_variables.ts +10 -18
  874. package/src/tx/hashed_values.ts +8 -3
  875. package/src/tx/index.ts +1 -0
  876. package/src/tx/indexed_tx_effect.ts +1 -2
  877. package/src/tx/partial_state_reference.ts +8 -3
  878. package/src/tx/private_execution_result.ts +5 -5
  879. package/src/tx/profiling.ts +15 -6
  880. package/src/tx/proven_tx.ts +6 -0
  881. package/src/tx/public_call_request_with_calldata.ts +8 -3
  882. package/src/tx/simulated_tx.ts +30 -22
  883. package/src/tx/state_reference.ts +9 -4
  884. package/src/tx/tree_snapshots.ts +9 -4
  885. package/src/tx/tx.ts +53 -35
  886. package/src/tx/tx_constant_data.ts +8 -3
  887. package/src/tx/tx_context.ts +8 -3
  888. package/src/tx/tx_hash.ts +20 -5
  889. package/src/tx/tx_receipt.ts +19 -16
  890. package/src/tx/validator/error_texts.ts +12 -0
  891. package/src/tx/validator/tx_validator.ts +1 -5
  892. package/src/types/shared.ts +8 -13
  893. package/src/update-checker/dev_version.ts +2 -0
  894. package/src/update-checker/index.ts +3 -1
  895. package/src/update-checker/package_version.ts +17 -0
  896. package/src/update-checker/version_checker.ts +65 -0
  897. package/src/validators/errors.ts +9 -0
  898. package/src/validators/schemas.ts +6 -4
  899. package/src/validators/types.ts +21 -2
  900. package/src/versioning/versioning.ts +5 -2
  901. package/src/vks/verification_key.ts +5 -184
  902. package/src/world-state/genesis_data.ts +27 -0
  903. package/src/world-state/index.ts +1 -0
  904. package/src/world-state/world_state_revision.ts +9 -1
  905. package/dest/abi/mocked_keys.d.ts +0 -2
  906. package/dest/abi/mocked_keys.d.ts.map +0 -1
  907. package/dest/abi/mocked_keys.js +0 -1
  908. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  909. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  910. package/dest/block/checkpointed_l2_block.js +0 -46
  911. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  912. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  913. package/dest/contract/private_function_membership_proof.js +0 -124
  914. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  915. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  916. package/dest/contract/utility_function_membership_proof.js +0 -87
  917. package/dest/interfaces/get_logs_response.d.ts +0 -97
  918. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  919. package/dest/interfaces/get_logs_response.js +0 -12
  920. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  921. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  922. package/dest/l1-contracts/slash_factory.js +0 -158
  923. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  924. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  925. package/dest/logs/directional_app_tagging_secret.js +0 -64
  926. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  927. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  928. package/dest/logs/extended_contract_class_log.js +0 -67
  929. package/dest/logs/extended_public_log.d.ts +0 -106
  930. package/dest/logs/extended_public_log.d.ts.map +0 -1
  931. package/dest/logs/extended_public_log.js +0 -73
  932. package/dest/logs/log_filter.d.ts +0 -22
  933. package/dest/logs/log_filter.d.ts.map +0 -1
  934. package/dest/logs/log_filter.js +0 -11
  935. package/dest/logs/log_id.d.ts +0 -85
  936. package/dest/logs/log_id.d.ts.map +0 -1
  937. package/dest/logs/log_id.js +0 -94
  938. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  939. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  940. package/dest/logs/tx_scoped_l2_log.js +0 -70
  941. package/dest/slashing/empire.d.ts +0 -31
  942. package/dest/slashing/empire.d.ts.map +0 -1
  943. package/dest/slashing/empire.js +0 -87
  944. package/dest/slashing/tally.d.ts.map +0 -1
  945. package/dest/update-checker/update-checker.d.ts +0 -49
  946. package/dest/update-checker/update-checker.d.ts.map +0 -1
  947. package/dest/update-checker/update-checker.js +0 -130
  948. package/src/abi/mocked_keys.ts +0 -2
  949. package/src/block/checkpointed_l2_block.ts +0 -70
  950. package/src/contract/private_function_membership_proof.ts +0 -167
  951. package/src/contract/utility_function_membership_proof.ts +0 -118
  952. package/src/interfaces/get_logs_response.ts +0 -35
  953. package/src/l1-contracts/slash_factory.ts +0 -180
  954. package/src/logs/directional_app_tagging_secret.ts +0 -79
  955. package/src/logs/extended_contract_class_log.ts +0 -87
  956. package/src/logs/extended_public_log.ts +0 -94
  957. package/src/logs/log_filter.ts +0 -31
  958. package/src/logs/log_id.ts +0 -125
  959. package/src/logs/tx_scoped_l2_log.ts +0 -98
  960. package/src/slashing/empire.ts +0 -104
  961. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1,46 @@
1
+ import { type ConfigMappingsType, getConfigFromMappings, optionalNumberConfigHelper } from '@aztec/foundation/config';
2
+ import { zodFor } from '@aztec/foundation/schemas';
3
+ import { type DataStoreConfig, dataConfigMappings } from '@aztec/stdlib/kv-store';
4
+
5
+ import { z } from 'zod';
6
+
7
+ import { type BaseSignerConfig, BaseSignerConfigSchema, baseSignerConfigMappings } from './config.js';
8
+
9
+ /**
10
+ * Configuration for local (single-node) slashing protection.
11
+ *
12
+ * Combines the base signing protection fields (shared with HA mode) with
13
+ * DataStoreConfig for the local LMDB backing store, plus a per-store map-size
14
+ * override. Used when HA signing is disabled.
15
+ */
16
+ export type LocalSignerConfig = BaseSignerConfig &
17
+ DataStoreConfig & {
18
+ /** Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb. */
19
+ signingProtectionMapSizeKb?: number;
20
+ };
21
+
22
+ export const localSignerConfigMappings: ConfigMappingsType<LocalSignerConfig> = {
23
+ ...baseSignerConfigMappings,
24
+ ...dataConfigMappings,
25
+ signingProtectionMapSizeKb: {
26
+ env: 'SIGNING_PROTECTION_MAP_SIZE_KB',
27
+ description:
28
+ 'Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb.',
29
+ ...optionalNumberConfigHelper(),
30
+ },
31
+ };
32
+
33
+ export const LocalSignerConfigSchema = zodFor<LocalSignerConfig>()(
34
+ BaseSignerConfigSchema.extend({
35
+ dataDirectory: z.string().optional(),
36
+ dataStoreMapSizeKb: z.number(),
37
+ signingProtectionMapSizeKb: z.number().optional(),
38
+ }),
39
+ );
40
+
41
+ /**
42
+ * Returns the local signer configuration from environment variables.
43
+ */
44
+ export function getLocalSignerConfigEnvVars(): LocalSignerConfig {
45
+ return getConfigFromMappings<LocalSignerConfig>(localSignerConfigMappings);
46
+ }
@@ -0,0 +1,126 @@
1
+ import {
2
+ BlockNumber,
3
+ CheckpointNumber,
4
+ type IndexWithinCheckpoint,
5
+ type SlotNumber,
6
+ } from '@aztec/foundation/branded-types';
7
+
8
+ /**
9
+ * Type of validator duty being performed
10
+ */
11
+ export enum DutyType {
12
+ BLOCK_PROPOSAL = 'BLOCK_PROPOSAL',
13
+ CHECKPOINT_PROPOSAL = 'CHECKPOINT_PROPOSAL',
14
+ ATTESTATION = 'ATTESTATION',
15
+ ATTESTATIONS_AND_SIGNERS = 'ATTESTATIONS_AND_SIGNERS',
16
+ GOVERNANCE_VOTE = 'GOVERNANCE_VOTE',
17
+ SLASHING_VOTE = 'SLASHING_VOTE',
18
+ AUTH_REQUEST = 'AUTH_REQUEST',
19
+ TXS = 'TXS',
20
+ }
21
+
22
+ /**
23
+ * Signing context for block proposals.
24
+ * Includes both the block number and the checkpoint number the block belongs to.
25
+ */
26
+ export interface BlockProposalSigningContext {
27
+ slot: SlotNumber;
28
+ blockNumber: BlockNumber;
29
+ checkpointNumber: CheckpointNumber;
30
+ /** Block index within checkpoint (0, 1, 2...). Required for block proposals. */
31
+ blockIndexWithinCheckpoint: IndexWithinCheckpoint;
32
+ dutyType: DutyType.BLOCK_PROPOSAL;
33
+ }
34
+
35
+ /**
36
+ * Signing context for checkpoint proposals.
37
+ * Includes the checkpoint number being proposed, but not a block number.
38
+ */
39
+ export interface CheckpointProposalSigningContext {
40
+ slot: SlotNumber;
41
+ checkpointNumber: CheckpointNumber;
42
+ dutyType: DutyType.CHECKPOINT_PROPOSAL;
43
+ }
44
+
45
+ /**
46
+ * Signing context for attestation duties (checkpoint attestations).
47
+ * Includes the checkpoint number when available (from proposal validation).
48
+ */
49
+ export interface AttestationSigningContext {
50
+ slot: SlotNumber;
51
+ checkpointNumber: CheckpointNumber;
52
+ dutyType: DutyType.ATTESTATION | DutyType.ATTESTATIONS_AND_SIGNERS;
53
+ }
54
+
55
+ /**
56
+ * Signing context for governance/slashing votes which only need slot for HA protection.
57
+ */
58
+ export interface VoteSigningContext {
59
+ slot: SlotNumber;
60
+ dutyType: DutyType.GOVERNANCE_VOTE | DutyType.SLASHING_VOTE;
61
+ }
62
+
63
+ /**
64
+ * Signing context for duties which don't require slot/blockNumber
65
+ * as they don't need HA protection (AUTH_REQUEST, TXS).
66
+ */
67
+ export interface NoHAProtectionSigningContext {
68
+ dutyType: DutyType.AUTH_REQUEST | DutyType.TXS;
69
+ }
70
+
71
+ /**
72
+ * Signing contexts that require HA protection (excludes AUTH_REQUEST and TXS).
73
+ * Used by the HA signer's signWithProtection method.
74
+ */
75
+ export type HAProtectedSigningContext =
76
+ | BlockProposalSigningContext
77
+ | CheckpointProposalSigningContext
78
+ | AttestationSigningContext
79
+ | VoteSigningContext;
80
+
81
+ /**
82
+ * Context required for slashing protection during signing operations.
83
+ * Uses discriminated union to enforce type safety:
84
+ * - BLOCK_PROPOSAL duties have blockNumber, checkpointNumber, and blockIndexWithinCheckpoint
85
+ * - CHECKPOINT_PROPOSAL duties have checkpointNumber
86
+ * - ATTESTATION/ATTESTATIONS_AND_SIGNERS duties have only slot
87
+ * - Vote duties have only slot
88
+ * - AUTH_REQUEST and TXS duties don't need HA protection
89
+ */
90
+ export type SigningContext = HAProtectedSigningContext | NoHAProtectionSigningContext;
91
+
92
+ /**
93
+ * Type guard to check if a SigningContext requires HA protection.
94
+ * Returns true for contexts that need HA protection, false for AUTH_REQUEST and TXS.
95
+ */
96
+ export function isHAProtectedContext(context: SigningContext): context is HAProtectedSigningContext {
97
+ return context.dutyType !== DutyType.AUTH_REQUEST && context.dutyType !== DutyType.TXS;
98
+ }
99
+
100
+ /**
101
+ * Gets the block number from a signing context.
102
+ * Only BLOCK_PROPOSAL duties carry a block number; all others return BlockNumber(0).
103
+ */
104
+ export function getBlockNumberFromSigningContext(context: HAProtectedSigningContext): BlockNumber {
105
+ if (context.dutyType === DutyType.BLOCK_PROPOSAL) {
106
+ return context.blockNumber;
107
+ }
108
+ return BlockNumber(0);
109
+ }
110
+
111
+ /**
112
+ * Gets the checkpoint number from a signing context.
113
+ * BLOCK_PROPOSAL, CHECKPOINT_PROPOSAL, ATTESTATION, and ATTESTATIONS_AND_SIGNERS duties carry a checkpoint number;
114
+ * vote duties return CheckpointNumber(0).
115
+ */
116
+ export function getCheckpointNumberFromSigningContext(context: HAProtectedSigningContext): CheckpointNumber {
117
+ if (
118
+ context.dutyType === DutyType.BLOCK_PROPOSAL ||
119
+ context.dutyType === DutyType.CHECKPOINT_PROPOSAL ||
120
+ context.dutyType === DutyType.ATTESTATION ||
121
+ context.dutyType === DutyType.ATTESTATIONS_AND_SIGNERS
122
+ ) {
123
+ return context.checkpointNumber;
124
+ }
125
+ return CheckpointNumber(0);
126
+ }
package/src/hash/hash.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { sha256ToField } from '@aztec/foundation/crypto/sha256';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -6,6 +6,21 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
6
6
 
7
7
  import { AztecAddress } from '../aztec-address/index.js';
8
8
 
9
+ /** Computes a Poseidon2 merkle tree internal node hash for append-only trees (note-hash, L1->L2, archive). */
10
+ export function computeMerkleHash(left: Fr, right: Fr): Promise<Fr> {
11
+ return poseidon2HashWithSeparator([left, right], DomainSeparator.MERKLE_HASH);
12
+ }
13
+
14
+ /** Merkle-node hasher for the nullifier tree's sibling paths. */
15
+ export function computeNullifierMerkleHash(left: Fr, right: Fr): Promise<Fr> {
16
+ return poseidon2HashWithSeparator([left, right], DomainSeparator.NULLIFIER_MERKLE);
17
+ }
18
+
19
+ /** Merkle-node hasher for the public-data tree's sibling paths. */
20
+ export function computePublicDataMerkleHash(left: Fr, right: Fr): Promise<Fr> {
21
+ return poseidon2HashWithSeparator([left, right], DomainSeparator.PUBLIC_DATA_MERKLE);
22
+ }
23
+
9
24
  /**
10
25
  * Computes a hash of a given verification key.
11
26
  * @param keyAsFields - The verification key as fields.
@@ -58,6 +73,35 @@ export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promi
58
73
  return poseidon2HashWithSeparator([contract, innerNullifier], DomainSeparator.SILOED_NULLIFIER);
59
74
  }
60
75
 
76
+ /**
77
+ * Computes the siloed private initialization nullifier for a contract, given its address and initialization hash.
78
+ * @param contract - The contract address.
79
+ * @param initializationHash - The contract's initialization hash.
80
+ * @returns The siloed private initialization nullifier.
81
+ */
82
+ export async function computeSiloedPrivateInitializationNullifier(
83
+ contract: AztecAddress,
84
+ initializationHash: Fr,
85
+ ): Promise<Fr> {
86
+ const innerNullifier = await poseidon2HashWithSeparator(
87
+ [contract, initializationHash],
88
+ DomainSeparator.PRIVATE_INITIALIZATION_NULLIFIER,
89
+ );
90
+ return siloNullifier(contract, innerNullifier);
91
+ }
92
+
93
+ /**
94
+ * Computes the siloed public initialization nullifier for a contract. Not all contracts emit this nullifier: it is only
95
+ * emitted when the contract has public functions that perform initialization checks (i.e. external public functions that
96
+ * are not `#[noinitcheck]` or `#[only_self]`).
97
+ * @param contract - The contract address.
98
+ * @returns The siloed public initialization nullifier.
99
+ */
100
+ export async function computeSiloedPublicInitializationNullifier(contract: AztecAddress): Promise<Fr> {
101
+ const innerNullifier = await poseidon2HashWithSeparator([contract], DomainSeparator.PUBLIC_INITIALIZATION_NULLIFIER);
102
+ return siloNullifier(contract, innerNullifier);
103
+ }
104
+
61
105
  /**
62
106
  * Computes the protocol nullifier, which is the hash of the initial tx request siloed with the null msg sender address.
63
107
  * @param txRequestHash - The hash of the initial tx request.
@@ -66,7 +110,24 @@ export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promi
66
110
  * @dev Must match the implementation in noir-protocol-circuits/crates/types/src/hash.nr > compute_protocol_nullifier
67
111
  */
68
112
  export function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr> {
69
- return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
113
+ return siloNullifier(AztecAddress.NULL_MSG_SENDER, txRequestHash);
114
+ }
115
+
116
+ /** Domain-separates a raw log tag with the given domain separator. */
117
+ export function computeLogTag(rawTag: number | bigint | boolean | Fr | Buffer, domSep: DomainSeparator): Promise<Fr> {
118
+ return poseidon2HashWithSeparator([new Fr(rawTag)], domSep);
119
+ }
120
+
121
+ /**
122
+ * Computes the commitment of a private event from its preimage.
123
+ * @param randomness - Random value emitted alongside the event to prevent preimage brute-forcing.
124
+ * @param eventSelector - Event selector as an Fr.
125
+ * @param content - Serialized event content.
126
+ *
127
+ * @dev Must match the implementation in aztec-nr/aztec/src/event/event_interface.nr > compute_private_serialized_event_commitment
128
+ */
129
+ export function computePrivateEventCommitment(randomness: Fr, eventSelector: Fr, content: Fr[]): Promise<Fr> {
130
+ return poseidon2HashWithSeparator([randomness, eventSelector, ...content], DomainSeparator.EVENT_COMMITMENT);
70
131
  }
71
132
 
72
133
  export function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise<Fr> {
@@ -6,18 +6,38 @@ import type { FunctionSelector } from '../abi/function_selector.js';
6
6
  import type { AztecAddress } from '../aztec-address/index.js';
7
7
  import { schemas, zodFor } from '../schemas/index.js';
8
8
 
9
- type AllowedInstance = { address: AztecAddress };
10
- type AllowedInstanceFunction = { address: AztecAddress; selector: FunctionSelector };
11
- type AllowedClass = { classId: Fr };
12
- type AllowedClassFunction = { classId: Fr; selector: FunctionSelector };
9
+ type AllowedInstanceFunction = {
10
+ address: AztecAddress;
11
+ selector: FunctionSelector;
12
+ onlySelf?: boolean;
13
+ rejectNullMsgSender?: boolean;
14
+ calldataLength?: number;
15
+ };
16
+ type AllowedClassFunction = {
17
+ classId: Fr;
18
+ selector: FunctionSelector;
19
+ onlySelf?: boolean;
20
+ rejectNullMsgSender?: boolean;
21
+ calldataLength?: number;
22
+ };
13
23
 
14
- export type AllowedElement = AllowedInstance | AllowedInstanceFunction | AllowedClass | AllowedClassFunction;
24
+ export type AllowedElement = AllowedInstanceFunction | AllowedClassFunction;
15
25
 
16
26
  export const AllowedElementSchema = zodFor<AllowedElement>()(
17
27
  z.union([
18
- z.object({ address: schemas.AztecAddress, selector: schemas.FunctionSelector }),
19
- z.object({ address: schemas.AztecAddress }),
20
- z.object({ classId: schemas.Fr, selector: schemas.FunctionSelector }),
21
- z.object({ classId: schemas.Fr }),
28
+ z.object({
29
+ address: schemas.AztecAddress,
30
+ selector: schemas.FunctionSelector,
31
+ onlySelf: z.boolean().optional(),
32
+ rejectNullMsgSender: z.boolean().optional(),
33
+ calldataLength: z.number().optional(),
34
+ }),
35
+ z.object({
36
+ classId: schemas.Fr,
37
+ selector: schemas.FunctionSelector,
38
+ onlySelf: z.boolean().optional(),
39
+ rejectNullMsgSender: z.boolean().optional(),
40
+ calldataLength: z.number().optional(),
41
+ }),
22
42
  ]),
23
43
  );
@@ -2,4 +2,4 @@ export const MAX_RPC_LEN = 100;
2
2
  export const MAX_RPC_TXS_LEN = 50;
3
3
  export const MAX_RPC_BLOCKS_LEN = 50;
4
4
  export const MAX_RPC_CHECKPOINTS_LEN = 50;
5
- export const MAX_LOGS_PER_TAG = 10;
5
+ export const MAX_LOGS_PER_TAG = 20;
@@ -1,17 +1,21 @@
1
- import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
2
1
  import { BlockNumberSchema, CheckpointNumberSchema, EpochNumberSchema } from '@aztec/foundation/branded-types';
3
2
  import type { ApiSchemaFor } from '@aztec/foundation/schemas';
4
3
 
5
4
  import { z } from 'zod';
6
5
 
7
6
  import { BlockDataSchema } from '../block/block_data.js';
8
- import { BlockHash } from '../block/block_hash.js';
9
- import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
10
7
  import { L2Block } from '../block/l2_block.js';
11
- import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
8
+ import {
9
+ BlockQuerySchema,
10
+ BlocksQuerySchema,
11
+ CheckpointQuerySchema,
12
+ CheckpointsQuerySchema,
13
+ type L2BlockSource,
14
+ L2TipsSchema,
15
+ ProposedCheckpointQuerySchema,
16
+ } from '../block/l2_block_source.js';
12
17
  import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
13
- import { Checkpoint } from '../checkpoint/checkpoint.js';
14
- import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
18
+ import { CheckpointDataSchema, ProposedCheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
15
19
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
16
20
  import {
17
21
  ContractClassPublicSchema,
@@ -19,17 +23,13 @@ import {
19
23
  ContractInstanceWithAddressSchema,
20
24
  } from '../contract/index.js';
21
25
  import { L1RollupConstantsSchema } from '../epoch-helpers/index.js';
22
- import { LogFilterSchema } from '../logs/log_filter.js';
23
- import { SiloedTag } from '../logs/siloed_tag.js';
24
- import { Tag } from '../logs/tag.js';
25
- import { TxScopedL2Log } from '../logs/tx_scoped_l2_log.js';
26
+ import { LogResultSchema } from '../logs/log_result.js';
27
+ import { PrivateLogsQuerySchema, PublicLogsQuerySchema } from '../logs/logs_query.js';
26
28
  import type { L1ToL2MessageSource } from '../messaging/l1_to_l2_message_source.js';
27
29
  import { optional, schemas } from '../schemas/schemas.js';
28
- import { BlockHeader } from '../tx/block_header.js';
29
30
  import { indexedTxSchema } from '../tx/indexed_tx_effect.js';
30
31
  import { TxHash } from '../tx/tx_hash.js';
31
32
  import { TxReceipt } from '../tx/tx_receipt.js';
32
- import { GetContractClassLogsResponseSchema, GetPublicLogsResponseSchema } from './get_logs_response.js';
33
33
  import type { L2LogsSource } from './l2_logs_source.js';
34
34
 
35
35
  /**
@@ -45,12 +45,6 @@ export type ArchiverSpecificConfig = {
45
45
  /** The polling interval viem uses in ms */
46
46
  viemPollingIntervalMS?: number;
47
47
 
48
- /** The deployed L1 contract addresses */
49
- l1Contracts: L1ContractAddresses;
50
-
51
- /** The max number of logs that can be obtained in 1 "getPublicLogs" call. */
52
- maxLogs?: number;
53
-
54
48
  /** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb. */
55
49
  archiverStoreMapSizeKb?: number;
56
50
 
@@ -60,96 +54,93 @@ export type ArchiverSpecificConfig = {
60
54
  /** Whether to allow starting the archiver without debug/trace method support on Ethereum hosts */
61
55
  ethereumAllowNoDebugHosts?: boolean;
62
56
 
57
+ /** Skip the startup check that probes the L1 RPC for historical logs on the Rollup contract. */
58
+ archiverSkipHistoricalLogsCheck?: boolean;
59
+
63
60
  /** Skip validating checkpoint attestations (for testing purposes only) */
64
61
  skipValidateCheckpointAttestations?: boolean;
62
+
63
+ /** Skip promoting proposed checkpoints during L1 sync (for testing purposes only) */
64
+ skipPromoteProposedCheckpointDuringL1Sync?: boolean;
65
+
66
+ /**
67
+ * Grace period in seconds, measured from the end of a proposed block's build slot, after which a
68
+ * proposed block whose enclosing checkpoint was never proposed is pruned as an orphan. Defaults
69
+ * from `blockDurationMs / 1000` at the node wiring layer, falling back to the timetable minimum
70
+ * execution time.
71
+ */
72
+ orphanProposedBlockPruneGraceSeconds?: number;
65
73
  };
66
74
 
67
75
  export const ArchiverSpecificConfigSchema = z.object({
68
76
  archiverPollingIntervalMS: schemas.Integer.optional(),
69
77
  archiverBatchSize: schemas.Integer.optional(),
70
78
  viemPollingIntervalMS: schemas.Integer.optional(),
71
- maxLogs: schemas.Integer.optional(),
72
79
  archiverStoreMapSizeKb: schemas.Integer.optional(),
73
80
  maxAllowedEthClientDriftSeconds: schemas.Integer.optional(),
74
81
  ethereumAllowNoDebugHosts: z.boolean().optional(),
82
+ archiverSkipHistoricalLogsCheck: z.boolean().optional(),
75
83
  skipValidateCheckpointAttestations: z.boolean().optional(),
84
+ skipPromoteProposedCheckpointDuringL1Sync: z.boolean().optional(),
85
+ orphanProposedBlockPruneGraceSeconds: schemas.Integer.optional(),
76
86
  });
77
87
 
78
88
  export type ArchiverApi = Omit<
79
89
  L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource,
80
- 'start' | 'stop'
90
+ 'start' | 'stop' | 'getGenesisBlockHash'
81
91
  >;
82
92
 
83
93
  export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
84
- getRollupAddress: z.function().args().returns(schemas.EthAddress),
85
- getRegistryAddress: z.function().args().returns(schemas.EthAddress),
86
- getBlockNumber: z.function().args().returns(BlockNumberSchema),
87
- getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
88
- getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
89
- getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
90
- getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
91
- getBlockHeader: z
92
- .function()
93
- .args(z.union([BlockNumberSchema, z.literal('latest')]))
94
- .returns(BlockHeader.schema.optional()),
95
- getCheckpointedBlock: z.function().args(BlockNumberSchema).returns(CheckpointedL2Block.schema.optional()),
96
- getCheckpointedBlocks: z
97
- .function()
98
- .args(BlockNumberSchema, schemas.Integer)
99
- .returns(z.array(CheckpointedL2Block.schema)),
100
- getBlocks: z.function().args(BlockNumberSchema, schemas.Integer).returns(z.array(L2Block.schema)),
101
- getCheckpoints: z
102
- .function()
103
- .args(CheckpointNumberSchema, schemas.Integer)
104
- .returns(z.array(PublishedCheckpoint.schema)),
105
- getCheckpointedBlockByHash: z.function().args(BlockHash.schema).returns(CheckpointedL2Block.schema.optional()),
106
- getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
107
- getBlockHeaderByHash: z.function().args(BlockHash.schema).returns(BlockHeader.schema.optional()),
108
- getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
109
- getBlockData: z.function().args(BlockNumberSchema).returns(BlockDataSchema.optional()),
110
- getBlockDataByArchive: z.function().args(schemas.Fr).returns(BlockDataSchema.optional()),
111
- getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
112
- getL2BlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
113
- getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
114
- getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
115
- getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
116
- getL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
117
- getL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
118
- getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
119
- getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
120
- getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
121
- getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
122
- getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
123
- isEpochComplete: z.function().args(EpochNumberSchema).returns(z.boolean()),
124
- getL2Tips: z.function().args().returns(L2TipsSchema),
125
- getPrivateLogsByTags: z
126
- .function()
127
- .args(z.array(SiloedTag.schema), optional(z.number().gte(0)))
128
- .returns(z.array(z.array(TxScopedL2Log.schema))),
129
- getPublicLogsByTagsFromContract: z
130
- .function()
131
- .args(schemas.AztecAddress, z.array(Tag.schema), optional(z.number().gte(0)))
132
- .returns(z.array(z.array(TxScopedL2Log.schema))),
133
- getPublicLogs: z.function().args(LogFilterSchema).returns(GetPublicLogsResponseSchema),
134
- getContractClassLogs: z.function().args(LogFilterSchema).returns(GetContractClassLogsResponseSchema),
135
- getContractClass: z.function().args(schemas.Fr).returns(ContractClassPublicSchema.optional()),
136
- getBytecodeCommitment: z.function().args(schemas.Fr).returns(schemas.Fr),
137
- getContract: z
138
- .function()
139
- .args(schemas.AztecAddress, optional(schemas.BigInt))
140
- .returns(ContractInstanceWithAddressSchema.optional()),
141
- getContractClassIds: z.function().args().returns(z.array(schemas.Fr)),
142
- registerContractFunctionSignatures: z.function().args(z.array(z.string())).returns(z.void()),
143
- getL1ToL2Messages: z.function().args(CheckpointNumberSchema).returns(z.array(schemas.Fr)),
144
- getL1ToL2MessageIndex: z.function().args(schemas.Fr).returns(schemas.BigInt.optional()),
145
- getDebugFunctionName: z.function().args(schemas.AztecAddress, schemas.FunctionSelector).returns(optional(z.string())),
146
- getL1Constants: z.function().args().returns(L1RollupConstantsSchema),
147
- getGenesisValues: z
148
- .function()
149
- .args()
150
- .returns(z.object({ genesisArchiveRoot: schemas.Fr })),
151
- getL1Timestamp: z.function().args().returns(schemas.BigInt.optional()),
152
- syncImmediate: z.function().args().returns(z.void()),
153
- isPendingChainInvalid: z.function().args().returns(z.boolean()),
154
- getPendingChainValidationStatus: z.function().args().returns(ValidateCheckpointResultSchema),
94
+ getRollupAddress: z.function({ input: z.tuple([]), output: schemas.EthAddress }),
95
+ getRegistryAddress: z.function({ input: z.tuple([]), output: schemas.EthAddress }),
96
+ getBlockNumber: z.function({ input: z.tuple([optional(BlockQuerySchema)]), output: BlockNumberSchema.optional() }),
97
+ getCheckpointNumber: z.function({ input: z.tuple([]), output: CheckpointNumberSchema }),
98
+ getCheckpoint: z.function({ input: z.tuple([CheckpointQuerySchema]), output: PublishedCheckpoint.schema.optional() }),
99
+ getCheckpoints: z.function({ input: z.tuple([CheckpointsQuerySchema]), output: z.array(PublishedCheckpoint.schema) }),
100
+ getCheckpointData: z.function({ input: z.tuple([CheckpointQuerySchema]), output: CheckpointDataSchema.optional() }),
101
+ getCheckpointsData: z.function({ input: z.tuple([CheckpointsQuerySchema]), output: z.array(CheckpointDataSchema) }),
102
+ getTxEffect: z.function({ input: z.tuple([TxHash.schema]), output: indexedTxSchema().optional() }),
103
+ getSettledTxReceipt: z.function({ input: z.tuple([TxHash.schema]), output: TxReceipt.schema.optional() }),
104
+ getSyncedL2SlotNumber: z.function({ input: z.tuple([]), output: schemas.SlotNumber.optional() }),
105
+ getSyncedL2EpochNumber: z.function({ input: z.tuple([]), output: EpochNumberSchema.optional() }),
106
+ getBlocksForSlot: z.function({ input: z.tuple([schemas.SlotNumber]), output: z.array(L2Block.schema) }),
107
+ isEpochComplete: z.function({ input: z.tuple([EpochNumberSchema]), output: z.boolean() }),
108
+ getL2Tips: z.function({ input: z.tuple([]), output: L2TipsSchema }),
109
+ getPrivateLogsByTags: z.function({
110
+ input: z.tuple([PrivateLogsQuerySchema]),
111
+ output: z.array(z.array(LogResultSchema)),
112
+ }),
113
+ getPublicLogsByTags: z.function({
114
+ input: z.tuple([PublicLogsQuerySchema]),
115
+ output: z.array(z.array(LogResultSchema)),
116
+ }),
117
+ getContractClass: z.function({ input: z.tuple([schemas.Fr]), output: ContractClassPublicSchema.optional() }),
118
+ getBytecodeCommitment: z.function({ input: z.tuple([schemas.Fr]), output: schemas.Fr }),
119
+ getContract: z.function({
120
+ input: z.tuple([schemas.AztecAddress, optional(schemas.BigInt)]),
121
+ output: ContractInstanceWithAddressSchema.optional(),
122
+ }),
123
+ getContractClassIds: z.function({ input: z.tuple([]), output: z.array(schemas.Fr) }),
124
+ registerContractFunctionSignatures: z.function({ input: z.tuple([z.array(z.string())]), output: z.void() }),
125
+ getL1ToL2Messages: z.function({ input: z.tuple([CheckpointNumberSchema]), output: z.array(schemas.Fr) }),
126
+ getL1ToL2MessageIndex: z.function({ input: z.tuple([schemas.Fr]), output: schemas.BigInt.optional() }),
127
+ getDebugFunctionName: z.function({
128
+ input: z.tuple([schemas.AztecAddress, schemas.FunctionSelector]),
129
+ output: optional(z.string()),
130
+ }),
131
+ getL1Constants: z.function({ input: z.tuple([]), output: L1RollupConstantsSchema }),
132
+ isPruneDueAtSlot: z.function({ input: z.tuple([schemas.SlotNumber]), output: z.boolean() }),
133
+ getGenesisValues: z.function({ input: z.tuple([]), output: z.object({ genesisArchiveRoot: schemas.Fr }) }),
134
+ getL1Timestamp: z.function({ input: z.tuple([]), output: schemas.BigInt.optional() }),
135
+ getProposedCheckpointData: z.function({
136
+ input: z.tuple([optional(ProposedCheckpointQuerySchema)]),
137
+ output: ProposedCheckpointDataSchema.optional(),
138
+ }),
139
+ syncImmediate: z.function({ input: z.tuple([]), output: z.void() }),
140
+ isPendingChainInvalid: z.function({ input: z.tuple([]), output: z.boolean() }),
141
+ getPendingChainValidationStatus: z.function({ input: z.tuple([]), output: ValidateCheckpointResultSchema }),
142
+ getBlock: z.function({ input: z.tuple([BlockQuerySchema]), output: L2Block.schema.optional() }),
143
+ getBlocks: z.function({ input: z.tuple([BlocksQuerySchema]), output: z.array(L2Block.schema) }),
144
+ getBlockData: z.function({ input: z.tuple([BlockQuerySchema]), output: BlockDataSchema.optional() }),
145
+ getBlocksData: z.function({ input: z.tuple([BlocksQuerySchema]), output: z.array(BlockDataSchema) }),
155
146
  };
@@ -1,9 +1,11 @@
1
+ import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
1
2
  import { createSafeJsonRpcClient, defaultFetch } from '@aztec/foundation/json-rpc/client';
2
3
 
3
4
  import { z } from 'zod';
4
5
 
5
6
  import type { ApiSchemaFor } from '../schemas/schemas.js';
6
- import { type Offense, OffenseSchema, type SlashPayloadRound, SlashPayloadRoundSchema } from '../slashing/index.js';
7
+ import { optional } from '../schemas/schemas.js';
8
+ import { type Offense, OffenseSchema } from '../slashing/index.js';
7
9
  import { type ComponentsVersions, getVersioningResponseHandler } from '../versioning/index.js';
8
10
  import { type ArchiverSpecificConfig, ArchiverSpecificConfigSchema } from './archiver.js';
9
11
  import { type SequencerConfig, SequencerConfigSchema } from './configs.js';
@@ -36,8 +38,9 @@ export interface AztecNodeAdmin {
36
38
  * Pauses syncing and rolls back the database to the target L2 block number.
37
39
  * @param targetBlockNumber - The block number to roll back to.
38
40
  * @param force - If true, clears the world state db and p2p dbs if rolling back to behind the finalized block.
41
+ * @param resumeSync - If true (default), resumes archiver and world state sync after rollback.
39
42
  */
40
- rollbackTo(targetBlockNumber: number, force?: boolean): Promise<void>;
43
+ rollbackTo(targetBlockNumber: number, force?: boolean, resumeSync?: boolean): Promise<void>;
41
44
 
42
45
  /** Pauses archiver and world state syncing. */
43
46
  pauseSync(): Promise<void>;
@@ -45,8 +48,14 @@ export interface AztecNodeAdmin {
45
48
  /** Resumes archiver and world state syncing. */
46
49
  resumeSync(): Promise<void>;
47
50
 
48
- /** Returns all monitored payloads by the slasher for the current round. */
49
- getSlashPayloads(): Promise<SlashPayloadRound[]>;
51
+ /**
52
+ * Pauses block production. Pending txs remain in the mempool; no new blocks will be
53
+ * produced until {@link resumeSequencer} is called. Throws if no sequencer is running.
54
+ */
55
+ pauseSequencer(): Promise<void>;
56
+
57
+ /** Resumes block production previously paused via {@link pauseSequencer}. */
58
+ resumeSequencer(): Promise<void>;
50
59
 
51
60
  /** Returns all offenses applicable for the given round. */
52
61
  getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
@@ -72,8 +81,8 @@ export interface AztecNodeAdmin {
72
81
  reloadKeystore(): Promise<void>;
73
82
  }
74
83
 
75
- // L1 contracts are not mutable via admin updates.
76
- export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, 'l1Contracts'> &
84
+ // L1 contract addresses are pinned at startup and are not mutable via admin updates.
85
+ export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, keyof L1ContractAddresses> &
77
86
  SequencerConfig &
78
87
  ProverConfig &
79
88
  SlasherConfig &
@@ -82,11 +91,13 @@ export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, 'l1Contracts'
82
91
  'archiverPollingIntervalMS' | 'archiverBatchSize' | 'skipValidateCheckpointAttestations'
83
92
  > & {
84
93
  maxPendingTxCount: number;
94
+ // Keep in sync with P2PConfig.skipIncomingProposals (circular dep prevents Pick<P2PConfig, ...> here)
95
+ skipIncomingProposals?: boolean;
85
96
  };
86
97
 
87
98
  export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
88
99
  .merge(SlasherConfigSchema)
89
- .merge(ValidatorClientFullConfigSchema.omit({ l1Contracts: true }))
100
+ .merge(ValidatorClientFullConfigSchema.omit({ rollupAddress: true }))
90
101
  .merge(
91
102
  ArchiverSpecificConfigSchema.pick({
92
103
  archiverPollingIntervalMS: true,
@@ -94,21 +105,25 @@ export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConf
94
105
  skipValidateCheckpointAttestations: true,
95
106
  }),
96
107
  )
97
- .merge(z.object({ maxPendingTxCount: z.number() }));
108
+ .merge(z.object({ maxPendingTxCount: z.number(), skipIncomingProposals: z.boolean().optional() }));
98
109
 
99
110
  export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {
100
- getConfig: z.function().returns(AztecNodeAdminConfigSchema),
101
- setConfig: z.function().args(AztecNodeAdminConfigSchema.partial()).returns(z.void()),
102
- startSnapshotUpload: z.function().args(z.string()).returns(z.void()),
103
- rollbackTo: z.function().args(z.number()).returns(z.void()),
104
- pauseSync: z.function().returns(z.void()),
105
- resumeSync: z.function().returns(z.void()),
106
- getSlashPayloads: z.function().returns(z.array(SlashPayloadRoundSchema)),
107
- getSlashOffenses: z
108
- .function()
109
- .args(z.union([z.bigint(), z.literal('all'), z.literal('current')]))
110
- .returns(z.array(OffenseSchema)),
111
- reloadKeystore: z.function().returns(z.void()),
111
+ getConfig: z.function({ input: z.tuple([]), output: AztecNodeAdminConfigSchema }),
112
+ setConfig: z.function({ input: z.tuple([AztecNodeAdminConfigSchema.partial()]), output: z.void() }),
113
+ startSnapshotUpload: z.function({ input: z.tuple([z.string()]), output: z.void() }),
114
+ rollbackTo: z.function({
115
+ input: z.tuple([z.number(), optional(z.boolean()), optional(z.boolean())]),
116
+ output: z.void(),
117
+ }),
118
+ pauseSync: z.function({ input: z.tuple([]), output: z.void() }),
119
+ resumeSync: z.function({ input: z.tuple([]), output: z.void() }),
120
+ pauseSequencer: z.function({ input: z.tuple([]), output: z.void() }),
121
+ resumeSequencer: z.function({ input: z.tuple([]), output: z.void() }),
122
+ getSlashOffenses: z.function({
123
+ input: z.tuple([z.union([z.bigint(), z.literal('all'), z.literal('current')])]),
124
+ output: z.array(OffenseSchema),
125
+ }),
126
+ reloadKeystore: z.function({ input: z.tuple([]), output: z.void() }),
112
127
  };
113
128
 
114
129
  export function createAztecNodeAdminClient(