@aztec/stdlib 0.0.1-commit.e3c1de76 → 0.0.1-commit.e588bc7e5

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 (577) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +6 -45
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +17 -70
  10. package/dest/abi/encoder.d.ts +1 -1
  11. package/dest/abi/encoder.d.ts.map +1 -1
  12. package/dest/abi/encoder.js +37 -6
  13. package/dest/abi/event_metadata_definition.d.ts +3 -1
  14. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  15. package/dest/abi/event_metadata_definition.js +1 -1
  16. package/dest/abi/function_call.d.ts +39 -9
  17. package/dest/abi/function_call.d.ts.map +1 -1
  18. package/dest/abi/function_call.js +20 -3
  19. package/dest/abi/function_selector.js +1 -1
  20. package/dest/abi/function_signature_decoder.d.ts +43 -0
  21. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  22. package/dest/abi/function_signature_decoder.js +66 -0
  23. package/dest/abi/index.d.ts +2 -1
  24. package/dest/abi/index.d.ts.map +1 -1
  25. package/dest/abi/index.js +1 -0
  26. package/dest/abi/utils.d.ts +14 -1
  27. package/dest/abi/utils.d.ts.map +1 -1
  28. package/dest/abi/utils.js +15 -0
  29. package/dest/auth_witness/auth_witness.js +3 -3
  30. package/dest/avm/avm_proving_request.d.ts +166 -166
  31. package/dest/avm/revert_code.d.ts +16 -1
  32. package/dest/avm/revert_code.d.ts.map +1 -1
  33. package/dest/avm/revert_code.js +15 -5
  34. package/dest/block/block_data.d.ts +52 -0
  35. package/dest/block/block_data.d.ts.map +1 -0
  36. package/dest/block/block_data.js +12 -0
  37. package/dest/block/in_block.js +1 -1
  38. package/dest/block/index.d.ts +2 -1
  39. package/dest/block/index.d.ts.map +1 -1
  40. package/dest/block/index.js +1 -0
  41. package/dest/block/l2_block.d.ts +9 -1
  42. package/dest/block/l2_block.d.ts.map +1 -1
  43. package/dest/block/l2_block.js +12 -2
  44. package/dest/block/l2_block_source.d.ts +113 -9
  45. package/dest/block/l2_block_source.d.ts.map +1 -1
  46. package/dest/block/l2_block_source.js +1 -0
  47. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  48. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  49. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  50. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  51. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  52. package/dest/block/l2_block_stream/l2_tips_store_base.js +17 -4
  53. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  54. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  55. package/dest/block/test/l2_tips_store_test_suite.js +3 -2
  56. package/dest/checkpoint/checkpoint.d.ts +28 -7
  57. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  58. package/dest/checkpoint/checkpoint.js +41 -17
  59. package/dest/checkpoint/checkpoint_data.d.ts +186 -0
  60. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  61. package/dest/checkpoint/checkpoint_data.js +36 -0
  62. package/dest/checkpoint/index.d.ts +3 -1
  63. package/dest/checkpoint/index.d.ts.map +1 -1
  64. package/dest/checkpoint/index.js +2 -0
  65. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  66. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  67. package/dest/checkpoint/published_checkpoint.js +1 -2
  68. package/dest/checkpoint/validate.d.ts +36 -0
  69. package/dest/checkpoint/validate.d.ts.map +1 -0
  70. package/dest/checkpoint/validate.js +120 -0
  71. package/dest/config/index.d.ts +3 -1
  72. package/dest/config/index.d.ts.map +1 -1
  73. package/dest/config/index.js +2 -0
  74. package/dest/config/pipelining-config.d.ts +19 -0
  75. package/dest/config/pipelining-config.d.ts.map +1 -0
  76. package/dest/config/pipelining-config.js +18 -0
  77. package/dest/config/sequencer-config.d.ts +12 -0
  78. package/dest/config/sequencer-config.d.ts.map +1 -0
  79. package/dest/config/sequencer-config.js +24 -0
  80. package/dest/contract/contract_address.d.ts +3 -3
  81. package/dest/contract/contract_address.js +7 -7
  82. package/dest/contract/contract_class.d.ts +2 -3
  83. package/dest/contract/contract_class.d.ts.map +1 -1
  84. package/dest/contract/contract_class_id.d.ts +3 -3
  85. package/dest/contract/contract_class_id.d.ts.map +1 -1
  86. package/dest/contract/contract_class_id.js +7 -6
  87. package/dest/contract/index.d.ts +1 -3
  88. package/dest/contract/index.d.ts.map +1 -1
  89. package/dest/contract/index.js +0 -2
  90. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  91. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  92. package/dest/contract/interfaces/contract_class.js +1 -28
  93. package/dest/contract/interfaces/node-info.d.ts +3 -1
  94. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  95. package/dest/contract/interfaces/node-info.js +2 -1
  96. package/dest/contract/private_function.js +2 -2
  97. package/dest/epoch-helpers/index.d.ts +15 -1
  98. package/dest/epoch-helpers/index.d.ts.map +1 -1
  99. package/dest/epoch-helpers/index.js +18 -2
  100. package/dest/file-store/factory.d.ts +4 -3
  101. package/dest/file-store/factory.d.ts.map +1 -1
  102. package/dest/file-store/factory.js +2 -2
  103. package/dest/file-store/http.d.ts +9 -2
  104. package/dest/file-store/http.d.ts.map +1 -1
  105. package/dest/file-store/http.js +20 -9
  106. package/dest/file-store/index.d.ts +2 -1
  107. package/dest/file-store/index.d.ts.map +1 -1
  108. package/dest/file-store/local.d.ts +3 -3
  109. package/dest/file-store/local.d.ts.map +1 -1
  110. package/dest/file-store/local.js +13 -4
  111. package/dest/file-store/s3.d.ts +1 -1
  112. package/dest/file-store/s3.d.ts.map +1 -1
  113. package/dest/file-store/s3.js +11 -3
  114. package/dest/gas/gas_fees.d.ts +1 -1
  115. package/dest/gas/gas_fees.d.ts.map +1 -1
  116. package/dest/gas/gas_fees.js +4 -1
  117. package/dest/ha-signing/config.d.ts +136 -0
  118. package/dest/ha-signing/config.d.ts.map +1 -0
  119. package/dest/ha-signing/config.js +97 -0
  120. package/dest/ha-signing/index.d.ts +4 -0
  121. package/dest/ha-signing/index.d.ts.map +1 -0
  122. package/dest/ha-signing/index.js +3 -0
  123. package/dest/ha-signing/local_config.d.ts +63 -0
  124. package/dest/ha-signing/local_config.d.ts.map +1 -0
  125. package/dest/ha-signing/local_config.js +24 -0
  126. package/dest/ha-signing/types.d.ts +85 -0
  127. package/dest/ha-signing/types.d.ts.map +1 -0
  128. package/dest/ha-signing/types.js +32 -0
  129. package/dest/hash/hash.d.ts +20 -1
  130. package/dest/hash/hash.d.ts.map +1 -1
  131. package/dest/hash/hash.js +45 -10
  132. package/dest/hash/map_slot.js +2 -2
  133. package/dest/interfaces/allowed_element.d.ts +26 -20
  134. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  135. package/dest/interfaces/allowed_element.js +8 -8
  136. package/dest/interfaces/archiver.d.ts +1 -1
  137. package/dest/interfaces/archiver.d.ts.map +1 -1
  138. package/dest/interfaces/archiver.js +10 -2
  139. package/dest/interfaces/aztec-node-admin.d.ts +121 -35
  140. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  141. package/dest/interfaces/aztec-node-admin.js +12 -4
  142. package/dest/interfaces/aztec-node.d.ts +40 -27
  143. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  144. package/dest/interfaces/aztec-node.js +6 -3
  145. package/dest/interfaces/block-builder.d.ts +39 -12
  146. package/dest/interfaces/block-builder.d.ts.map +1 -1
  147. package/dest/interfaces/block-builder.js +13 -6
  148. package/dest/interfaces/configs.d.ts +77 -32
  149. package/dest/interfaces/configs.d.ts.map +1 -1
  150. package/dest/interfaces/configs.js +10 -3
  151. package/dest/interfaces/get_logs_response.d.ts +8 -1
  152. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  153. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  154. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  155. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  156. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  157. package/dest/interfaces/p2p.d.ts +4 -9
  158. package/dest/interfaces/p2p.d.ts.map +1 -1
  159. package/dest/interfaces/prover-broker.d.ts +16 -1
  160. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  161. package/dest/interfaces/prover-broker.js +4 -1
  162. package/dest/interfaces/prover-client.d.ts +11 -1
  163. package/dest/interfaces/prover-client.d.ts.map +1 -1
  164. package/dest/interfaces/prover-client.js +12 -1
  165. package/dest/interfaces/proving-job.d.ts +36 -36
  166. package/dest/interfaces/slasher.d.ts +9 -1
  167. package/dest/interfaces/slasher.d.ts.map +1 -1
  168. package/dest/interfaces/slasher.js +2 -0
  169. package/dest/interfaces/validator.d.ts +149 -49
  170. package/dest/interfaces/validator.d.ts.map +1 -1
  171. package/dest/interfaces/validator.js +11 -5
  172. package/dest/interfaces/world_state.d.ts +5 -4
  173. package/dest/interfaces/world_state.d.ts.map +1 -1
  174. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  175. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  176. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  177. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  178. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  179. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  180. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  181. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  182. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  183. package/dest/kernel/hints/index.d.ts +2 -2
  184. package/dest/kernel/hints/index.js +2 -2
  185. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  186. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  187. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  188. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  189. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  190. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  191. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  192. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  194. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  195. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  196. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  197. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  198. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  199. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  200. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  201. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  202. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  203. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  204. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  205. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  206. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  207. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  208. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  209. package/dest/kernel/private_validation_requests.d.ts +3 -3
  210. package/dest/kernel/private_validation_requests.js +9 -9
  211. package/dest/keys/derivation.d.ts +3 -3
  212. package/dest/keys/derivation.js +15 -15
  213. package/dest/keys/key_types.d.ts +3 -3
  214. package/dest/keys/key_types.d.ts.map +1 -1
  215. package/dest/keys/public_keys.js +2 -2
  216. package/dest/keys/utils.d.ts +1 -1
  217. package/dest/keys/utils.d.ts.map +1 -1
  218. package/dest/keys/utils.js +8 -4
  219. package/dest/kv-store/config.d.ts +17 -0
  220. package/dest/kv-store/config.d.ts.map +1 -0
  221. package/dest/kv-store/config.js +26 -0
  222. package/dest/kv-store/index.d.ts +2 -0
  223. package/dest/kv-store/index.d.ts.map +1 -0
  224. package/dest/kv-store/index.js +1 -0
  225. package/dest/logs/debug_log_store.d.ts +30 -0
  226. package/dest/logs/debug_log_store.d.ts.map +1 -0
  227. package/dest/logs/debug_log_store.js +30 -0
  228. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  229. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  230. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  231. package/dest/logs/extended_public_log.d.ts +7 -1
  232. package/dest/logs/extended_public_log.d.ts.map +1 -1
  233. package/dest/logs/index.d.ts +4 -2
  234. package/dest/logs/index.d.ts.map +1 -1
  235. package/dest/logs/index.js +3 -1
  236. package/dest/logs/log_filter.d.ts +4 -1
  237. package/dest/logs/log_filter.d.ts.map +1 -1
  238. package/dest/logs/log_filter.js +2 -1
  239. package/dest/logs/log_id.d.ts +10 -7
  240. package/dest/logs/log_id.d.ts.map +1 -1
  241. package/dest/logs/log_id.js +15 -13
  242. package/dest/logs/message_context.d.ts +4 -7
  243. package/dest/logs/message_context.d.ts.map +1 -1
  244. package/dest/logs/message_context.js +23 -9
  245. package/dest/logs/pending_tagged_log.d.ts +2 -3
  246. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  247. package/dest/logs/pending_tagged_log.js +2 -2
  248. package/dest/logs/pre_tag.d.ts +16 -11
  249. package/dest/logs/pre_tag.d.ts.map +1 -1
  250. package/dest/logs/pre_tag.js +2 -2
  251. package/dest/logs/private_log.d.ts +2 -2
  252. package/dest/logs/private_log.d.ts.map +1 -1
  253. package/dest/logs/public_log.d.ts +4 -3
  254. package/dest/logs/public_log.d.ts.map +1 -1
  255. package/dest/logs/public_log.js +2 -1
  256. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  257. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  258. package/dest/logs/shared_secret_derivation.js +15 -9
  259. package/dest/logs/siloed_tag.d.ts +8 -3
  260. package/dest/logs/siloed_tag.d.ts.map +1 -1
  261. package/dest/logs/siloed_tag.js +12 -7
  262. package/dest/logs/tag.js +1 -1
  263. package/dest/logs/tagging_index_range.d.ts +40 -0
  264. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  265. package/dest/logs/tagging_index_range.js +8 -0
  266. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  267. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  268. package/dest/logs/tx_scoped_l2_log.js +7 -0
  269. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  270. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  271. package/dest/messaging/l1_to_l2_message.js +11 -13
  272. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  273. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  274. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  275. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  276. package/dest/messaging/l2_to_l1_membership.js +72 -29
  277. package/dest/noir/index.d.ts +3 -3
  278. package/dest/noir/index.d.ts.map +1 -1
  279. package/dest/note/index.d.ts +1 -2
  280. package/dest/note/index.d.ts.map +1 -1
  281. package/dest/note/index.js +0 -1
  282. package/dest/note/note_dao.d.ts +1 -1
  283. package/dest/note/note_dao.d.ts.map +1 -1
  284. package/dest/note/note_dao.js +1 -4
  285. package/dest/p2p/attestation_utils.d.ts +11 -1
  286. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  287. package/dest/p2p/attestation_utils.js +45 -0
  288. package/dest/p2p/block_proposal.d.ts +2 -2
  289. package/dest/p2p/block_proposal.d.ts.map +1 -1
  290. package/dest/p2p/block_proposal.js +2 -4
  291. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  292. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  293. package/dest/p2p/checkpoint_attestation.js +1 -1
  294. package/dest/p2p/checkpoint_proposal.d.ts +18 -11
  295. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  296. package/dest/p2p/checkpoint_proposal.js +41 -37
  297. package/dest/p2p/client_type.d.ts +2 -5
  298. package/dest/p2p/client_type.d.ts.map +1 -1
  299. package/dest/p2p/client_type.js +0 -7
  300. package/dest/p2p/consensus_payload.d.ts +12 -3
  301. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  302. package/dest/p2p/consensus_payload.js +22 -15
  303. package/dest/p2p/constants.d.ts +3 -1
  304. package/dest/p2p/constants.d.ts.map +1 -1
  305. package/dest/p2p/constants.js +1 -0
  306. package/dest/p2p/index.d.ts +1 -2
  307. package/dest/p2p/index.d.ts.map +1 -1
  308. package/dest/p2p/index.js +0 -1
  309. package/dest/p2p/peer_error.d.ts +3 -1
  310. package/dest/p2p/peer_error.d.ts.map +1 -1
  311. package/dest/p2p/peer_error.js +5 -0
  312. package/dest/p2p/topic_type.d.ts +3 -4
  313. package/dest/p2p/topic_type.d.ts.map +1 -1
  314. package/dest/p2p/topic_type.js +7 -24
  315. package/dest/proofs/chonk_proof.d.ts +46 -2
  316. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  317. package/dest/proofs/chonk_proof.js +85 -10
  318. package/dest/rollup/checkpoint_header.d.ts +2 -2
  319. package/dest/rollup/checkpoint_header.js +2 -2
  320. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  321. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  322. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  323. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  324. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  325. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  326. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  327. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  328. package/dest/slashing/empire.d.ts +1 -1
  329. package/dest/slashing/empire.d.ts.map +1 -1
  330. package/dest/slashing/empire.js +2 -0
  331. package/dest/slashing/helpers.d.ts +2 -2
  332. package/dest/slashing/helpers.d.ts.map +1 -1
  333. package/dest/slashing/helpers.js +6 -0
  334. package/dest/slashing/tally.d.ts +8 -2
  335. package/dest/slashing/tally.d.ts.map +1 -1
  336. package/dest/slashing/tally.js +35 -3
  337. package/dest/slashing/types.d.ts +7 -3
  338. package/dest/slashing/types.d.ts.map +1 -1
  339. package/dest/slashing/types.js +13 -1
  340. package/dest/tests/factories.d.ts +4 -4
  341. package/dest/tests/factories.d.ts.map +1 -1
  342. package/dest/tests/factories.js +31 -40
  343. package/dest/tests/mocks.d.ts +8 -3
  344. package/dest/tests/mocks.d.ts.map +1 -1
  345. package/dest/tests/mocks.js +31 -21
  346. package/dest/timetable/index.d.ts +37 -0
  347. package/dest/timetable/index.d.ts.map +1 -0
  348. package/dest/timetable/index.js +39 -0
  349. package/dest/trees/public_data_leaf.d.ts +2 -1
  350. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  351. package/dest/trees/public_data_leaf.js +7 -6
  352. package/dest/tx/block_header.d.ts +3 -1
  353. package/dest/tx/block_header.d.ts.map +1 -1
  354. package/dest/tx/block_header.js +6 -2
  355. package/dest/tx/capsule.d.ts +6 -2
  356. package/dest/tx/capsule.d.ts.map +1 -1
  357. package/dest/tx/capsule.js +9 -3
  358. package/dest/tx/global_variable_builder.d.ts +14 -2
  359. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  360. package/dest/tx/global_variables.d.ts +4 -4
  361. package/dest/tx/global_variables.d.ts.map +1 -1
  362. package/dest/tx/private_execution_result.d.ts +6 -6
  363. package/dest/tx/private_execution_result.d.ts.map +1 -1
  364. package/dest/tx/private_execution_result.js +6 -6
  365. package/dest/tx/profiling.d.ts +17 -5
  366. package/dest/tx/profiling.d.ts.map +1 -1
  367. package/dest/tx/profiling.js +15 -5
  368. package/dest/tx/protocol_contracts.d.ts +1 -1
  369. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  370. package/dest/tx/protocol_contracts.js +2 -2
  371. package/dest/tx/public_simulation_output.d.ts +4 -2
  372. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  373. package/dest/tx/public_simulation_output.js +7 -3
  374. package/dest/tx/simulated_tx.d.ts +113 -2
  375. package/dest/tx/simulated_tx.d.ts.map +1 -1
  376. package/dest/tx/simulated_tx.js +4 -1
  377. package/dest/tx/tx.d.ts +6 -5
  378. package/dest/tx/tx.d.ts.map +1 -1
  379. package/dest/tx/tx.js +18 -6
  380. package/dest/tx/tx_receipt.d.ts +22 -3
  381. package/dest/tx/tx_receipt.d.ts.map +1 -1
  382. package/dest/tx/tx_receipt.js +15 -4
  383. package/dest/tx/tx_request.js +2 -2
  384. package/dest/tx/validator/empty_validator.d.ts +2 -2
  385. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  386. package/dest/tx/validator/error_texts.d.ts +10 -2
  387. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  388. package/dest/tx/validator/error_texts.js +11 -1
  389. package/dest/tx/validator/tx_validator.d.ts +2 -2
  390. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  391. package/dest/update-checker/index.d.ts +3 -2
  392. package/dest/update-checker/index.d.ts.map +1 -1
  393. package/dest/update-checker/index.js +2 -1
  394. package/dest/update-checker/package_version.d.ts +3 -0
  395. package/dest/update-checker/package_version.d.ts.map +1 -0
  396. package/dest/update-checker/package_version.js +24 -0
  397. package/dest/update-checker/version_checker.d.ts +25 -0
  398. package/dest/update-checker/version_checker.d.ts.map +1 -0
  399. package/dest/update-checker/version_checker.js +50 -0
  400. package/dest/validators/errors.d.ts +6 -1
  401. package/dest/validators/errors.d.ts.map +1 -1
  402. package/dest/validators/errors.js +7 -0
  403. package/dest/validators/schemas.d.ts +30 -30
  404. package/dest/validators/schemas.d.ts.map +1 -1
  405. package/dest/validators/schemas.js +4 -3
  406. package/dest/validators/types.d.ts +3 -3
  407. package/dest/validators/types.d.ts.map +1 -1
  408. package/dest/versioning/versioning.d.ts +4 -2
  409. package/dest/versioning/versioning.d.ts.map +1 -1
  410. package/dest/versioning/versioning.js +4 -1
  411. package/package.json +24 -12
  412. package/src/abi/abi.ts +25 -2
  413. package/src/abi/buffer.ts +25 -4
  414. package/src/abi/decoder.ts +36 -82
  415. package/src/abi/encoder.ts +49 -6
  416. package/src/abi/event_metadata_definition.ts +2 -0
  417. package/src/abi/function_call.ts +25 -3
  418. package/src/abi/function_selector.ts +1 -1
  419. package/src/abi/function_signature_decoder.ts +77 -0
  420. package/src/abi/index.ts +1 -0
  421. package/src/abi/utils.ts +25 -0
  422. package/src/auth_witness/auth_witness.ts +3 -3
  423. package/src/avm/revert_code.ts +15 -0
  424. package/src/block/block_data.ts +26 -0
  425. package/src/block/in_block.ts +1 -1
  426. package/src/block/index.ts +1 -0
  427. package/src/block/l2_block.ts +13 -1
  428. package/src/block/l2_block_source.ts +47 -8
  429. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  430. package/src/block/l2_block_stream/l2_tips_store_base.ts +24 -12
  431. package/src/block/test/l2_tips_store_test_suite.ts +8 -1
  432. package/src/checkpoint/checkpoint.ts +54 -17
  433. package/src/checkpoint/checkpoint_data.ts +87 -0
  434. package/src/checkpoint/index.ts +2 -0
  435. package/src/checkpoint/published_checkpoint.ts +3 -1
  436. package/src/checkpoint/validate.ts +230 -0
  437. package/src/config/index.ts +2 -0
  438. package/src/config/pipelining-config.ts +31 -0
  439. package/src/config/sequencer-config.ts +37 -0
  440. package/src/contract/contract_address.ts +7 -7
  441. package/src/contract/contract_class.ts +3 -3
  442. package/src/contract/contract_class_id.ts +7 -6
  443. package/src/contract/index.ts +0 -2
  444. package/src/contract/interfaces/contract_class.ts +2 -82
  445. package/src/contract/interfaces/node-info.ts +3 -0
  446. package/src/contract/private_function.ts +2 -2
  447. package/src/epoch-helpers/index.ts +30 -0
  448. package/src/file-store/factory.ts +13 -4
  449. package/src/file-store/http.ts +29 -10
  450. package/src/file-store/index.ts +1 -0
  451. package/src/file-store/local.ts +15 -5
  452. package/src/file-store/s3.ts +12 -3
  453. package/src/gas/README.md +123 -0
  454. package/src/gas/gas_fees.ts +7 -1
  455. package/src/ha-signing/config.ts +156 -0
  456. package/src/ha-signing/index.ts +27 -0
  457. package/src/ha-signing/local_config.ts +46 -0
  458. package/src/ha-signing/types.ts +112 -0
  459. package/src/hash/hash.ts +48 -10
  460. package/src/hash/map_slot.ts +2 -2
  461. package/src/interfaces/allowed_element.ts +29 -9
  462. package/src/interfaces/archiver.ts +10 -2
  463. package/src/interfaces/aztec-node-admin.ts +26 -2
  464. package/src/interfaces/aztec-node.ts +59 -30
  465. package/src/interfaces/block-builder.ts +61 -14
  466. package/src/interfaces/configs.ts +36 -8
  467. package/src/interfaces/l2_logs_source.ts +4 -1
  468. package/src/interfaces/merkle_tree_operations.ts +9 -19
  469. package/src/interfaces/p2p.ts +3 -14
  470. package/src/interfaces/prover-broker.ts +22 -0
  471. package/src/interfaces/prover-client.ts +15 -0
  472. package/src/interfaces/slasher.ts +4 -0
  473. package/src/interfaces/validator.ts +56 -28
  474. package/src/interfaces/world_state.ts +4 -3
  475. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  476. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  477. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  478. package/src/kernel/hints/index.ts +2 -2
  479. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  480. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  481. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  482. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  483. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  484. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  485. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  486. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  487. package/src/kernel/private_validation_requests.ts +8 -8
  488. package/src/keys/derivation.ts +15 -15
  489. package/src/keys/key_types.ts +6 -2
  490. package/src/keys/public_keys.ts +2 -2
  491. package/src/keys/utils.ts +8 -4
  492. package/src/kv-store/config.ts +36 -0
  493. package/src/kv-store/index.ts +1 -0
  494. package/src/logs/debug_log_store.ts +54 -0
  495. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  496. package/src/logs/index.ts +3 -1
  497. package/src/logs/log_filter.ts +5 -0
  498. package/src/logs/log_id.ts +15 -12
  499. package/src/logs/message_context.ts +17 -7
  500. package/src/logs/pending_tagged_log.ts +1 -3
  501. package/src/logs/pre_tag.ts +5 -5
  502. package/src/logs/public_log.ts +4 -2
  503. package/src/logs/shared_secret_derivation.ts +21 -10
  504. package/src/logs/siloed_tag.ts +15 -5
  505. package/src/logs/tag.ts +1 -1
  506. package/src/logs/tagging_index_range.ts +24 -0
  507. package/src/logs/tx_scoped_l2_log.ts +16 -0
  508. package/src/messaging/l1_to_l2_message.ts +12 -9
  509. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  510. package/src/messaging/l2_to_l1_membership.ts +101 -36
  511. package/src/noir/index.ts +2 -2
  512. package/src/note/index.ts +0 -1
  513. package/src/note/note_dao.ts +1 -4
  514. package/src/p2p/attestation_utils.ts +56 -0
  515. package/src/p2p/block_proposal.ts +1 -3
  516. package/src/p2p/checkpoint_attestation.ts +6 -1
  517. package/src/p2p/checkpoint_proposal.ts +67 -49
  518. package/src/p2p/client_type.ts +0 -6
  519. package/src/p2p/consensus_payload.ts +25 -12
  520. package/src/p2p/constants.ts +3 -0
  521. package/src/p2p/index.ts +0 -1
  522. package/src/p2p/peer_error.ts +7 -0
  523. package/src/p2p/topic_type.ts +8 -15
  524. package/src/proofs/chonk_proof.ts +91 -5
  525. package/src/rollup/checkpoint_header.ts +2 -2
  526. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  527. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  528. package/src/slashing/empire.ts +3 -1
  529. package/src/slashing/helpers.ts +8 -0
  530. package/src/slashing/tally.ts +41 -2
  531. package/src/slashing/types.ts +14 -0
  532. package/src/tests/factories.ts +30 -50
  533. package/src/tests/mocks.ts +46 -20
  534. package/src/timetable/index.ts +66 -0
  535. package/src/trees/public_data_leaf.ts +11 -5
  536. package/src/tx/block_header.ts +8 -2
  537. package/src/tx/capsule.ts +10 -2
  538. package/src/tx/global_variable_builder.ts +15 -0
  539. package/src/tx/global_variables.ts +3 -3
  540. package/src/tx/private_execution_result.ts +5 -5
  541. package/src/tx/profiling.ts +14 -5
  542. package/src/tx/protocol_contracts.ts +2 -2
  543. package/src/tx/public_simulation_output.ts +4 -0
  544. package/src/tx/simulated_tx.ts +8 -1
  545. package/src/tx/tx.ts +20 -11
  546. package/src/tx/tx_receipt.ts +17 -2
  547. package/src/tx/tx_request.ts +2 -2
  548. package/src/tx/validator/empty_validator.ts +1 -1
  549. package/src/tx/validator/error_texts.ts +13 -1
  550. package/src/tx/validator/tx_validator.ts +1 -1
  551. package/src/update-checker/index.ts +2 -1
  552. package/src/update-checker/package_version.ts +30 -0
  553. package/src/update-checker/version_checker.ts +65 -0
  554. package/src/validators/errors.ts +9 -0
  555. package/src/validators/schemas.ts +8 -1
  556. package/src/validators/types.ts +5 -4
  557. package/src/versioning/versioning.ts +4 -1
  558. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  559. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  560. package/dest/contract/private_function_membership_proof.js +0 -124
  561. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  562. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  563. package/dest/contract/utility_function_membership_proof.js +0 -87
  564. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  565. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  566. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  567. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  568. package/dest/note/notes_filter.d.ts +0 -27
  569. package/dest/note/notes_filter.d.ts.map +0 -1
  570. package/dest/note/notes_filter.js +0 -11
  571. package/dest/update-checker/update-checker.d.ts +0 -49
  572. package/dest/update-checker/update-checker.d.ts.map +0 -1
  573. package/dest/update-checker/update-checker.js +0 -130
  574. package/src/contract/private_function_membership_proof.ts +0 -167
  575. package/src/contract/utility_function_membership_proof.ts +0 -118
  576. package/src/note/notes_filter.ts +0 -38
  577. package/src/update-checker/update-checker.ts +0 -166
