@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
package/src/avm/avm.ts CHANGED
@@ -1,35 +1,44 @@
1
+ import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
- import { schemas } from '@aztec/foundation/schemas';
4
4
 
5
5
  import { z } from 'zod';
6
6
 
7
7
  import { AztecAddress } from '../aztec-address/index.js';
8
+ import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
9
+ import { SimulationError } from '../errors/simulation_error.js';
8
10
  import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
9
11
  import { Gas } from '../gas/gas.js';
10
12
  import { GasFees } from '../gas/gas_fees.js';
11
13
  import { GasSettings } from '../gas/gas_settings.js';
14
+ import { GasUsed } from '../gas/gas_used.js';
12
15
  import { PublicKeys } from '../keys/public_keys.js';
16
+ import { DebugLog } from '../logs/debug_log.js';
13
17
  import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
18
+ import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
14
19
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
15
20
  import { MerkleTreeId } from '../trees/merkle_tree_id.js';
16
- import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
17
- import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
21
+ import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
22
+ import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
18
23
  import {
19
24
  GlobalVariables,
25
+ NestedProcessReturnValues,
20
26
  ProtocolContracts,
21
27
  PublicCallRequestWithCalldata,
22
28
  TreeSnapshots,
23
29
  type Tx,
24
30
  } from '../tx/index.js';
31
+ import { WorldStateRevision } from '../world-state/world_state_revision.js';
25
32
  import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
26
33
  import { serializeWithMessagePack } from './message_pack.js';
34
+ import { RevertCode } from './revert_code.js';
27
35
 
28
36
  ////////////////////////////////////////////////////////////////////////////
29
37
  // Hints (contracts)
30
38
  ////////////////////////////////////////////////////////////////////////////
