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

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 (855) 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 +4356 -2061
  30. package/dest/avm/avm.d.ts.map +1 -1
  31. package/dest/avm/avm.js +529 -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 +160 -148
  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 +2031 -1507
  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/block_parameter.d.ts +5 -0
  71. package/dest/block/block_parameter.d.ts.map +1 -0
  72. package/dest/block/block_parameter.js +6 -0
  73. package/dest/block/body.d.ts +8 -8
  74. package/dest/block/body.d.ts.map +1 -1
  75. package/dest/block/body.js +11 -27
  76. package/dest/block/in_block.d.ts +14 -19
  77. package/dest/block/in_block.d.ts.map +1 -1
  78. package/dest/block/in_block.js +3 -3
  79. package/dest/block/index.d.ts +3 -2
  80. package/dest/block/index.d.ts.map +1 -1
  81. package/dest/block/index.js +2 -1
  82. package/dest/block/l2_block.d.ts +18 -10
  83. package/dest/block/l2_block.d.ts.map +1 -1
  84. package/dest/block/l2_block.js +56 -5
  85. package/dest/block/l2_block_code_to_purge.d.ts +1 -1
  86. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  87. package/dest/block/l2_block_code_to_purge.js +6 -5
  88. package/dest/block/l2_block_header.d.ts +12 -14
  89. package/dest/block/l2_block_header.d.ts.map +1 -1
  90. package/dest/block/l2_block_header.js +18 -11
  91. package/dest/block/l2_block_info.d.ts +21 -16
  92. package/dest/block/l2_block_info.d.ts.map +1 -1
  93. package/dest/block/l2_block_info.js +7 -6
  94. package/dest/block/l2_block_new.d.ts +110 -0
  95. package/dest/block/l2_block_new.d.ts.map +1 -0
  96. package/dest/block/l2_block_new.js +138 -0
  97. package/dest/block/l2_block_source.d.ts +71 -104
  98. package/dest/block/l2_block_source.d.ts.map +1 -1
  99. package/dest/block/l2_block_source.js +5 -11
  100. package/dest/block/l2_block_stream/index.d.ts +1 -1
  101. package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
  103. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_block_stream.js +4 -3
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_memory_store.js +4 -2
  108. package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
  109. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  110. package/dest/block/proposal/attestations_and_signers.js +14 -0
  111. package/dest/block/proposal/committee_attestation.d.ts +1 -1
  112. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  113. package/dest/block/proposal/index.d.ts +1 -1
  114. package/dest/block/published_l2_block.d.ts +15 -28
  115. package/dest/block/published_l2_block.d.ts.map +1 -1
  116. package/dest/block/published_l2_block.js +12 -27
  117. package/dest/block/test/index.d.ts +1 -1
  118. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  119. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  120. package/dest/block/test/l2_tips_store_test_suite.js +6 -4
  121. package/dest/block/validate_block_result.d.ts +6 -178
  122. package/dest/block/validate_block_result.d.ts.map +1 -1
  123. package/dest/block/validate_block_result.js +4 -3
  124. package/dest/checkpoint/checkpoint.d.ts +124 -0
  125. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  126. package/dest/checkpoint/checkpoint.js +62 -0
  127. package/dest/checkpoint/index.d.ts +3 -2
  128. package/dest/checkpoint/index.d.ts.map +1 -1
  129. package/dest/checkpoint/index.js +2 -1
  130. package/dest/checkpoint/published_checkpoint.d.ts +214 -0
  131. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  132. package/dest/checkpoint/published_checkpoint.js +71 -0
  133. package/dest/config/chain-config.d.ts +1 -1
  134. package/dest/config/index.d.ts +1 -1
  135. package/dest/config/node-rpc-config.d.ts +1 -1
  136. package/dest/contract/artifact_hash.d.ts +2 -2
  137. package/dest/contract/artifact_hash.d.ts.map +1 -1
  138. package/dest/contract/complete_address.d.ts +1 -4
  139. package/dest/contract/complete_address.d.ts.map +1 -1
  140. package/dest/contract/contract_address.d.ts +1 -1
  141. package/dest/contract/contract_class.d.ts +1 -1
  142. package/dest/contract/contract_class_id.d.ts +1 -1
  143. package/dest/contract/contract_class_metadata.d.ts +1 -1
  144. package/dest/contract/contract_deployment_data.d.ts +119 -0
  145. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  146. package/dest/contract/contract_deployment_data.js +99 -0
  147. package/dest/contract/contract_function_dao.d.ts +1 -1
  148. package/dest/contract/contract_instance.d.ts +1 -1
  149. package/dest/contract/contract_instance.d.ts.map +1 -1
  150. package/dest/contract/contract_instance_update.d.ts +1 -1
  151. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  152. package/dest/contract/contract_metadata.d.ts +1 -1
  153. package/dest/contract/deployment_info.d.ts +1 -1
  154. package/dest/contract/index.d.ts +2 -1
  155. package/dest/contract/index.d.ts.map +1 -1
  156. package/dest/contract/index.js +1 -0
  157. package/dest/contract/interfaces/contract_class.d.ts +41 -122
  158. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  159. package/dest/contract/interfaces/contract_data_source.d.ts +3 -2
  160. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  161. package/dest/contract/interfaces/contract_instance.d.ts +11 -11
  162. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
  164. package/dest/contract/interfaces/index.d.ts +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +1 -1
  166. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  167. package/dest/contract/partial_address.d.ts +1 -1
  168. package/dest/contract/private_function.d.ts +1 -1
  169. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  170. package/dest/contract/private_function_membership_proof.js +1 -1
  171. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  172. package/dest/database-version/index.d.ts +1 -1
  173. package/dest/database-version/version_manager.d.ts +6 -8
  174. package/dest/database-version/version_manager.d.ts.map +1 -1
  175. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
  176. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  177. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
  178. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  179. package/dest/delayed_public_mutable/index.d.ts +1 -1
  180. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  181. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  182. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
  183. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  184. package/dest/epoch-helpers/index.d.ts +12 -11
  185. package/dest/epoch-helpers/index.d.ts.map +1 -1
  186. package/dest/epoch-helpers/index.js +10 -9
  187. package/dest/errors/index.d.ts +1 -1
  188. package/dest/errors/proving_error.d.ts +2 -2
  189. package/dest/errors/proving_error.d.ts.map +1 -1
  190. package/dest/errors/simulation_error.d.ts +1 -1
  191. package/dest/errors/simulation_error.d.ts.map +1 -1
  192. package/dest/fees/index.d.ts +1 -1
  193. package/dest/fees/transaction_fee.d.ts +1 -1
  194. package/dest/file-store/factory.d.ts +1 -1
  195. package/dest/file-store/gcs.d.ts +1 -1
  196. package/dest/file-store/gcs.d.ts.map +1 -1
  197. package/dest/file-store/http.d.ts +1 -1
  198. package/dest/file-store/http.d.ts.map +1 -1
  199. package/dest/file-store/http.js +8 -3
  200. package/dest/file-store/index.d.ts +1 -1
  201. package/dest/file-store/interface.d.ts +1 -1
  202. package/dest/file-store/local.d.ts +1 -1
  203. package/dest/file-store/local.d.ts.map +1 -1
  204. package/dest/file-store/s3.d.ts +1 -1
  205. package/dest/file-store/s3.d.ts.map +1 -1
  206. package/dest/file-store/s3.js +3 -7
  207. package/dest/gas/gas.d.ts +9 -1
  208. package/dest/gas/gas.d.ts.map +1 -1
  209. package/dest/gas/gas.js +12 -0
  210. package/dest/gas/gas_fees.d.ts +9 -1
  211. package/dest/gas/gas_fees.d.ts.map +1 -1
  212. package/dest/gas/gas_fees.js +12 -0
  213. package/dest/gas/gas_settings.d.ts +9 -1
  214. package/dest/gas/gas_settings.d.ts.map +1 -1
  215. package/dest/gas/gas_settings.js +12 -0
  216. package/dest/gas/gas_used.d.ts +13 -2
  217. package/dest/gas/gas_used.d.ts.map +1 -1
  218. package/dest/gas/gas_used.js +19 -1
  219. package/dest/gas/index.d.ts +1 -1
  220. package/dest/hash/hash.d.ts +11 -3
  221. package/dest/hash/hash.d.ts.map +1 -1
  222. package/dest/hash/hash.js +11 -1
  223. package/dest/hash/index.d.ts +1 -1
  224. package/dest/hash/map_slot.d.ts +1 -1
  225. package/dest/interfaces/allowed_element.d.ts +5 -5
  226. package/dest/interfaces/api_limit.d.ts +1 -1
  227. package/dest/interfaces/archiver.d.ts +6 -1
  228. package/dest/interfaces/archiver.d.ts.map +1 -1
  229. package/dest/interfaces/archiver.js +22 -14
  230. package/dest/interfaces/aztec-node-admin.d.ts +92 -85
  231. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  232. package/dest/interfaces/aztec-node.d.ts +30 -24
  233. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node.js +26 -24
  235. package/dest/interfaces/block-builder.d.ts +3 -2
  236. package/dest/interfaces/block-builder.d.ts.map +1 -1
  237. package/dest/interfaces/client.d.ts +1 -1
  238. package/dest/interfaces/configs.d.ts +31 -21
  239. package/dest/interfaces/configs.d.ts.map +1 -1
  240. package/dest/interfaces/configs.js +3 -1
  241. package/dest/interfaces/epoch-prover.d.ts +7 -7
  242. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  243. package/dest/interfaces/get_logs_response.d.ts +6 -4
  244. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  245. package/dest/interfaces/l2_logs_source.d.ts +4 -3
  246. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  247. package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
  248. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  249. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  250. package/dest/interfaces/p2p.d.ts +3 -2
  251. package/dest/interfaces/p2p.d.ts.map +1 -1
  252. package/dest/interfaces/p2p.js +1 -1
  253. package/dest/interfaces/private_kernel_prover.d.ts +1 -1
  254. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  255. package/dest/interfaces/prover-agent.d.ts +1 -1
  256. package/dest/interfaces/prover-broker.d.ts +1 -1
  257. package/dest/interfaces/prover-client.d.ts +5 -5
  258. package/dest/interfaces/prover-client.d.ts.map +1 -1
  259. package/dest/interfaces/prover-coordination.d.ts +1 -1
  260. package/dest/interfaces/prover-node.d.ts +1 -1
  261. package/dest/interfaces/proving-job-source.d.ts +1 -1
  262. package/dest/interfaces/proving-job.d.ts +1680 -1163
  263. package/dest/interfaces/proving-job.d.ts.map +1 -1
  264. package/dest/interfaces/proving-job.js +3 -2
  265. package/dest/interfaces/public_state_source.d.ts +1 -1
  266. package/dest/interfaces/server.d.ts +1 -1
  267. package/dest/interfaces/server_circuit_prover.d.ts +2 -3
  268. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  269. package/dest/interfaces/service.d.ts +1 -1
  270. package/dest/interfaces/slasher.d.ts +3 -3
  271. package/dest/interfaces/tx_provider.d.ts +3 -3
  272. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  273. package/dest/interfaces/validator.d.ts +27 -19
  274. package/dest/interfaces/validator.d.ts.map +1 -1
  275. package/dest/interfaces/validator.js +2 -1
  276. package/dest/interfaces/world_state.d.ts +9 -26
  277. package/dest/interfaces/world_state.d.ts.map +1 -1
  278. package/dest/interfaces/world_state.js +4 -3
  279. package/dest/kernel/claimed_length_array.d.ts +1 -1
  280. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  281. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  282. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  283. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  284. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
  285. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  286. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  287. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  288. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  289. package/dest/kernel/hints/index.d.ts +1 -1
  290. package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
  291. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  292. package/dest/kernel/hints/key_validation_request.d.ts +1 -2
  293. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  294. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
  295. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  296. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
  297. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  298. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
  299. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  300. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  301. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  302. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  303. package/dest/kernel/hints/read_request.d.ts +1 -7
  304. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  305. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  306. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  307. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
  308. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  309. package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
  310. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  311. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
  312. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  313. package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
  314. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  315. package/dest/kernel/index.d.ts +1 -1
  316. package/dest/kernel/log_hash.d.ts +1 -1
  317. package/dest/kernel/log_hash.d.ts.map +1 -1
  318. package/dest/kernel/note_hash.d.ts +1 -1
  319. package/dest/kernel/note_hash.d.ts.map +1 -1
  320. package/dest/kernel/nullifier.d.ts +1 -1
  321. package/dest/kernel/nullifier.d.ts.map +1 -1
  322. package/dest/kernel/padded_side_effects.d.ts +1 -1
  323. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  324. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  325. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  326. package/dest/kernel/private_call_data.d.ts +1 -25
  327. package/dest/kernel/private_call_data.d.ts.map +1 -1
  328. package/dest/kernel/private_call_request.d.ts +1 -16
  329. package/dest/kernel/private_call_request.d.ts.map +1 -1
  330. package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
  331. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  332. package/dest/kernel/private_circuit_public_inputs.js +17 -5
  333. package/dest/kernel/private_context_inputs.d.ts +1 -1
  334. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
  336. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  338. package/dest/kernel/private_kernel_data.d.ts +1 -7
  339. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  340. package/dest/kernel/private_kernel_data.js +0 -2
  341. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
  342. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
  344. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  345. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  347. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  348. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  349. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  350. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  351. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  352. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  353. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
  355. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  356. package/dest/kernel/private_log_data.d.ts +1 -1
  357. package/dest/kernel/private_log_data.d.ts.map +1 -1
  358. package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
  359. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  360. package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
  361. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  362. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  363. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
  364. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  365. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
  366. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  367. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
  368. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  369. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
  370. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  371. package/dest/kernel/private_validation_requests.d.ts +2 -24
  372. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  373. package/dest/kernel/private_validation_requests.js +5 -13
  374. package/dest/kernel/public_call_request.d.ts +22 -27
  375. package/dest/kernel/public_call_request.d.ts.map +1 -1
  376. package/dest/kernel/public_call_request.js +18 -0
  377. package/dest/kernel/utils/index.d.ts +1 -1
  378. package/dest/kernel/utils/interfaces.d.ts +1 -1
  379. package/dest/kernel/utils/optional_number.d.ts +1 -7
  380. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  381. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  382. package/dest/keys/derivation.d.ts +1 -1
  383. package/dest/keys/index.d.ts +1 -1
  384. package/dest/keys/key_types.d.ts +1 -1
  385. package/dest/keys/public_key.d.ts +1 -1
  386. package/dest/keys/public_keys.d.ts +9 -5
  387. package/dest/keys/public_keys.d.ts.map +1 -1
  388. package/dest/keys/public_keys.js +12 -0
  389. package/dest/keys/utils.d.ts +1 -1
  390. package/dest/l1-contracts/index.d.ts +1 -1
  391. package/dest/l1-contracts/slash_factory.d.ts +3 -3
  392. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  393. package/dest/logs/contract_class_log.d.ts +20 -4
  394. package/dest/logs/contract_class_log.d.ts.map +1 -1
  395. package/dest/logs/contract_class_log.js +24 -0
  396. package/dest/logs/debug_log.d.ts +10 -2
  397. package/dest/logs/debug_log.d.ts.map +1 -1
  398. package/dest/logs/debug_log.js +13 -0
  399. package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
  400. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  401. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  402. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  403. package/dest/logs/extended_public_log.d.ts +7 -7
  404. package/dest/logs/extended_public_log.d.ts.map +1 -1
  405. package/dest/logs/index.d.ts +1 -1
  406. package/dest/logs/log_filter.d.ts +1 -1
  407. package/dest/logs/log_id.d.ts +8 -8
  408. package/dest/logs/log_id.d.ts.map +1 -1
  409. package/dest/logs/log_id.js +5 -4
  410. package/dest/logs/log_with_tx_data.d.ts +1 -1
  411. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  412. package/dest/logs/message_context.d.ts +1 -1
  413. package/dest/logs/message_context.d.ts.map +1 -1
  414. package/dest/logs/pending_tagged_log.d.ts +1 -1
  415. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  416. package/dest/logs/pre_tag.d.ts +1 -1
  417. package/dest/logs/private_log.d.ts +10 -2
  418. package/dest/logs/private_log.d.ts.map +1 -1
  419. package/dest/logs/private_log.js +14 -5
  420. package/dest/logs/public_log.d.ts +9 -1
  421. package/dest/logs/public_log.d.ts.map +1 -1
  422. package/dest/logs/public_log.js +9 -0
  423. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  424. package/dest/logs/tx_scoped_l2_log.d.ts +14 -11
  425. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  426. package/dest/logs/tx_scoped_l2_log.js +4 -3
  427. package/dest/messaging/in_hash.d.ts +4 -0
  428. package/dest/messaging/in_hash.d.ts.map +1 -0
  429. package/dest/messaging/in_hash.js +8 -0
  430. package/dest/messaging/inbox_leaf.d.ts +1 -3
  431. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  432. package/dest/messaging/index.d.ts +3 -1
  433. package/dest/messaging/index.d.ts.map +1 -1
  434. package/dest/messaging/index.js +2 -0
  435. package/dest/messaging/l1_actor.d.ts +1 -7
  436. package/dest/messaging/l1_actor.d.ts.map +1 -1
  437. package/dest/messaging/l1_to_l2_message.d.ts +1 -6
  438. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  439. package/dest/messaging/l1_to_l2_message_source.d.ts +10 -3
  440. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  441. package/dest/messaging/l2_actor.d.ts +1 -7
  442. package/dest/messaging/l2_actor.d.ts.map +1 -1
  443. package/dest/messaging/l2_to_l1_membership.d.ts +4 -3
  444. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  445. package/dest/messaging/l2_to_l1_membership.js +2 -2
  446. package/dest/messaging/l2_to_l1_message.d.ts +17 -1
  447. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  448. package/dest/messaging/l2_to_l1_message.js +18 -0
  449. package/dest/messaging/out_hash.d.ts +5 -0
  450. package/dest/messaging/out_hash.d.ts.map +1 -0
  451. package/dest/messaging/out_hash.js +28 -0
  452. package/dest/noir/index.d.ts +7 -7
  453. package/dest/noir/index.d.ts.map +1 -1
  454. package/dest/noir/index.js +6 -6
  455. package/dest/note/comparator.d.ts +1 -1
  456. package/dest/note/index.d.ts +2 -2
  457. package/dest/note/index.d.ts.map +1 -1
  458. package/dest/note/index.js +1 -1
  459. package/dest/note/note.d.ts +2 -17
  460. package/dest/note/note.d.ts.map +1 -1
  461. package/dest/note/note_dao.d.ts +75 -0
  462. package/dest/note/note_dao.d.ts.map +1 -0
  463. package/dest/note/note_dao.js +106 -0
  464. package/dest/note/note_status.d.ts +1 -1
  465. package/dest/note/notes_filter.d.ts +3 -1
  466. package/dest/note/notes_filter.d.ts.map +1 -1
  467. package/dest/note/notes_filter.js +1 -0
  468. package/dest/p2p/attestation_utils.d.ts +1 -1
  469. package/dest/p2p/block_attestation.d.ts +5 -12
  470. package/dest/p2p/block_attestation.d.ts.map +1 -1
  471. package/dest/p2p/block_proposal.d.ts +3 -6
  472. package/dest/p2p/block_proposal.d.ts.map +1 -1
  473. package/dest/p2p/block_proposal.js +1 -1
  474. package/dest/p2p/client_type.d.ts +1 -1
  475. package/dest/p2p/consensus_payload.d.ts +10 -188
  476. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  477. package/dest/p2p/consensus_payload.js +16 -23
  478. package/dest/p2p/gossipable.d.ts +6 -5
  479. package/dest/p2p/gossipable.d.ts.map +1 -1
  480. package/dest/p2p/gossipable.js +16 -10
  481. package/dest/p2p/index.d.ts +1 -1
  482. package/dest/p2p/interface.d.ts +1 -1
  483. package/dest/p2p/message_validator.d.ts +1 -1
  484. package/dest/p2p/peer_error.d.ts +1 -1
  485. package/dest/p2p/signature_utils.d.ts +1 -1
  486. package/dest/p2p/topic_type.d.ts +1 -1
  487. package/dest/parity/index.d.ts +1 -1
  488. package/dest/parity/parity_base_private_inputs.d.ts +1 -3
  489. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  490. package/dest/parity/parity_public_inputs.d.ts +1 -4
  491. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  492. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  493. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  494. package/dest/proofs/chonk_proof.d.ts +1 -1
  495. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  496. package/dest/proofs/index.d.ts +1 -1
  497. package/dest/proofs/proof.d.ts +1 -4
  498. package/dest/proofs/proof.d.ts.map +1 -1
  499. package/dest/proofs/proof_data.d.ts +1 -1
  500. package/dest/proofs/proof_data.d.ts.map +1 -1
  501. package/dest/proofs/proving_request_type.d.ts +1 -1
  502. package/dest/proofs/recursive_proof.d.ts +2 -26
  503. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  504. package/dest/rollup/avm_proof_data.d.ts +1 -1
  505. package/dest/rollup/base_rollup_hints.d.ts +1 -34
  506. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  507. package/dest/rollup/block_constant_data.d.ts +1 -12
  508. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  509. package/dest/rollup/block_headers_hash.d.ts +4 -0
  510. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  511. package/dest/rollup/block_headers_hash.js +9 -0
  512. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  513. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  514. package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
  515. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  516. package/dest/rollup/block_rollup_public_inputs.js +8 -2
  517. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
  518. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  519. package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
  520. package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
  521. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  522. package/dest/rollup/checkpoint_constant_data.js +27 -3
  523. package/dest/rollup/checkpoint_header.d.ts +16 -14
  524. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  525. package/dest/rollup/checkpoint_header.js +40 -13
  526. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  527. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  528. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
  529. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  530. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
  531. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  532. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
  533. package/dest/rollup/epoch_constant_data.d.ts +1 -16
  534. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  535. package/dest/rollup/index.d.ts +2 -1
  536. package/dest/rollup/index.d.ts.map +1 -1
  537. package/dest/rollup/index.js +1 -0
  538. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  539. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  540. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
  541. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
  543. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  544. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  545. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  546. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  547. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  548. package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
  549. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  550. package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
  551. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  552. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  553. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
  555. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  556. package/dest/schemas/index.d.ts +1 -1
  557. package/dest/schemas/schemas.d.ts +86 -15
  558. package/dest/schemas/schemas.d.ts.map +1 -1
  559. package/dest/schemas/schemas.js +12 -1
  560. package/dest/slashing/empire.d.ts +1 -1
  561. package/dest/slashing/empire.d.ts.map +1 -1
  562. package/dest/slashing/empire.js +5 -4
  563. package/dest/slashing/helpers.d.ts +7 -6
  564. package/dest/slashing/helpers.d.ts.map +1 -1
  565. package/dest/slashing/helpers.js +8 -6
  566. package/dest/slashing/index.d.ts +1 -1
  567. package/dest/slashing/interfaces.d.ts +3 -2
  568. package/dest/slashing/interfaces.d.ts.map +1 -1
  569. package/dest/slashing/serialization.d.ts +1 -1
  570. package/dest/slashing/tally.d.ts +1 -1
  571. package/dest/slashing/types.d.ts +10 -10
  572. package/dest/snapshots/download.d.ts +1 -1
  573. package/dest/snapshots/index.d.ts +1 -1
  574. package/dest/snapshots/types.d.ts +18 -18
  575. package/dest/snapshots/upload.d.ts +1 -1
  576. package/dest/stats/index.d.ts +1 -1
  577. package/dest/stats/stats.d.ts +1 -1
  578. package/dest/tests/factories.d.ts +34 -29
  579. package/dest/tests/factories.d.ts.map +1 -1
  580. package/dest/tests/factories.js +76 -151
  581. package/dest/tests/fixtures.d.ts +1 -1
  582. package/dest/tests/index.d.ts +1 -1
  583. package/dest/tests/jest.d.ts +1 -1
  584. package/dest/tests/mocks.d.ts +54 -23
  585. package/dest/tests/mocks.d.ts.map +1 -1
  586. package/dest/tests/mocks.js +135 -34
  587. package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
  588. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  589. package/dest/trees/append_only_tree_snapshot.js +9 -9
  590. package/dest/trees/database_public_state_source.d.ts +1 -1
  591. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  592. package/dest/trees/index.d.ts +1 -1
  593. package/dest/trees/merkle_tree_id.d.ts +5 -5
  594. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  595. package/dest/trees/nullifier_leaf.d.ts +17 -13
  596. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  597. package/dest/trees/nullifier_leaf.js +24 -0
  598. package/dest/trees/nullifier_membership_witness.d.ts +4 -37
  599. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  600. package/dest/trees/public_data_leaf.d.ts +28 -27
  601. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  602. package/dest/trees/public_data_leaf.js +24 -0
  603. package/dest/trees/public_data_witness.d.ts +11 -45
  604. package/dest/trees/public_data_witness.d.ts.map +1 -1
  605. package/dest/tx/block_header.d.ts +7 -14
  606. package/dest/tx/block_header.d.ts.map +1 -1
  607. package/dest/tx/block_header.js +13 -2
  608. package/dest/tx/call_context.d.ts +6 -18
  609. package/dest/tx/call_context.d.ts.map +1 -1
  610. package/dest/tx/capsule.d.ts +1 -4
  611. package/dest/tx/capsule.d.ts.map +1 -1
  612. package/dest/tx/content_commitment.d.ts +3 -2
  613. package/dest/tx/content_commitment.d.ts.map +1 -1
  614. package/dest/tx/content_commitment.js +10 -2
  615. package/dest/tx/execution_payload.d.ts +37 -0
  616. package/dest/tx/execution_payload.d.ts.map +1 -0
  617. package/dest/tx/execution_payload.js +40 -0
  618. package/dest/tx/function_data.d.ts +4 -6
  619. package/dest/tx/function_data.d.ts.map +1 -1
  620. package/dest/tx/global_variable_builder.d.ts +3 -2
  621. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  622. package/dest/tx/global_variables.d.ts +52 -31
  623. package/dest/tx/global_variables.d.ts.map +1 -1
  624. package/dest/tx/global_variables.js +50 -10
  625. package/dest/tx/hashed_values.d.ts +1 -7
  626. package/dest/tx/hashed_values.d.ts.map +1 -1
  627. package/dest/tx/index.d.ts +2 -1
  628. package/dest/tx/index.d.ts.map +1 -1
  629. package/dest/tx/index.js +1 -0
  630. package/dest/tx/indexed_tx_effect.d.ts +9 -6
  631. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  632. package/dest/tx/indexed_tx_effect.js +5 -2
  633. package/dest/tx/offchain_effect.d.ts +1 -1
  634. package/dest/tx/partial_state_reference.d.ts +4 -7
  635. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  636. package/dest/tx/partial_state_reference.js +10 -10
  637. package/dest/tx/private_execution_result.d.ts +16 -51
  638. package/dest/tx/private_execution_result.d.ts.map +1 -1
  639. package/dest/tx/private_execution_result.js +6 -3
  640. package/dest/tx/private_tx_constant_data.d.ts +1 -16
  641. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  642. package/dest/tx/processed_tx.d.ts +2 -2
  643. package/dest/tx/processed_tx.d.ts.map +1 -1
  644. package/dest/tx/processed_tx.js +4 -1
  645. package/dest/tx/profiling.d.ts +38 -38
  646. package/dest/tx/profiling.d.ts.map +1 -1
  647. package/dest/tx/profiling.js +5 -4
  648. package/dest/tx/protocol_contracts.d.ts +10 -2
  649. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  650. package/dest/tx/protocol_contracts.js +9 -0
  651. package/dest/tx/proven_tx.d.ts +18 -18
  652. package/dest/tx/proven_tx.d.ts.map +1 -1
  653. package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
  654. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  655. package/dest/tx/public_call_request_with_calldata.js +12 -0
  656. package/dest/tx/public_simulation_output.d.ts +3 -1
  657. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  658. package/dest/tx/public_simulation_output.js +8 -1
  659. package/dest/tx/simulated_tx.d.ts +21 -21
  660. package/dest/tx/simulated_tx.d.ts.map +1 -1
  661. package/dest/tx/state_reference.d.ts +10 -12
  662. package/dest/tx/state_reference.d.ts.map +1 -1
  663. package/dest/tx/state_reference.js +9 -9
  664. package/dest/tx/tree_snapshots.d.ts +15 -7
  665. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  666. package/dest/tx/tree_snapshots.js +9 -0
  667. package/dest/tx/tx.d.ts +4 -18
  668. package/dest/tx/tx.d.ts.map +1 -1
  669. package/dest/tx/tx.js +6 -4
  670. package/dest/tx/tx_constant_data.d.ts +1 -1
  671. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  672. package/dest/tx/tx_context.d.ts +1 -2
  673. package/dest/tx/tx_context.d.ts.map +1 -1
  674. package/dest/tx/tx_effect.d.ts +20 -42
  675. package/dest/tx/tx_effect.d.ts.map +1 -1
  676. package/dest/tx/tx_effect.js +54 -59
  677. package/dest/tx/tx_execution_request.d.ts +1 -30
  678. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  679. package/dest/tx/tx_hash.d.ts +1 -2
  680. package/dest/tx/tx_hash.d.ts.map +1 -1
  681. package/dest/tx/tx_receipt.d.ts +4 -9
  682. package/dest/tx/tx_receipt.d.ts.map +1 -1
  683. package/dest/tx/tx_receipt.js +2 -1
  684. package/dest/tx/tx_request.d.ts +1 -6
  685. package/dest/tx/tx_request.d.ts.map +1 -1
  686. package/dest/tx/validator/empty_validator.d.ts +1 -1
  687. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  688. package/dest/tx/validator/error_texts.d.ts +1 -1
  689. package/dest/tx/validator/tx_validator.d.ts +5 -5
  690. package/dest/types/index.d.ts +1 -1
  691. package/dest/types/shared.d.ts +1 -4
  692. package/dest/types/shared.d.ts.map +1 -1
  693. package/dest/update-checker/index.d.ts +1 -1
  694. package/dest/update-checker/update-checker.d.ts +2 -3
  695. package/dest/update-checker/update-checker.d.ts.map +1 -1
  696. package/dest/validators/errors.d.ts +6 -7
  697. package/dest/validators/errors.d.ts.map +1 -1
  698. package/dest/validators/errors.js +2 -4
  699. package/dest/validators/index.d.ts +1 -1
  700. package/dest/validators/schemas.d.ts +266 -208
  701. package/dest/validators/schemas.d.ts.map +1 -1
  702. package/dest/validators/schemas.js +7 -7
  703. package/dest/validators/types.d.ts +10 -9
  704. package/dest/validators/types.d.ts.map +1 -1
  705. package/dest/versioning/index.d.ts +1 -1
  706. package/dest/versioning/versioning.d.ts +1 -1
  707. package/dest/versioning/versioning.d.ts.map +1 -1
  708. package/dest/vks/index.d.ts +1 -1
  709. package/dest/vks/verification_key.d.ts +10 -22
  710. package/dest/vks/verification_key.d.ts.map +1 -1
  711. package/dest/vks/verification_key.js +20 -0
  712. package/dest/vks/vk_data.d.ts +1 -7
  713. package/dest/vks/vk_data.d.ts.map +1 -1
  714. package/dest/world-state/index.d.ts +1 -1
  715. package/dest/world-state/world_state_revision.d.ts +34 -2
  716. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  717. package/dest/world-state/world_state_revision.js +24 -1
  718. package/dest/zkpassport/index.d.ts +1 -1
  719. package/dest/zkpassport/index.d.ts.map +1 -1
  720. package/package.json +12 -11
  721. package/src/abi/abi.ts +4 -4
  722. package/src/abi/contract_artifact.ts +3 -3
  723. package/src/avm/avm.ts +777 -6
  724. package/src/avm/avm_accumulated_data.ts +40 -0
  725. package/src/avm/avm_circuit_public_inputs.ts +40 -0
  726. package/src/avm/message_pack.ts +4 -1
  727. package/src/avm/public_data_write.ts +12 -1
  728. package/src/avm/revert_code.ts +29 -9
  729. package/src/aztec-address/index.ts +26 -2
  730. package/src/block/attestation_info.ts +8 -1
  731. package/src/block/block_parameter.ts +8 -0
  732. package/src/block/body.ts +16 -39
  733. package/src/block/in_block.ts +13 -9
  734. package/src/block/index.ts +2 -1
  735. package/src/block/l2_block.ts +70 -7
  736. package/src/block/l2_block_code_to_purge.ts +6 -4
  737. package/src/block/l2_block_header.ts +19 -5
  738. package/src/block/l2_block_info.ts +10 -9
  739. package/src/block/l2_block_new.ts +176 -0
  740. package/src/block/l2_block_source.ts +48 -29
  741. package/src/block/l2_block_stream/l2_block_stream.ts +10 -5
  742. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
  743. package/src/block/proposal/attestations_and_signers.ts +20 -1
  744. package/src/block/published_l2_block.ts +14 -31
  745. package/src/block/test/l2_tips_store_test_suite.ts +8 -3
  746. package/src/block/validate_block_result.ts +9 -7
  747. package/src/checkpoint/checkpoint.ts +88 -0
  748. package/src/checkpoint/index.ts +2 -1
  749. package/src/checkpoint/published_checkpoint.ts +91 -0
  750. package/src/contract/contract_deployment_data.ts +125 -0
  751. package/src/contract/index.ts +1 -0
  752. package/src/contract/interfaces/contract_data_source.ts +2 -1
  753. package/src/contract/private_function_membership_proof.ts +1 -1
  754. package/src/epoch-helpers/index.ts +28 -21
  755. package/src/file-store/http.ts +6 -3
  756. package/src/file-store/s3.ts +3 -7
  757. package/src/gas/gas.ts +14 -0
  758. package/src/gas/gas_fees.ts +14 -0
  759. package/src/gas/gas_settings.ts +19 -0
  760. package/src/gas/gas_used.ts +22 -1
  761. package/src/hash/hash.ts +13 -2
  762. package/src/interfaces/archiver.ts +27 -13
  763. package/src/interfaces/aztec-node.ts +64 -48
  764. package/src/interfaces/block-builder.ts +2 -1
  765. package/src/interfaces/configs.ts +6 -0
  766. package/src/interfaces/epoch-prover.ts +5 -6
  767. package/src/interfaces/l2_logs_source.ts +3 -2
  768. package/src/interfaces/merkle_tree_operations.ts +4 -3
  769. package/src/interfaces/p2p.ts +4 -2
  770. package/src/interfaces/proving-job.ts +14 -5
  771. package/src/interfaces/tx_provider.ts +2 -2
  772. package/src/interfaces/validator.ts +5 -2
  773. package/src/interfaces/world_state.ts +12 -11
  774. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  775. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  776. package/src/kernel/private_circuit_public_inputs.ts +29 -9
  777. package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
  778. package/src/kernel/private_kernel_data.ts +0 -2
  779. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
  780. package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
  781. package/src/kernel/private_validation_requests.ts +1 -13
  782. package/src/kernel/public_call_request.ts +27 -0
  783. package/src/keys/public_keys.ts +19 -0
  784. package/src/logs/contract_class_log.ts +32 -0
  785. package/src/logs/debug_log.ts +20 -1
  786. package/src/logs/log_id.ts +6 -5
  787. package/src/logs/private_log.ts +19 -3
  788. package/src/logs/public_log.ts +14 -0
  789. package/src/logs/tx_scoped_l2_log.ts +5 -4
  790. package/src/messaging/in_hash.ts +10 -0
  791. package/src/messaging/index.ts +2 -0
  792. package/src/messaging/l1_to_l2_message_source.ts +10 -2
  793. package/src/messaging/l2_to_l1_membership.ts +5 -4
  794. package/src/messaging/l2_to_l1_message.ts +25 -0
  795. package/src/messaging/out_hash.ts +36 -0
  796. package/src/noir/index.ts +6 -6
  797. package/src/note/index.ts +1 -1
  798. package/src/note/note_dao.ts +161 -0
  799. package/src/note/notes_filter.ts +3 -0
  800. package/src/p2p/block_attestation.ts +2 -1
  801. package/src/p2p/block_proposal.ts +3 -2
  802. package/src/p2p/consensus_payload.ts +16 -26
  803. package/src/p2p/gossipable.ts +17 -8
  804. package/src/rollup/block_headers_hash.ts +12 -0
  805. package/src/rollup/block_rollup_public_inputs.ts +8 -0
  806. package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
  807. package/src/rollup/checkpoint_constant_data.ts +43 -4
  808. package/src/rollup/checkpoint_header.ts +48 -22
  809. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
  810. package/src/rollup/index.ts +1 -0
  811. package/src/schemas/schemas.ts +18 -0
  812. package/src/slashing/empire.ts +6 -4
  813. package/src/slashing/helpers.ts +17 -12
  814. package/src/slashing/interfaces.ts +3 -1
  815. package/src/tests/factories.ts +213 -229
  816. package/src/tests/mocks.ts +230 -51
  817. package/src/trees/append_only_tree_snapshot.ts +11 -12
  818. package/src/trees/nullifier_leaf.ts +32 -0
  819. package/src/trees/public_data_leaf.ts +32 -0
  820. package/src/tx/block_header.ts +17 -4
  821. package/src/tx/content_commitment.ts +11 -2
  822. package/src/tx/execution_payload.ts +60 -0
  823. package/src/tx/global_variable_builder.ts +2 -1
  824. package/src/tx/global_variables.ts +69 -15
  825. package/src/tx/index.ts +1 -0
  826. package/src/tx/indexed_tx_effect.ts +5 -4
  827. package/src/tx/partial_state_reference.ts +9 -17
  828. package/src/tx/private_execution_result.ts +7 -4
  829. package/src/tx/processed_tx.ts +8 -2
  830. package/src/tx/profiling.ts +4 -6
  831. package/src/tx/protocol_contracts.ts +16 -0
  832. package/src/tx/public_call_request_with_calldata.ts +17 -0
  833. package/src/tx/public_simulation_output.ts +18 -1
  834. package/src/tx/state_reference.ts +9 -15
  835. package/src/tx/tree_snapshots.ts +16 -0
  836. package/src/tx/tx.ts +7 -6
  837. package/src/tx/tx_effect.ts +84 -90
  838. package/src/tx/tx_receipt.ts +3 -2
  839. package/src/validators/errors.ts +3 -4
  840. package/src/validators/schemas.ts +7 -7
  841. package/src/validators/types.ts +9 -8
  842. package/src/vks/verification_key.ts +25 -0
  843. package/src/world-state/world_state_revision.ts +47 -5
  844. package/dest/block/l2_block_number.d.ts +0 -5
  845. package/dest/block/l2_block_number.d.ts.map +0 -1
  846. package/dest/block/l2_block_number.js +0 -6
  847. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  848. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  849. package/dest/checkpoint/checkpoint_body.js +0 -9
  850. package/dest/note/unique_note.d.ts +0 -43
  851. package/dest/note/unique_note.d.ts.map +0 -1
  852. package/dest/note/unique_note.js +0 -67
  853. package/src/block/l2_block_number.ts +0 -8
  854. package/src/checkpoint/checkpoint_body.ts +0 -10
  855. package/src/note/unique_note.ts +0 -88