package/src/hash/hash.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
1
+ import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } 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';
@@ -23,7 +23,7 @@ export async function hashVK(keyAsFields: Fr[]): Promise<Fr> {
23
23
  * @returns A note hash nonce.
24
24
  */
25
25
  export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number): Promise<Fr> {
26
- return poseidon2HashWithSeparator([nullifierZero, noteHashIndex], GeneratorIndex.NOTE_HASH_NONCE);
26
+ return poseidon2HashWithSeparator([nullifierZero, noteHashIndex], DomainSeparator.NOTE_HASH_NONCE);
27
27
  }
28
28
 
29
29
  /**
@@ -34,7 +34,7 @@ export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number):
34
34
  * @returns A siloed note hash.
35
35
  */
36
36
  export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise<Fr> {
37
- return poseidon2HashWithSeparator([contract, noteHash], GeneratorIndex.SILOED_NOTE_HASH);
37
+ return poseidon2HashWithSeparator([contract, noteHash], DomainSeparator.SILOED_NOTE_HASH);
38
38
  }
39
39
 
40
40
  /**
@@ -44,7 +44,7 @@ export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise<Fr>
44
44
  * @returns A unique note hash.
45
45
  */
46
46
  export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promise<Fr> {
47
- return poseidon2HashWithSeparator([noteNonce, siloedNoteHash], GeneratorIndex.UNIQUE_NOTE_HASH);
47
+ return poseidon2HashWithSeparator([noteNonce, siloedNoteHash], DomainSeparator.UNIQUE_NOTE_HASH);
48
48
  }