31
39
  export class AvmContractClassHint {
32
40
  constructor(
41
+ public readonly hintKey: number,
33
42
  public readonly classId: Fr,
34
43
  public readonly artifactHash: Fr,
35
44
  public readonly privateFunctionsRoot: Fr,
@@ -39,20 +48,42 @@ export class AvmContractClassHint {
39
48
  static get schema() {
40
49
  return z
41
50
  .object({
51
+ hintKey: z.number().int().nonnegative(),
42
52
  classId: schemas.Fr,
43
53
  artifactHash: schemas.Fr,
44
54
  privateFunctionsRoot: schemas.Fr,
45
55
  packedBytecode: schemas.Buffer,
46
56
  })
47
57
  .transform(
48
- ({ classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
49
- new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode),
58
+ ({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
59
+ new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
50
60
  );
51
61
  }
62
+
63
+ /**
64
+ * Creates an AvmContractClassHint from a plain object without Zod validation.
65
+ * This method is optimized for performance and skips validation, making it suitable
66
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
67
+ * @param obj - Plain object containing AvmContractClassHint fields
68
+ * @returns An AvmContractClassHint instance
69
+ */
70
+ static fromPlainObject(obj: any): AvmContractClassHint {
71
+ if (obj instanceof AvmContractClassHint) {
72
+ return obj;
73
+ }
74
+ return new AvmContractClassHint(
75
+ obj.hintKey,
76
+ Fr.fromPlainObject(obj.classId),
77
+ Fr.fromPlainObject(obj.artifactHash),
78
+ Fr.fromPlainObject(obj.privateFunctionsRoot),
79
+ obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
80
+ );
81
+ }
52
82
  }
53
83
 
54
84
  export class AvmBytecodeCommitmentHint {
55
85
  constructor(
86
+ public readonly hintKey: number,
56
87
  public readonly classId: Fr,
57
88
  public readonly commitment: Fr,
58
89
  ) {}
@@ -60,15 +91,35 @@ export class AvmBytecodeCommitmentHint {
60
91
  static get schema() {
61
92
  return z
62
93
  .object({
94
+ hintKey: z.number().int().nonnegative(),
63
95
  classId: schemas.Fr,
64
96
  commitment: schemas.Fr,
65
97
  })
66
- .transform(({ classId, commitment }) => new AvmBytecodeCommitmentHint(classId, commitment));
98
+ .transform(({ hintKey, classId, commitment }) => new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
99
+ }
100
+
101
+ /**
102
+ * Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
103
+ * This method is optimized for performance and skips validation, making it suitable
104
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
105
+ * @param obj - Plain object containing AvmBytecodeCommitmentHint fields
106
+ * @returns An AvmBytecodeCommitmentHint instance
107
+ */
108
+ static fromPlainObject(obj: any): AvmBytecodeCommitmentHint {
109
+ if (obj instanceof AvmBytecodeCommitmentHint) {
110
+ return obj;
111
+ }
112
+ return new AvmBytecodeCommitmentHint(
113
+ obj.hintKey,
114
+ Fr.fromPlainObject(obj.classId),
115
+ Fr.fromPlainObject(obj.commitment),
116
+ );
67
117
  }
68
118
  }
69
119
 
70
120
  export class AvmContractInstanceHint {
71
121
  constructor(
122
+ public readonly hintKey: number,
72
123
  public readonly address: AztecAddress,
73
124
  public readonly salt: Fr,
74
125
  public readonly deployer: AztecAddress,
@@ -81,6 +132,7 @@ export class AvmContractInstanceHint {
81
132
  static get schema() {
82
133
  return z
83
134
  .object({
135
+ hintKey: z.number().int().nonnegative(),
84
136
  address: AztecAddress.schema,
85
137
  salt: schemas.Fr,
86
138
  deployer: AztecAddress.schema,
@@ -91,6 +143,7 @@ export class AvmContractInstanceHint {
91
143
  })
92
144
  .transform(
93
145
  ({
146
+ hintKey,
94
147
  address,
95
148
  salt,
96
149
  deployer,
@@ -100,6 +153,7 @@ export class AvmContractInstanceHint {
100
153
  publicKeys,
101
154
  }) =>
102
155
  new AvmContractInstanceHint(
156
+ hintKey,
103
157
  address,
104
158
  salt,
105
159
  deployer,
@@ -110,6 +164,65 @@ export class AvmContractInstanceHint {
110
164
  ),
111
165
  );
112
166
  }
167
+
168
+ /**
169
+ * Creates an AvmContractInstanceHint from a plain object without Zod validation.
170
+ * This method is optimized for performance and skips validation, making it suitable
171
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
172
+ * @param obj - Plain object containing AvmContractInstanceHint fields
173
+ * @returns An AvmContractInstanceHint instance
174
+ */
175
+ static fromPlainObject(obj: any): AvmContractInstanceHint {
176
+ if (obj instanceof AvmContractInstanceHint) {
177
+ return obj;
178
+ }
179
+ return new AvmContractInstanceHint(
180
+ obj.hintKey,
181
+ AztecAddress.fromPlainObject(obj.address),
182
+ Fr.fromPlainObject(obj.salt),
183
+ AztecAddress.fromPlainObject(obj.deployer),
184
+ Fr.fromPlainObject(obj.currentContractClassId),
185
+ Fr.fromPlainObject(obj.originalContractClassId),
186
+ Fr.fromPlainObject(obj.initializationHash),
187
+ PublicKeys.fromPlainObject(obj.publicKeys),
188
+ );
189
+ }
190
+ }
191
+
192
+ export class AvmDebugFunctionNameHint {
193
+ constructor(
194
+ public readonly address: AztecAddress,
195
+ public readonly selector: Fr,
196
+ public readonly name: string,
197
+ ) {}
198
+
199
+ static get schema() {
200
+ return z
201
+ .object({
202
+ address: AztecAddress.schema,
203
+ selector: schemas.Fr,
204
+ name: z.string(),
205
+ })
206
+ .transform(({ address, selector, name }) => new AvmDebugFunctionNameHint(address, selector, name));
207
+ }
208
+
209
+ /**
210
+ * Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
211
+ * This method is optimized for performance and skips validation, making it suitable
212
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
213
+ * @param obj - Plain object containing AvmDebugFunctionNameHint fields
214
+ * @returns An AvmDebugFunctionNameHint instance
215
+ */
216
+ static fromPlainObject(obj: any): AvmDebugFunctionNameHint {
217
+ if (obj instanceof AvmDebugFunctionNameHint) {
218
+ return obj;
219
+ }
220
+ return new AvmDebugFunctionNameHint(
221
+ AztecAddress.fromPlainObject(obj.address),
222
+ Fr.fromPlainObject(obj.selector),
223
+ obj.name,
224
+ );
225
+ }
113
226
  }
114
227
 
115
228
  ////////////////////////////////////////////////////////////////////////////
@@ -136,6 +249,25 @@ export class AvmGetSiblingPathHint {
136
249
  })
137
250
  .transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
138
251
  }
252
+
253
+ /**
254
+ * Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
255
+ * This method is optimized for performance and skips validation, making it suitable
256
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
257
+ * @param obj - Plain object containing AvmGetSiblingPathHint fields
258
+ * @returns An AvmGetSiblingPathHint instance
259
+ */
260
+ static fromPlainObject(obj: any): AvmGetSiblingPathHint {
261
+ if (obj instanceof AvmGetSiblingPathHint) {
262
+ return obj;
263
+ }
264
+ return new AvmGetSiblingPathHint(
265
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
266
+ obj.treeId,
267
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
268
+ obj.path.map((p: any) => Fr.fromPlainObject(p)),
269
+ );
270
+ }
139
271
  }
140
272
 
141
273
  // Hint for MerkleTreeDB.getPreviousValueIndex.
@@ -164,6 +296,26 @@ export class AvmGetPreviousValueIndexHint {
164
296
  new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
165
297
  );
166
298
  }
299
+
300
+ /**
301
+ * Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
302
+ * This method is optimized for performance and skips validation, making it suitable
303
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
304
+ * @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
305
+ * @returns An AvmGetPreviousValueIndexHint instance
306
+ */
307
+ static fromPlainObject(obj: any): AvmGetPreviousValueIndexHint {
308
+ if (obj instanceof AvmGetPreviousValueIndexHint) {
309
+ return obj;
310
+ }
311
+ return new AvmGetPreviousValueIndexHint(
312
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
313
+ obj.treeId,
314
+ Fr.fromPlainObject(obj.value),
315
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
316
+ obj.alreadyPresent,
317
+ );
318
+ }
167
319
  }
168
320
 
169
321
  type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
@@ -191,6 +343,24 @@ function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
191
343
  })
192
344
  .transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
193
345
  }
346
+
347
+ /**
348
+ * Creates an instance from a plain object without Zod validation.
349
+ * This method is optimized for performance and skips validation, making it suitable
350
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
351
+ * @param obj - Plain object containing hint fields
352
+ * @returns An instance
353
+ */
354
+ static fromPlainObject(obj: any): any {
355
+ if (obj instanceof this) {
356
+ return obj;
357
+ }
358
+ return new this(
359
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
360
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
361
+ klass.fromPlainObject(obj.leafPreimage),
362
+ );
363
+ }
194
364
  };
195
365
  }
196
366
 
@@ -220,6 +390,25 @@ export class AvmGetLeafValueHint {
220
390
  })
221
391
  .transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
222
392
  }
