@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f

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 (806) hide show
  1. package/dest/abi/abi.d.ts +92 -107
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +2 -2
  4. package/dest/abi/authorization_selector.d.ts +1 -1
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts +1 -1
  8. package/dest/abi/contract_artifact.js +3 -3
  9. package/dest/abi/decoder.d.ts +1 -1
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/encoder.d.ts +1 -1
  12. package/dest/abi/event_metadata_definition.d.ts +1 -1
  13. package/dest/abi/event_selector.d.ts +1 -1
  14. package/dest/abi/event_selector.d.ts.map +1 -1
  15. package/dest/abi/function_call.d.ts +1 -9
  16. package/dest/abi/function_call.d.ts.map +1 -1
  17. package/dest/abi/function_selector.d.ts +1 -1
  18. package/dest/abi/function_selector.d.ts.map +1 -1
  19. package/dest/abi/index.d.ts +1 -1
  20. package/dest/abi/mocked_keys.d.ts +1 -1
  21. package/dest/abi/note_selector.d.ts +1 -1
  22. package/dest/abi/note_selector.d.ts.map +1 -1
  23. package/dest/abi/selector.d.ts +1 -1
  24. package/dest/abi/selector.d.ts.map +1 -1
  25. package/dest/abi/utils.d.ts +1 -1
  26. package/dest/auth_witness/auth_witness.d.ts +1 -2
  27. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  28. package/dest/auth_witness/index.d.ts +1 -1
  29. package/dest/avm/avm.d.ts +4189 -2057
  30. package/dest/avm/avm.d.ts.map +1 -1
  31. package/dest/avm/avm.js +375 -16
  32. package/dest/avm/avm_accumulated_data.d.ts +25 -36
  33. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  34. package/dest/avm/avm_accumulated_data.js +18 -0
  35. package/dest/avm/avm_circuit_public_inputs.d.ts +156 -146
  36. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  37. package/dest/avm/avm_circuit_public_inputs.js +9 -0
  38. package/dest/avm/avm_proving_request.d.ts +2023 -1503
  39. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  40. package/dest/avm/contract_storage_read.d.ts +1 -13
  41. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  42. package/dest/avm/contract_storage_update_request.d.ts +1 -13
  43. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  44. package/dest/avm/index.d.ts +1 -1
  45. package/dest/avm/message_pack.d.ts +2 -2
  46. package/dest/avm/message_pack.d.ts.map +1 -1
  47. package/dest/avm/message_pack.js +3 -0
  48. package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
  49. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  50. package/dest/avm/public_data_read.d.ts +1 -10
  51. package/dest/avm/public_data_read.d.ts.map +1 -1
  52. package/dest/avm/public_data_update_request.d.ts +1 -10
  53. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  54. package/dest/avm/public_data_write.d.ts +13 -11
  55. package/dest/avm/public_data_write.d.ts.map +1 -1
  56. package/dest/avm/public_data_write.js +9 -0
  57. package/dest/avm/public_inner_call_request.d.ts +1 -4
  58. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +16 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +24 -8
  62. package/dest/aztec-address/index.d.ts +10 -1
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +24 -2
  65. package/dest/block/attestation_info.d.ts +3 -1
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +4 -1
  68. package/dest/block/block_hash.d.ts +1 -1
  69. package/dest/block/block_hash.d.ts.map +1 -1
  70. package/dest/block/body.d.ts +8 -8
  71. package/dest/block/body.d.ts.map +1 -1
  72. package/dest/block/body.js +11 -27
  73. package/dest/block/in_block.d.ts +3 -11
  74. package/dest/block/in_block.d.ts.map +1 -1
  75. package/dest/block/index.d.ts +2 -1
  76. package/dest/block/index.d.ts.map +1 -1
  77. package/dest/block/index.js +1 -0
  78. package/dest/block/l2_block.d.ts +15 -7
  79. package/dest/block/l2_block.d.ts.map +1 -1
  80. package/dest/block/l2_block.js +54 -4
  81. package/dest/block/l2_block_code_to_purge.d.ts +1 -1
  82. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  83. package/dest/block/l2_block_code_to_purge.js +4 -3
  84. package/dest/block/l2_block_header.d.ts +10 -12
  85. package/dest/block/l2_block_header.d.ts.map +1 -1
  86. package/dest/block/l2_block_header.js +18 -11
  87. package/dest/block/l2_block_info.d.ts +9 -9
  88. package/dest/block/l2_block_new.d.ts +108 -0
  89. package/dest/block/l2_block_new.d.ts.map +1 -0
  90. package/dest/block/l2_block_new.js +135 -0
  91. package/dest/block/l2_block_number.d.ts +1 -1
  92. package/dest/block/l2_block_source.d.ts +10 -9
  93. package/dest/block/l2_block_source.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/index.d.ts +1 -1
  95. package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
  96. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
  97. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  100. package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
  101. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  102. package/dest/block/proposal/attestations_and_signers.js +14 -0
  103. package/dest/block/proposal/committee_attestation.d.ts +1 -1
  104. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  105. package/dest/block/proposal/index.d.ts +1 -1
  106. package/dest/block/published_l2_block.d.ts +15 -28
  107. package/dest/block/published_l2_block.d.ts.map +1 -1
  108. package/dest/block/published_l2_block.js +12 -27
  109. package/dest/block/test/index.d.ts +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  111. package/dest/block/validate_block_result.d.ts +6 -178
  112. package/dest/block/validate_block_result.d.ts.map +1 -1
  113. package/dest/block/validate_block_result.js +4 -3
  114. package/dest/checkpoint/checkpoint.d.ts +121 -0
  115. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  116. package/dest/checkpoint/checkpoint.js +62 -0
  117. package/dest/checkpoint/index.d.ts +3 -2
  118. package/dest/checkpoint/index.d.ts.map +1 -1
  119. package/dest/checkpoint/index.js +2 -1
  120. package/dest/checkpoint/published_checkpoint.d.ts +212 -0
  121. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  122. package/dest/checkpoint/published_checkpoint.js +71 -0
  123. package/dest/config/chain-config.d.ts +1 -1
  124. package/dest/config/index.d.ts +1 -1
  125. package/dest/config/node-rpc-config.d.ts +1 -1
  126. package/dest/contract/artifact_hash.d.ts +2 -2
  127. package/dest/contract/artifact_hash.d.ts.map +1 -1
  128. package/dest/contract/complete_address.d.ts +1 -4
  129. package/dest/contract/complete_address.d.ts.map +1 -1
  130. package/dest/contract/contract_address.d.ts +1 -1
  131. package/dest/contract/contract_class.d.ts +1 -1
  132. package/dest/contract/contract_class_id.d.ts +1 -1
  133. package/dest/contract/contract_class_metadata.d.ts +1 -1
  134. package/dest/contract/contract_deployment_data.d.ts +119 -0
  135. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  136. package/dest/contract/contract_deployment_data.js +99 -0
  137. package/dest/contract/contract_function_dao.d.ts +1 -1
  138. package/dest/contract/contract_instance.d.ts +1 -1
  139. package/dest/contract/contract_instance.d.ts.map +1 -1
  140. package/dest/contract/contract_instance_update.d.ts +1 -1
  141. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  142. package/dest/contract/contract_metadata.d.ts +1 -1
  143. package/dest/contract/deployment_info.d.ts +1 -1
  144. package/dest/contract/index.d.ts +2 -1
  145. package/dest/contract/index.d.ts.map +1 -1
  146. package/dest/contract/index.js +1 -0
  147. package/dest/contract/interfaces/contract_class.d.ts +41 -122
  148. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  149. package/dest/contract/interfaces/contract_data_source.d.ts +1 -1
  150. package/dest/contract/interfaces/contract_instance.d.ts +11 -11
  151. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  152. package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
  153. package/dest/contract/interfaces/index.d.ts +1 -1
  154. package/dest/contract/interfaces/node-info.d.ts +1 -1
  155. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  156. package/dest/contract/partial_address.d.ts +1 -1
  157. package/dest/contract/private_function.d.ts +1 -1
  158. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  159. package/dest/contract/private_function_membership_proof.js +1 -1
  160. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  161. package/dest/database-version/index.d.ts +1 -1
  162. package/dest/database-version/version_manager.d.ts +6 -8
  163. package/dest/database-version/version_manager.d.ts.map +1 -1
  164. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
  165. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  166. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
  167. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  168. package/dest/delayed_public_mutable/index.d.ts +1 -1
  169. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  170. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  171. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
  172. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  173. package/dest/epoch-helpers/index.d.ts +12 -11
  174. package/dest/epoch-helpers/index.d.ts.map +1 -1
  175. package/dest/epoch-helpers/index.js +10 -9
  176. package/dest/errors/index.d.ts +1 -1
  177. package/dest/errors/proving_error.d.ts +2 -2
  178. package/dest/errors/proving_error.d.ts.map +1 -1
  179. package/dest/errors/simulation_error.d.ts +1 -1
  180. package/dest/errors/simulation_error.d.ts.map +1 -1
  181. package/dest/fees/index.d.ts +1 -1
  182. package/dest/fees/transaction_fee.d.ts +1 -1
  183. package/dest/file-store/factory.d.ts +1 -1
  184. package/dest/file-store/gcs.d.ts +1 -1
  185. package/dest/file-store/gcs.d.ts.map +1 -1
  186. package/dest/file-store/http.d.ts +1 -1
  187. package/dest/file-store/http.d.ts.map +1 -1
  188. package/dest/file-store/http.js +8 -3
  189. package/dest/file-store/index.d.ts +1 -1
  190. package/dest/file-store/interface.d.ts +1 -1
  191. package/dest/file-store/local.d.ts +1 -1
  192. package/dest/file-store/local.d.ts.map +1 -1
  193. package/dest/file-store/s3.d.ts +1 -1
  194. package/dest/file-store/s3.d.ts.map +1 -1
  195. package/dest/file-store/s3.js +3 -7
  196. package/dest/gas/gas.d.ts +9 -1
  197. package/dest/gas/gas.d.ts.map +1 -1
  198. package/dest/gas/gas.js +12 -0
  199. package/dest/gas/gas_fees.d.ts +9 -1
  200. package/dest/gas/gas_fees.d.ts.map +1 -1
  201. package/dest/gas/gas_fees.js +12 -0
  202. package/dest/gas/gas_settings.d.ts +9 -1
  203. package/dest/gas/gas_settings.d.ts.map +1 -1
  204. package/dest/gas/gas_settings.js +12 -0
  205. package/dest/gas/gas_used.d.ts +13 -2
  206. package/dest/gas/gas_used.d.ts.map +1 -1
  207. package/dest/gas/gas_used.js +19 -1
  208. package/dest/gas/index.d.ts +1 -1
  209. package/dest/hash/hash.d.ts +11 -3
  210. package/dest/hash/hash.d.ts.map +1 -1
  211. package/dest/hash/hash.js +11 -1
  212. package/dest/hash/index.d.ts +1 -1
  213. package/dest/hash/map_slot.d.ts +1 -1
  214. package/dest/interfaces/allowed_element.d.ts +5 -5
  215. package/dest/interfaces/api_limit.d.ts +1 -1
  216. package/dest/interfaces/archiver.d.ts +6 -1
  217. package/dest/interfaces/archiver.d.ts.map +1 -1
  218. package/dest/interfaces/archiver.js +8 -6
  219. package/dest/interfaces/aztec-node-admin.d.ts +92 -85
  220. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  221. package/dest/interfaces/aztec-node.d.ts +3 -2
  222. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  223. package/dest/interfaces/aztec-node.js +1 -1
  224. package/dest/interfaces/block-builder.d.ts +1 -1
  225. package/dest/interfaces/client.d.ts +1 -1
  226. package/dest/interfaces/configs.d.ts +31 -21
  227. package/dest/interfaces/configs.d.ts.map +1 -1
  228. package/dest/interfaces/configs.js +3 -1
  229. package/dest/interfaces/epoch-prover.d.ts +5 -5
  230. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  231. package/dest/interfaces/get_logs_response.d.ts +2 -2
  232. package/dest/interfaces/l2_logs_source.d.ts +1 -1
  233. package/dest/interfaces/merkle_tree_operations.d.ts +3 -3
  234. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  235. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  236. package/dest/interfaces/p2p.d.ts +3 -2
  237. package/dest/interfaces/p2p.d.ts.map +1 -1
  238. package/dest/interfaces/p2p.js +1 -1
  239. package/dest/interfaces/private_kernel_prover.d.ts +1 -1
  240. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  241. package/dest/interfaces/prover-agent.d.ts +1 -1
  242. package/dest/interfaces/prover-broker.d.ts +1 -1
  243. package/dest/interfaces/prover-client.d.ts +5 -5
  244. package/dest/interfaces/prover-client.d.ts.map +1 -1
  245. package/dest/interfaces/prover-coordination.d.ts +1 -1
  246. package/dest/interfaces/prover-node.d.ts +1 -1
  247. package/dest/interfaces/proving-job-source.d.ts +1 -1
  248. package/dest/interfaces/proving-job.d.ts +1672 -1159
  249. package/dest/interfaces/proving-job.d.ts.map +1 -1
  250. package/dest/interfaces/proving-job.js +3 -2
  251. package/dest/interfaces/public_state_source.d.ts +1 -1
  252. package/dest/interfaces/server.d.ts +1 -1
  253. package/dest/interfaces/server_circuit_prover.d.ts +2 -3
  254. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  255. package/dest/interfaces/service.d.ts +1 -1
  256. package/dest/interfaces/slasher.d.ts +3 -3
  257. package/dest/interfaces/tx_provider.d.ts +1 -1
  258. package/dest/interfaces/validator.d.ts +27 -19
  259. package/dest/interfaces/validator.d.ts.map +1 -1
  260. package/dest/interfaces/validator.js +2 -1
  261. package/dest/interfaces/world_state.d.ts +1 -1
  262. package/dest/kernel/claimed_length_array.d.ts +1 -1
  263. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  264. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  265. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  266. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  267. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
  268. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  269. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  270. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  271. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  272. package/dest/kernel/hints/index.d.ts +1 -1
  273. package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
  274. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  275. package/dest/kernel/hints/key_validation_request.d.ts +1 -2
  276. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  277. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
  278. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  279. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
  280. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  281. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
  282. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  283. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  284. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  285. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  286. package/dest/kernel/hints/read_request.d.ts +1 -7
  287. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  288. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  289. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  290. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
  291. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  292. package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
  293. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  294. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
  295. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  296. package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
  297. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  298. package/dest/kernel/index.d.ts +1 -1
  299. package/dest/kernel/log_hash.d.ts +1 -1
  300. package/dest/kernel/log_hash.d.ts.map +1 -1
  301. package/dest/kernel/note_hash.d.ts +1 -1
  302. package/dest/kernel/note_hash.d.ts.map +1 -1
  303. package/dest/kernel/nullifier.d.ts +1 -1
  304. package/dest/kernel/nullifier.d.ts.map +1 -1
  305. package/dest/kernel/padded_side_effects.d.ts +1 -1
  306. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  307. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  308. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  309. package/dest/kernel/private_call_data.d.ts +1 -25
  310. package/dest/kernel/private_call_data.d.ts.map +1 -1
  311. package/dest/kernel/private_call_request.d.ts +1 -16
  312. package/dest/kernel/private_call_request.d.ts.map +1 -1
  313. package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
  314. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  315. package/dest/kernel/private_circuit_public_inputs.js +17 -5
  316. package/dest/kernel/private_context_inputs.d.ts +1 -1
  317. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  318. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  320. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  321. package/dest/kernel/private_kernel_data.d.ts +1 -7
  322. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  323. package/dest/kernel/private_kernel_data.js +0 -2
  324. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
  325. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  326. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
  327. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  328. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  329. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  330. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  331. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  332. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  333. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  334. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  335. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  336. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
  338. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  339. package/dest/kernel/private_log_data.d.ts +1 -1
  340. package/dest/kernel/private_log_data.d.ts.map +1 -1
  341. package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
  342. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  343. package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
  344. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  345. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  346. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
  347. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  348. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
  349. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  350. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
  351. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  352. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
  353. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_validation_requests.d.ts +2 -24
  355. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  356. package/dest/kernel/private_validation_requests.js +5 -13
  357. package/dest/kernel/public_call_request.d.ts +22 -27
  358. package/dest/kernel/public_call_request.d.ts.map +1 -1
  359. package/dest/kernel/public_call_request.js +18 -0
  360. package/dest/kernel/utils/index.d.ts +1 -1
  361. package/dest/kernel/utils/interfaces.d.ts +1 -1
  362. package/dest/kernel/utils/optional_number.d.ts +1 -7
  363. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  364. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  365. package/dest/keys/derivation.d.ts +1 -1
  366. package/dest/keys/index.d.ts +1 -1
  367. package/dest/keys/key_types.d.ts +1 -1
  368. package/dest/keys/public_key.d.ts +1 -1
  369. package/dest/keys/public_keys.d.ts +9 -5
  370. package/dest/keys/public_keys.d.ts.map +1 -1
  371. package/dest/keys/public_keys.js +12 -0
  372. package/dest/keys/utils.d.ts +1 -1
  373. package/dest/l1-contracts/index.d.ts +1 -1
  374. package/dest/l1-contracts/slash_factory.d.ts +3 -3
  375. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  376. package/dest/logs/contract_class_log.d.ts +20 -4
  377. package/dest/logs/contract_class_log.d.ts.map +1 -1
  378. package/dest/logs/contract_class_log.js +24 -0
  379. package/dest/logs/debug_log.d.ts +10 -2
  380. package/dest/logs/debug_log.d.ts.map +1 -1
  381. package/dest/logs/debug_log.js +13 -0
  382. package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
  383. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  384. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  385. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  386. package/dest/logs/extended_public_log.d.ts +3 -5
  387. package/dest/logs/extended_public_log.d.ts.map +1 -1
  388. package/dest/logs/index.d.ts +1 -1
  389. package/dest/logs/log_filter.d.ts +1 -1
  390. package/dest/logs/log_id.d.ts +1 -4
  391. package/dest/logs/log_id.d.ts.map +1 -1
  392. package/dest/logs/log_with_tx_data.d.ts +1 -1
  393. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  394. package/dest/logs/message_context.d.ts +1 -1
  395. package/dest/logs/message_context.d.ts.map +1 -1
  396. package/dest/logs/pending_tagged_log.d.ts +1 -1
  397. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  398. package/dest/logs/pre_tag.d.ts +1 -1
  399. package/dest/logs/private_log.d.ts +10 -2
  400. package/dest/logs/private_log.d.ts.map +1 -1
  401. package/dest/logs/private_log.js +14 -5
  402. package/dest/logs/public_log.d.ts +9 -1
  403. package/dest/logs/public_log.d.ts.map +1 -1
  404. package/dest/logs/public_log.js +9 -0
  405. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  406. package/dest/logs/tx_scoped_l2_log.d.ts +8 -8
  407. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  408. package/dest/messaging/in_hash.d.ts +4 -0
  409. package/dest/messaging/in_hash.d.ts.map +1 -0
  410. package/dest/messaging/in_hash.js +8 -0
  411. package/dest/messaging/inbox_leaf.d.ts +1 -3
  412. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  413. package/dest/messaging/index.d.ts +3 -1
  414. package/dest/messaging/index.d.ts.map +1 -1
  415. package/dest/messaging/index.js +2 -0
  416. package/dest/messaging/l1_actor.d.ts +1 -7
  417. package/dest/messaging/l1_actor.d.ts.map +1 -1
  418. package/dest/messaging/l1_to_l2_message.d.ts +1 -6
  419. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  420. package/dest/messaging/l1_to_l2_message_source.d.ts +1 -1
  421. package/dest/messaging/l2_actor.d.ts +1 -7
  422. package/dest/messaging/l2_actor.d.ts.map +1 -1
  423. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  424. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  425. package/dest/messaging/l2_to_l1_membership.js +2 -2
  426. package/dest/messaging/l2_to_l1_message.d.ts +17 -1
  427. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  428. package/dest/messaging/l2_to_l1_message.js +18 -0
  429. package/dest/messaging/out_hash.d.ts +5 -0
  430. package/dest/messaging/out_hash.d.ts.map +1 -0
  431. package/dest/messaging/out_hash.js +28 -0
  432. package/dest/noir/index.d.ts +7 -7
  433. package/dest/noir/index.d.ts.map +1 -1
  434. package/dest/noir/index.js +6 -6
  435. package/dest/note/comparator.d.ts +1 -1
  436. package/dest/note/index.d.ts +2 -2
  437. package/dest/note/index.d.ts.map +1 -1
  438. package/dest/note/index.js +1 -1
  439. package/dest/note/note.d.ts +2 -17
  440. package/dest/note/note.d.ts.map +1 -1
  441. package/dest/note/note_dao.d.ts +71 -0
  442. package/dest/note/note_dao.d.ts.map +1 -0
  443. package/dest/note/note_dao.js +101 -0
  444. package/dest/note/note_status.d.ts +1 -1
  445. package/dest/note/notes_filter.d.ts +1 -1
  446. package/dest/p2p/attestation_utils.d.ts +1 -1
  447. package/dest/p2p/block_attestation.d.ts +5 -12
  448. package/dest/p2p/block_attestation.d.ts.map +1 -1
  449. package/dest/p2p/block_proposal.d.ts +3 -6
  450. package/dest/p2p/block_proposal.d.ts.map +1 -1
  451. package/dest/p2p/block_proposal.js +1 -1
  452. package/dest/p2p/client_type.d.ts +1 -1
  453. package/dest/p2p/consensus_payload.d.ts +10 -188
  454. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  455. package/dest/p2p/consensus_payload.js +16 -23
  456. package/dest/p2p/gossipable.d.ts +6 -5
  457. package/dest/p2p/gossipable.d.ts.map +1 -1
  458. package/dest/p2p/gossipable.js +16 -10
  459. package/dest/p2p/index.d.ts +1 -1
  460. package/dest/p2p/interface.d.ts +1 -1
  461. package/dest/p2p/message_validator.d.ts +1 -1
  462. package/dest/p2p/peer_error.d.ts +1 -1
  463. package/dest/p2p/signature_utils.d.ts +1 -1
  464. package/dest/p2p/topic_type.d.ts +1 -1
  465. package/dest/parity/index.d.ts +1 -1
  466. package/dest/parity/parity_base_private_inputs.d.ts +1 -3
  467. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  468. package/dest/parity/parity_public_inputs.d.ts +1 -4
  469. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  470. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  471. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  472. package/dest/proofs/chonk_proof.d.ts +1 -1
  473. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  474. package/dest/proofs/index.d.ts +1 -1
  475. package/dest/proofs/proof.d.ts +1 -4
  476. package/dest/proofs/proof.d.ts.map +1 -1
  477. package/dest/proofs/proof_data.d.ts +1 -1
  478. package/dest/proofs/proof_data.d.ts.map +1 -1
  479. package/dest/proofs/proving_request_type.d.ts +1 -1
  480. package/dest/proofs/recursive_proof.d.ts +2 -26
  481. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  482. package/dest/rollup/avm_proof_data.d.ts +1 -1
  483. package/dest/rollup/base_rollup_hints.d.ts +1 -34
  484. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  485. package/dest/rollup/block_constant_data.d.ts +1 -12
  486. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  487. package/dest/rollup/block_headers_hash.d.ts +4 -0
  488. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  489. package/dest/rollup/block_headers_hash.js +9 -0
  490. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  491. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  492. package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
  493. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  494. package/dest/rollup/block_rollup_public_inputs.js +8 -2
  495. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
  496. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  497. package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
  498. package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
  499. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  500. package/dest/rollup/checkpoint_constant_data.js +27 -3
  501. package/dest/rollup/checkpoint_header.d.ts +16 -14
  502. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  503. package/dest/rollup/checkpoint_header.js +40 -13
  504. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  505. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  506. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
  507. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  508. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
  509. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  510. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
  511. package/dest/rollup/epoch_constant_data.d.ts +1 -16
  512. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  513. package/dest/rollup/index.d.ts +2 -1
  514. package/dest/rollup/index.d.ts.map +1 -1
  515. package/dest/rollup/index.js +1 -0
  516. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  517. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  518. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
  519. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  520. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
  521. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  522. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  523. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  524. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  525. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  526. package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
  527. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  528. package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
  529. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  530. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  531. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  532. package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
  533. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  534. package/dest/schemas/index.d.ts +1 -1
  535. package/dest/schemas/schemas.d.ts +86 -15
  536. package/dest/schemas/schemas.d.ts.map +1 -1
  537. package/dest/schemas/schemas.js +12 -1
  538. package/dest/slashing/empire.d.ts +1 -1
  539. package/dest/slashing/empire.d.ts.map +1 -1
  540. package/dest/slashing/empire.js +5 -4
  541. package/dest/slashing/helpers.d.ts +7 -6
  542. package/dest/slashing/helpers.d.ts.map +1 -1
  543. package/dest/slashing/helpers.js +8 -6
  544. package/dest/slashing/index.d.ts +1 -1
  545. package/dest/slashing/interfaces.d.ts +3 -2
  546. package/dest/slashing/interfaces.d.ts.map +1 -1
  547. package/dest/slashing/serialization.d.ts +1 -1
  548. package/dest/slashing/tally.d.ts +1 -1
  549. package/dest/slashing/types.d.ts +10 -10
  550. package/dest/snapshots/download.d.ts +1 -1
  551. package/dest/snapshots/index.d.ts +1 -1
  552. package/dest/snapshots/types.d.ts +18 -18
  553. package/dest/snapshots/upload.d.ts +1 -1
  554. package/dest/stats/index.d.ts +1 -1
  555. package/dest/stats/stats.d.ts +1 -1
  556. package/dest/tests/factories.d.ts +34 -29
  557. package/dest/tests/factories.d.ts.map +1 -1
  558. package/dest/tests/factories.js +72 -147
  559. package/dest/tests/fixtures.d.ts +1 -1
  560. package/dest/tests/index.d.ts +1 -1
  561. package/dest/tests/jest.d.ts +1 -1
  562. package/dest/tests/mocks.d.ts +54 -23
  563. package/dest/tests/mocks.d.ts.map +1 -1
  564. package/dest/tests/mocks.js +133 -33
  565. package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
  566. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  567. package/dest/trees/append_only_tree_snapshot.js +9 -9
  568. package/dest/trees/database_public_state_source.d.ts +1 -1
  569. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  570. package/dest/trees/index.d.ts +1 -1
  571. package/dest/trees/merkle_tree_id.d.ts +5 -5
  572. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  573. package/dest/trees/nullifier_leaf.d.ts +17 -13
  574. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  575. package/dest/trees/nullifier_leaf.js +24 -0
  576. package/dest/trees/nullifier_membership_witness.d.ts +4 -37
  577. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  578. package/dest/trees/public_data_leaf.d.ts +28 -27
  579. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  580. package/dest/trees/public_data_leaf.js +24 -0
  581. package/dest/trees/public_data_witness.d.ts +11 -45
  582. package/dest/trees/public_data_witness.d.ts.map +1 -1
  583. package/dest/tx/block_header.d.ts +5 -12
  584. package/dest/tx/block_header.d.ts.map +1 -1
  585. package/dest/tx/block_header.js +13 -2
  586. package/dest/tx/call_context.d.ts +6 -18
  587. package/dest/tx/call_context.d.ts.map +1 -1
  588. package/dest/tx/capsule.d.ts +1 -4
  589. package/dest/tx/capsule.d.ts.map +1 -1
  590. package/dest/tx/content_commitment.d.ts +1 -1
  591. package/dest/tx/content_commitment.d.ts.map +1 -1
  592. package/dest/tx/execution_payload.d.ts +37 -0
  593. package/dest/tx/execution_payload.d.ts.map +1 -0
  594. package/dest/tx/execution_payload.js +40 -0
  595. package/dest/tx/function_data.d.ts +4 -6
  596. package/dest/tx/function_data.d.ts.map +1 -1
  597. package/dest/tx/global_variable_builder.d.ts +3 -2
  598. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  599. package/dest/tx/global_variables.d.ts +43 -24
  600. package/dest/tx/global_variables.d.ts.map +1 -1
  601. package/dest/tx/global_variables.js +48 -8
  602. package/dest/tx/hashed_values.d.ts +1 -7
  603. package/dest/tx/hashed_values.d.ts.map +1 -1
  604. package/dest/tx/index.d.ts +2 -1
  605. package/dest/tx/index.d.ts.map +1 -1
  606. package/dest/tx/index.js +1 -0
  607. package/dest/tx/indexed_tx_effect.d.ts +2 -2
  608. package/dest/tx/indexed_tx_effect.js +3 -1
  609. package/dest/tx/offchain_effect.d.ts +1 -1
  610. package/dest/tx/partial_state_reference.d.ts +4 -7
  611. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  612. package/dest/tx/partial_state_reference.js +10 -10
  613. package/dest/tx/private_execution_result.d.ts +14 -49
  614. package/dest/tx/private_execution_result.d.ts.map +1 -1
  615. package/dest/tx/private_execution_result.js +6 -3
  616. package/dest/tx/private_tx_constant_data.d.ts +1 -16
  617. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  618. package/dest/tx/processed_tx.d.ts +1 -1
  619. package/dest/tx/profiling.d.ts +38 -38
  620. package/dest/tx/profiling.d.ts.map +1 -1
  621. package/dest/tx/profiling.js +5 -4
  622. package/dest/tx/protocol_contracts.d.ts +10 -2
  623. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  624. package/dest/tx/protocol_contracts.js +9 -0
  625. package/dest/tx/proven_tx.d.ts +18 -18
  626. package/dest/tx/proven_tx.d.ts.map +1 -1
  627. package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
  628. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  629. package/dest/tx/public_call_request_with_calldata.js +12 -0
  630. package/dest/tx/public_simulation_output.d.ts +3 -1
  631. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  632. package/dest/tx/public_simulation_output.js +8 -1
  633. package/dest/tx/simulated_tx.d.ts +21 -21
  634. package/dest/tx/simulated_tx.d.ts.map +1 -1
  635. package/dest/tx/state_reference.d.ts +10 -12
  636. package/dest/tx/state_reference.d.ts.map +1 -1
  637. package/dest/tx/state_reference.js +9 -9
  638. package/dest/tx/tree_snapshots.d.ts +15 -7
  639. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  640. package/dest/tx/tree_snapshots.js +9 -0
  641. package/dest/tx/tx.d.ts +3 -17
  642. package/dest/tx/tx.d.ts.map +1 -1
  643. package/dest/tx/tx.js +5 -4
  644. package/dest/tx/tx_constant_data.d.ts +1 -1
  645. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  646. package/dest/tx/tx_context.d.ts +1 -2
  647. package/dest/tx/tx_context.d.ts.map +1 -1
  648. package/dest/tx/tx_effect.d.ts +20 -42
  649. package/dest/tx/tx_effect.d.ts.map +1 -1
  650. package/dest/tx/tx_effect.js +54 -59
  651. package/dest/tx/tx_execution_request.d.ts +1 -30
  652. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  653. package/dest/tx/tx_hash.d.ts +1 -2
  654. package/dest/tx/tx_hash.d.ts.map +1 -1
  655. package/dest/tx/tx_receipt.d.ts +1 -7
  656. package/dest/tx/tx_receipt.d.ts.map +1 -1
  657. package/dest/tx/tx_request.d.ts +1 -6
  658. package/dest/tx/tx_request.d.ts.map +1 -1
  659. package/dest/tx/validator/empty_validator.d.ts +1 -1
  660. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  661. package/dest/tx/validator/error_texts.d.ts +1 -1
  662. package/dest/tx/validator/tx_validator.d.ts +5 -5
  663. package/dest/types/index.d.ts +1 -1
  664. package/dest/types/shared.d.ts +1 -4
  665. package/dest/types/shared.d.ts.map +1 -1
  666. package/dest/update-checker/index.d.ts +1 -1
  667. package/dest/update-checker/update-checker.d.ts +2 -3
  668. package/dest/update-checker/update-checker.d.ts.map +1 -1
  669. package/dest/validators/errors.d.ts +6 -7
  670. package/dest/validators/errors.d.ts.map +1 -1
  671. package/dest/validators/errors.js +2 -4
  672. package/dest/validators/index.d.ts +1 -1
  673. package/dest/validators/schemas.d.ts +266 -208
  674. package/dest/validators/schemas.d.ts.map +1 -1
  675. package/dest/validators/schemas.js +7 -7
  676. package/dest/validators/types.d.ts +10 -9
  677. package/dest/validators/types.d.ts.map +1 -1
  678. package/dest/versioning/index.d.ts +1 -1
  679. package/dest/versioning/versioning.d.ts +1 -1
  680. package/dest/versioning/versioning.d.ts.map +1 -1
  681. package/dest/vks/index.d.ts +1 -1
  682. package/dest/vks/verification_key.d.ts +10 -22
  683. package/dest/vks/verification_key.d.ts.map +1 -1
  684. package/dest/vks/verification_key.js +20 -0
  685. package/dest/vks/vk_data.d.ts +1 -7
  686. package/dest/vks/vk_data.d.ts.map +1 -1
  687. package/dest/world-state/index.d.ts +1 -1
  688. package/dest/world-state/world_state_revision.d.ts +34 -2
  689. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  690. package/dest/world-state/world_state_revision.js +24 -1
  691. package/dest/zkpassport/index.d.ts +1 -1
  692. package/dest/zkpassport/index.d.ts.map +1 -1
  693. package/package.json +12 -11
  694. package/src/abi/abi.ts +4 -4
  695. package/src/abi/contract_artifact.ts +3 -3
  696. package/src/avm/avm.ts +562 -6
  697. package/src/avm/avm_accumulated_data.ts +40 -0
  698. package/src/avm/avm_circuit_public_inputs.ts +40 -0
  699. package/src/avm/message_pack.ts +4 -1
  700. package/src/avm/public_data_write.ts +12 -1
  701. package/src/avm/revert_code.ts +29 -9
  702. package/src/aztec-address/index.ts +26 -2
  703. package/src/block/attestation_info.ts +8 -1
  704. package/src/block/body.ts +16 -39
  705. package/src/block/index.ts +1 -0
  706. package/src/block/l2_block.ts +62 -4
  707. package/src/block/l2_block_code_to_purge.ts +4 -2
  708. package/src/block/l2_block_header.ts +19 -5
  709. package/src/block/l2_block_new.ts +171 -0
  710. package/src/block/l2_block_source.ts +9 -8
  711. package/src/block/proposal/attestations_and_signers.ts +20 -1
  712. package/src/block/published_l2_block.ts +14 -31
  713. package/src/block/validate_block_result.ts +9 -7
  714. package/src/checkpoint/checkpoint.ts +88 -0
  715. package/src/checkpoint/index.ts +2 -1
  716. package/src/checkpoint/published_checkpoint.ts +91 -0
  717. package/src/contract/contract_deployment_data.ts +125 -0
  718. package/src/contract/index.ts +1 -0
  719. package/src/contract/private_function_membership_proof.ts +1 -1
  720. package/src/epoch-helpers/index.ts +28 -21
  721. package/src/file-store/http.ts +6 -3
  722. package/src/file-store/s3.ts +3 -7
  723. package/src/gas/gas.ts +14 -0
  724. package/src/gas/gas_fees.ts +14 -0
  725. package/src/gas/gas_settings.ts +19 -0
  726. package/src/gas/gas_used.ts +22 -1
  727. package/src/hash/hash.ts +13 -2
  728. package/src/interfaces/archiver.ts +10 -5
  729. package/src/interfaces/aztec-node.ts +4 -3
  730. package/src/interfaces/configs.ts +6 -0
  731. package/src/interfaces/epoch-prover.ts +3 -4
  732. package/src/interfaces/merkle_tree_operations.ts +2 -2
  733. package/src/interfaces/p2p.ts +4 -2
  734. package/src/interfaces/proving-job.ts +14 -5
  735. package/src/interfaces/validator.ts +5 -2
  736. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  737. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  738. package/src/kernel/private_circuit_public_inputs.ts +29 -9
  739. package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
  740. package/src/kernel/private_kernel_data.ts +0 -2
  741. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
  742. package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
  743. package/src/kernel/private_validation_requests.ts +1 -13
  744. package/src/kernel/public_call_request.ts +27 -0
  745. package/src/keys/public_keys.ts +19 -0
  746. package/src/logs/contract_class_log.ts +32 -0
  747. package/src/logs/debug_log.ts +20 -1
  748. package/src/logs/private_log.ts +19 -3
  749. package/src/logs/public_log.ts +14 -0
  750. package/src/messaging/in_hash.ts +10 -0
  751. package/src/messaging/index.ts +2 -0
  752. package/src/messaging/l2_to_l1_membership.ts +2 -2
  753. package/src/messaging/l2_to_l1_message.ts +25 -0
  754. package/src/messaging/out_hash.ts +36 -0
  755. package/src/noir/index.ts +6 -6
  756. package/src/note/index.ts +1 -1
  757. package/src/note/note_dao.ts +151 -0
  758. package/src/p2p/block_attestation.ts +2 -1
  759. package/src/p2p/block_proposal.ts +3 -2
  760. package/src/p2p/consensus_payload.ts +16 -26
  761. package/src/p2p/gossipable.ts +17 -8
  762. package/src/rollup/block_headers_hash.ts +12 -0
  763. package/src/rollup/block_rollup_public_inputs.ts +8 -0
  764. package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
  765. package/src/rollup/checkpoint_constant_data.ts +43 -4
  766. package/src/rollup/checkpoint_header.ts +46 -22
  767. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
  768. package/src/rollup/index.ts +1 -0
  769. package/src/schemas/schemas.ts +18 -0
  770. package/src/slashing/empire.ts +6 -4
  771. package/src/slashing/helpers.ts +17 -12
  772. package/src/slashing/interfaces.ts +3 -1
  773. package/src/tests/factories.ts +211 -227
  774. package/src/tests/mocks.ts +228 -50
  775. package/src/trees/append_only_tree_snapshot.ts +11 -12
  776. package/src/trees/nullifier_leaf.ts +32 -0
  777. package/src/trees/public_data_leaf.ts +32 -0
  778. package/src/tx/block_header.ts +16 -3
  779. package/src/tx/execution_payload.ts +60 -0
  780. package/src/tx/global_variable_builder.ts +2 -1
  781. package/src/tx/global_variables.ts +63 -9
  782. package/src/tx/index.ts +1 -0
  783. package/src/tx/indexed_tx_effect.ts +1 -1
  784. package/src/tx/partial_state_reference.ts +9 -17
  785. package/src/tx/private_execution_result.ts +5 -2
  786. package/src/tx/profiling.ts +4 -6
  787. package/src/tx/protocol_contracts.ts +16 -0
  788. package/src/tx/public_call_request_with_calldata.ts +17 -0
  789. package/src/tx/public_simulation_output.ts +18 -1
  790. package/src/tx/state_reference.ts +9 -15
  791. package/src/tx/tree_snapshots.ts +16 -0
  792. package/src/tx/tx.ts +5 -5
  793. package/src/tx/tx_effect.ts +84 -90
  794. package/src/validators/errors.ts +3 -4
  795. package/src/validators/schemas.ts +7 -7
  796. package/src/validators/types.ts +9 -8
  797. package/src/vks/verification_key.ts +25 -0
  798. package/src/world-state/world_state_revision.ts +47 -5
  799. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  800. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  801. package/dest/checkpoint/checkpoint_body.js +0 -9
  802. package/dest/note/unique_note.d.ts +0 -43
  803. package/dest/note/unique_note.d.ts.map +0 -1
  804. package/dest/note/unique_note.js +0 -67
  805. package/src/checkpoint/checkpoint_body.ts +0 -10
  806. package/src/note/unique_note.ts +0 -88