package/dest/avm/avm.js CHANGED
@@ -1,29 +1,41 @@
1
+ import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/fields';
1
3
  import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
2
- import { schemas } from '@aztec/foundation/schemas';
3
4
  import { z } from 'zod';
5
+ import { FunctionSelector } from '../abi/index.js';
4
6
  import { AztecAddress } from '../aztec-address/index.js';
7
+ import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
8
+ import { SimulationError } from '../errors/simulation_error.js';
5
9
  import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
6
10
  import { Gas } from '../gas/gas.js';
7
11
  import { GasFees } from '../gas/gas_fees.js';
8
12
  import { GasSettings } from '../gas/gas_settings.js';
13
+ import { GasUsed } from '../gas/gas_used.js';
9
14
  import { PublicKeys } from '../keys/public_keys.js';
15
+ import { DebugLog } from '../logs/debug_log.js';
10
16
  import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
17
+ import { NullishToUndefined, schemas } from '../schemas/schemas.js';
11
18
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
12
19
  import { MerkleTreeId } from '../trees/merkle_tree_id.js';
13
- import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
14
- import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
15
- import { GlobalVariables, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
20
+ import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
21
+ import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
22
+ import { GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
23
+ import { TxExecutionPhase } from '../tx/processed_tx.js';
24
+ import { WorldStateRevision } from '../world-state/world_state_revision.js';
16
25
  import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
17
26
  import { serializeWithMessagePack } from './message_pack.js';
27
+ import { RevertCode } from './revert_code.js';
18
28
  ////////////////////////////////////////////////////////////////////////////
19
29
  // Hints (contracts)
20
30
  ////////////////////////////////////////////////////////////////////////////
21
31
  export class AvmContractClassHint {
32
+ hintKey;
22
33
  classId;
23
34
  artifactHash;
24
35
  privateFunctionsRoot;
25
36
  packedBytecode;
26
- constructor(classId, artifactHash, privateFunctionsRoot, packedBytecode){
37
+ constructor(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode){
38
+ this.hintKey = hintKey;
27
39
  this.classId = classId;
28
40
  this.artifactHash = artifactHash;
29
41
  this.privateFunctionsRoot = privateFunctionsRoot;
@@ -31,28 +43,57 @@ export class AvmContractClassHint {
31
43
  }
32
44
  static get schema() {
33
45
  return z.object({
46
+ hintKey: z.number().int().nonnegative(),
34
47
  classId: schemas.Fr,
35
48
  artifactHash: schemas.Fr,
36
49
  privateFunctionsRoot: schemas.Fr,
37
50
  packedBytecode: schemas.Buffer
38
- }).transform(({ classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode));
51
+ }).transform(({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode));
52
+ }
53
+ /**
54
+ * Creates an AvmContractClassHint from a plain object without Zod validation.
55
+ * This method is optimized for performance and skips validation, making it suitable
56
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
57
+ * @param obj - Plain object containing AvmContractClassHint fields
58
+ * @returns An AvmContractClassHint instance
59
+ */ static fromPlainObject(obj) {
60
+ if (obj instanceof AvmContractClassHint) {
61
+ return obj;
62
+ }
63
+ return new AvmContractClassHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.artifactHash), Fr.fromPlainObject(obj.privateFunctionsRoot), obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode));
39
64
  }
40
65
  }
41
66
  export class AvmBytecodeCommitmentHint {
67
+ hintKey;
42
68
  classId;
43
69
  commitment;
44
- constructor(classId, commitment){
70
+ constructor(hintKey, classId, commitment){
71
+ this.hintKey = hintKey;
45
72
  this.classId = classId;
46
73
  this.commitment = commitment;
47
74
  }
48
75
  static get schema() {
49
76
  return z.object({
77
+ hintKey: z.number().int().nonnegative(),
50
78
  classId: schemas.Fr,
51
79
  commitment: schemas.Fr
52
- }).transform(({ classId, commitment })=>new AvmBytecodeCommitmentHint(classId, commitment));
80
+ }).transform(({ hintKey, classId, commitment })=>new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
81
+ }
82
+ /**
83
+ * Creates an AvmBytecodeCommitmentHint 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 AvmBytecodeCommitmentHint fields
87
+ * @returns An AvmBytecodeCommitmentHint instance
88
+ */ static fromPlainObject(obj) {
89
+ if (obj instanceof AvmBytecodeCommitmentHint) {
90
+ return obj;
91
+ }
92
+ return new AvmBytecodeCommitmentHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.commitment));
53
93
  }