49
49
 
50
50
  /**
@@ -55,7 +55,36 @@ export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promis
55
55
  * @returns A siloed nullifier.
56
56
  */
57
57
  export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promise<Fr> {
58
- return poseidon2HashWithSeparator([contract, innerNullifier], GeneratorIndex.SILOED_NULLIFIER);
58
+ return poseidon2HashWithSeparator([contract, innerNullifier], DomainSeparator.SILOED_NULLIFIER);
59
+ }
60
+
61
+ /**
62
+ * Computes the siloed private initialization nullifier for a contract, given its address and initialization hash.
63
+ * @param contract - The contract address.
64
+ * @param initializationHash - The contract's initialization hash.
65
+ * @returns The siloed private initialization nullifier.
66
+ */
67
+ export async function computeSiloedPrivateInitializationNullifier(
68
+ contract: AztecAddress,
69
+ initializationHash: Fr,
70
+ ): Promise<Fr> {
71
+ const innerNullifier = await poseidon2HashWithSeparator(
72
+ [contract, initializationHash],
73
+ DomainSeparator.PRIVATE_INITIALIZATION_NULLIFIER,
74
+ );
75
+ return siloNullifier(contract, innerNullifier);
76
+ }
77
+
78
+ /**
79
+ * Computes the siloed public initialization nullifier for a contract. Not all contracts emit this nullifier: it is only
80
+ * emitted when the contract has public functions that perform initialization checks (i.e. external public functions that
81
+ * are not `#[noinitcheck]` or `#[only_self]`).
82
+ * @param contract - The contract address.
83
+ * @returns The siloed public initialization nullifier.
84
+ */
85
+ export async function computeSiloedPublicInitializationNullifier(contract: AztecAddress): Promise<Fr> {
86
+ const innerNullifier = await poseidon2HashWithSeparator([contract], DomainSeparator.PUBLIC_INITIALIZATION_NULLIFIER);
87
+ return siloNullifier(contract, innerNullifier);
59
88
  }