@@ -0,0 +1,125 @@
1
+ import { ContractClassLog, PrivateLog } from '@aztec/stdlib/logs';
2
+ import type { Tx } from '@aztec/stdlib/tx';
3
+
4
+ import { z } from 'zod';
5
+
6
+ /**
7
+ * Class containing contract class logs and private logs which are both
8
+ * relevant for contract registrations and deployments.
9
+ */
10
+ export class ContractDeploymentData {
11
+ constructor(
12
+ public readonly contractClassLogs: ContractClassLog[],
13
+ public readonly privateLogs: PrivateLog[],
14
+ ) {}
15
+
16
+ public getContractClassLogs(): ContractClassLog[] {
17
+ return this.contractClassLogs;
18
+ }
19
+
20
+ public getPrivateLogs(): PrivateLog[] {
21
+ return this.privateLogs;
22
+ }
23
+
24
+ public static from(args: { contractClassLogs: ContractClassLog[]; privateLogs: PrivateLog[] }) {
25
+ return new ContractDeploymentData(args.contractClassLogs, args.privateLogs);
26
+ }
27
+
28
+ public static empty(): ContractDeploymentData {
29
+ return new ContractDeploymentData([], []);
30
+ }
31
+
32
+ public static get schema() {
33
+ return z
34
+ .object({
35
+ contractClassLogs: z.array(ContractClassLog.schema),
36
+ privateLogs: z.array(PrivateLog.schema),
37
+ })
38
+ .transform(ContractDeploymentData.from);
39
+ }
40
+
41
+ /**
42
+ * Creates a ContractDeploymentData from a plain object without Zod validation.
43
+ * This method is optimized for performance and skips validation, making it suitable
44
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
45
+ * @param obj - Plain object containing ContractDeploymentData fields
46
+ * @returns A ContractDeploymentData instance
47
+ */
48
+ public static fromPlainObject(obj: any): ContractDeploymentData {
49
+ if (obj instanceof ContractDeploymentData) {
50
+ return obj;
51
+ }
52
+ return new ContractDeploymentData(
53
+ obj.contractClassLogs.map((log: any) => ContractClassLog.fromPlainObject(log)),
54
+ obj.privateLogs.map((log: any) => PrivateLog.fromPlainObject(log)),
55
+ );
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Class containing both revertible and non-revertible registration/deployment data.
61
+ */
62
+ export class AllContractDeploymentData {
63
+ constructor(
64
+ public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
65
+ public readonly revertibleContractDeploymentData: ContractDeploymentData,
66
+ ) {}
67
+
68
+ public getNonRevertibleContractDeploymentData(): ContractDeploymentData {
69
+ return this.nonRevertibleContractDeploymentData;
70
+ }
71
+
72
+ public getRevertibleContractDeploymentData(): ContractDeploymentData {
73
+ return this.revertibleContractDeploymentData;
74
+ }
75
+
76
+ /**
77
+ * Extracts all contract registration/deployment data from a tx separated by revertibility.
78
+ * This includes contract class logs and private logs.
79
+ *
80
+ * This method handles both private-only transactions and transactions with public calls,
81
+ * properly splitting logs between revertible and non-revertible categories.
82
+ * @param tx - The transaction to extract data from
83
+ * @returns The extracted deployment data separated by revertibility
84
+ */
85
+ static fromTx(tx: Tx): AllContractDeploymentData {
86
+ const hasPublicCalls = !!tx.data.forPublic;
87
+
88
+ // Extract contract class logs from the tx
89
+ const allClassLogs = tx.getContractClassLogs();
90
+ let nonRevertibleClassLogs: ContractClassLog[];
91
+ let revertibleClassLogs: ContractClassLog[];
92
+
93
+ if (hasPublicCalls) {
94
+ // Transactions with public calls can have both revertible and non-revertible contract class logs
95
+ // Split the logs up here based on revertibility
96
+ nonRevertibleClassLogs = tx.getSplitContractClassLogs(/*revertible=*/ false);
97
+ revertibleClassLogs = tx.getSplitContractClassLogs(/*revertible=*/ true);
98
+ } else {
99
+ // Private-only tx: all logs are non-revertible
100
+ nonRevertibleClassLogs = allClassLogs;
101
+ revertibleClassLogs = [];
102
+ }
103
+
104
+ // Extract contract instance logs from the transaction's private logs
105
+ let nonRevertibleInstanceLogs: PrivateLog[];
106
+ let revertibleInstanceLogs: PrivateLog[];
107
+
108
+ if (hasPublicCalls) {
109
+ // Transactions with public calls can have both revertible and non-revertible contract instance logs
110
+ // Split the logs up here based on revertibility
111
+ nonRevertibleInstanceLogs = tx.data.forPublic!.nonRevertibleAccumulatedData.privateLogs.filter(l => !l.isEmpty());
112
+ revertibleInstanceLogs = tx.data.forPublic!.revertibleAccumulatedData.privateLogs.filter(l => !l.isEmpty());
113
+ } else {
114
+ // Private-only tx: use logs from the `forRollup` member of the tx
115
+ // For private-only txs, all logs are non-revertible
116
+ nonRevertibleInstanceLogs = tx.data.forRollup!.end.privateLogs.filter(l => !l.isEmpty());
117
+ revertibleInstanceLogs = [];
118
+ }
119
+
120
+ return new AllContractDeploymentData(
121
+ new ContractDeploymentData(nonRevertibleClassLogs, nonRevertibleInstanceLogs),
122
+ new ContractDeploymentData(revertibleClassLogs, revertibleInstanceLogs),
123
+ );
124
+ }
125
+ }
@@ -3,6 +3,7 @@ export * from './contract_address.js';
3
3
  export * from './contract_class.js';
4
4
  export * from './contract_class_metadata.js';
5
5
  export * from './contract_class_id.js';
6
+ export * from './contract_deployment_data.js';
6
7
  export * from './contract_instance.js';
7
8
  export * from './contract_metadata.js';
8
9
  export * from './contract_instance_update.js';
@@ -101,7 +101,7 @@ export async function createPrivateFunctionMembershipProof(
101
101
  * // Compute function leaf and assert it belongs to the private functions tree
102
102
  * function_leaf = pedersen([selector as Field, vk_hash], GENERATOR__FUNCTION_LEAF)
103
103
  * computed_private_function_tree_root = compute_root(function_leaf, private_function_tree_sibling_path)
104
- * assert computed_private_function_tree_root == contract_class.private_function_root
104
+ * assert computed_private_function_tree_root == contract_class.private_functions_root
105
105
  *
106
106
  * // Compute artifact leaf and assert it belongs to the artifact
107
107
  * artifact_function_leaf = sha256(selector, metadata_hash, sha256(bytecode))
@@ -1,3 +1,5 @@
1
+ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import { z } from 'zod';
2
4
 
3
5
  import { type ZodFor, schemas } from '../schemas/index.js';
@@ -31,37 +33,42 @@ export const L1RollupConstantsSchema = z.object({
31
33
 
32
34
  /** Returns the timestamp for a given L2 slot. */
33
35
  export function getTimestampForSlot(
34
- slot: bigint,
36
+ slot: SlotNumber,
35
37
  constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>,
36
38
  ) {
37
- return constants.l1GenesisTime + slot * BigInt(constants.slotDuration);
39
+ return constants.l1GenesisTime + BigInt(slot) * BigInt(constants.slotDuration);
38
40
  }
39
41
 
40
42
  /** Returns the slot number for a given timestamp. */
41
- export function getSlotAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>) {
42
- return ts < constants.l1GenesisTime ? 0n : (ts - constants.l1GenesisTime) / BigInt(constants.slotDuration);
43
+ export function getSlotAtTimestamp(
44
+ ts: bigint,
45
+ constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>,
46
+ ): SlotNumber {
47
+ return ts < constants.l1GenesisTime
48
+ ? SlotNumber.ZERO
49
+ : SlotNumber.fromBigInt((ts - constants.l1GenesisTime) / BigInt(constants.slotDuration));
43
50
  }
44
51
 
45
52
  /** Returns the epoch number for a given timestamp. */
46
53
  export function getEpochNumberAtTimestamp(
47
54
  ts: bigint,
48
55
  constants: Pick<L1RollupConstants, 'epochDuration' | 'slotDuration' | 'l1GenesisTime'>,
49
- ) {
56
+ ): EpochNumber {
50
57
  return getEpochAtSlot(getSlotAtTimestamp(ts, constants), constants);
51
58
  }
52
59
 
53
60
  /** Returns the epoch number for a given slot. */
54
- export function getEpochAtSlot(slot: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>) {
55
- return slot / BigInt(constants.epochDuration);
61
+ export function getEpochAtSlot(slot: SlotNumber, constants: Pick<L1RollupConstants, 'epochDuration'>): EpochNumber {
62
+ return EpochNumber.fromBigInt(BigInt(slot) / BigInt(constants.epochDuration));
56
63
  }
57
64
 
58
65
  /** Returns the range of L2 slots (inclusive) for a given epoch number. */
59
66
  export function getSlotRangeForEpoch(
60
- epochNumber: bigint,
67
+ epochNumber: EpochNumber,
61
68
  constants: Pick<L1RollupConstants, 'epochDuration'>,
62
- ): [bigint, bigint] {
63
- const startSlot = epochNumber * BigInt(constants.epochDuration);
64
- return [startSlot, startSlot + BigInt(constants.epochDuration) - 1n];
69
+ ): [SlotNumber, SlotNumber] {
70
+ const startSlot = SlotNumber(epochNumber * constants.epochDuration);
71
+ return [startSlot, SlotNumber(startSlot + constants.epochDuration - 1)];
65
72
  }
66
73
 
67
74
  /**
@@ -69,15 +76,15 @@ export function getSlotRangeForEpoch(
69
76
  * Note that the endTimestamp is the start timestamp of the last L1 slot for the epoch.
70
77
  */
71
78
  export function getTimestampRangeForEpoch(
72
- epochNumber: bigint,
79
+ epochNumber: EpochNumber,
73
80
  constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>,
74
81
  ): [bigint, bigint] {
75
82
  const [startSlot, endSlot] = getSlotRangeForEpoch(epochNumber, constants);
76
83
  const ethereumSlotsPerL2Slot = constants.slotDuration / constants.ethereumSlotDuration;
77
84
  return [
78
- constants.l1GenesisTime + startSlot * BigInt(constants.slotDuration),
85
+ constants.l1GenesisTime + BigInt(startSlot) * BigInt(constants.slotDuration),
79
86
  constants.l1GenesisTime +
80
- endSlot * BigInt(constants.slotDuration) +
87
+ BigInt(endSlot) * BigInt(constants.slotDuration) +
81
88
  BigInt((ethereumSlotsPerL2Slot - 1) * constants.ethereumSlotDuration),
82
89
  ];
83
90
  }
@@ -86,7 +93,7 @@ export function getTimestampRangeForEpoch(
86
93
  * Returns the start timestamp for a given epoch number.
87
94
  */
88
95
  export function getStartTimestampForEpoch(
89
- epochNumber: bigint,
96
+ epochNumber: EpochNumber,
90
97
  constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>,
91
98
  ) {
92
99
  const [startSlot] = getSlotRangeForEpoch(epochNumber, constants);
@@ -98,10 +105,10 @@ export function getStartTimestampForEpoch(
98
105
  * See l1-contracts/src/core/libraries/TimeLib.sol
99
106
  */
100
107
  export function getProofSubmissionDeadlineEpoch(
101
- epochNumber: bigint,
108
+ epochNumber: EpochNumber,
102
109
  constants: Pick<L1RollupConstants, 'proofSubmissionEpochs'>,
103
- ) {
104
- return epochNumber + BigInt(constants.proofSubmissionEpochs + 1);
110
+ ): EpochNumber {
111
+ return EpochNumber(epochNumber + constants.proofSubmissionEpochs + 1);
105
112
  }
106
113
 
107
114
  /**
@@ -109,7 +116,7 @@ export function getProofSubmissionDeadlineEpoch(
109
116
  * Computed as the start of the given epoch plus the proof submission window.
110
117
  */
111
118
  export function getProofSubmissionDeadlineTimestamp(
112
- epochNumber: bigint,
119
+ epochNumber: EpochNumber,
113
120
  constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'proofSubmissionEpochs'>,
114
121
  ) {
115
122
  // See l1-contracts/src/core/libraries/TimeLib.sol:
@@ -121,8 +128,8 @@ export function getProofSubmissionDeadlineTimestamp(
121
128
 
122
129
  /** Returns the timestamp to start building a block for a given L2 slot. Computed as the start timestamp of the slot minus one L1 slot duration. */
123
130
  export function getSlotStartBuildTimestamp(
124
- slotNumber: number | bigint,
131
+ slotNumber: SlotNumber,
125
132
  constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>,
126
133
  ): number {
127
- return Number(constants.l1GenesisTime) + Number(slotNumber) * constants.slotDuration - constants.ethereumSlotDuration;
134
+ return Number(constants.l1GenesisTime) + slotNumber * constants.slotDuration - constants.ethereumSlotDuration;
128
135
  }
@@ -6,7 +6,7 @@ import { createWriteStream } from 'fs';
6
6
  import { mkdir } from 'fs/promises';
7
7
  import { dirname } from 'path';
8
8
  import { Readable } from 'stream';
9
- import { finished } from 'stream/promises';
9
+ import { pipeline } from 'stream/promises';
10
10
 
11
11
  import type { ReadOnlyFileStore } from './interface.js';
12
12
 
@@ -43,11 +43,14 @@ export class HttpFileStore implements ReadOnlyFileStore {
43
43
  public async download(pathOrUrl: string, destPath: string): Promise<void> {
44
44
  const url = this.getUrl(pathOrUrl);
45
45
  try {
46
+ this.log.debug(`Downloading file from ${url} to ${destPath}`);
46
47
  const response = await this.fetch<Readable>({ url, method: 'GET', responseType: 'stream' });
48
+ this.log.debug(`Response ${response.status} (${response.statusText}) from ${url}, writing to ${destPath}`);
47
49
  await mkdir(dirname(destPath), { recursive: true });
48
- await finished(response.data.pipe(createWriteStream(destPath)));
50
+ await pipeline(response.data, createWriteStream(destPath));
51
+ this.log.debug(`Download of ${url} to ${destPath} complete`);
49
52
  } catch (error) {
50
- throw new Error(`Error fetching file from ${url}: ${error instanceof Error ? error.message : String(error)}`);
53
+ throw new Error(`Error fetching file from ${url}`, { cause: error });
51
54
  }
52
55
  }
53
56
 
@@ -12,7 +12,7 @@ import { mkdir, mkdtemp, stat, unlink } from 'fs/promises';
12
12
  import { tmpdir } from 'os';
13
13
  import { basename, dirname, join } from 'path';
14
14
  import { Readable } from 'stream';
15
- import { finished } from 'stream/promises';
15
+ import { pipeline } from 'stream/promises';
16
16
  import { createGzip } from 'zlib';
17
17
 
18
18
  import type { FileStore, FileStoreSaveOptions } from './interface.js';
@@ -88,11 +88,8 @@ export class S3FileStore implements FileStore {
88
88
  // Pre-gzip to a temp file so we know the exact length for R2/S3 headers
89
89
  const tmpDir = await mkdtemp(join(tmpdir(), 's3-upload-'));
90
90
  const gzPath = join(tmpDir, `${basename(srcPath)}.gz`);
91
- const source = createReadStream(srcPath);
92
- const gz = createGzip();
93
- const out = createWriteStream(gzPath);
94
91
  try {
95
- await finished(source.pipe(gz).pipe(out));
92
+ await pipeline(createReadStream(srcPath), createGzip(), createWriteStream(gzPath));
96
93
  const st = await stat(gzPath);
97
94
  contentLength = st.size;
98
95
  bodyPath = gzPath;
@@ -144,8 +141,7 @@ export class S3FileStore implements FileStore {
144
141
  const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
145
142
  const out: GetObjectCommandOutput = await this.s3.send(new GetObjectCommand({ Bucket: bucket, Key: key }));
146
143
  await mkdir(dirname(destPath), { recursive: true });
147
- const write = createWriteStream(destPath);
148
- await finished((out.Body as Readable).pipe(write));
144
+ await pipeline(out.Body as Readable, createWriteStream(destPath));
149
145
  }
150
146
 
151
147
  public async exists(pathOrUrlStr: string): Promise<boolean> {
package/src/gas/gas.ts CHANGED
@@ -48,6 +48,20 @@ export class Gas {
48
48
  return new Gas(fields.daGas ?? 0, fields.l2Gas ?? 0);
49
49
  }
50
50
 
51
+ /**
52
+ * Creates a Gas instance from a plain object without Zod validation.
53
+ * This method is optimized for performance and skips validation, making it suitable
54
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
55
+ * @param obj - Plain object containing Gas fields
56
+ * @returns A Gas instance
57
+ */
58
+ static fromPlainObject(obj: any): Gas {
59
+ if (obj instanceof Gas) {
60
+ return obj;
61
+ }
62
+ return Gas.from(obj);
63
+ }
64
+
51
65
  static empty() {
52
66
  return new Gas(0, 0);
53
67
  }
@@ -65,6 +65,20 @@ export class GasFees {
65
65
  return new GasFees(fields.feePerDaGas, fields.feePerL2Gas);
66
66
  }
67
67
 
68
+ /**
69
+ * Creates a GasFees instance from a plain object without Zod validation.
70
+ * This method is optimized for performance and skips validation, making it suitable
71
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
72
+ * @param obj - Plain object containing GasFees fields
73
+ * @returns A GasFees instance
74
+ */
75
+ static fromPlainObject(obj: any): GasFees {
76
+ if (obj instanceof GasFees) {
77
+ return obj;
78
+ }
79
+ return GasFees.from(obj);
80
+ }
81
+
68
82
  static random() {
69
83
  return new GasFees(Math.floor(Math.random() * 1e9), Math.floor(Math.random() * 1e9));
70
84
  }
@@ -54,6 +54,25 @@ export class GasSettings {
54
54
  );
55
55
  }
56
56
 
57
+ /**
58
+ * Creates a GasSettings instance from a plain object without Zod validation.
59
+ * This method is optimized for performance and skips validation, making it suitable
60
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
61
+ * @param obj - Plain object containing GasSettings fields
62
+ * @returns A GasSettings instance
63
+ */
64
+ static fromPlainObject(obj: any): GasSettings {
65
+ if (obj instanceof GasSettings) {
66
+ return obj;
67
+ }
68
+ return new GasSettings(
69
+ Gas.fromPlainObject(obj.gasLimits),
70
+ Gas.fromPlainObject(obj.teardownGasLimits),
71
+ GasFees.fromPlainObject(obj.maxFeesPerGas),
72
+ GasFees.fromPlainObject(obj.maxPriorityFeesPerGas),
73
+ );
74
+ }
75
+
57
76
  clone() {
58
77
  return new GasSettings(
59
78
  this.gasLimits.clone(),
@@ -1,4 +1,4 @@
1
- import type { Gas } from './gas.js';
1
+ import { Gas } from './gas.js';
2
2
 
3
3
  export interface GasUsed {
4
4
  /**
@@ -21,3 +21,24 @@ export interface GasUsed {
21
21
  */
22
22
  billedGas: Gas;
23
23
  }
24
+
25
+ /**
26
+ * Creates a GasUsed from a plain object without Zod validation.
27
+ * This method is optimized for performance and skips validation, making it suitable
28
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
29
+ * @param obj - Plain object containing GasUsed fields
30
+ * @returns A GasUsed object
31
+ */
32
+ export function gasUsedFromPlainObject(obj: any): GasUsed {
33
+ return {
34
+ totalGas: Gas.fromPlainObject(obj.totalGas),
35
+ publicGas: Gas.fromPlainObject(obj.publicGas),
36
+ teardownGas: Gas.fromPlainObject(obj.teardownGas),
37
+ billedGas: Gas.fromPlainObject(obj.billedGas),
38
+ };
39
+ }
40
+
41
+ // Export as a namespace to match the pattern
42
+ export const GasUsed = {
43
+ fromPlainObject: gasUsedFromPlainObject,
44
+ };
package/src/hash/hash.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { GeneratorIndex, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator, sha256ToField } from '@aztec/foundation/crypto';
3
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
5
 
6
- import type { AztecAddress } from '../aztec-address/index.js';
6
+ import { AztecAddress } from '../aztec-address/index.js';
7
7
 
8
8
  /**
9
9
  * Computes a hash of a given verification key.
@@ -57,6 +57,17 @@ export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promi
57
57
  return poseidon2HashWithSeparator([contract, innerNullifier], GeneratorIndex.OUTER_NULLIFIER);
58
58
  }
59
59
 
60
+ /**
61
+ * Computes the protocol nullifier, which is the hash of the initial tx request siloed with the null msg sender address.
62
+ * @param txRequestHash - The hash of the initial tx request.
63
+ * @returns The siloed value of the protocol nullifier.
64
+ *
65
+ * @dev Must match the implementation in noir-protocol-circuits/crates/types/src/hash.nr > compute_protocol_nullifier
66
+ */
67
+ export function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr> {
68
+ return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
69
+ }
70
+
60
71
  /**
61
72
  * Computes a siloed private log tag, given the contract address and the unsiloed tag.
62
73
  * A siloed private log tag effectively namespaces a log to a specific contract.
@@ -1,4 +1,5 @@
1
1
  import type { L1ContractAddresses } from '@aztec/ethereum';
2
+ import { EpochNumberSchema } from '@aztec/foundation/branded-types';
2
3
  import type { ApiSchemaFor } from '@aztec/foundation/schemas';
3
4
 
4
5
  import { z } from 'zod';
@@ -49,6 +50,9 @@ export type ArchiverSpecificConfig = {
49
50
 
50
51
  /** Whether to skip validating block attestations (use only for testing). */
51
52
  skipValidateBlockAttestations?: boolean;
53
+
54
+ /** Maximum allowed drift in seconds between the Ethereum client and current time. */
55
+ maxAllowedEthClientDriftSeconds?: number;
52
56
  };
53
57
 
54
58
  export const ArchiverSpecificConfigSchema = z.object({
@@ -58,6 +62,7 @@ export const ArchiverSpecificConfigSchema = z.object({
58
62
  maxLogs: schemas.Integer.optional(),
59
63
  archiverStoreMapSizeKb: schemas.Integer.optional(),
60
64
  skipValidateBlockAttestations: z.boolean().optional(),
65
+ maxAllowedEthClientDriftSeconds: schemas.Integer.optional(),
61
66
  });
62
67
 
63
68
  export type ArchiverApi = Omit<
@@ -89,11 +94,11 @@ export const ArchiverApiSchema: ApiSchemaFor<ArchiverApi> = {
89
94
  getBlockHeaderByArchive: z.function().args(schemas.Fr).returns(BlockHeader.schema.optional()),
90
95
  getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
91
96
  getSettledTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema.optional()),
92
- getL2SlotNumber: z.function().args().returns(schemas.BigInt.optional()),
93
- getL2EpochNumber: z.function().args().returns(schemas.BigInt.optional()),
94
- getBlocksForEpoch: z.function().args(schemas.BigInt).returns(z.array(L2Block.schema)),
95
- getBlockHeadersForEpoch: z.function().args(schemas.BigInt).returns(z.array(BlockHeader.schema)),
96
- isEpochComplete: z.function().args(schemas.BigInt).returns(z.boolean()),
97
+ getL2SlotNumber: z.function().args().returns(schemas.SlotNumber.optional()),
98
+ getL2EpochNumber: z.function().args().returns(EpochNumberSchema.optional()),
99
+ getBlocksForEpoch: z.function().args(EpochNumberSchema).returns(z.array(L2Block.schema)),
100
+ getBlockHeadersForEpoch: z.function().args(EpochNumberSchema).returns(z.array(BlockHeader.schema)),
101
+ isEpochComplete: z.function().args(EpochNumberSchema).returns(z.boolean()),
97
102
  getL2Tips: z.function().args().returns(L2TipsSchema),
98
103
  getPrivateLogs: z.function().args(z.number(), z.number()).returns(z.array(PrivateLog.schema)),
99
104
  getLogsByTags: z
@@ -7,6 +7,7 @@ import {
7
7
  PUBLIC_DATA_TREE_HEIGHT,
8
8
  } from '@aztec/constants';
9
9
  import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
10
+ import type { SlotNumber } from '@aztec/foundation/branded-types';
10
11
  import type { EthAddress } from '@aztec/foundation/eth-address';
11
12
  import type { Fr } from '@aztec/foundation/fields';
12
13
  import { createSafeJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
@@ -434,8 +435,8 @@ export interface AztecNode
434
435
  /** Returns stats for a single validator if enabled. */
435
436
  getValidatorStats(
436
437
  validatorAddress: EthAddress,
437
- fromSlot?: bigint,
438
- toSlot?: bigint,
438
+ fromSlot?: SlotNumber,
439
+ toSlot?: SlotNumber,
439
440
  ): Promise<SingleValidatorStats | undefined>;
440
441
 
441
442
  /**
@@ -636,7 +637,7 @@ export const AztecNodeApiSchema: ApiSchemaFor<AztecNode> = {
636
637
 
637
638
  getValidatorStats: z
638
639
  .function()
639
- .args(schemas.EthAddress, optional(schemas.BigInt), optional(schemas.BigInt))
640
+ .args(schemas.EthAddress, optional(schemas.SlotNumber), optional(schemas.SlotNumber))
640
641
  .returns(SingleValidatorStatsSchema.optional()),
641
642
 
642
643
  simulatePublicCalls: z.function().args(Tx.schema, optional(z.boolean())).returns(PublicSimulationOutput.schema),
@@ -56,6 +56,10 @@ export interface SequencerConfig {
56
56
  broadcastInvalidBlockProposal?: boolean;
57
57
  /** Inject a fake attestation (for testing only) */
58
58
  injectFakeAttestation?: boolean;
59
+ /** Whether to run in fisherman mode: builds blocks on every slot for validation without publishing */
60
+ fishermanMode?: boolean;
61
+ /** Shuffle attestation ordering to create invalid ordering (for testing only) */
62
+ shuffleAttestationOrdering?: boolean;
59
63
  }
60
64
 
61
65
  export const SequencerConfigSchema = z.object({
@@ -81,4 +85,6 @@ export const SequencerConfigSchema = z.object({
81
85
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: z.number(),
82
86
  broadcastInvalidBlockProposal: z.boolean().optional(),
83
87
  injectFakeAttestation: z.boolean().optional(),
88
+ fishermanMode: z.boolean().optional(),
89
+ shuffleAttestationOrdering: z.boolean().optional(),
84
90
  }) satisfies ZodFor<SequencerConfig>;
@@ -1,4 +1,5 @@
1
- import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
1
+ import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import type { EpochNumber } from '@aztec/foundation/branded-types';
2
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import type { Fr } from '@aztec/foundation/fields';
4
5
 
@@ -19,7 +20,7 @@ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | '
19
20
  * @param finalBlobBatchingChallenges - The final blob batching challenges for the epoch.
20
21
  **/
21
22
  startNewEpoch(
22
- epochNumber: number,
23
+ epochNumber: EpochNumber,
23
24
  totalNumCheckpoints: number,
24
25
  finalBlobBatchingChallenges: FinalBlobBatchingChallenges,
25
26
  ): void;
@@ -30,7 +31,6 @@ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | '
30
31
  * @param constants - The constants for this checkpoint.
31
32
  * @param l1ToL2Messages - The set of L1 to L2 messages to be included in this checkpoint.
32
33
  * @param totalNumBlocks - The total number of blocks expected in the checkpoint (must be at least one).
33
- * @param totalNumBlobFields - The total number of blob fields expected in the checkpoint.
34
34
  * @param headerOfLastBlockInPreviousCheckpoint - The header of the last block in the previous checkpoint.
35
35
  */
36
36
  startNewCheckpoint(
@@ -38,7 +38,6 @@ export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | '
38
38
  constants: CheckpointConstantData,
39
39
  l1ToL2Messages: Fr[],
40
40
  totalNumBlocks: number,
41
- totalNumBlobFields: number,
42
41
  headerOfLastBlockInPreviousCheckpoint: BlockHeader,
43
42
  ): Promise<void>;
44
43
 
@@ -7,7 +7,7 @@ import type { NullifierLeaf } from '../trees/nullifier_leaf.js';
7
7
  import type { PublicDataTreeLeaf } from '../trees/public_data_leaf.js';
8
8
  import type { BlockHeader } from '../tx/block_header.js';
9
9
  import type { StateReference } from '../tx/state_reference.js';
10
- import type { WorldStateRevision } from '../world-state/world_state_revision.js';
10
+ import type { WorldStateRevision, WorldStateRevisionWithHandle } from '../world-state/world_state_revision.js';
11
11
 
12
12
  /**
13
13
  * Type alias for the nullifier tree ID.
@@ -136,7 +136,7 @@ export interface MerkleTreeReadOperations {
136
136
  /**
137
137
  * Gets the current revision.
138
138
  */
139
- getRevision(): WorldStateRevision;
139
+ getRevision(): WorldStateRevision | WorldStateRevisionWithHandle;
140
140
 
141
141
  /**
142
142
  * Gets sibling path for a leaf.
@@ -1,3 +1,5 @@
1
+ import type { SlotNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import { z } from 'zod';
2
4
 
3
5
  import { BlockAttestation } from '../p2p/block_attestation.js';
@@ -56,7 +58,7 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
56
58
  * @param proposalId - the proposal id to query, or undefined to query all proposals for the slot
57
59
  * @returns BlockAttestations
58
60
  */
59
- getAttestationsForSlot(slot: bigint, proposalId?: string): Promise<BlockAttestation[]>;
61
+ getAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise<BlockAttestation[]>;
60
62
 
61
63
  /** Deletes a given attestation manually from the p2p client attestation pool. */
62
64
  deleteAttestation(attestation: BlockAttestation): Promise<void>;
@@ -78,7 +80,7 @@ export type P2PApiFull<T extends P2PClientType = P2PClientType.Full> = T extends
78
80
  export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
79
81
  getAttestationsForSlot: z
80
82
  .function()
81
- .args(schemas.BigInt, optional(z.string()))
83
+ .args(schemas.SlotNumber, optional(z.string()))
82
84
  .returns(z.array(BlockAttestation.schema)),
83
85
  getPendingTxs: z
84
86
  .function()
@@ -4,6 +4,7 @@ import {
4
4
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
5
5
  RECURSIVE_PROOF_LENGTH,
6
6
  } from '@aztec/constants';
7
+ import { EpochNumber, EpochNumberSchema } from '@aztec/foundation/branded-types';
7
8
  import type { ZodFor } from '@aztec/foundation/schemas';
8
9
 
9
10
  import { z } from 'zod';
@@ -400,24 +401,32 @@ export const ProofUri = z.string().brand('ProvingJobUri');
400
401
  export type ProofUri = z.infer<typeof ProofUri>;
401
402
 
402
403
  export type ProvingJobId = z.infer<typeof ProvingJobId>;
403
- export const ProvingJob = z.object({
404
+
405
+ type ProvingJobShape = {
406
+ id: ProvingJobId;
407
+ type: ProvingRequestType;
408
+ epochNumber: EpochNumber;
409
+ inputsUri: ProofUri;
410
+ };
411
+
412
+ export const ProvingJob: z.ZodType<ProvingJobShape, z.ZodTypeDef, any> = z.object({
404
413
  id: ProvingJobId,
405
414
  type: z.nativeEnum(ProvingRequestType),
406
- epochNumber: z.number(),
415
+ epochNumber: EpochNumberSchema,
407
416
  inputsUri: ProofUri,
408
417
  });
409
418
 
410
- export const makeProvingJobId = (epochNumber: number, type: ProvingRequestType, inputsHash: string) => {
419
+ export const makeProvingJobId = (epochNumber: EpochNumber, type: ProvingRequestType, inputsHash: string) => {
411
420
  return `${epochNumber}:${ProvingRequestType[type]}:${inputsHash}`;
412
421
  };
413
422
 
414
- export const getEpochFromProvingJobId = (id: ProvingJobId) => {
423
+ export const getEpochFromProvingJobId = (id: ProvingJobId): EpochNumber => {
415
424
  const components = id.split(':');
416
425
  const epochNumber = components.length < 1 ? Number.NaN : parseInt(components[0], 10);
417
426
  if (!Number.isSafeInteger(epochNumber) || epochNumber < 0) {
418
427
  throw new Error(`Proving Job ID ${id} does not contain valid epoch`);
419
428
  }
420
- return epochNumber;
429
+ return EpochNumber(epochNumber);
421
430
  };
422
431
 
423
432
  export type ProvingJob = z.infer<typeof ProvingJob>;