393
+
394
+ /**
395
+ * Creates an AvmGetLeafValueHint from a plain object without Zod validation.
396
+ * This method is optimized for performance and skips validation, making it suitable
397
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
398
+ * @param obj - Plain object containing AvmGetLeafValueHint fields
399
+ * @returns An AvmGetLeafValueHint instance
400
+ */
401
+ static fromPlainObject(obj: any): AvmGetLeafValueHint {
402
+ if (obj instanceof AvmGetLeafValueHint) {
403
+ return obj;
404
+ }
405
+ return new AvmGetLeafValueHint(
406
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
407
+ obj.treeId,
408
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
409
+ Fr.fromPlainObject(obj.value),
410
+ );
411
+ }
223
412
  }
224
413
 
225
414
  // Hint for MerkleTreeDB.sequentialInsert.
@@ -269,6 +458,43 @@ function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses)
269
458
  new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
270
459
  );
271
460
  }
461
+
462
+ /**
463
+ * Creates an instance from a plain object without Zod validation.
464
+ * This method is optimized for performance and skips validation, making it suitable
465
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
466
+ * @param obj - Plain object containing hint fields
467
+ * @returns An instance
468
+ */
469
+ static fromPlainObject(obj: any): any {
470
+ if (obj instanceof this) {
471
+ return obj;
472
+ }
473
+ // Determine the leaf class based on the klass parameter
474
+ const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
475
+ return new this(
476
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
477
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
478
+ obj.treeId,
479
+ LeafClass.fromPlainObject(obj.leaf),
480
+ {
481
+ leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
482
+ index:
483
+ typeof obj.lowLeavesWitnessData.index === 'bigint'
484
+ ? obj.lowLeavesWitnessData.index
485
+ : BigInt(obj.lowLeavesWitnessData.index),
486
+ path: obj.lowLeavesWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
487
+ },
488
+ {
489
+ leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
490
+ index:
491
+ typeof obj.insertionWitnessData.index === 'bigint'
492
+ ? obj.insertionWitnessData.index
493
+ : BigInt(obj.insertionWitnessData.index),
494
+ path: obj.insertionWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
495
+ },
496
+ );
497
+ }
272
498
  };