60
89
 
61
90
  /**
@@ -69,6 +98,15 @@ export function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr> {
69
98
  return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
70
99
  }
71
100
 
101
+ /** Domain-separates a raw log tag with the given domain separator. */
102
+ export function computeLogTag(rawTag: number | bigint | boolean | Fr | Buffer, domSep: DomainSeparator): Promise<Fr> {
103
+ return poseidon2HashWithSeparator([new Fr(rawTag)], domSep);
104
+ }
105
+
106
+ export function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise<Fr> {
107
+ return poseidon2HashWithSeparator([contract, field], DomainSeparator.PRIVATE_LOG_FIRST_FIELD);
108
+ }
109
+
72
110
  /**
73
111
  * Computes a public data tree value ready for insertion.
74
112
  * @param value - Raw public data tree value to hash into a tree-insertion-ready value.
@@ -87,7 +125,7 @@ export function computePublicDataTreeValue(value: Fr): Fr {
87
125
 
88
126
  */
89
127
  export function computePublicDataTreeLeafSlot(contractAddress: AztecAddress, storageSlot: Fr): Promise<Fr> {
90
- return poseidon2HashWithSeparator([contractAddress, storageSlot], GeneratorIndex.PUBLIC_LEAF_SLOT);
128
+ return poseidon2HashWithSeparator([contractAddress, storageSlot], DomainSeparator.PUBLIC_LEAF_SLOT);
91
129
  }
