@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
@@ -1,63 +1,86 @@
1
- import { MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION } from '@aztec/constants';
1
+ import {
2
+ FIXED_DA_GAS,
3
+ FIXED_L2_GAS,
4
+ MAX_ENQUEUED_CALLS_PER_TX,
5
+ MAX_INCLUDE_BY_TIMESTAMP_DURATION,
6
+ MAX_NULLIFIERS_PER_TX,
7
+ MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
8
+ } from '@aztec/constants';
9
+ import { makeTuple } from '@aztec/foundation/array';
2
10
  import { Buffer32 } from '@aztec/foundation/buffer';
3
- import { times } from '@aztec/foundation/collection';
11
+ import { padArrayEnd, times } from '@aztec/foundation/collection';
4
12
  import { Secp256k1Signer, randomBytes } from '@aztec/foundation/crypto';
5
13
  import { Fr } from '@aztec/foundation/fields';
6
14
 
7
15
  import type { ContractArtifact } from '../abi/abi.js';
16
+ import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
17
+ import { PublicDataWrite } from '../avm/public_data_write.js';
18
+ import { RevertCode } from '../avm/revert_code.js';
8
19
  import { AztecAddress } from '../aztec-address/index.js';
9
- import { CommitteeAttestation, L1PublishedData, L2BlockHeader } from '../block/index.js';
20
+ import { CommitteeAttestation, L2BlockHeader } from '../block/index.js';
10
21
  import { L2Block } from '../block/l2_block.js';
11
22
  import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
12
23
  import { PublishedL2Block } from '../block/published_l2_block.js';
24
+ import type { Checkpoint } from '../checkpoint/checkpoint.js';
25
+ import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
13
26
  import { computeContractAddressFromInstance } from '../contract/contract_address.js';
14
27
  import { getContractClassFromArtifact } from '../contract/contract_class.js';
15
28
  import { SerializableContractInstance } from '../contract/contract_instance.js';
16
29
  import type { ContractInstanceWithAddress } from '../contract/index.js';
30
+ import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
17
31
  import { Gas } from '../gas/gas.js';
18
32
  import { GasFees } from '../gas/gas_fees.js';
19
33
  import { GasSettings } from '../gas/gas_settings.js';
34
+ import type { GasUsed } from '../gas/gas_used.js';
35
+ import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operations.js';
20
36
  import { Nullifier } from '../kernel/nullifier.js';
21
37
  import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
22
38
  import {
23
39
  PartialPrivateTailPublicInputsForPublic,
24
40
  PrivateKernelTailCircuitPublicInputs,
25
41
  } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
42
+ import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulated_data.js';
26
43
  import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
27
- import { Note } from '../note/note.js';
28
- import { UniqueNote } from '../note/unique_note.js';
44
+ import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
29
45
  import { BlockAttestation } from '../p2p/block_attestation.js';
30
46
  import { BlockProposal } from '../p2p/block_proposal.js';
31
47
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
32
48
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
33
49
  import { ChonkProof } from '../proofs/chonk_proof.js';
34
- import { HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, StateReference, Tx } from '../tx/index.js';
35
- import { PublicSimulationOutput } from '../tx/public_simulation_output.js';
36
- import { TxSimulationResult, accumulatePrivateReturnValues } from '../tx/simulated_tx.js';
50
+ import { ProvingRequestType } from '../proofs/proving_request_type.js';
51
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
52
+ import {
53
+ BlockHeader,
54
+ GlobalVariables,
55
+ HashedValues,
56
+ PrivateCallExecutionResult,
57
+ PrivateExecutionResult,
58
+ ProtocolContracts,
59
+ Tx,
60
+ TxConstantData,
61
+ makeProcessedTxFromPrivateOnlyTx,
62
+ makeProcessedTxFromTxWithPublicCalls,
63
+ } from '../tx/index.js';
64
+ import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
65
+ import { TxSimulationResult } from '../tx/simulated_tx.js';
37
66
  import { TxEffect } from '../tx/tx_effect.js';
38
67
  import { TxHash } from '../tx/tx_hash.js';