54
94
  }
55
95
  export class AvmContractInstanceHint {
96
+ hintKey;
56
97
  address;
57
98
  salt;
58
99
  deployer;
@@ -60,7 +101,8 @@ export class AvmContractInstanceHint {
60
101
  originalContractClassId;
61
102
  initializationHash;
62
103
  publicKeys;
63
- constructor(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
104
+ constructor(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
105
+ this.hintKey = hintKey;
64
106
  this.address = address;
65
107
  this.salt = salt;
66
108
  this.deployer = deployer;
@@ -71,6 +113,7 @@ export class AvmContractInstanceHint {
71
113
  }
72
114
  static get schema() {
73
115
  return z.object({
116
+ hintKey: z.number().int().nonnegative(),
74
117
  address: AztecAddress.schema,
75
118
  salt: schemas.Fr,
76
119
  deployer: AztecAddress.schema,
@@ -78,7 +121,48 @@ export class AvmContractInstanceHint {
78
121
  originalContractClassId: schemas.Fr,
79
122
  initializationHash: schemas.Fr,
80
123
  publicKeys: PublicKeys.schema
81
- }).transform(({ address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
124
+ }).transform(({ hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
125
+ }
126
+ /**
127
+ * Creates an AvmContractInstanceHint from a plain object without Zod validation.
128
+ * This method is optimized for performance and skips validation, making it suitable
129
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
130
+ * @param obj - Plain object containing AvmContractInstanceHint fields
131
+ * @returns An AvmContractInstanceHint instance
132
+ */ static fromPlainObject(obj) {
133
+ if (obj instanceof AvmContractInstanceHint) {
134
+ return obj;
135
+ }
136
+ return new AvmContractInstanceHint(obj.hintKey, AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.salt), AztecAddress.fromPlainObject(obj.deployer), Fr.fromPlainObject(obj.currentContractClassId), Fr.fromPlainObject(obj.originalContractClassId), Fr.fromPlainObject(obj.initializationHash), PublicKeys.fromPlainObject(obj.publicKeys));
137
+ }
138
+ }
139
+ export class AvmDebugFunctionNameHint {
140
+ address;
141
+ selector;
142
+ name;
143
+ constructor(address, selector, name){
144
+ this.address = address;
145
+ this.selector = selector;
146
+ this.name = name;
147
+ }
148
+ static get schema() {
149
+ return z.object({
150
+ address: AztecAddress.schema,
151
+ selector: schemas.Fr,
152
+ name: z.string()
153
+ }).transform(({ address, selector, name })=>new AvmDebugFunctionNameHint(address, selector, name));
154
+ }
155
+ /**
156
+ * Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
157
+ * This method is optimized for performance and skips validation, making it suitable
158
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
159
+ * @param obj - Plain object containing AvmDebugFunctionNameHint fields
160
+ * @returns An AvmDebugFunctionNameHint instance
161
+ */ static fromPlainObject(obj) {
162
+ if (obj instanceof AvmDebugFunctionNameHint) {
163
+ return obj;
164
+ }
165
+ return new AvmDebugFunctionNameHint(AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.selector), obj.name);
82
166
  }
83
167
  }
84
168
  ////////////////////////////////////////////////////////////////////////////
@@ -106,6 +190,18 @@ export class AvmGetSiblingPathHint {
106
190
  path: schemas.Fr.array()
107
191
  }).transform(({ hintKey, treeId, index, path })=>new AvmGetSiblingPathHint(hintKey, treeId, index, path));
108
192
  }
193
+ /**
194
+ * Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
195
+ * This method is optimized for performance and skips validation, making it suitable
196
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
197
+ * @param obj - Plain object containing AvmGetSiblingPathHint fields
198
+ * @returns An AvmGetSiblingPathHint instance
199
+ */ static fromPlainObject(obj) {
200
+ if (obj instanceof AvmGetSiblingPathHint) {
201
+ return obj;
202
+ }
203
+ return new AvmGetSiblingPathHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.path.map((p)=>Fr.fromPlainObject(p)));
204
+ }
109
205
  }
110
206
  // Hint for MerkleTreeDB.getPreviousValueIndex.
111
207
  export class AvmGetPreviousValueIndexHint {
@@ -132,6 +228,18 @@ export class AvmGetPreviousValueIndexHint {
132
228
  alreadyPresent: z.boolean()
133
229
  }).transform(({ hintKey, treeId, value, index, alreadyPresent })=>new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent));
134
230
  }