92
130
 
93
131
  /**
@@ -101,7 +139,7 @@ export function computeVarArgsHash(args: Fr[]): Promise<Fr> {
101
139
  return Promise.resolve(Fr.ZERO);
102
140
  }
103
141
 
104
- return poseidon2HashWithSeparator(args, GeneratorIndex.FUNCTION_ARGS);
142
+ return poseidon2HashWithSeparator(args, DomainSeparator.FUNCTION_ARGS);
105
143
  }
106
144
 
107
145
  /**
@@ -110,7 +148,7 @@ export function computeVarArgsHash(args: Fr[]): Promise<Fr> {
110
148
  * @returns Hash of the calldata.
111
149
  */
112
150
  export function computeCalldataHash(calldata: Fr[]): Promise<Fr> {
113
- return poseidon2HashWithSeparator(calldata, GeneratorIndex.PUBLIC_CALLDATA);
151
+ return poseidon2HashWithSeparator(calldata, DomainSeparator.PUBLIC_CALLDATA);
114
152
  }
115
153
 
116
154
  /**
@@ -120,13 +158,13 @@ export function computeCalldataHash(calldata: Fr[]): Promise<Fr> {
120
158
  * @returns The hash
121
159
  */
122
160
  export function computeSecretHash(secret: Fr): Promise<Fr> {
123
- return poseidon2HashWithSeparator([secret], GeneratorIndex.SECRET_HASH);
161
+ return poseidon2HashWithSeparator([secret], DomainSeparator.SECRET_HASH);
124
162
  }