39
- import { makeGas, makeGlobalVariables, makeL2BlockHeader, makePublicCallRequest } from './factories.js';
68
+ import {
69
+ makeAvmCircuitInputs,
70
+ makeAztecAddress,
71
+ makeBlockHeader,
72
+ makeGas,
73
+ makeGlobalVariables,
74
+ makeL2BlockHeader,
75
+ makePrivateToPublicAccumulatedData,
76
+ makePrivateToRollupAccumulatedData,
77
+ makeProtocolContracts,
78
+ makePublicCallRequest,
79
+ makePublicDataWrite,
80
+ } from './factories.js';
40
81
 
41
82
  export const randomTxHash = (): TxHash => TxHash.random();
42
83
 
43
- export const randomUniqueNote = async ({
44
- note = Note.random(),
45
- recipient = undefined,
46
- contractAddress = undefined,
47
- txHash = randomTxHash(),
48
- storageSlot = Fr.random(),
49
- noteNonce = Fr.random(),
50
- }: Partial<UniqueNote> = {}) => {
51
- return new UniqueNote(
52
- note,
53
- recipient ?? (await AztecAddress.random()),
54
- contractAddress ?? (await AztecAddress.random()),
55
- storageSlot,
56
- txHash,
57
- noteNonce,
58
- );
59
- };
60
-
61
84
  export const mockTx = async (
62
85
  seed = 1,
63
86
  {
@@ -159,6 +182,156 @@ export const mockTx = async (
159
182
  export const mockTxForRollup = (seed = 1, opts: Parameters<typeof mockTx>[1] = {}) =>
160
183
  mockTx(seed, { ...opts, numberOfNonRevertiblePublicCallRequests: 0, numberOfRevertiblePublicCallRequests: 0 });
161
184
 
185
+ /** Mock a processed tx for testing purposes. */
186
+ export async function mockProcessedTx({
187
+ seed = 1,
188
+ anchorBlockHeader,
189
+ db,
190
+ chainId = Fr.ZERO,
191
+ version = Fr.ZERO,
192
+ gasSettings = GasSettings.default({ maxFeesPerGas: new GasFees(10, 10) }),
193
+ vkTreeRoot = Fr.ZERO,
194
+ protocolContracts = makeProtocolContracts(seed + 0x100),
195
+ globalVariables = GlobalVariables.empty(),
196
+ newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(),
197
+ feePayer,
198
+ feePaymentPublicDataWrite,
199
+ // The default gasUsed is the tx overhead.
200
+ gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
201
+ privateOnly = false,
202
+ ...mockTxOpts
203
+ }: {
204
+ seed?: number;
205
+ anchorBlockHeader?: BlockHeader;
206
+ db?: MerkleTreeReadOperations;
207
+ gasSettings?: GasSettings;
208
+ globalVariables?: GlobalVariables;
209
+ newL1ToL2Snapshot?: AppendOnlyTreeSnapshot;
210
+ protocolContracts?: ProtocolContracts;
211
+ feePaymentPublicDataWrite?: PublicDataWrite;
212
+ privateOnly?: boolean;
213
+ } & Parameters<typeof mockTx>[1] = {}) {
214
+ seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
215
+ anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
216
+ feePayer ??= makeAztecAddress(seed + 0x100);
217
+ feePaymentPublicDataWrite ??= makePublicDataWrite(seed + 0x200);
218
+
219
+ const txConstantData = TxConstantData.empty();
220
+ txConstantData.anchorBlockHeader = anchorBlockHeader;
221
+ txConstantData.txContext.chainId = chainId;
222
+ txConstantData.txContext.version = version;
223
+ txConstantData.txContext.gasSettings = gasSettings;
224
+ txConstantData.vkTreeRoot = vkTreeRoot;
225
+ txConstantData.protocolContractsHash = await protocolContracts.hash();
226
+
227
+ const tx = !privateOnly
228
+ ? await mockTx(seed, { feePayer, gasUsed, ...mockTxOpts })
229
+ : await mockTx(seed, {
230
+ numberOfNonRevertiblePublicCallRequests: 0,
231
+ numberOfRevertiblePublicCallRequests: 0,
232
+ feePayer,
233
+ gasUsed,
234
+ ...mockTxOpts,
235
+ });
236
+ tx.data.constants = txConstantData;
237
+
238
+ const transactionFee = tx.data.gasUsed.computeFee(globalVariables.gasFees);
239
+
240
+ if (privateOnly) {
241
+ const data = makePrivateToRollupAccumulatedData(seed + 0x1000, { numContractClassLogs: 0 });
242
+
243
+ tx.data.forRollup!.end = data;
244
+
245
+ await tx.recomputeHash();
246
+ return makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, globalVariables);
247
+ } else {
248
+ const dataFromPrivate = tx.data.forPublic!;
249
+
250
+ const nonRevertibleData = dataFromPrivate.nonRevertibleAccumulatedData;
251
+
252
+ // Create revertible data.
253
+ const revertibleData = makePrivateToPublicAccumulatedData(seed + 0x1000, { numContractClassLogs: 0 });
254
+ revertibleData.nullifiers[MAX_NULLIFIERS_PER_TX - 1] = Fr.ZERO; // Leave one space for the tx hash nullifier in nonRevertibleAccumulatedData.
255
+ dataFromPrivate.revertibleAccumulatedData = revertibleData;
256
+
257
+ // Create avm output.
258
+ const avmOutput = AvmCircuitPublicInputs.empty();
259
+ // Assign data from hints.
260
+ avmOutput.protocolContracts = protocolContracts;
261
+ avmOutput.startTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
262
+ avmOutput.endTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
263
+ avmOutput.effectiveGasFees = computeEffectiveGasFees(globalVariables.gasFees, gasSettings);
264
+ // Assign data from private.
265
+ avmOutput.globalVariables = globalVariables;
266
+ avmOutput.startGasUsed = tx.data.gasUsed;
267
+ avmOutput.gasSettings = gasSettings;
268
+ avmOutput.feePayer = feePayer;
269
+ avmOutput.publicCallRequestArrayLengths = new PublicCallRequestArrayLengths(
270
+ tx.data.numberOfNonRevertiblePublicCallRequests(),
271
+ tx.data.numberOfRevertiblePublicCallRequests(),
272
+ tx.data.hasTeardownPublicCallRequest(),
273
+ );
274
+ avmOutput.publicSetupCallRequests = dataFromPrivate.nonRevertibleAccumulatedData.publicCallRequests;
275
+ avmOutput.publicAppLogicCallRequests = dataFromPrivate.revertibleAccumulatedData.publicCallRequests;
276
+ avmOutput.publicTeardownCallRequest = dataFromPrivate.publicTeardownCallRequest;
277
+ avmOutput.previousNonRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
278
+ dataFromPrivate.nonRevertibleAccumulatedData.noteHashes,
279
+ dataFromPrivate.nonRevertibleAccumulatedData.nullifiers,
280
+ dataFromPrivate.nonRevertibleAccumulatedData.l2ToL1Msgs,
281
+ );
282
+ avmOutput.previousNonRevertibleAccumulatedDataArrayLengths =
283
+ avmOutput.previousNonRevertibleAccumulatedData.getArrayLengths();
284
+ avmOutput.previousRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
285
+ dataFromPrivate.revertibleAccumulatedData.noteHashes,
286
+ dataFromPrivate.revertibleAccumulatedData.nullifiers,
287
+ dataFromPrivate.revertibleAccumulatedData.l2ToL1Msgs,
288
+ );
289
+ avmOutput.previousRevertibleAccumulatedDataArrayLengths =
290
+ avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
291
+ // Assign final data emitted from avm.
292
+ avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
293
+ avmOutput.accumulatedData.nullifiers = padArrayEnd(
294
+ nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
295
+ Fr.ZERO,
296
+ MAX_NULLIFIERS_PER_TX,
297
+ );
298
+ avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
299
+ avmOutput.accumulatedData.publicDataWrites = makeTuple(
300
+ MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
301
+ i => new PublicDataWrite(new Fr(i), new Fr(i + 10)),
302
+ seed + 0x2000,
303
+ );
304
+ avmOutput.accumulatedData.publicDataWrites[0] = feePaymentPublicDataWrite;
305
+ avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
306
+ avmOutput.gasSettings = gasSettings;
307
+ // Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
308
+ // be a problem for the tests.
309
+ avmOutput.transactionFee = transactionFee;
310
+
311
+ const avmCircuitInputs = await makeAvmCircuitInputs(seed + 0x3000, { publicInputs: avmOutput });
312
+ avmCircuitInputs.hints.startingTreeRoots.l1ToL2MessageTree = newL1ToL2Snapshot;
313
+
314
+ const gasUsed = {
315
+ totalGas: Gas.empty(),
316
+ teardownGas: Gas.empty(),
317
+ publicGas: Gas.empty(),
318
+ billedGas: Gas.empty(),
319
+ } satisfies GasUsed;
320
+
321
+ await tx.recomputeHash();
322
+ return makeProcessedTxFromTxWithPublicCalls(
323
+ tx,
324
+ {
325
+ type: ProvingRequestType.PUBLIC_VM,
326
+ inputs: avmCircuitInputs,
327
+ },
328
+ gasUsed,
329
+ RevertCode.OK,
330
+ undefined /* revertReason */,
331
+ );
332
+ }
333
+ }
334
+
162
335
  const emptyPrivateCallExecutionResult = () =>