231
+ /**
232
+ * Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
233
+ * This method is optimized for performance and skips validation, making it suitable
234
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
235
+ * @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
236
+ * @returns An AvmGetPreviousValueIndexHint instance
237
+ */ static fromPlainObject(obj) {
238
+ if (obj instanceof AvmGetPreviousValueIndexHint) {
239
+ return obj;
240
+ }
241
+ return new AvmGetPreviousValueIndexHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, Fr.fromPlainObject(obj.value), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.alreadyPresent);
242
+ }
135
243
  }
136
244
  // Hint for MerkleTreeDB.getLeafPreimage.
137
245
  // NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
@@ -155,6 +263,18 @@ function AvmGetLeafPreimageHintFactory(klass) {
155
263
  leafPreimage: klass.schema
156
264
  }).transform(({ hintKey, index, leafPreimage })=>new this(hintKey, index, leafPreimage));
157
265
  }
266
+ /**
267
+ * Creates an instance from a plain object without Zod validation.
268
+ * This method is optimized for performance and skips validation, making it suitable
269
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
270
+ * @param obj - Plain object containing hint fields
271
+ * @returns An instance
272
+ */ static fromPlainObject(obj) {
273
+ if (obj instanceof this) {
274
+ return obj;
275
+ }
276
+ return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), klass.fromPlainObject(obj.leafPreimage));
277
+ }
158
278
  };