125
163
 
126
164
  export async function computeL1ToL2MessageNullifier(contract: AztecAddress, messageHash: Fr, secret: Fr) {
127
165
  const innerMessageNullifier = await poseidon2HashWithSeparator(
128
166
  [messageHash, secret],
129
- GeneratorIndex.MESSAGE_NULLIFIER,
167
+ DomainSeparator.MESSAGE_NULLIFIER,
130
168
  );
131
169
  return siloNullifier(contract, innerMessageNullifier);
132
170
  }
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
4
4
 
@@ -15,5 +15,5 @@ export function deriveStorageSlotInMap(
15
15
  toField: () => Fr;
16
16
  },
17
17
  ): Promise<Fr> {
18
- return poseidon2HashWithSeparator([mapSlot, key.toField()], GeneratorIndex.PUBLIC_STORAGE_MAP_SLOT);
18
+ return poseidon2HashWithSeparator([mapSlot, key.toField()], DomainSeparator.PUBLIC_STORAGE_MAP_SLOT);
19
19
  }
@@ -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
  );
@@ -4,12 +4,14 @@ import type { ApiSchemaFor } from '@aztec/foundation/schemas';
4
4
 
5
5
  import { z } from 'zod';
6
6
 
7
+ import { BlockDataSchema } from '../block/block_data.js';
7
8
  import { BlockHash } from '../block/block_hash.js';
8
9
  import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
9
10
  import { L2Block } from '../block/l2_block.js';
10
11
  import { type L2BlockSource, L2TipsSchema } from '../block/l2_block_source.js';
11
12
  import { ValidateCheckpointResultSchema } from '../block/validate_block_result.js';
12
13
  import { Checkpoint } from '../checkpoint/checkpoint.js';
14
+ import { CheckpointDataSchema, ProposedCheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
13
15
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
14
16
  import {
15
17
  ContractClassPublicSchema,
@@ -84,6 +86,7 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
84
86
  getBlockNumber: z.function().args().returns(BlockNumberSchema),
85
87
  getProvenBlockNumber: z.function().args().returns(BlockNumberSchema),
86
88
  getCheckpointedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
89
+ getCheckpointNumber: z.function().args().returns(CheckpointNumberSchema),
87
90
  getFinalizedL2BlockNumber: z.function().args().returns(BlockNumberSchema),
88
91
  getBlock: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
89
92
  getBlockHeader: z
@@ -104,14 +107,17 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
104
107
  getCheckpointedBlockByArchive: z.function().args(schemas.Fr).returns(CheckpointedL2Block.schema.optional()),
105
108
  getBlockHeaderByHash: z.function().args(BlockHash.schema).returns(BlockHeader.schema.optional()),
106
109
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
110
+ getBlockData: z.function().args(BlockNumberSchema).returns(BlockDataSchema.optional()),
111
+ getBlockDataByArchive: z.function().args(schemas.Fr).returns(BlockDataSchema.optional()),
107
112
  getL2Block: z.function().args(BlockNumberSchema).returns(L2Block.schema.optional()),
108
113
  getL2BlockByHash: z.function().args(BlockHash.schema).returns(L2Block.schema.optional()),
109
114
  getL2BlockByArchive: z.function().args(schemas.Fr).returns(L2Block.schema.optional()),
110
115
  getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
111
116
  getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
112
- getL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
113
- getL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
117
+ getSyncedL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
118
+ getSyncedL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
114
119
  getCheckpointsForEpoch: z.function().args(EpochNumberSchema).returns(z.array(Checkpoint.schema)),
120
+ getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
115
121
  getCheckpointedBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointedL2Block.schema)),
116
122
  getBlocksForSlot: z.function().args(schemas.SlotNumber).returns(z.array(L2Block.schema)),
117
123
  getCheckpointedBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
@@ -144,6 +150,8 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
144
150
  .args()
145
151
  .returns(z.object({ genesisArchiveRoot: schemas.Fr })),
146
152
  getL1Timestamp: z.function().args().returns(schemas.BigInt.optional()),
153
+ getProposedCheckpoint: z.function().args().returns(ProposedCheckpointDataSchema.optional()),
154
+ getProposedCheckpointOnly: z.function().args().returns(ProposedCheckpointDataSchema.optional()),
147
155
  syncImmediate: z.function().args().returns(z.void()),
148
156
  isPendingChainInvalid: z.function().args().returns(z.boolean()),
149
157
  getPendingChainValidationStatus: z.function().args().returns(ValidateCheckpointResultSchema),
@@ -50,9 +50,30 @@ export interface AztecNodeAdmin {
50
50
 
51
51
  /** Returns all offenses applicable for the given round. */
52
52
  getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
53
+
54
+ /**
55
+ * Reloads keystore configuration from disk.
56
+ *
57
+ * What is updated:
58
+ * - Validator attester keys
59
+ * - Coinbase address per validator
60
+ * - Fee recipient address per validator
61
+ *
62
+ * What is NOT updated (requires node restart):
63
+ * - L1 publisher signers (the funded accounts that send L1 transactions)
64
+ * - Prover keys
65
+ * - HA signer PostgreSQL connections
66
+ *
67
+ * Notes:
68
+ * - New validators must use a publisher key that was already configured at node
69
+ * startup (or omit the publisher field to fall back to the attester key).
70
+ * A validator with an unknown publisher key will cause the reload to be rejected.
71
+ */
72
+ reloadKeystore(): Promise<void>;
53
73
  }