273
499
  }
274
500
 
@@ -299,6 +525,25 @@ export class AvmAppendLeavesHint {
299
525
  ({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
300
526
  );
301
527
  }
528
+
529
+ /**
530
+ * Creates an AvmAppendLeavesHint from a plain object without Zod validation.
531
+ * This method is optimized for performance and skips validation, making it suitable
532
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
533
+ * @param obj - Plain object containing AvmAppendLeavesHint fields
534
+ * @returns An AvmAppendLeavesHint instance
535
+ */
536
+ static fromPlainObject(obj: any): AvmAppendLeavesHint {
537
+ if (obj instanceof AvmAppendLeavesHint) {
538
+ return obj;
539
+ }
540
+ return new AvmAppendLeavesHint(
541
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
542
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
543
+ obj.treeId,
544
+ obj.leaves.map((l: any) => Fr.fromPlainObject(l)),
545
+ );
546
+ }
302
547
  }
303
548
 
304
549
  // Hint for checkpoint actions that don't change the state.
@@ -323,6 +568,20 @@ class AvmCheckpointActionNoStateChangeHint {
323
568
  new this(actionCounter, oldCheckpointId, newCheckpointId),
324
569
  );
325
570
  }
571
+
572
+ /**
573
+ * Creates an instance from a plain object without Zod validation.
574
+ * This method is optimized for performance and skips validation, making it suitable
575
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
576
+ * @param obj - Plain object containing hint fields
577
+ * @returns An instance
578
+ */
579
+ static fromPlainObject(obj: any): any {
580
+ if (obj instanceof this) {
581
+ return obj;
582
+ }
583
+ return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
584
+ }
326
585
  }
327
586
 
328
587
  // Hint for MerkleTreeDB.createCheckpoint.
@@ -385,8 +644,32 @@ export class AvmRevertCheckpointHint {
385
644
  new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
386
645
  );
387
646
  }
647
+
648
+ /**
649
+ * Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
650
+ * This method is optimized for performance and skips validation, making it suitable
651
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
652
+ * @param obj - Plain object containing AvmRevertCheckpointHint fields
653
+ * @returns An AvmRevertCheckpointHint instance
654
+ */
655
+ static fromPlainObject(obj: any): AvmRevertCheckpointHint {
656
+ if (obj instanceof AvmRevertCheckpointHint) {
657
+ return obj;
658
+ }
659
+ return new AvmRevertCheckpointHint(
660
+ obj.actionCounter,
661
+ obj.oldCheckpointId,
662
+ obj.newCheckpointId,
663
+ TreeSnapshots.fromPlainObject(obj.stateBefore),
664
+ TreeSnapshots.fromPlainObject(obj.stateAfter),
665
+ );
666
+ }
388
667
  }
389
668
 