159
279
  }
160
280
  // Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
@@ -185,6 +305,18 @@ export class AvmGetLeafValueHint {
185
305
  value: schemas.Fr
186
306
  }).transform(({ hintKey, treeId, index, value })=>new AvmGetLeafValueHint(hintKey, treeId, index, value));
187
307
  }
308
+ /**
309
+ * Creates an AvmGetLeafValueHint from a plain object without Zod validation.
310
+ * This method is optimized for performance and skips validation, making it suitable
311
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
312
+ * @param obj - Plain object containing AvmGetLeafValueHint fields
313
+ * @returns An AvmGetLeafValueHint instance
314
+ */ static fromPlainObject(obj) {
315
+ if (obj instanceof AvmGetLeafValueHint) {
316
+ return obj;
317
+ }
318
+ return new AvmGetLeafValueHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), Fr.fromPlainObject(obj.value));
319
+ }
188
320
  }
189
321
  // Hint for MerkleTreeDB.sequentialInsert.
190
322
  // NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
@@ -225,6 +357,28 @@ function AvmSequentialInsertHintFactory(klass) {
225
357
  })
226
358
  }).transform(({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData })=>new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData));
227
359
  }
360
+ /**
361
+ * Creates an instance from a plain object without Zod validation.
362
+ * This method is optimized for performance and skips validation, making it suitable
363
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
364
+ * @param obj - Plain object containing hint fields
365
+ * @returns An instance
366
+ */ static fromPlainObject(obj) {
367
+ if (obj instanceof this) {
368
+ return obj;
369
+ }
370
+ // Determine the leaf class based on the klass parameter
371
+ const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
372
+ return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, LeafClass.fromPlainObject(obj.leaf), {
373
+ leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
374
+ index: typeof obj.lowLeavesWitnessData.index === 'bigint' ? obj.lowLeavesWitnessData.index : BigInt(obj.lowLeavesWitnessData.index),
375
+ path: obj.lowLeavesWitnessData.path.map((p)=>Fr.fromPlainObject(p))
376
+ }, {
377
+ leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
378
+ index: typeof obj.insertionWitnessData.index === 'bigint' ? obj.insertionWitnessData.index : BigInt(obj.insertionWitnessData.index),
379
+ path: obj.insertionWitnessData.path.map((p)=>Fr.fromPlainObject(p))
380
+ });
381
+ }
228
382
  };