163
336
  new PrivateCallExecutionResult(
164
337
  Buffer.from(''),
@@ -184,7 +357,7 @@ export const mockSimulatedTx = async (seed = 1) => {
184
357
  undefined,
185
358
  makeGlobalVariables(),
186
359
  await TxEffect.random(),
187
- [accumulatePrivateReturnValues(privateExecutionResult)],
360
+ times(2, () => NestedProcessReturnValues.random(2)),
188
361
  {
189
362
  totalGas: makeGas(),
190
363
  teardownGas: makeGas(),
@@ -234,7 +407,6 @@ export interface MakeConsensusPayloadOptions {
234
407
  proposerSigner?: Secp256k1Signer;
235
408
  header?: L2BlockHeader;
236
409
  archive?: Fr;
237
- stateReference?: StateReference;
238
410
  txHashes?: TxHash[];
239
411
  txs?: Tx[];
240
412
  }
@@ -244,12 +416,11 @@ const makeAndSignConsensusPayload = (
244
416
  options?: MakeConsensusPayloadOptions,
245
417
  ) => {
246
418
  const header = options?.header ?? makeL2BlockHeader(1);
247
- const { signer = Secp256k1Signer.random(), archive = Fr.random(), stateReference = header.state } = options ?? {};
419
+ const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
248
420
 
249
421
  const payload = ConsensusPayload.fromFields({
250
422
  header: header.toCheckpointHeader(),
251
423
  archive,
252
- stateReference,
253
424
  });
254
425
 
255
426
  const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
@@ -276,31 +447,32 @@ export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockP
276
447
  };
277
448
 
278
449
  // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
279
- export const makeBlockAttestation = (options?: MakeConsensusPayloadOptions): BlockAttestation => {
280
- const header = options?.header ?? makeL2BlockHeader(1);
281
- const {
282
- signer,
283
- attesterSigner = signer ?? Secp256k1Signer.random(),
284
- proposerSigner = signer ?? Secp256k1Signer.random(),
285
- archive = Fr.random(),
286
- stateReference = header.state,
287
- } = options ?? {};
450
+ export const makeBlockAttestation = (options: MakeConsensusPayloadOptions = {}): BlockAttestation => {
451
+ const header = options.header ?? makeL2BlockHeader(1);
452
+ const { signer, attesterSigner = signer, proposerSigner = signer, archive = Fr.random() } = options;
288
453
 
289
454
  const payload = ConsensusPayload.fromFields({
290
455
  header: header.toCheckpointHeader(),
291
456
  archive,
292
- stateReference,
293
457
  });
294
458
 
295
- // Sign as attester
296
- const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
297
- const attestationSignature = attesterSigner.sign(attestationHash);
459
+ return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
460
+ };
298
461
 
299
- // Sign as proposer
300
- const proposalHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockProposal);
301
- const proposerSignature = proposerSigner.sign(proposalHash);
462
+ export const makeAttestationFromCheckpoint = (
463
+ checkpoint: Checkpoint,
464
+ attesterSigner?: Secp256k1Signer,
465
+ proposerSigner?: Secp256k1Signer,
466
+ ): BlockAttestation => {
467
+ const header = checkpoint.header;
468
+ const archive = checkpoint.archive.root;
302
469
 
303
- return new BlockAttestation(payload, attestationSignature, proposerSignature);
470
+ const payload = ConsensusPayload.fromFields({
471
+ header,
472
+ archive,
473
+ });
474
+
475
+ return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
304
476
  };
305
477
 
306
478
  export const makeBlockAttestationFromBlock = (
@@ -310,14 +482,20 @@ export const makeBlockAttestationFromBlock = (
310
482
  ): BlockAttestation => {
311
483
  const header = block.header;
312
484
  const archive = block.archive.root;
313
- const stateReference = block.header.state;
314
485
 
315
486
  const payload = ConsensusPayload.fromFields({
316
487
  header: header.toCheckpointHeader(),
317
488
  archive,
318
- stateReference,
319
489
  });
320
490
 
491
+ return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
492
+ };
493
+
494
+ export const makeBlockAttestationFromPayload = (
495
+ payload: ConsensusPayload,
496
+ attesterSigner?: Secp256k1Signer,
497
+ proposerSigner?: Secp256k1Signer,
498
+ ): BlockAttestation => {
321
499
  // Sign as attester
322
500
  const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
323
501
  const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
@@ -1,4 +1,3 @@
1
- import type { ViemAppendOnlyTreeSnapshot } from '@aztec/ethereum';
2
1
  import { Fr } from '@aztec/foundation/fields';
3
2
  import { schemas } from '@aztec/foundation/schemas';
4
3
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -72,17 +71,6 @@ export class AppendOnlyTreeSnapshot {
72
71
  return new AppendOnlyTreeSnapshot(reader.readField(), Number(reader.readField().toBigInt()));
73
72
  }
74
73
 
75
- static fromViem(snapshot: ViemAppendOnlyTreeSnapshot) {
76
- return new AppendOnlyTreeSnapshot(Fr.fromString(snapshot.root), snapshot.nextAvailableLeafIndex);
77
- }
78
-
79
- toViem(): ViemAppendOnlyTreeSnapshot {
80
- return {
81
- root: this.root.toString(),
82
- nextAvailableLeafIndex: this.nextAvailableLeafIndex,
83
- };
84
- }
85
-
86
74
  toAbi(): [`0x${string}`, number] {
87
75
  return [this.root.toString(), this.nextAvailableLeafIndex];
88
76
  }
@@ -91,6 +79,17 @@ export class AppendOnlyTreeSnapshot {
91
79
  return new AppendOnlyTreeSnapshot(Fr.ZERO, 0);
92
80
  }
93
81
 
82
+ /**
83
+ * Creates an AppendOnlyTreeSnapshot instance from a plain object without Zod validation.
84
+ * This method is optimized for performance and skips validation, making it suitable
85
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
86
+ * @param obj - Plain object containing AppendOnlyTreeSnapshot fields
87
+ * @returns An AppendOnlyTreeSnapshot instance
88
+ */
89
+ static fromPlainObject(obj: any): AppendOnlyTreeSnapshot {
90
+ return new AppendOnlyTreeSnapshot(Fr.fromPlainObject(obj.root), obj.nextAvailableLeafIndex);
91
+ }
92
+
94
93
  isEmpty(): boolean {
95
94
  return this.root.isZero() && this.nextAvailableLeafIndex === 0;
96
95
  }
@@ -36,6 +36,24 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
36
36
  .transform(({ leaf, nextKey, nextIndex }) => new NullifierLeafPreimage(leaf, nextKey, nextIndex));
37
37
  }
38
38
 
39
+ /**
40
+ * Creates a NullifierLeafPreimage from a plain object without Zod validation.
41
+ * This method is optimized for performance and skips validation, making it suitable
42
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
43
+ * @param obj - Plain object containing NullifierLeafPreimage fields
44
+ * @returns A NullifierLeafPreimage instance
45
+ */
46
+ static fromPlainObject(obj: any): NullifierLeafPreimage {
47
+ if (obj instanceof NullifierLeafPreimage) {
48
+ return obj;
49
+ }
50
+ return new NullifierLeafPreimage(
51
+ NullifierLeaf.fromPlainObject(obj.leaf),
52
+ Fr.fromPlainObject(obj.nextKey),
53
+ typeof obj.nextIndex === 'bigint' ? obj.nextIndex : BigInt(obj.nextIndex),
54
+ );
55
+ }
56
+
39
57
  static get leafSchema() {
40
58
  return NullifierLeaf.schema;
41
59
  }
@@ -157,4 +175,18 @@ export class NullifierLeaf implements IndexedTreeLeaf {
157
175
  static get schema() {
158
176
  return z.object({ nullifier: schemas.Fr }).transform(({ nullifier }) => new NullifierLeaf(nullifier));
159
177
  }
178
+
179
+ /**
180
+ * Creates a NullifierLeaf from a plain object without Zod validation.
181
+ * This method is optimized for performance and skips validation, making it suitable
182
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
183
+ * @param obj - Plain object containing NullifierLeaf fields
184
+ * @returns A NullifierLeaf instance
185
+ */
186
+ static fromPlainObject(obj: any): NullifierLeaf {
187
+ if (obj instanceof NullifierLeaf) {
188
+ return obj;
189
+ }
190
+ return new NullifierLeaf(Fr.fromPlainObject(obj.nullifier));
191
+ }
160
192
  }
@@ -36,6 +36,24 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
36
36
  .transform(({ leaf, nextKey, nextIndex }) => new PublicDataTreeLeafPreimage(leaf, nextKey, nextIndex));
37
37
  }
38
38
 
39
+ /**
40
+ * Creates a PublicDataTreeLeafPreimage from a plain object without Zod validation.
41
+ * This method is optimized for performance and skips validation, making it suitable
42
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
43
+ * @param obj - Plain object containing PublicDataTreeLeafPreimage fields
44
+ * @returns A PublicDataTreeLeafPreimage instance
45
+ */
46
+ static fromPlainObject(obj: any): PublicDataTreeLeafPreimage {
47
+ if (obj instanceof PublicDataTreeLeafPreimage) {
48
+ return obj;
49
+ }
50
+ return new PublicDataTreeLeafPreimage(
51
+ PublicDataTreeLeaf.fromPlainObject(obj.leaf),
52
+ Fr.fromPlainObject(obj.nextKey),
53
+ typeof obj.nextIndex === 'bigint' ? obj.nextIndex : BigInt(obj.nextIndex),
54
+ );
55
+ }
56
+
39
57
  static get leafSchema() {
40
58
  return PublicDataTreeLeaf.schema;
41
59
  }
@@ -172,4 +190,18 @@ export class PublicDataTreeLeaf implements IndexedTreeLeaf {
172
190
  })
173
191
  .transform(({ slot, value }) => new PublicDataTreeLeaf(slot, value));
174
192
  }
193
+
194
+ /**
195
+ * Creates a PublicDataTreeLeaf from a plain object without Zod validation.
196
+ * This method is optimized for performance and skips validation, making it suitable
197
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
198
+ * @param obj - Plain object containing PublicDataTreeLeaf fields
199
+ * @returns A PublicDataTreeLeaf instance
200
+ */
201
+ static fromPlainObject(obj: any): PublicDataTreeLeaf {
202
+ if (obj instanceof PublicDataTreeLeaf) {
203
+ return obj;
204
+ }
205
+ return new PublicDataTreeLeaf(Fr.fromPlainObject(obj.slot), Fr.fromPlainObject(obj.value));
206
+ }
175
207
  }