669
+ export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
670
+ export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
671
+ export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
672
+
390
673
  ////////////////////////////////////////////////////////////////////////////
391
674
  // Hints (other)
392
675
  ////////////////////////////////////////////////////////////////////////////
@@ -395,6 +678,8 @@ export class AvmTxHint {
395
678
  public readonly hash: string,
396
679
  public readonly gasSettings: GasSettings,
397
680
  public readonly effectiveGasFees: GasFees,
681
+ public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
682
+ public readonly revertibleContractDeploymentData: ContractDeploymentData,
398
683
  public readonly nonRevertibleAccumulatedData: {
399
684
  noteHashes: Fr[];
400
685
  nullifiers: Fr[];
@@ -420,6 +705,7 @@ export class AvmTxHint {
420
705
  const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
421
706
  const gasSettings = tx.data.constants.txContext.gasSettings;
422
707
  const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
708
+ const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
423
709
 
424
710
  // For informational purposes. Assumed quick because it should be cached.
425
711
  const txHash = tx.getTxHash();
@@ -428,6 +714,8 @@ export class AvmTxHint {
428
714
  txHash.hash.toString(),
429
715
  gasSettings,
430
716
  effectiveGasFees,
717
+ allContractDeploymentData.getNonRevertibleContractDeploymentData(),
718
+ allContractDeploymentData.getRevertibleContractDeploymentData(),
431
719
  {
432
720
  noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
433
721
  nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
@@ -451,6 +739,8 @@ export class AvmTxHint {
451
739
  '',
452
740
  GasSettings.empty(),
453
741
  GasFees.empty(),
742
+ ContractDeploymentData.empty(),
743
+ ContractDeploymentData.empty(),
454
744
  { noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
455
745
  { noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
456
746
  [],
@@ -461,12 +751,53 @@ export class AvmTxHint {
461
751
  );
462
752
  }
463
753
 
754
+ /**
755
+ * Creates an AvmTxHint from a plain object without Zod validation.
756
+ * This method is optimized for performance and skips validation, making it suitable
757
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
758
+ * @param obj - Plain object containing AvmTxHint fields
759
+ * @returns An AvmTxHint instance
760
+ */
761
+ static fromPlainObject(obj: any): AvmTxHint {
762
+ if (obj instanceof AvmTxHint) {
763
+ return obj;
764
+ }
765
+ return new AvmTxHint(
766
+ obj.hash,
767
+ GasSettings.fromPlainObject(obj.gasSettings),
768
+ GasFees.fromPlainObject(obj.effectiveGasFees),
769
+ ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData),
770
+ ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData),
771
+ {
772
+ noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
773
+ nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
774
+ l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
775
+ ScopedL2ToL1Message.fromPlainObject(m),
776
+ ),
777
+ },
778
+ {
779
+ noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
780
+ nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
781
+ l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
782
+ ScopedL2ToL1Message.fromPlainObject(m),
783
+ ),
784
+ },
785
+ obj.setupEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
786
+ obj.appLogicEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
787
+ obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null,
788
+ Gas.fromPlainObject(obj.gasUsedByPrivate),
789
+ AztecAddress.fromPlainObject(obj.feePayer),
790
+ );
791
+ }
792
+
464
793
  static get schema() {
465
794
  return z
466
795
  .object({
467
796
  hash: z.string(),
468
797
  gasSettings: GasSettings.schema,
469
798
  effectiveGasFees: GasFees.schema,
799
+ nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
800
+ revertibleContractDeploymentData: ContractDeploymentData.schema,
470
801
  nonRevertibleAccumulatedData: z.object({
471
802
  noteHashes: schemas.Fr.array(),
472
803
  nullifiers: schemas.Fr.array(),
@@ -488,6 +819,8 @@ export class AvmTxHint {
488
819
  hash,
489
820
  gasSettings,
490
821
  effectiveGasFees,
822
+ nonRevertibleContractDeploymentData,
823
+ revertibleContractDeploymentData,
491
824
  nonRevertibleAccumulatedData,
492
825
  revertibleAccumulatedData,
493
826
  setupEnqueuedCalls,
@@ -500,6 +833,8 @@ export class AvmTxHint {
500
833
  hash,
501
834
  gasSettings,
502
835
  effectiveGasFees,
836
+ nonRevertibleContractDeploymentData,
837
+ revertibleContractDeploymentData,
503
838
  nonRevertibleAccumulatedData,
504
839
  revertibleAccumulatedData,
505
840
  setupEnqueuedCalls,
@@ -522,6 +857,10 @@ export class AvmExecutionHints {
522
857
  public readonly contractInstances: AvmContractInstanceHint[] = [],
523
858
  public readonly contractClasses: AvmContractClassHint[] = [],
524
859
  public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
860
+ public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
861
+ public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
862
+ public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
863
+ public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
525
864
  // Merkle DB hints.
526
865
  public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
527
866
  public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
@@ -537,6 +876,50 @@ export class AvmExecutionHints {
537
876
  public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
538
877
  ) {}
539
878
 
879
+ /**
880
+ * Creates an AvmExecutionHints from a plain object without Zod validation.
881
+ * This method is optimized for performance and skips validation, making it suitable
882
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
883
+ * @param obj - Plain object containing AvmExecutionHints fields
884
+ * @returns An AvmExecutionHints instance
885
+ */
886
+ static fromPlainObject(obj: any): AvmExecutionHints {
887
+ if (obj instanceof AvmExecutionHints) {
888
+ return obj;
889
+ }
890
+ return new AvmExecutionHints(
891
+ GlobalVariables.fromPlainObject(obj.globalVariables),
892
+ AvmTxHint.fromPlainObject(obj.tx),
893
+ ProtocolContracts.fromPlainObject(obj.protocolContracts),
894
+ obj.contractInstances?.map((i: any) => AvmContractInstanceHint.fromPlainObject(i)) || [],
895
+ obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
896
+ obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
897
+ obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
898
+ obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
899
+ obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
900
+ obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
901
+ obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
902
+ obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
903
+ obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
904
+ obj.getLeafPreimageHintsPublicDataTree?.map((h: any) =>
905
+ AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h),
906
+ ) || [],
907
+ obj.getLeafPreimageHintsNullifierTree?.map((h: any) => AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) ||
908
+ [],
909
+ obj.getLeafValueHints?.map((h: any) => AvmGetLeafValueHint.fromPlainObject(h)) || [],
910
+ obj.sequentialInsertHintsPublicDataTree?.map((h: any) =>
911
+ AvmSequentialInsertHintPublicDataTree.fromPlainObject(h),
912
+ ) || [],
913
+ obj.sequentialInsertHintsNullifierTree?.map((h: any) =>
914
+ AvmSequentialInsertHintNullifierTree.fromPlainObject(h),
915
+ ) || [],
916
+ obj.appendLeavesHints?.map((h: any) => AvmAppendLeavesHint.fromPlainObject(h)) || [],
917
+ obj.createCheckpointHints?.map((h: any) => AvmCreateCheckpointHint.fromPlainObject(h)) || [],
918
+ obj.commitCheckpointHints?.map((h: any) => AvmCommitCheckpointHint.fromPlainObject(h)) || [],
919
+ obj.revertCheckpointHints?.map((h: any) => AvmRevertCheckpointHint.fromPlainObject(h)) || [],
920
+ );
921
+ }
922
+
540
923
  static empty() {
541
924
  return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
542
925
  }
@@ -550,6 +933,10 @@ export class AvmExecutionHints {
550
933
  contractInstances: AvmContractInstanceHint.schema.array(),
551
934
  contractClasses: AvmContractClassHint.schema.array(),
552
935
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
936
+ debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
937
+ contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
938
+ contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
939
+ contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
553
940
  startingTreeRoots: TreeSnapshots.schema,
554
941
  getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
555
942
  getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
@@ -571,6 +958,10 @@ export class AvmExecutionHints {
571
958
  contractInstances,
572
959
  contractClasses,
573
960
  bytecodeCommitments,
961
+ debugFunctionNames,
962
+ contractDbCreateCheckpointHints,
963
+ contractDbCommitCheckpointHints,
964
+ contractDbRevertCheckpointHints,
574
965
  startingTreeRoots,
575
966
  getSiblingPathHints,
576
967
  getPreviousValueIndexHints,
@@ -591,6 +982,10 @@ export class AvmExecutionHints {
591
982
  contractInstances,
592
983
  contractClasses,
593
984
  bytecodeCommitments,
985
+ debugFunctionNames,
986
+ contractDbCreateCheckpointHints,
987
+ contractDbCommitCheckpointHints,
988
+ contractDbRevertCheckpointHints,
594
989
  startingTreeRoots,
595
990
  getSiblingPathHints,
596
991
  getPreviousValueIndexHints,
@@ -618,6 +1013,13 @@ export class AvmCircuitInputs {
618
1013
  return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
619
1014
  }
620
1015
 
1016
+ static fromPlainObject(obj: any): AvmCircuitInputs {
1017
+ return new AvmCircuitInputs(
1018
+ AvmExecutionHints.fromPlainObject(obj.hints),
1019
+ AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
1020
+ );
1021
+ }
1022
+
621
1023
  static get schema() {
622
1024
  return z
623
1025
  .object({
@@ -639,3 +1041,157 @@ export class AvmCircuitInputs {
639
1041
  return jsonParseWithSchema(buf.toString(), this.schema);
640
1042
  }
641
1043
  }
1044
+
1045
+ export class PublicTxResult {
1046
+ constructor(
1047
+ // Simulation result.
1048
+ public gasUsed: GasUsed,
1049
+ public revertCode: RevertCode,
1050
+ public revertReason: SimulationError | undefined, // Revert reason, if any
1051
+ // These are only guaranteed to be present if the simulator is configured to collect them.
1052
+ // NOTE: This list will be populated with one NestedProcessReturnValues per app logic enqueued call.
1053
+ // IMPORTANT: The nesting will only be 1 level deep! You will get one result per enqueued call
1054
+ // but no information about nested calls. This can be added later.
1055
+ public appLogicReturnValues: NestedProcessReturnValues[], // One per enqueued call.
1056
+ public logs: DebugLog[] | undefined,
1057
+ // For the proving request.
1058
+ public hints: AvmExecutionHints | undefined,
1059
+ public publicInputs: AvmCircuitPublicInputs,
1060
+ ) {}
1061
+
1062
+ static empty() {
1063
+ return new PublicTxResult(
1064
+ {
1065
+ totalGas: Gas.empty(),
1066
+ teardownGas: Gas.empty(),
1067
+ publicGas: Gas.empty(),
1068
+ billedGas: Gas.empty(),
1069
+ },
1070
+ RevertCode.OK,
1071
+ /*revertReason=*/ undefined,
1072
+ /*appLogicReturnValues=*/ [],
1073
+ /*logs=*/ [],
1074
+ /*hints=*/ AvmExecutionHints.empty(),
1075
+ /*publicInputs=*/ AvmCircuitPublicInputs.empty(),
1076
+ );
1077
+ }
1078
+
1079
+ static get schema(): ZodFor<PublicTxResult> {
1080
+ return z
1081
+ .object({
1082
+ gasUsed: schemas.GasUsed,
1083
+ revertCode: RevertCode.schema,
1084
+ revertReason: NullishToUndefined(SimulationError.schema),
1085
+ appLogicReturnValues: NestedProcessReturnValues.schema.array(),
1086
+ logs: NullishToUndefined(DebugLog.schema.array()),
1087
+ // For the proving request.
1088
+ publicInputs: AvmCircuitPublicInputs.schema,
1089
+ hints: NullishToUndefined(AvmExecutionHints.schema),
1090
+ })
1091
+ .transform(
1092
+ ({ gasUsed, revertCode, revertReason, appLogicReturnValues, logs, hints, publicInputs }) =>
1093
+ new PublicTxResult(
1094
+ gasUsed,
1095
+ revertCode as RevertCode,
1096
+ revertReason,
1097
+ appLogicReturnValues,
1098
+ logs,
1099
+ hints,
1100
+ publicInputs,
1101
+ ),
1102
+ );
1103
+ }
1104
+
1105
+ static fromPlainObject(obj: any): PublicTxResult {
1106
+ return new PublicTxResult(
1107
+ GasUsed.fromPlainObject(obj.gasUsed),
1108
+ RevertCode.fromPlainObject(obj.revertCode),
1109
+ /*revertReason=*/ undefined, // TODO(fcarreiro/mwood): add.
1110
+ /*appLogicReturnValues=*/ obj.appLogicReturnValues.map(NestedProcessReturnValues.fromPlainObject),
1111
+ obj.logs?.map(DebugLog.fromPlainObject),
1112
+ obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined,
1113
+ AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
1114
+ );
1115
+ }
1116
+ }
1117
+
1118
+ export class PublicSimulatorConfig {
1119
+ constructor(
1120
+ public readonly proverId: Fr,
1121
+ public readonly skipFeeEnforcement: boolean,
1122
+ public readonly collectCallMetadata: boolean, // appLogicReturnValues.
1123
+ public readonly collectHints: boolean, // hints.
1124
+ public readonly collectDebugLogs: boolean, // logs.
1125
+ public readonly maxDebugLogMemoryReads: number,
1126
+ public readonly collectStatistics: boolean, // timings etc.
1127
+ ) {}
1128
+
1129
+ static from(obj: Partial<PublicSimulatorConfig>): PublicSimulatorConfig {
1130
+ return new PublicSimulatorConfig(
1131
+ obj.proverId ?? Fr.ZERO,
1132
+ obj.skipFeeEnforcement ?? false,
1133
+ obj.collectCallMetadata ?? false,
1134
+ obj.collectHints ?? false,
1135
+ obj.collectDebugLogs ?? false,
1136
+ obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
1137
+ obj.collectStatistics ?? false,
1138
+ );
1139
+ }
1140
+
1141
+ static empty() {
1142
+ return PublicSimulatorConfig.from({});
1143
+ }
1144
+
1145
+ static get schema() {
1146
+ return z
1147
+ .object({
1148
+ proverId: Fr.schema,
1149
+ skipFeeEnforcement: z.boolean(),
1150
+ collectCallMetadata: z.boolean(),
1151
+ collectHints: z.boolean(),
1152
+ collectDebugLogs: z.boolean(),
1153
+ maxDebugLogMemoryReads: z.number(),
1154
+ collectStatistics: z.boolean(),
1155
+ })
1156
+ .transform(PublicSimulatorConfig.from);
1157
+ }
1158
+ }
1159
+
1160
+ export class AvmFastSimulationInputs {
1161
+ constructor(
1162
+ public readonly wsRevision: WorldStateRevision,
1163
+ public readonly config: PublicSimulatorConfig,
1164
+ public tx: AvmTxHint,
1165
+ public globalVariables: GlobalVariables,
1166
+ public protocolContracts: ProtocolContracts,
1167
+ ) {}
1168
+
1169
+ static empty() {
1170
+ return new AvmFastSimulationInputs(
1171
+ WorldStateRevision.empty(),
1172
+ PublicSimulatorConfig.empty(),
1173
+ AvmTxHint.empty(),
1174
+ GlobalVariables.empty(),
1175
+ ProtocolContracts.empty(),
1176
+ );
1177
+ }
1178
+
1179
+ static get schema() {
1180
+ return z
1181
+ .object({
1182
+ wsRevision: WorldStateRevision.schema,
1183
+ config: PublicSimulatorConfig.schema,
1184
+ tx: AvmTxHint.schema,
1185
+ globalVariables: GlobalVariables.schema,
1186
+ protocolContracts: ProtocolContracts.schema,
1187
+ })
1188
+ .transform(
1189
+ ({ wsRevision, config, tx, globalVariables, protocolContracts }) =>
1190
+ new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts),
1191
+ );
1192
+ }
1193
+
1194
+ public serializeWithMessagePack(): Buffer {
1195
+ return serializeWithMessagePack(this);
1196
+ }
1197
+ }