229
383
  }
230
384
  // Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
@@ -254,6 +408,18 @@ export class AvmAppendLeavesHint {
254
408
  leaves: schemas.Fr.array()
255
409
  }).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
256
410
  }
411
+ /**
412
+ * Creates an AvmAppendLeavesHint from a plain object without Zod validation.
413
+ * This method is optimized for performance and skips validation, making it suitable
414
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
415
+ * @param obj - Plain object containing AvmAppendLeavesHint fields
416
+ * @returns An AvmAppendLeavesHint instance
417
+ */ static fromPlainObject(obj) {
418
+ if (obj instanceof AvmAppendLeavesHint) {
419
+ return obj;
420
+ }
421
+ return new AvmAppendLeavesHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, obj.leaves.map((l)=>Fr.fromPlainObject(l)));
422
+ }
257
423
  }
258
424
  // Hint for checkpoint actions that don't change the state.
259
425
  class AvmCheckpointActionNoStateChangeHint {
@@ -274,6 +440,18 @@ class AvmCheckpointActionNoStateChangeHint {
274
440
  newCheckpointId: z.number().int().nonnegative()
275
441
  }).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new this(actionCounter, oldCheckpointId, newCheckpointId));
276
442
  }
443
+ /**
444
+ * Creates an instance from a plain object without Zod validation.
445
+ * This method is optimized for performance and skips validation, making it suitable
446
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
447
+ * @param obj - Plain object containing hint fields
448
+ * @returns An instance
449
+ */ static fromPlainObject(obj) {
450
+ if (obj instanceof this) {
451
+ return obj;
452
+ }
453
+ return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
454
+ }
277
455
  }
278
456
  // Hint for MerkleTreeDB.createCheckpoint.
279
457
  export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
@@ -311,6 +489,24 @@ export class AvmRevertCheckpointHint {
311
489
  stateAfter: TreeSnapshots.schema
312
490
  }).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
313
491
  }
492
+ /**
493
+ * Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
494
+ * This method is optimized for performance and skips validation, making it suitable
495
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
496
+ * @param obj - Plain object containing AvmRevertCheckpointHint fields
497
+ * @returns An AvmRevertCheckpointHint instance
498
+ */ static fromPlainObject(obj) {
499
+ if (obj instanceof AvmRevertCheckpointHint) {
500
+ return obj;
501
+ }
502
+ return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
503
+ }
504
+ }
505
+ export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
506
+ }
507
+ export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
508
+ }
509
+ export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
314
510
  }
315
511
  ////////////////////////////////////////////////////////////////////////////
316
512
  // Hints (other)
@@ -319,6 +515,8 @@ export class AvmTxHint {
319
515
  hash;
320
516
  gasSettings;
321
517
  effectiveGasFees;
518
+ nonRevertibleContractDeploymentData;
519
+ revertibleContractDeploymentData;
322
520
  nonRevertibleAccumulatedData;
323
521
  revertibleAccumulatedData;
324
522
  setupEnqueuedCalls;
@@ -326,12 +524,14 @@ export class AvmTxHint {
326
524
  teardownEnqueuedCall;
327
525
  gasUsedByPrivate;
328
526
  feePayer;
329
- constructor(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
527
+ constructor(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
330
528
  // MessagePack expects for an std::optional.
331
529
  teardownEnqueuedCall, gasUsedByPrivate, feePayer){
332
530
  this.hash = hash;
333
531
  this.gasSettings = gasSettings;
334
532
  this.effectiveGasFees = effectiveGasFees;
533
+ this.nonRevertibleContractDeploymentData = nonRevertibleContractDeploymentData;
534
+ this.revertibleContractDeploymentData = revertibleContractDeploymentData;
335
535
  this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
336
536
  this.revertibleAccumulatedData = revertibleAccumulatedData;
337
537
  this.setupEnqueuedCalls = setupEnqueuedCalls;
@@ -346,9 +546,10 @@ export class AvmTxHint {
346
546
  const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
347
547
  const gasSettings = tx.data.constants.txContext.gasSettings;
348
548
  const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
549
+ const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
349
550
  // For informational purposes. Assumed quick because it should be cached.
350
551
  const txHash = tx.getTxHash();
351
- return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
552
+ return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, allContractDeploymentData.getNonRevertibleContractDeploymentData(), allContractDeploymentData.getRevertibleContractDeploymentData(), {
352
553
  noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
353
554
  nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero()),
354
555
  l2ToL1Messages: tx.data.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.filter((x)=>!x.isEmpty())
@@ -359,7 +560,7 @@ export class AvmTxHint {
359
560
  }, setupCallRequests, appLogicCallRequests, teardownCallRequest ?? null, tx.data.gasUsed, tx.data.feePayer);
360
561
  }
361
562
  static empty() {
362
- return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), {
563
+ return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), ContractDeploymentData.empty(), ContractDeploymentData.empty(), {
363
564
  noteHashes: [],
364
565
  nullifiers: [],
365
566
  l2ToL1Messages: []
@@ -369,11 +570,33 @@ export class AvmTxHint {
369
570
  l2ToL1Messages: []
370
571
  }, [], [], null, Gas.empty(), AztecAddress.zero());
371
572
  }
573
+ /**
574
+ * Creates an AvmTxHint from a plain object without Zod validation.
575
+ * This method is optimized for performance and skips validation, making it suitable
576
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
577
+ * @param obj - Plain object containing AvmTxHint fields
578
+ * @returns An AvmTxHint instance
579
+ */ static fromPlainObject(obj) {
580
+ if (obj instanceof AvmTxHint) {
581
+ return obj;
582
+ }
583
+ return new AvmTxHint(obj.hash, GasSettings.fromPlainObject(obj.gasSettings), GasFees.fromPlainObject(obj.effectiveGasFees), ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData), ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData), {
584
+ noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
585
+ nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
586
+ l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
587
+ }, {
588
+ noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
589
+ nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
590
+ l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
591
+ }, obj.setupEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.appLogicEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null, Gas.fromPlainObject(obj.gasUsedByPrivate), AztecAddress.fromPlainObject(obj.feePayer));
592
+ }
372
593
  static get schema() {
373
594
  return z.object({
374
595
  hash: z.string(),
375
596
  gasSettings: GasSettings.schema,
376
597
  effectiveGasFees: GasFees.schema,
598
+ nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
599
+ revertibleContractDeploymentData: ContractDeploymentData.schema,
377
600
  nonRevertibleAccumulatedData: z.object({
378
601
  noteHashes: schemas.Fr.array(),
379
602
  nullifiers: schemas.Fr.array(),
@@ -389,7 +612,7 @@ export class AvmTxHint {
389
612
  teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
390
613
  gasUsedByPrivate: Gas.schema,
391
614
  feePayer: AztecAddress.schema
392
- }).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
615
+ }).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
393
616
  }
394
617
  }