@@ -1,5 +1,6 @@
1
1
  import { BLOCK_HEADER_LENGTH, GeneratorIndex } from '@aztec/constants';
2
- import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { poseidon2HashWithSeparator, randomInt } from '@aztec/foundation/crypto';
3
4
  import { Fr } from '@aztec/foundation/fields';
4
5
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
5
6
  import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
@@ -61,8 +62,8 @@ export class BlockHeader {
61
62
  return new BlockHeader(...BlockHeader.getFields(fields));
62
63
  }
63
64
 
64
- getSlot() {
65
- return this.globalVariables.slotNumber.toBigInt();
65
+ getSlot(): SlotNumber {
66
+ return this.globalVariables.slotNumber;
66
67
  }
67
68
 
68
69
  getBlockNumber() {
@@ -161,6 +162,18 @@ export class BlockHeader {
161
162
  return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
162
163
  }
163
164
 
165
+ static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
166
+ return BlockHeader.from({
167
+ lastArchive: AppendOnlyTreeSnapshot.random(),
168
+ state: StateReference.random(),
169
+ spongeBlobHash: Fr.random(),
170
+ globalVariables: GlobalVariables.random(overrides),
171
+ totalFees: new Fr(randomInt(100_000)),
172
+ totalManaUsed: new Fr(randomInt(100_000_000)),
173
+ ...overrides,
174
+ });
175
+ }
176
+
164
177
  toInspect() {
165
178
  return {
166
179
  lastArchive: this.lastArchive.root.toString(),
@@ -0,0 +1,60 @@
1
+ import type { FunctionCall } from '../abi/function_call.js';
2
+ import type { AuthWitness } from '../auth_witness/auth_witness.js';
3
+ import { AztecAddress } from '../aztec-address/index.js';
4
+ import type { Capsule } from './capsule.js';
5
+ import type { HashedValues } from './hashed_values.js';
6
+
7
+ /**
8
+ * Represents data necessary to perform an action in the network successfully.
9
+ * This class can be considered Aztec's "minimal execution unit".
10
+ * */
11
+ export class ExecutionPayload {
12
+ public constructor(
13
+ /** The function calls to be executed. */
14
+ public calls: FunctionCall[],
15
+ /** Any transient auth witnesses needed for this execution */
16
+ public authWitnesses: AuthWitness[],
17
+ /** Data passed through an oracle for this execution. */
18
+ public capsules: Capsule[],
19
+ /** Extra hashed values to be injected in the execution cache */
20
+ public extraHashedArgs: HashedValues[] = [],
21
+ /**
22
+ * The address that is paying for the fee in this execution payload (if any).
23
+ * If undefined, the wallet software executing the payload will have to add a fee payment method
24
+ */
25
+ public feePayer?: AztecAddress,
26
+ ) {}
27
+
28
+ static empty() {
29
+ return new ExecutionPayload([], [], [], [], undefined);
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Merges an array ExecutionPayloads combining their calls, authWitnesses, capsules and extraArgHashes.
35
+ * @throws Error if multiple payloads have different fee payers set
36
+ */
37
+ export function mergeExecutionPayloads(requests: ExecutionPayload[]): ExecutionPayload {
38
+ const calls = requests.map(r => r.calls).flat();
39
+ const combinedAuthWitnesses = requests.map(r => r.authWitnesses ?? []).flat();
40
+ const combinedCapsules = requests.map(r => r.capsules ?? []).flat();
41
+ const combinedExtraHashedArgs = requests.map(r => r.extraHashedArgs ?? []).flat();
42
+
43
+ // Collect unique fee payers
44
+ const uniqueFeePayers = new Set(
45
+ requests
46
+ .map(r => r.feePayer)
47
+ .filter((fp): fp is AztecAddress => fp !== undefined)
48
+ .map(fp => fp.toString()),
49
+ );
50
+
51
+ if (uniqueFeePayers.size > 1) {
52
+ throw new Error(
53
+ `Cannot merge execution payloads with different fee payers. Found: ${Array.from(uniqueFeePayers).join(', ')}`,
54
+ );
55
+ }
56
+
57
+ const feePayer = uniqueFeePayers.size === 1 ? AztecAddress.fromString(Array.from(uniqueFeePayers)[0]) : undefined;
58
+
59
+ return new ExecutionPayload(calls, combinedAuthWitnesses, combinedCapsules, combinedExtraHashedArgs, feePayer);
60
+ }
@@ -1,4 +1,5 @@
1
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import type { SlotNumber } from '@aztec/foundation/schemas';
2
3
 
3
4
  import type { AztecAddress } from '../aztec-address/index.js';
4
5
  import type { GasFees } from '../gas/gas_fees.js';
@@ -23,6 +24,6 @@ export interface GlobalVariableBuilder {
23
24
  blockNumber: UInt32,
24
25
  coinbase: EthAddress,
25
26
  feeRecipient: AztecAddress,
26
- slotNumber?: bigint,
27
+ slotNumber?: SlotNumber,
27
28
  ): Promise<GlobalVariables>;
28
29
  }