54
74
 
55
- export type AztecNodeAdminConfig = ValidatorClientFullConfig &
75
+ // L1 contracts are not mutable via admin updates.
76
+ export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, 'l1Contracts'> &
56
77
  SequencerConfig &
57
78
  ProverConfig &
58
79
  SlasherConfig &
@@ -65,7 +86,7 @@ export type AztecNodeAdminConfig = ValidatorClientFullConfig &
65
86
 
66
87
  export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
67
88
  .merge(SlasherConfigSchema)
68
- .merge(ValidatorClientFullConfigSchema)
89
+ .merge(ValidatorClientFullConfigSchema.omit({ l1Contracts: true }))
69
90
  .merge(
70
91
  ArchiverSpecificConfigSchema.pick({
71
92
  archiverPollingIntervalMS: true,
@@ -87,16 +108,19 @@ export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {
87
108
  .function()
88
109
  .args(z.union([z.bigint(), z.literal('all'), z.literal('current')]))
89
110
  .returns(z.array(OffenseSchema)),
111
+ reloadKeystore: z.function().returns(z.void()),
90
112
  };
91
113
 
92
114
  export function createAztecNodeAdminClient(
93
115
  url: string,
94
116
  versions: Partial<ComponentsVersions> = {},
95
117
  fetch = defaultFetch,
118
+ apiKey?: string,
96
119
  ): AztecNodeAdmin {
97
120
  return createSafeJsonRpcClient<AztecNodeAdmin>(url, AztecNodeAdminApiSchema, {
98
121
  namespaceMethods: 'nodeAdmin',
99
122
  fetch,
100
123
  onResponse: getVersioningResponseHandler(versions),
124
+ ...(apiKey ? { extraHeaders: { 'x-api-key': apiKey } } : {}),
101
125
  });
102
126
  }
@@ -4,7 +4,9 @@ import {
4
4
  BlockNumber,
5
5
  BlockNumberPositiveSchema,
6
6
  BlockNumberSchema,
7
+ CheckpointNumber,
7
8
  CheckpointNumberPositiveSchema,
9
+ CheckpointNumberSchema,
8
10
  EpochNumber,
9
11
  EpochNumberSchema,
10
12
  type SlotNumber,
@@ -23,6 +25,7 @@ import { CheckpointedL2Block } from '../block/checkpointed_l2_block.js';
23
25
  import { type DataInBlock, dataInBlockSchemaFor } from '../block/in_block.js';
24
26
  import { L2Block } from '../block/l2_block.js';
25
27
  import { type L2BlockSource, type L2Tips, L2TipsSchema } from '../block/l2_block_source.js';
28
+ import { CheckpointDataSchema } from '../checkpoint/checkpoint_data.js';
26
29
  import { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
27
30
  import {
28
31
  type ContractClassPublic,
@@ -72,7 +75,12 @@ import { type WorldStateSyncStatus, WorldStateSyncStatusSchema } from './world_s
72
75
  export interface AztecNode
73
76
  extends Pick<
74
77
  L2BlockSource,
75
- 'getBlocks' | 'getCheckpoints' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpointedBlocks'
78
+ | 'getBlocks'
79
+ | 'getCheckpoints'
80
+ | 'getBlockHeader'
81
+ | 'getL2Tips'
82
+ | 'getCheckpointedBlocks'
83
+ | 'getCheckpointsDataForEpoch'
76
84
  > {
77
85
  /**
78
86
  * Returns the tips of the L2 chain.
@@ -87,89 +95,100 @@ export interface AztecNode
87
95
  /**
88
96
  * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
89
97
  * the leaves were inserted.
90
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
98
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
91
99
  * @param treeId - The tree to search in.
92
100
  * @param leafValues - The values to search for.
93
101
  * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
94
102
  */
95
103
  findLeavesIndexes(
96
- block: BlockParameter,
104
+ referenceBlock: BlockParameter,
97
105
  treeId: MerkleTreeId,
98
106
  leafValues: Fr[],
99
107
  ): Promise<(DataInBlock<bigint> | undefined)[]>;
100
108
 
101
109
  /**
102
110
  * Returns a nullifier membership witness for a given nullifier at a given block.
103
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
111
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
104
112
  * @param nullifier - Nullifier we try to find witness for.
105
113
  * @returns The nullifier membership witness (if found).
106
114
  */
107
- getNullifierMembershipWitness(block: BlockParameter, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
115
+ getNullifierMembershipWitness(
116
+ referenceBlock: BlockParameter,
117
+ nullifier: Fr,
118
+ ): Promise<NullifierMembershipWitness | undefined>;
108
119
 
109
120
  /**
110
121
  * Returns a low nullifier membership witness for a given nullifier at a given block.
111
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
122
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
112
123
  * @param nullifier - Nullifier we try to find the low nullifier witness for.
113
124
  * @returns The low nullifier membership witness (if found).
125
+ * @throws If the nullifier already exists in the tree, since non-inclusion cannot be proven.
114
126
  * @remarks Low nullifier witness can be used to perform a nullifier non-inclusion proof by leveraging the "linked
115
127
  * list structure" of leaves and proving that a lower nullifier is pointing to a bigger next value than the nullifier
116
128
  * we are trying to prove non-inclusion for.
117
129
  */
118
130
  getLowNullifierMembershipWitness(
119
- block: BlockParameter,
131
+ referenceBlock: BlockParameter,
120
132
  nullifier: Fr,
121
133
  ): Promise<NullifierMembershipWitness | undefined>;
122
134
 
123
135
  /**
124
136
  * Returns a public data tree witness for a given leaf slot at a given block.
125
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
137
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
126
138
  * @param leafSlot - The leaf slot we try to find the witness for.
127
139
  * @returns The public data witness (if found).
128
140
  * @remarks The witness can be used to compute the current value of the public data tree leaf. If the low leaf preimage corresponds to an
129
141
  * "in range" slot, means that the slot doesn't exist and the value is 0. If the low leaf preimage corresponds to the exact slot, the current value
130
142
  * is contained in the leaf preimage.
131
143
  */
132
- getPublicDataWitness(block: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
144
+ getPublicDataWitness(referenceBlock: BlockParameter, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
133
145
 
134
146
  /**
135
- * Returns a membership witness for a given archive leaf at a given block.
136
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
137
- * @param archive - The archive leaf we try to find the witness for.
147
+ * Returns a membership witness for a given block hash in the archive tree.
148
+ *
149
+ * Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
150
+ * its block hash is appended as a new leaf to the archive tree. This method finds the membership
151
+ * witness (leaf index and sibling path) for a given block hash, which can be used to prove that
152
+ * a specific block exists in the chain's history.
153
+ *
154
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data
155
+ * (which contains the root of the archive tree in which we are searching for the block hash).
156
+ * @param blockHash - The block hash to find in the archive tree.
138
157
  */
139
- getArchiveMembershipWitness(
140
- block: BlockParameter,
141
- archive: Fr,
158
+ getBlockHashMembershipWitness(
159
+ referenceBlock: BlockParameter,
160
+ blockHash: BlockHash,
142
161
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
143
162
 
144
163
  /**
145
164
  * Returns a membership witness for a given note hash at a given block.
146
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
165
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
147
166
  * @param noteHash - The note hash we try to find the witness for.
148
167
  */
149
168
  getNoteHashMembershipWitness(
150
- block: BlockParameter,
169
+ referenceBlock: BlockParameter,
151
170
  noteHash: Fr,
152
171
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
153
172
 
154
173
  /**
155
174
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
156
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
175
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
157
176
  * @param l1ToL2Message - The l1ToL2Message to get the index / sibling path for.
158
177
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
159
178
  */
160
179
  getL1ToL2MessageMembershipWitness(
161
- block: BlockParameter,
180
+ referenceBlock: BlockParameter,
162
181
  l1ToL2Message: Fr,
163
182
  ): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
164
183
 
165
- /** Returns the L2 block number in which this L1 to L2 message becomes available, or undefined if not found. */
166
- getL1ToL2MessageBlock(l1ToL2Message: Fr): Promise<BlockNumber | undefined>;
184
+ /** Returns the L2 checkpoint number in which this L1 to L2 message becomes available, or undefined if not found. */
185
+ getL1ToL2MessageCheckpoint(l1ToL2Message: Fr): Promise<CheckpointNumber | undefined>;
167
186
 
168
187
  /**
169
188
  * Returns whether an L1 to L2 message is synced by archiver.
170
189
  * @param l1ToL2Message - The L1 to L2 message to check.
171
190
  * @returns Whether the message is synced.
172
- * @deprecated Use `getL1ToL2MessageBlock` instead. This method may return true even if the message is not ready to use.
191
+ * @deprecated Use `getL1ToL2MessageCheckpoint` instead. This method may return true even if the message is not ready to use.
173
192
  */
174
193
  isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
175
194
 
@@ -183,10 +202,10 @@ export interface AztecNode
183
202
 
184
203
  /**
185
204
  * Get a block specified by its block number or 'latest'.
186
- * @param number - The block number or 'latest'.
205
+ * @param blockParameter - The block parameter (block number, block hash, or 'latest').
187
206
  * @returns The requested block.
188
207
  */
189
- getBlock(number: BlockParameter): Promise<L2Block | undefined>;
208
+ getBlock(blockParameter: BlockParameter): Promise<L2Block | undefined>;
190
209
 
191
210
  /**
192
211
  * Get a block specified by its hash.
@@ -220,6 +239,12 @@ export interface AztecNode
220
239
  */
221
240
  getCheckpointedBlockNumber(): Promise<BlockNumber>;
222
241
 
242
+ /**
243
+ * Method to fetch the latest checkpoint number synchronized by the node.
244
+ * @returns The checkpoint number.
245
+ */
246
+ getCheckpointNumber(): Promise<CheckpointNumber>;
247
+
223
248
  /**
224
249
  * Method to determine if the node is ready to accept transactions.
225
250
  * @returns - Flag indicating the readiness for tx submission.
@@ -392,12 +417,12 @@ export interface AztecNode
392
417
  * @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
393
418
  * Aztec's version of `eth_getStorageAt`.
394
419
  *
395
- * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
420
+ * @param referenceBlock - The block parameter (block number, block hash, or 'latest') at which to get the data.
396
421
  * @param contract - Address of the contract to query.
397
422
  * @param slot - Slot to query.
398
423
  * @returns Storage value at the given contract slot.
399
424
  */
400
- getPublicStorageAt(block: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
425
+ getPublicStorageAt(referenceBlock: BlockParameter, contract: AztecAddress, slot: Fr): Promise<Fr>;
401
426
 
402
427
  /**
403
428
  * Returns the block header for a given block number, block hash, or 'latest'.
@@ -433,7 +458,7 @@ export interface AztecNode
433
458
  /**
434
459
  * Returns true if the transaction is valid for inclusion at the current state. Valid transactions can be
435
460
  * made invalid by *other* transactions if e.g. they emit the same nullifiers, or come become invalid
436
- * due to e.g. the include_by_timestamp property.
461
+ * due to e.g. the expiration_timestamp property.
437
462
  * @param tx - The transaction to validate for correctness.
438
463
  * @param isSimulation - True if the transaction is a simulated one without generated proofs. (Optional)
439
464
  * @param skipFeeEnforcement - True if the validation of the fee should be skipped. Useful when the simulation is for estimating fee (Optional)
@@ -492,9 +517,9 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
492
517
  .args(BlockParameterSchema, schemas.Fr)
493
518
  .returns(PublicDataWitness.schema.optional()),
494
519
 
495
- getArchiveMembershipWitness: z
520
+ getBlockHashMembershipWitness: z
496
521
  .function()
497
- .args(BlockParameterSchema, schemas.Fr)
522
+ .args(BlockParameterSchema, BlockHash.schema)
498
523
  .returns(MembershipWitness.schemaFor(ARCHIVE_HEIGHT).optional()),
499
524
 
500
525
  getNoteHashMembershipWitness: z
@@ -507,7 +532,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
507
532
  .args(BlockParameterSchema, schemas.Fr)
508
533
  .returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)]).optional()),
509
534
 
510
- getL1ToL2MessageBlock: z.function().args(schemas.Fr).returns(BlockNumberSchema.optional()),
535
+ getL1ToL2MessageCheckpoint: z.function().args(schemas.Fr).returns(CheckpointNumberSchema.optional()),
511
536
 
512
537
  isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
513
538
 
@@ -524,6 +549,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
524
549
 
525
550
  getBlockNumber: z.function().returns(BlockNumberSchema),
526
551
 
552
+ getCheckpointNumber: z.function().returns(CheckpointNumberSchema),
553
+
527
554
  getProvenBlockNumber: z.function().returns(BlockNumberSchema),
528
555
 
529
556
  getCheckpointedBlockNumber: z.function().returns(BlockNumberSchema),
@@ -547,6 +574,8 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
547
574
  .args(BlockNumberPositiveSchema, z.number().gt(0).lte(MAX_RPC_BLOCKS_LEN))
548
575
  .returns(z.array(CheckpointedL2Block.schema)),
549
576
 
577
+ getCheckpointsDataForEpoch: z.function().args(EpochNumberSchema).returns(z.array(CheckpointDataSchema)),
578
+
550
579
  getCurrentMinFees: z.function().returns(GasFees.schema),
551
580
 
552
581
  getMaxPriorityFees: z.function().returns(GasFees.schema),