395
618
  export class AvmExecutionHints {
@@ -399,6 +622,10 @@ export class AvmExecutionHints {
399
622
  contractInstances;
400
623
  contractClasses;
401
624
  bytecodeCommitments;
625
+ debugFunctionNames;
626
+ contractDbCreateCheckpointHints;
627
+ contractDbCommitCheckpointHints;
628
+ contractDbRevertCheckpointHints;
402
629
  startingTreeRoots;
403
630
  getSiblingPathHints;
404
631
  getPreviousValueIndexHints;
@@ -413,7 +640,7 @@ export class AvmExecutionHints {
413
640
  revertCheckpointHints;
414
641
  constructor(globalVariables, tx, // Protocol contracts.
415
642
  protocolContracts, // Contract hints.
416
- contractInstances = [], contractClasses = [], bytecodeCommitments = [], // Merkle DB hints.
643
+ contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
417
644
  startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
418
645
  this.globalVariables = globalVariables;
419
646
  this.tx = tx;
@@ -421,6 +648,10 @@ export class AvmExecutionHints {
421
648
  this.contractInstances = contractInstances;
422
649
  this.contractClasses = contractClasses;
423
650
  this.bytecodeCommitments = bytecodeCommitments;
651
+ this.debugFunctionNames = debugFunctionNames;
652
+ this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
653
+ this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
654
+ this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
424
655
  this.startingTreeRoots = startingTreeRoots;
425
656
  this.getSiblingPathHints = getSiblingPathHints;
426
657
  this.getPreviousValueIndexHints = getPreviousValueIndexHints;
@@ -434,6 +665,18 @@ export class AvmExecutionHints {
434
665
  this.commitCheckpointHints = commitCheckpointHints;
435
666
  this.revertCheckpointHints = revertCheckpointHints;
436
667
  }
668
+ /**
669
+ * Creates an AvmExecutionHints from a plain object without Zod validation.
670
+ * This method is optimized for performance and skips validation, making it suitable
671
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
672
+ * @param obj - Plain object containing AvmExecutionHints fields
673
+ * @returns An AvmExecutionHints instance
674
+ */ static fromPlainObject(obj) {
675
+ if (obj instanceof AvmExecutionHints) {
676
+ return obj;
677
+ }
678
+ return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.contractDbCreateCheckpointHints?.map((h)=>AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [], obj.contractDbCommitCheckpointHints?.map((h)=>AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [], obj.contractDbRevertCheckpointHints?.map((h)=>AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [], obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(), obj.getSiblingPathHints?.map((h)=>AvmGetSiblingPathHint.fromPlainObject(h)) || [], obj.getPreviousValueIndexHints?.map((h)=>AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [], obj.getLeafPreimageHintsPublicDataTree?.map((h)=>AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h)) || [], obj.getLeafPreimageHintsNullifierTree?.map((h)=>AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) || [], obj.getLeafValueHints?.map((h)=>AvmGetLeafValueHint.fromPlainObject(h)) || [], obj.sequentialInsertHintsPublicDataTree?.map((h)=>AvmSequentialInsertHintPublicDataTree.fromPlainObject(h)) || [], obj.sequentialInsertHintsNullifierTree?.map((h)=>AvmSequentialInsertHintNullifierTree.fromPlainObject(h)) || [], obj.appendLeavesHints?.map((h)=>AvmAppendLeavesHint.fromPlainObject(h)) || [], obj.createCheckpointHints?.map((h)=>AvmCreateCheckpointHint.fromPlainObject(h)) || [], obj.commitCheckpointHints?.map((h)=>AvmCommitCheckpointHint.fromPlainObject(h)) || [], obj.revertCheckpointHints?.map((h)=>AvmRevertCheckpointHint.fromPlainObject(h)) || []);
679
+ }
437
680
  static empty() {
438
681
  return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
439
682
  }
@@ -445,6 +688,10 @@ export class AvmExecutionHints {
445
688
  contractInstances: AvmContractInstanceHint.schema.array(),
446
689
  contractClasses: AvmContractClassHint.schema.array(),
447
690
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
691
+ debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
692
+ contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
693
+ contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
694
+ contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
448
695
  startingTreeRoots: TreeSnapshots.schema,
449
696
  getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
450
697
  getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
@@ -457,7 +704,7 @@ export class AvmExecutionHints {
457
704
  createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
458
705
  commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
459
706
  revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
460
- }).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
707
+ }).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
461
708
  }
462
709
  }
463
710
  export class AvmCircuitInputs {
@@ -470,6 +717,9 @@ export class AvmCircuitInputs {
470
717
  static empty() {
471
718
  return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
472
719
  }
720
+ static fromPlainObject(obj) {
721
+ return new AvmCircuitInputs(AvmExecutionHints.fromPlainObject(obj.hints), AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
722
+ }
473
723
  static get schema() {
474
724
  return z.object({
475
725
  hints: AvmExecutionHints.schema,
@@ -487,3 +737,266 @@ export class AvmCircuitInputs {
487
737
  return jsonParseWithSchema(buf.toString(), this.schema);
488
738
  }
489
739
  }
740
+ // Metadata about a given (enqueued or external) call.
741
+ export class CallStackMetadata {
742
+ phase;
743
+ contractAddress;
744
+ callerPc;
745
+ calldata;
746
+ isStaticCall;
747
+ gasLimit;
748
+ output;
749
+ internalCallStackAtExit;
750
+ haltingMessage;
751
+ reverted;
752
+ nested;
753
+ numNestedCalls;
754
+ constructor(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls){
755
+ this.phase = phase;
756
+ this.contractAddress = contractAddress;
757
+ this.callerPc = callerPc;
758
+ this.calldata = calldata;
759
+ this.isStaticCall = isStaticCall;
760
+ this.gasLimit = gasLimit;
761
+ this.output = output;
762
+ this.internalCallStackAtExit = internalCallStackAtExit;
763
+ this.haltingMessage = haltingMessage;
764
+ this.reverted = reverted;
765
+ this.nested = nested;
766
+ this.numNestedCalls = numNestedCalls;
767
+ }
768
+ static get schema() {
769
+ return z.object({
770
+ phase: z.nativeEnum(TxExecutionPhase),
771
+ contractAddress: Fr.schema,
772
+ callerPc: z.number(),
773
+ calldata: Fr.schema.array(),
774
+ isStaticCall: z.boolean(),
775
+ gasLimit: Gas.schema,
776
+ output: Fr.schema.array(),
777
+ internalCallStackAtExit: z.number().array(),
778
+ haltingMessage: NullishToUndefined(z.string()),
779
+ reverted: z.boolean(),
780
+ nested: CallStackMetadata.schema.array(),
781
+ numNestedCalls: z.number()
782
+ }).transform(({ phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls })=>new CallStackMetadata(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls));
783
+ }
784
+ /**
785
+ * Creates a CallStackMetadata from a plain object without Zod validation.
786
+ * This method is optimized for performance and skips validation, making it suitable
787
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
788
+ * @param obj - Plain object containing CallStackMetadata fields
789
+ * @returns A CallStackMetadata instance
790
+ */ static fromPlainObject(obj) {
791
+ if (obj instanceof CallStackMetadata) {
792
+ return obj;
793
+ }
794
+ return new CallStackMetadata(obj.phase, Fr.fromPlainObject(obj.contractAddress), obj.callerPc, obj.calldata.map((f)=>Fr.fromPlainObject(f)), obj.isStaticCall, Gas.fromPlainObject(obj.gasLimit), obj.output.map((f)=>Fr.fromPlainObject(f)), obj.internalCallStackAtExit.map((p)=>Number(p)), obj.haltingMessage, obj.reverted, obj.nested.map((n)=>CallStackMetadata.fromPlainObject(n)), obj.numNestedCalls);
795
+ }
796
+ getRevertReason() {
797
+ const failingCall = this.findDeepestRevert([
798
+ this
799
+ ]);
800
+ if (!failingCall) {
801
+ return undefined;
802
+ }
803
+ const { stack, leaf } = failingCall;
804
+ const aztecCallStack = stack.map((call)=>({
805
+ contractAddress: AztecAddress.fromField(call.contractAddress),
806
+ functionSelector: call.calldata.length > 0 ? FunctionSelector.fromField(call.calldata[0]) : undefined
807
+ }));
808
+ // The Noir call stack is the internal call stack at exit of the failing call
809
+ const noirCallStack = leaf.internalCallStackAtExit.map((pc)=>`0.${pc}`);
810
+ return new SimulationError(leaf.haltingMessage ?? 'Transaction reverted', aztecCallStack, leaf.output, noirCallStack);
811
+ }
812
+ findDeepestRevert(calls, parentStack = []) {
813
+ for (const call of calls){
814
+ if (call.reverted) {
815
+ const nested = this.findDeepestRevert(call.nested, [
816
+ ...parentStack,
817
+ call
818
+ ]);
819
+ return nested || {
820
+ stack: [
821
+ ...parentStack,
822
+ call
823
+ ],
824
+ leaf: call
825
+ };
826
+ }
827
+ }
828
+ return undefined;
829
+ }
830
+ }
831
+ export class PublicTxResult {
832
+ gasUsed;
833
+ revertCode;
834
+ callStackMetadata;
835
+ logs;
836
+ hints;
837
+ publicInputs;
838
+ constructor(// Simulation result.
839
+ gasUsed, revertCode, // These are only guaranteed to be present if the simulator is configured to collect them.
840
+ // TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
841
+ callStackMetadata, logs, // For the proving request.
842
+ hints, publicInputs){
843
+ this.gasUsed = gasUsed;
844
+ this.revertCode = revertCode;
845
+ this.callStackMetadata = callStackMetadata;
846
+ this.logs = logs;
847
+ this.hints = hints;
848
+ this.publicInputs = publicInputs;
849
+ }
850
+ static empty() {
851
+ return new PublicTxResult({
852
+ totalGas: Gas.empty(),
853
+ teardownGas: Gas.empty(),
854
+ publicGas: Gas.empty(),
855
+ billedGas: Gas.empty()
856
+ }, RevertCode.OK, /*callStackMetadata=*/ [], /*logs=*/ [], /*hints=*/ AvmExecutionHints.empty(), /*publicInputs=*/ AvmCircuitPublicInputs.empty());
857
+ }
858
+ static get schema() {
859
+ return z.object({
860
+ gasUsed: schemas.GasUsed,
861
+ revertCode: RevertCode.schema,
862
+ revertReason: NullishToUndefined(SimulationError.schema),
863
+ callStackMetadata: z.union([
864
+ CallStackMetadata.schema.array(),
865
+ NestedProcessReturnValues.schema.array()
866
+ ]),
867
+ logs: NullishToUndefined(DebugLog.schema.array()),
868
+ // For the proving request.
869
+ publicInputs: AvmCircuitPublicInputs.schema,
870
+ hints: NullishToUndefined(AvmExecutionHints.schema)
871
+ }).transform(({ gasUsed, revertCode, callStackMetadata, logs, hints, publicInputs })=>new PublicTxResult(gasUsed, revertCode, callStackMetadata, logs, hints, publicInputs));
872
+ }
873
+ /**
874
+ * Creates a PublicTxResult from a plain object without Zod validation.
875
+ * This method is optimized for performance and skips validation, making it suitable
876
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
877
+ * @param obj - Plain object containing PublicTxResult fields
878
+ * @returns A PublicTxResult instance
879
+ */ static fromPlainObject(obj) {
880
+ return new PublicTxResult(GasUsed.fromPlainObject(obj.gasUsed), RevertCode.fromPlainObject(obj.revertCode), obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), obj.logs?.map(DebugLog.fromPlainObject), obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined, AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
881
+ }
882
+ /** Returns one level of return values for the app logic phase, one per enqueued call. */ getAppLogicReturnValues() {
883
+ if (this.callStackMetadata.every((metadata)=>metadata instanceof CallStackMetadata)) {
884
+ return this.callStackMetadata.filter((metadata)=>metadata.phase === TxExecutionPhase.APP_LOGIC).map((metadata)=>new NestedProcessReturnValues(metadata.output));
885
+ } else {
886
+ return this.callStackMetadata.map((metadata)=>new NestedProcessReturnValues(metadata.values, metadata.nested));
887
+ }
888
+ }
889
+ findRevertReason() {
890
+ if (this.revertCode.isOK()) {
891
+ return undefined;
892
+ }
893
+ const callStackMetadata = this.callStackMetadata;
894
+ // TODO(fcarreiro): Remove this after migration to the C++ simulator.
895
+ // If the "stack" comes from TS, it will have this field.
896
+ if (callStackMetadata.revertReason !== undefined) {
897
+ return callStackMetadata.revertReason;
898
+ }
899
+ // Handle CallStackMetadata[].
900
+ let revertReason = undefined;
901
+ for (const call of callStackMetadata){
902
+ revertReason = call.getRevertReason();
903
+ if (revertReason) {
904
+ break;
905
+ }
906
+ }
907
+ return revertReason;
908
+ }
909
+ }
910
+ export class CollectionLimitsConfig {
911
+ maxDebugLogMemoryReads;
912
+ maxCalldataSizeInFields;
913
+ maxReturndataSizeInFields;
914
+ maxCallStackDepth;
915
+ maxCallStackItems;
916
+ constructor(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems){
917
+ this.maxDebugLogMemoryReads = maxDebugLogMemoryReads;
918
+ this.maxCalldataSizeInFields = maxCalldataSizeInFields;
919
+ this.maxReturndataSizeInFields = maxReturndataSizeInFields;
920
+ this.maxCallStackDepth = maxCallStackDepth;
921
+ this.maxCallStackItems = maxCallStackItems;
922
+ }
923
+ static from(obj) {
924
+ return new CollectionLimitsConfig(obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS, obj.maxCalldataSizeInFields ?? 300, obj.maxReturndataSizeInFields ?? 300, obj.maxCallStackDepth ?? 5, obj.maxCallStackItems ?? 100);
925
+ }
926
+ static empty() {
927
+ return CollectionLimitsConfig.from({});
928
+ }
929
+ static get schema() {
930
+ return z.object({
931
+ maxDebugLogMemoryReads: z.number(),
932
+ maxCalldataSizeInFields: z.number(),
933
+ maxReturndataSizeInFields: z.number(),
934
+ maxCallStackDepth: z.number(),
935
+ maxCallStackItems: z.number()
936
+ }).transform(({ maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems })=>new CollectionLimitsConfig(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems));
937
+ }
938
+ }
939
+ export class PublicSimulatorConfig {
940
+ proverId;
941
+ skipFeeEnforcement;
942
+ collectCallMetadata;
943
+ collectHints;
944
+ collectDebugLogs;
945
+ collectStatistics;
946
+ collectionLimits;
947
+ constructor(proverId, skipFeeEnforcement, collectCallMetadata, collectHints, collectDebugLogs, collectStatistics, collectionLimits){
948
+ this.proverId = proverId;
949
+ this.skipFeeEnforcement = skipFeeEnforcement;
950
+ this.collectCallMetadata = collectCallMetadata;
951
+ this.collectHints = collectHints;
952
+ this.collectDebugLogs = collectDebugLogs;
953
+ this.collectStatistics = collectStatistics;
954
+ this.collectionLimits = collectionLimits;
955
+ }
956
+ static from(obj) {
957
+ return new PublicSimulatorConfig(obj.proverId ?? Fr.ZERO, obj.skipFeeEnforcement ?? false, obj.collectCallMetadata ?? false, obj.collectHints ?? false, obj.collectDebugLogs ?? false, obj.collectStatistics ?? false, obj.collectionLimits ?? CollectionLimitsConfig.empty());
958
+ }
959
+ static empty() {
960
+ return PublicSimulatorConfig.from({});
961
+ }
962
+ static get schema() {
963
+ return z.object({
964
+ proverId: Fr.schema,
965
+ skipFeeEnforcement: z.boolean(),
966
+ collectCallMetadata: z.boolean(),
967
+ collectHints: z.boolean(),
968
+ collectDebugLogs: z.boolean(),
969
+ collectStatistics: z.boolean(),
970
+ collectionLimits: CollectionLimitsConfig.schema
971
+ }).transform(PublicSimulatorConfig.from);
972
+ }
973
+ }
974
+ export class AvmFastSimulationInputs {
975
+ wsRevision;
976
+ config;
977
+ tx;
978
+ globalVariables;
979
+ protocolContracts;
980
+ constructor(wsRevision, config, tx, globalVariables, protocolContracts){
981
+ this.wsRevision = wsRevision;
982
+ this.config = config;
983
+ this.tx = tx;
984
+ this.globalVariables = globalVariables;
985
+ this.protocolContracts = protocolContracts;
986
+ }
987
+ static empty() {
988
+ return new AvmFastSimulationInputs(WorldStateRevision.empty(), PublicSimulatorConfig.empty(), AvmTxHint.empty(), GlobalVariables.empty(), ProtocolContracts.empty());
989
+ }
990
+ static get schema() {
991
+ return z.object({
992
+ wsRevision: WorldStateRevision.schema,
993
+ config: PublicSimulatorConfig.schema,
994
+ tx: AvmTxHint.schema,
995
+ globalVariables: GlobalVariables.schema,
996
+ protocolContracts: ProtocolContracts.schema
997
+ }).transform(({ wsRevision, config, tx, globalVariables, protocolContracts })=>new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts));
998
+ }
999
+ serializeWithMessagePack() {
1000
+ return serializeWithMessagePack(this);
1001
+ }
1002
+ }