@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1

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 (1272) hide show
  1. package/dest/abi/abi.d.ts +101 -116
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +3 -3
  4. package/dest/abi/authorization_selector.d.ts +2 -2
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/authorization_selector.js +2 -1
  7. package/dest/abi/buffer.d.ts +2 -2
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/buffer.js +1 -1
  10. package/dest/abi/contract_artifact.d.ts +1 -1
  11. package/dest/abi/contract_artifact.js +6 -3
  12. package/dest/abi/decoder.d.ts +2 -2
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.d.ts +2 -2
  15. package/dest/abi/encoder.d.ts.map +1 -1
  16. package/dest/abi/encoder.js +1 -1
  17. package/dest/abi/event_metadata_definition.d.ts +8 -0
  18. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  19. package/dest/abi/event_metadata_definition.js +1 -0
  20. package/dest/abi/event_selector.d.ts +2 -2
  21. package/dest/abi/event_selector.d.ts.map +1 -1
  22. package/dest/abi/event_selector.js +2 -1
  23. package/dest/abi/function_call.d.ts +8 -11
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +6 -2
  26. package/dest/abi/function_selector.d.ts +2 -2
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -1
  29. package/dest/abi/index.d.ts +2 -1
  30. package/dest/abi/index.d.ts.map +1 -1
  31. package/dest/abi/index.js +1 -0
  32. package/dest/abi/mocked_keys.d.ts +1 -1
  33. package/dest/abi/note_selector.d.ts +2 -2
  34. package/dest/abi/note_selector.d.ts.map +1 -1
  35. package/dest/abi/note_selector.js +2 -2
  36. package/dest/abi/selector.d.ts +2 -2
  37. package/dest/abi/selector.d.ts.map +1 -1
  38. package/dest/abi/selector.js +1 -1
  39. package/dest/abi/utils.d.ts +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -3
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/auth_witness/auth_witness.js +2 -2
  43. package/dest/auth_witness/index.d.ts +1 -1
  44. package/dest/avm/avm.d.ts +4276 -1873
  45. package/dest/avm/avm.d.ts.map +1 -1
  46. package/dest/avm/avm.js +599 -20
  47. package/dest/avm/avm_accumulated_data.d.ts +33 -55
  48. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  49. package/dest/avm/avm_accumulated_data.js +38 -23
  50. package/dest/avm/avm_circuit_public_inputs.d.ts +182 -153
  51. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.js +27 -7
  53. package/dest/avm/avm_proving_request.d.ts +2053 -1481
  54. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  55. package/dest/avm/contract_storage_read.d.ts +2 -14
  56. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  57. package/dest/avm/contract_storage_read.js +1 -1
  58. package/dest/avm/contract_storage_update_request.d.ts +2 -14
  59. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  60. package/dest/avm/contract_storage_update_request.js +1 -1
  61. package/dest/avm/index.d.ts +2 -2
  62. package/dest/avm/index.d.ts.map +1 -1
  63. package/dest/avm/index.js +1 -1
  64. package/dest/avm/message_pack.d.ts +2 -1
  65. package/dest/avm/message_pack.d.ts.map +1 -1
  66. package/dest/avm/message_pack.js +33 -6
  67. package/dest/avm/public_call_stack_item_compressed.d.ts +2 -4
  68. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  69. package/dest/avm/public_call_stack_item_compressed.js +1 -1
  70. package/dest/avm/public_data_read.d.ts +2 -11
  71. package/dest/avm/public_data_read.d.ts.map +1 -1
  72. package/dest/avm/public_data_read.js +1 -1
  73. package/dest/avm/public_data_update_request.d.ts +2 -11
  74. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  75. package/dest/avm/public_data_update_request.js +1 -1
  76. package/dest/avm/public_data_write.d.ts +14 -12
  77. package/dest/avm/public_data_write.d.ts.map +1 -1
  78. package/dest/avm/public_data_write.js +10 -1
  79. package/dest/avm/public_inner_call_request.d.ts +2 -5
  80. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  81. package/dest/avm/revert_code.d.ts +17 -8
  82. package/dest/avm/revert_code.d.ts.map +1 -1
  83. package/dest/avm/revert_code.js +25 -9
  84. package/dest/aztec-address/index.d.ts +12 -2
  85. package/dest/aztec-address/index.d.ts.map +1 -1
  86. package/dest/aztec-address/index.js +26 -3
  87. package/dest/block/attestation_info.d.ts +32 -0
  88. package/dest/block/attestation_info.d.ts.map +1 -0
  89. package/dest/block/attestation_info.js +42 -0
  90. package/dest/block/block_hash.d.ts +2 -2
  91. package/dest/block/block_hash.d.ts.map +1 -1
  92. package/dest/block/block_hash.js +1 -1
  93. package/dest/block/block_parameter.d.ts +5 -0
  94. package/dest/block/block_parameter.d.ts.map +1 -0
  95. package/dest/block/block_parameter.js +6 -0
  96. package/dest/block/body.d.ts +8 -5
  97. package/dest/block/body.d.ts.map +1 -1
  98. package/dest/block/body.js +11 -25
  99. package/dest/block/in_block.d.ts +30 -19
  100. package/dest/block/in_block.d.ts.map +1 -1
  101. package/dest/block/in_block.js +17 -8
  102. package/dest/block/index.d.ts +7 -2
  103. package/dest/block/index.d.ts.map +1 -1
  104. package/dest/block/index.js +6 -1
  105. package/dest/block/l2_block.d.ts +39 -23
  106. package/dest/block/l2_block.d.ts.map +1 -1
  107. package/dest/block/l2_block.js +88 -12
  108. package/dest/block/l2_block_code_to_purge.d.ts +5 -16
  109. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  110. package/dest/block/l2_block_code_to_purge.js +25 -14
  111. package/dest/block/l2_block_header.d.ts +98 -0
  112. package/dest/block/l2_block_header.d.ts.map +1 -0
  113. package/dest/block/l2_block_header.js +153 -0
  114. package/dest/block/l2_block_info.d.ts +46 -0
  115. package/dest/block/l2_block_info.d.ts.map +1 -0
  116. package/dest/block/l2_block_info.js +41 -0
  117. package/dest/block/l2_block_new.d.ts +130 -0
  118. package/dest/block/l2_block_new.d.ts.map +1 -0
  119. package/dest/block/l2_block_new.js +151 -0
  120. package/dest/block/l2_block_source.d.ts +104 -535
  121. package/dest/block/l2_block_source.d.ts.map +1 -1
  122. package/dest/block/l2_block_source.js +5 -39
  123. package/dest/block/l2_block_stream/index.d.ts +1 -1
  124. package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
  125. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
  126. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  127. package/dest/block/l2_block_stream/l2_block_stream.js +4 -3
  128. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
  129. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  130. package/dest/block/l2_block_stream/l2_tips_memory_store.js +5 -3
  131. package/dest/block/proposal/attestations_and_signers.d.ts +59 -0
  132. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
  133. package/dest/block/proposal/attestations_and_signers.js +113 -0
  134. package/dest/block/proposal/committee_attestation.d.ts +2 -2
  135. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  136. package/dest/block/proposal/index.d.ts +2 -1
  137. package/dest/block/proposal/index.d.ts.map +1 -1
  138. package/dest/block/proposal/index.js +1 -0
  139. package/dest/block/published_l2_block.d.ts +40 -31
  140. package/dest/block/published_l2_block.d.ts.map +1 -1
  141. package/dest/block/published_l2_block.js +29 -31
  142. package/dest/block/test/index.d.ts +1 -1
  143. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  144. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  145. package/dest/block/test/l2_tips_store_test_suite.js +10 -9
  146. package/dest/block/validate_block_result.d.ts +50 -0
  147. package/dest/block/validate_block_result.d.ts.map +1 -0
  148. package/dest/block/validate_block_result.js +84 -0
  149. package/dest/checkpoint/checkpoint.d.ts +138 -0
  150. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  151. package/dest/checkpoint/checkpoint.js +62 -0
  152. package/dest/checkpoint/index.d.ts +3 -0
  153. package/dest/checkpoint/index.d.ts.map +1 -0
  154. package/dest/checkpoint/index.js +2 -0
  155. package/dest/checkpoint/published_checkpoint.d.ts +232 -0
  156. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  157. package/dest/checkpoint/published_checkpoint.js +71 -0
  158. package/dest/config/chain-config.d.ts +1 -1
  159. package/dest/config/index.d.ts +1 -1
  160. package/dest/config/node-rpc-config.d.ts +3 -1
  161. package/dest/config/node-rpc-config.d.ts.map +1 -1
  162. package/dest/config/node-rpc-config.js +6 -0
  163. package/dest/contract/artifact_hash.d.ts +3 -3
  164. package/dest/contract/artifact_hash.d.ts.map +1 -1
  165. package/dest/contract/artifact_hash.js +2 -2
  166. package/dest/contract/complete_address.d.ts +2 -5
  167. package/dest/contract/complete_address.d.ts.map +1 -1
  168. package/dest/contract/complete_address.js +1 -1
  169. package/dest/contract/contract_address.d.ts +3 -3
  170. package/dest/contract/contract_address.d.ts.map +1 -1
  171. package/dest/contract/contract_address.js +3 -3
  172. package/dest/contract/contract_class.d.ts +2 -2
  173. package/dest/contract/contract_class.d.ts.map +1 -1
  174. package/dest/contract/contract_class.js +1 -1
  175. package/dest/contract/contract_class_id.d.ts +2 -2
  176. package/dest/contract/contract_class_id.d.ts.map +1 -1
  177. package/dest/contract/contract_class_id.js +2 -2
  178. package/dest/contract/contract_class_metadata.d.ts +8 -0
  179. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  180. package/dest/contract/contract_class_metadata.js +1 -0
  181. package/dest/contract/contract_deployment_data.d.ts +119 -0
  182. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  183. package/dest/contract/contract_deployment_data.js +99 -0
  184. package/dest/contract/contract_function_dao.d.ts +1 -1
  185. package/dest/contract/contract_instance.d.ts +11 -10
  186. package/dest/contract/contract_instance.d.ts.map +1 -1
  187. package/dest/contract/contract_instance.js +2 -3
  188. package/dest/contract/contract_instance_update.d.ts +2 -2
  189. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  190. package/dest/contract/contract_instance_update.js +1 -1
  191. package/dest/contract/contract_metadata.d.ts +7 -0
  192. package/dest/contract/contract_metadata.d.ts.map +1 -0
  193. package/dest/contract/contract_metadata.js +1 -0
  194. package/dest/contract/deployment_info.d.ts +2 -2
  195. package/dest/contract/deployment_info.d.ts.map +1 -1
  196. package/dest/contract/index.d.ts +4 -1
  197. package/dest/contract/index.d.ts.map +1 -1
  198. package/dest/contract/index.js +3 -0
  199. package/dest/contract/interfaces/contract_class.d.ts +53 -127
  200. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  201. package/dest/contract/interfaces/contract_class.js +17 -0
  202. package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
  203. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  204. package/dest/contract/interfaces/contract_instance.d.ts +41 -31
  205. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  206. package/dest/contract/interfaces/contract_instance.js +25 -0
  207. package/dest/contract/interfaces/contract_instance_update.d.ts +4 -4
  208. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  209. package/dest/contract/interfaces/index.d.ts +1 -1
  210. package/dest/contract/interfaces/node-info.d.ts +1 -1
  211. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  212. package/dest/contract/partial_address.d.ts +2 -2
  213. package/dest/contract/partial_address.d.ts.map +1 -1
  214. package/dest/contract/private_function.d.ts +2 -2
  215. package/dest/contract/private_function.d.ts.map +1 -1
  216. package/dest/contract/private_function.js +3 -2
  217. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  218. package/dest/contract/private_function_membership_proof.js +3 -3
  219. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  220. package/dest/contract/utility_function_membership_proof.js +1 -1
  221. package/dest/database-version/index.d.ts +1 -1
  222. package/dest/database-version/version_manager.d.ts +6 -8
  223. package/dest/database-version/version_manager.d.ts.map +1 -1
  224. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  225. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  226. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +2 -2
  227. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
  228. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  229. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
  230. package/dest/delayed_public_mutable/index.d.ts +1 -1
  231. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  232. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  233. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
  234. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  235. package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
  236. package/dest/epoch-helpers/index.d.ts +16 -9
  237. package/dest/epoch-helpers/index.d.ts.map +1 -1
  238. package/dest/epoch-helpers/index.js +18 -8
  239. package/dest/errors/index.d.ts +1 -1
  240. package/dest/errors/proving_error.d.ts +2 -2
  241. package/dest/errors/proving_error.d.ts.map +1 -1
  242. package/dest/errors/simulation_error.d.ts +2 -2
  243. package/dest/errors/simulation_error.d.ts.map +1 -1
  244. package/dest/fees/index.d.ts +1 -1
  245. package/dest/fees/transaction_fee.d.ts +2 -2
  246. package/dest/fees/transaction_fee.d.ts.map +1 -1
  247. package/dest/fees/transaction_fee.js +3 -0
  248. package/dest/file-store/factory.d.ts +1 -1
  249. package/dest/file-store/factory.d.ts.map +1 -1
  250. package/dest/file-store/factory.js +18 -0
  251. package/dest/file-store/gcs.d.ts +1 -1
  252. package/dest/file-store/gcs.d.ts.map +1 -1
  253. package/dest/file-store/http.d.ts +1 -1
  254. package/dest/file-store/http.d.ts.map +1 -1
  255. package/dest/file-store/http.js +8 -3
  256. package/dest/file-store/index.d.ts +1 -1
  257. package/dest/file-store/interface.d.ts +9 -3
  258. package/dest/file-store/interface.d.ts.map +1 -1
  259. package/dest/file-store/local.d.ts +1 -1
  260. package/dest/file-store/local.d.ts.map +1 -1
  261. package/dest/file-store/s3.d.ts +26 -0
  262. package/dest/file-store/s3.d.ts.map +1 -0
  263. package/dest/file-store/s3.js +248 -0
  264. package/dest/gas/gas.d.ts +10 -2
  265. package/dest/gas/gas.d.ts.map +1 -1
  266. package/dest/gas/gas.js +13 -1
  267. package/dest/gas/gas_fees.d.ts +10 -2
  268. package/dest/gas/gas_fees.d.ts.map +1 -1
  269. package/dest/gas/gas_fees.js +12 -0
  270. package/dest/gas/gas_settings.d.ts +10 -2
  271. package/dest/gas/gas_settings.d.ts.map +1 -1
  272. package/dest/gas/gas_settings.js +13 -1
  273. package/dest/gas/gas_used.d.ts +13 -2
  274. package/dest/gas/gas_used.d.ts.map +1 -1
  275. package/dest/gas/gas_used.js +19 -1
  276. package/dest/gas/index.d.ts +1 -1
  277. package/dest/hash/hash.d.ts +12 -4
  278. package/dest/hash/hash.d.ts.map +1 -1
  279. package/dest/hash/hash.js +14 -6
  280. package/dest/hash/index.d.ts +1 -1
  281. package/dest/hash/map_slot.d.ts +2 -2
  282. package/dest/hash/map_slot.d.ts.map +1 -1
  283. package/dest/hash/map_slot.js +1 -1
  284. package/dest/interfaces/allowed_element.d.ts +6 -6
  285. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  286. package/dest/interfaces/api_limit.d.ts +1 -1
  287. package/dest/interfaces/archiver.d.ts +54 -1
  288. package/dest/interfaces/archiver.d.ts.map +1 -1
  289. package/dest/interfaces/archiver.js +38 -16
  290. package/dest/interfaces/aztec-node-admin.d.ts +150 -95
  291. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  292. package/dest/interfaces/aztec-node-admin.js +7 -1
  293. package/dest/interfaces/aztec-node.d.ts +64 -33
  294. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  295. package/dest/interfaces/aztec-node.js +33 -26
  296. package/dest/interfaces/block-builder.d.ts +11 -11
  297. package/dest/interfaces/block-builder.d.ts.map +1 -1
  298. package/dest/interfaces/client.d.ts +1 -2
  299. package/dest/interfaces/client.d.ts.map +1 -1
  300. package/dest/interfaces/client.js +0 -1
  301. package/dest/interfaces/configs.d.ts +40 -20
  302. package/dest/interfaces/configs.d.ts.map +1 -1
  303. package/dest/interfaces/configs.js +5 -1
  304. package/dest/interfaces/epoch-prover.d.ts +31 -14
  305. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  306. package/dest/interfaces/get_logs_response.d.ts +6 -4
  307. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  308. package/dest/interfaces/l2_logs_source.d.ts +4 -11
  309. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  310. package/dest/interfaces/merkle_tree_operations.d.ts +9 -3
  311. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  312. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  313. package/dest/interfaces/p2p.d.ts +5 -2
  314. package/dest/interfaces/p2p.d.ts.map +1 -1
  315. package/dest/interfaces/p2p.js +3 -2
  316. package/dest/interfaces/private_kernel_prover.d.ts +3 -3
  317. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  318. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  319. package/dest/interfaces/prover-agent.d.ts +1 -1
  320. package/dest/interfaces/prover-broker.d.ts +1 -1
  321. package/dest/interfaces/prover-client.d.ts +5 -5
  322. package/dest/interfaces/prover-client.d.ts.map +1 -1
  323. package/dest/interfaces/prover-coordination.d.ts +1 -1
  324. package/dest/interfaces/prover-node.d.ts +1 -1
  325. package/dest/interfaces/proving-job-source.d.ts +1 -1
  326. package/dest/interfaces/proving-job.d.ts +2057 -1391
  327. package/dest/interfaces/proving-job.d.ts.map +1 -1
  328. package/dest/interfaces/proving-job.js +134 -115
  329. package/dest/interfaces/public_state_source.d.ts +2 -2
  330. package/dest/interfaces/public_state_source.d.ts.map +1 -1
  331. package/dest/interfaces/server.d.ts +2 -1
  332. package/dest/interfaces/server.d.ts.map +1 -1
  333. package/dest/interfaces/server.js +1 -0
  334. package/dest/interfaces/server_circuit_prover.d.ts +36 -37
  335. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  336. package/dest/interfaces/service.d.ts +1 -1
  337. package/dest/interfaces/slasher.d.ts +7 -3
  338. package/dest/interfaces/slasher.d.ts.map +1 -1
  339. package/dest/interfaces/slasher.js +1 -0
  340. package/dest/interfaces/tx_provider.d.ts +4 -4
  341. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  342. package/dest/interfaces/validator.d.ts +171 -0
  343. package/dest/interfaces/validator.d.ts.map +1 -0
  344. package/dest/interfaces/validator.js +19 -0
  345. package/dest/interfaces/world_state.d.ts +9 -26
  346. package/dest/interfaces/world_state.d.ts.map +1 -1
  347. package/dest/interfaces/world_state.js +4 -3
  348. package/dest/kernel/claimed_length_array.d.ts +2 -2
  349. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  350. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  351. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  353. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +5 -4
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  355. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  356. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  357. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  358. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  359. package/dest/kernel/hints/index.d.ts +1 -1
  360. package/dest/kernel/hints/key_validation_hint.d.ts +2 -3
  361. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  362. package/dest/kernel/hints/key_validation_hint.js +1 -1
  363. package/dest/kernel/hints/key_validation_request.d.ts +4 -4
  364. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  365. package/dest/kernel/hints/key_validation_request.js +2 -1
  366. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -7
  367. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  368. package/dest/kernel/hints/key_validation_request_and_generator.js +1 -1
  369. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
  370. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  371. package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
  372. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +5 -4
  373. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  374. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  375. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  376. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  377. package/dest/kernel/hints/read_request.d.ts +2 -8
  378. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  379. package/dest/kernel/hints/read_request.js +1 -1
  380. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  381. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  382. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +2 -2
  383. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  384. package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
  385. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  386. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
  387. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  388. package/dest/kernel/hints/transient_data_squashing_hint.js +1 -1
  389. package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
  390. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  391. package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
  392. package/dest/kernel/index.d.ts +1 -1
  393. package/dest/kernel/log_hash.d.ts +2 -2
  394. package/dest/kernel/log_hash.d.ts.map +1 -1
  395. package/dest/kernel/log_hash.js +1 -1
  396. package/dest/kernel/note_hash.d.ts +2 -2
  397. package/dest/kernel/note_hash.d.ts.map +1 -1
  398. package/dest/kernel/note_hash.js +1 -1
  399. package/dest/kernel/nullifier.d.ts +4 -4
  400. package/dest/kernel/nullifier.d.ts.map +1 -1
  401. package/dest/kernel/nullifier.js +12 -12
  402. package/dest/kernel/padded_side_effects.d.ts +2 -2
  403. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  404. package/dest/kernel/padded_side_effects.js +1 -1
  405. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  406. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  407. package/dest/kernel/private_call_data.d.ts +6 -50
  408. package/dest/kernel/private_call_data.d.ts.map +1 -1
  409. package/dest/kernel/private_call_data.js +5 -17
  410. package/dest/kernel/private_call_request.d.ts +2 -17
  411. package/dest/kernel/private_call_request.d.ts.map +1 -1
  412. package/dest/kernel/private_call_request.js +1 -1
  413. package/dest/kernel/private_circuit_public_inputs.d.ts +21 -78
  414. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  415. package/dest/kernel/private_circuit_public_inputs.js +24 -12
  416. package/dest/kernel/private_context_inputs.d.ts +4 -4
  417. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  418. package/dest/kernel/private_context_inputs.js +4 -4
  419. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +11 -33
  420. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  421. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -6
  422. package/dest/kernel/private_kernel_data.d.ts +1 -7
  423. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  424. package/dest/kernel/private_kernel_data.js +0 -2
  425. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +12 -24
  426. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  427. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +13 -8
  428. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  429. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  430. package/dest/kernel/private_kernel_prover_output.d.ts +14 -14
  431. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  432. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  433. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  434. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  435. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  436. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  437. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  438. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +3 -24
  440. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  441. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +5 -2
  442. package/dest/kernel/private_log_data.d.ts +2 -2
  443. package/dest/kernel/private_log_data.d.ts.map +1 -1
  444. package/dest/kernel/private_to_avm_accumulated_data.d.ts +18 -2
  445. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  446. package/dest/kernel/private_to_avm_accumulated_data.js +19 -1
  447. package/dest/kernel/private_to_public_accumulated_data.d.ts +3 -3
  448. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  449. package/dest/kernel/private_to_public_accumulated_data.js +1 -1
  450. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
  451. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  452. package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
  453. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -2
  454. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  455. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +8 -1
  456. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +3 -19
  457. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  458. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  459. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -17
  460. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  461. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +1 -1
  462. package/dest/kernel/private_validation_requests.d.ts +2 -24
  463. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  464. package/dest/kernel/private_validation_requests.js +5 -13
  465. package/dest/kernel/public_call_request.d.ts +23 -28
  466. package/dest/kernel/public_call_request.d.ts.map +1 -1
  467. package/dest/kernel/public_call_request.js +19 -1
  468. package/dest/kernel/utils/index.d.ts +1 -1
  469. package/dest/kernel/utils/interfaces.d.ts +1 -1
  470. package/dest/kernel/utils/optional_number.d.ts +2 -8
  471. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  472. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  473. package/dest/keys/derivation.d.ts +4 -5
  474. package/dest/keys/derivation.d.ts.map +1 -1
  475. package/dest/keys/derivation.js +7 -25
  476. package/dest/keys/index.d.ts +1 -1
  477. package/dest/keys/key_types.d.ts +1 -1
  478. package/dest/keys/public_key.d.ts +2 -2
  479. package/dest/keys/public_key.d.ts.map +1 -1
  480. package/dest/keys/public_keys.d.ts +11 -6
  481. package/dest/keys/public_keys.d.ts.map +1 -1
  482. package/dest/keys/public_keys.js +15 -2
  483. package/dest/keys/utils.d.ts +1 -1
  484. package/dest/l1-contracts/index.d.ts +1 -1
  485. package/dest/l1-contracts/slash_factory.d.ts +5 -4
  486. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  487. package/dest/l1-contracts/slash_factory.js +1 -1
  488. package/dest/logs/contract_class_log.d.ts +22 -6
  489. package/dest/logs/contract_class_log.d.ts.map +1 -1
  490. package/dest/logs/contract_class_log.js +27 -5
  491. package/dest/logs/debug_log.d.ts +21 -0
  492. package/dest/logs/debug_log.d.ts.map +1 -0
  493. package/dest/logs/debug_log.js +39 -0
  494. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  495. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  496. package/dest/logs/directional_app_tagging_secret.js +64 -0
  497. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  498. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  499. package/dest/logs/extended_public_log.d.ts +7 -7
  500. package/dest/logs/extended_public_log.d.ts.map +1 -1
  501. package/dest/logs/index.d.ts +4 -2
  502. package/dest/logs/index.d.ts.map +1 -1
  503. package/dest/logs/index.js +3 -1
  504. package/dest/logs/log_filter.d.ts +1 -1
  505. package/dest/logs/log_id.d.ts +8 -8
  506. package/dest/logs/log_id.d.ts.map +1 -1
  507. package/dest/logs/log_id.js +5 -4
  508. package/dest/logs/log_with_tx_data.d.ts +11 -14
  509. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  510. package/dest/logs/log_with_tx_data.js +19 -24
  511. package/dest/logs/message_context.d.ts +2 -2
  512. package/dest/logs/message_context.d.ts.map +1 -1
  513. package/dest/logs/message_context.js +1 -1
  514. package/dest/logs/pending_tagged_log.d.ts +2 -2
  515. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  516. package/dest/logs/pending_tagged_log.js +1 -1
  517. package/dest/logs/pre_tag.d.ts +34 -0
  518. package/dest/logs/pre_tag.d.ts.map +1 -0
  519. package/dest/logs/pre_tag.js +7 -0
  520. package/dest/logs/private_log.d.ts +11 -3
  521. package/dest/logs/private_log.d.ts.map +1 -1
  522. package/dest/logs/private_log.js +15 -6
  523. package/dest/logs/public_log.d.ts +34 -12
  524. package/dest/logs/public_log.d.ts.map +1 -1
  525. package/dest/logs/public_log.js +130 -43
  526. package/dest/logs/shared_secret_derivation.d.ts +2 -2
  527. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  528. package/dest/logs/shared_secret_derivation.js +3 -5
  529. package/dest/logs/tx_scoped_l2_log.d.ts +14 -11
  530. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  531. package/dest/logs/tx_scoped_l2_log.js +4 -3
  532. package/dest/messaging/in_hash.d.ts +4 -0
  533. package/dest/messaging/in_hash.d.ts.map +1 -0
  534. package/dest/messaging/in_hash.js +8 -0
  535. package/dest/messaging/inbox_leaf.d.ts +8 -7
  536. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  537. package/dest/messaging/inbox_leaf.js +11 -7
  538. package/dest/messaging/index.d.ts +3 -1
  539. package/dest/messaging/index.d.ts.map +1 -1
  540. package/dest/messaging/index.js +2 -0
  541. package/dest/messaging/l1_actor.d.ts +2 -8
  542. package/dest/messaging/l1_actor.d.ts.map +1 -1
  543. package/dest/messaging/l1_actor.js +2 -2
  544. package/dest/messaging/l1_to_l2_message.d.ts +2 -7
  545. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  546. package/dest/messaging/l1_to_l2_message.js +2 -2
  547. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
  548. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  549. package/dest/messaging/l2_actor.d.ts +2 -8
  550. package/dest/messaging/l2_actor.d.ts.map +1 -1
  551. package/dest/messaging/l2_actor.js +2 -2
  552. package/dest/messaging/l2_to_l1_membership.d.ts +6 -5
  553. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  554. package/dest/messaging/l2_to_l1_membership.js +18 -20
  555. package/dest/messaging/l2_to_l1_message.d.ts +19 -2
  556. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  557. package/dest/messaging/l2_to_l1_message.js +22 -1
  558. package/dest/messaging/out_hash.d.ts +5 -0
  559. package/dest/messaging/out_hash.d.ts.map +1 -0
  560. package/dest/messaging/out_hash.js +28 -0
  561. package/dest/noir/index.d.ts +18 -7
  562. package/dest/noir/index.d.ts.map +1 -1
  563. package/dest/noir/index.js +6 -6
  564. package/dest/note/comparator.d.ts +1 -1
  565. package/dest/note/index.d.ts +2 -2
  566. package/dest/note/index.d.ts.map +1 -1
  567. package/dest/note/index.js +1 -1
  568. package/dest/note/note.d.ts +3 -18
  569. package/dest/note/note.d.ts.map +1 -1
  570. package/dest/note/note.js +5 -2
  571. package/dest/note/note_dao.d.ts +79 -0
  572. package/dest/note/note_dao.d.ts.map +1 -0
  573. package/dest/note/note_dao.js +112 -0
  574. package/dest/note/note_status.d.ts +1 -1
  575. package/dest/note/notes_filter.d.ts +4 -7
  576. package/dest/note/notes_filter.d.ts.map +1 -1
  577. package/dest/note/notes_filter.js +1 -3
  578. package/dest/p2p/attestation_utils.d.ts +1 -1
  579. package/dest/p2p/block_attestation.d.ts +43 -14
  580. package/dest/p2p/block_attestation.d.ts.map +1 -1
  581. package/dest/p2p/block_attestation.js +38 -15
  582. package/dest/p2p/block_proposal.d.ts +11 -16
  583. package/dest/p2p/block_proposal.d.ts.map +1 -1
  584. package/dest/p2p/block_proposal.js +15 -15
  585. package/dest/p2p/client_type.d.ts +1 -1
  586. package/dest/p2p/consensus_payload.d.ts +36 -185
  587. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  588. package/dest/p2p/consensus_payload.js +30 -24
  589. package/dest/p2p/gossipable.d.ts +10 -19
  590. package/dest/p2p/gossipable.d.ts.map +1 -1
  591. package/dest/p2p/gossipable.js +19 -25
  592. package/dest/p2p/index.d.ts +1 -1
  593. package/dest/p2p/interface.d.ts +1 -1
  594. package/dest/p2p/message_validator.d.ts +1 -1
  595. package/dest/p2p/peer_error.d.ts +1 -1
  596. package/dest/p2p/signature_utils.d.ts +3 -2
  597. package/dest/p2p/signature_utils.d.ts.map +1 -1
  598. package/dest/p2p/signature_utils.js +3 -1
  599. package/dest/p2p/topic_type.d.ts +5 -9
  600. package/dest/p2p/topic_type.d.ts.map +1 -1
  601. package/dest/p2p/topic_type.js +14 -8
  602. package/dest/parity/index.d.ts +3 -4
  603. package/dest/parity/index.d.ts.map +1 -1
  604. package/dest/parity/index.js +2 -3
  605. package/dest/parity/parity_base_private_inputs.d.ts +33 -0
  606. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  607. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +11 -7
  608. package/dest/parity/parity_public_inputs.d.ts +2 -5
  609. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  610. package/dest/parity/parity_public_inputs.js +1 -1
  611. package/dest/parity/parity_root_private_inputs.d.ts +38 -0
  612. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  613. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  614. package/dest/proofs/chonk_proof.d.ts +28 -0
  615. package/dest/proofs/chonk_proof.d.ts.map +1 -0
  616. package/dest/proofs/chonk_proof.js +101 -0
  617. package/dest/proofs/index.d.ts +3 -2
  618. package/dest/proofs/index.d.ts.map +1 -1
  619. package/dest/proofs/index.js +2 -1
  620. package/dest/proofs/proof.d.ts +2 -5
  621. package/dest/proofs/proof.d.ts.map +1 -1
  622. package/dest/proofs/proof.js +1 -1
  623. package/dest/proofs/proof_data.d.ts +21 -0
  624. package/dest/proofs/proof_data.d.ts.map +1 -0
  625. package/dest/proofs/proof_data.js +22 -0
  626. package/dest/proofs/proving_request_type.d.ts +18 -14
  627. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  628. package/dest/proofs/proving_request_type.js +17 -12
  629. package/dest/proofs/recursive_proof.d.ts +3 -27
  630. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  631. package/dest/proofs/recursive_proof.js +1 -1
  632. package/dest/rollup/avm_proof_data.d.ts +4 -14
  633. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  634. package/dest/rollup/avm_proof_data.js +1 -25
  635. package/dest/rollup/base_rollup_hints.d.ts +17 -50
  636. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  637. package/dest/rollup/base_rollup_hints.js +26 -26
  638. package/dest/rollup/block_constant_data.d.ts +18 -15
  639. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  640. package/dest/rollup/block_constant_data.js +19 -11
  641. package/dest/rollup/block_headers_hash.d.ts +4 -0
  642. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  643. package/dest/rollup/block_headers_hash.js +9 -0
  644. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +47 -0
  645. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  646. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  647. package/dest/rollup/block_rollup_public_inputs.d.ts +92 -0
  648. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  649. package/dest/rollup/block_rollup_public_inputs.js +91 -0
  650. package/dest/rollup/block_root_rollup_private_inputs.d.ts +162 -0
  651. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  652. package/dest/rollup/block_root_rollup_private_inputs.js +249 -0
  653. package/dest/rollup/checkpoint_constant_data.d.ts +67 -0
  654. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  655. package/dest/rollup/checkpoint_constant_data.js +79 -0
  656. package/dest/rollup/checkpoint_header.d.ts +85 -0
  657. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  658. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +51 -18
  659. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +27 -0
  660. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  661. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  662. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +82 -0
  663. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  664. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  665. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +100 -0
  666. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  667. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +179 -0
  668. package/dest/rollup/epoch_constant_data.d.ts +16 -14
  669. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  670. package/dest/rollup/epoch_constant_data.js +26 -13
  671. package/dest/rollup/index.d.ts +19 -17
  672. package/dest/rollup/index.d.ts.map +1 -1
  673. package/dest/rollup/index.js +18 -16
  674. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  675. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  676. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  677. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
  678. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
  679. package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
  680. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
  681. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
  682. package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
  683. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  684. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  685. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  686. package/dest/rollup/root_rollup_private_inputs.d.ts +62 -0
  687. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  688. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  689. package/dest/rollup/root_rollup_public_inputs.d.ts +44 -0
  690. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  691. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  692. package/dest/rollup/tree_snapshot_diff_hints.d.ts +64 -0
  693. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  694. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  695. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +41 -0
  696. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  697. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  698. package/dest/rollup/tx_rollup_public_inputs.d.ts +87 -0
  699. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  700. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -16
  701. package/dest/schemas/index.d.ts +1 -1
  702. package/dest/schemas/schemas.d.ts +88 -16
  703. package/dest/schemas/schemas.d.ts.map +1 -1
  704. package/dest/schemas/schemas.js +12 -1
  705. package/dest/slashing/empire.d.ts +1 -1
  706. package/dest/slashing/empire.d.ts.map +1 -1
  707. package/dest/slashing/empire.js +5 -4
  708. package/dest/slashing/helpers.d.ts +7 -6
  709. package/dest/slashing/helpers.d.ts.map +1 -1
  710. package/dest/slashing/helpers.js +8 -6
  711. package/dest/slashing/index.d.ts +1 -1
  712. package/dest/slashing/interfaces.d.ts +3 -2
  713. package/dest/slashing/interfaces.d.ts.map +1 -1
  714. package/dest/slashing/serialization.d.ts +1 -1
  715. package/dest/slashing/tally.d.ts +1 -1
  716. package/dest/slashing/types.d.ts +10 -9
  717. package/dest/slashing/types.d.ts.map +1 -1
  718. package/dest/slashing/types.js +22 -0
  719. package/dest/snapshots/download.d.ts +1 -1
  720. package/dest/snapshots/download.d.ts.map +1 -1
  721. package/dest/snapshots/download.js +58 -2
  722. package/dest/snapshots/index.d.ts +1 -1
  723. package/dest/snapshots/types.d.ts +18 -18
  724. package/dest/snapshots/upload.d.ts +1 -1
  725. package/dest/snapshots/upload.d.ts.map +1 -1
  726. package/dest/snapshots/upload.js +1 -0
  727. package/dest/stats/index.d.ts +1 -1
  728. package/dest/stats/stats.d.ts +4 -4
  729. package/dest/stats/stats.d.ts.map +1 -1
  730. package/dest/tests/factories.d.ts +76 -102
  731. package/dest/tests/factories.d.ts.map +1 -1
  732. package/dest/tests/factories.js +201 -289
  733. package/dest/tests/fixtures.d.ts +1 -1
  734. package/dest/tests/index.d.ts +1 -1
  735. package/dest/tests/jest.d.ts +1 -1
  736. package/dest/tests/mocks.d.ts +78 -29
  737. package/dest/tests/mocks.d.ts.map +1 -1
  738. package/dest/tests/mocks.js +220 -52
  739. package/dest/trees/append_only_tree_snapshot.d.ts +10 -17
  740. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  741. package/dest/trees/append_only_tree_snapshot.js +10 -10
  742. package/dest/trees/database_public_state_source.d.ts +2 -2
  743. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  744. package/dest/trees/database_public_state_source.js +1 -1
  745. package/dest/trees/index.d.ts +1 -2
  746. package/dest/trees/index.d.ts.map +1 -1
  747. package/dest/trees/index.js +0 -1
  748. package/dest/trees/merkle_tree_id.d.ts +9 -9
  749. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  750. package/dest/trees/nullifier_leaf.d.ts +18 -14
  751. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  752. package/dest/trees/nullifier_leaf.js +25 -1
  753. package/dest/trees/nullifier_membership_witness.d.ts +6 -39
  754. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  755. package/dest/trees/nullifier_membership_witness.js +1 -1
  756. package/dest/trees/public_data_leaf.d.ts +29 -28
  757. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  758. package/dest/trees/public_data_leaf.js +25 -1
  759. package/dest/trees/public_data_witness.d.ts +12 -46
  760. package/dest/trees/public_data_witness.d.ts.map +1 -1
  761. package/dest/trees/public_data_witness.js +1 -1
  762. package/dest/tx/block_header.d.ts +16 -24
  763. package/dest/tx/block_header.d.ts.map +1 -1
  764. package/dest/tx/block_header.js +30 -23
  765. package/dest/tx/call_context.d.ts +7 -19
  766. package/dest/tx/call_context.d.ts.map +1 -1
  767. package/dest/tx/capsule.d.ts +2 -5
  768. package/dest/tx/capsule.d.ts.map +1 -1
  769. package/dest/tx/capsule.js +1 -1
  770. package/dest/tx/content_commitment.d.ts +5 -3
  771. package/dest/tx/content_commitment.d.ts.map +1 -1
  772. package/dest/tx/content_commitment.js +12 -1
  773. package/dest/tx/execution_payload.d.ts +37 -0
  774. package/dest/tx/execution_payload.d.ts.map +1 -0
  775. package/dest/tx/execution_payload.js +40 -0
  776. package/dest/tx/function_data.d.ts +5 -7
  777. package/dest/tx/function_data.d.ts.map +1 -1
  778. package/dest/tx/function_data.js +1 -1
  779. package/dest/tx/global_variable_builder.d.ts +3 -2
  780. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  781. package/dest/tx/global_variables.d.ts +53 -32
  782. package/dest/tx/global_variables.d.ts.map +1 -1
  783. package/dest/tx/global_variables.js +51 -12
  784. package/dest/tx/hashed_values.d.ts +2 -8
  785. package/dest/tx/hashed_values.d.ts.map +1 -1
  786. package/dest/tx/hashed_values.js +1 -1
  787. package/dest/tx/in_tx.d.ts +26 -0
  788. package/dest/tx/in_tx.d.ts.map +1 -0
  789. package/dest/tx/in_tx.js +14 -0
  790. package/dest/tx/index.d.ts +5 -2
  791. package/dest/tx/index.d.ts.map +1 -1
  792. package/dest/tx/index.js +4 -1
  793. package/dest/tx/indexed_tx_effect.d.ts +15 -11
  794. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  795. package/dest/tx/indexed_tx_effect.js +7 -4
  796. package/dest/tx/offchain_effect.d.ts +2 -2
  797. package/dest/tx/offchain_effect.d.ts.map +1 -1
  798. package/dest/tx/offchain_effect.js +1 -1
  799. package/dest/tx/partial_state_reference.d.ts +6 -8
  800. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  801. package/dest/tx/partial_state_reference.js +12 -9
  802. package/dest/tx/private_execution_result.d.ts +22 -52
  803. package/dest/tx/private_execution_result.d.ts.map +1 -1
  804. package/dest/tx/private_execution_result.js +18 -11
  805. package/dest/tx/private_tx_constant_data.d.ts +45 -0
  806. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  807. package/dest/tx/private_tx_constant_data.js +69 -0
  808. package/dest/tx/processed_tx.d.ts +7 -7
  809. package/dest/tx/processed_tx.d.ts.map +1 -1
  810. package/dest/tx/processed_tx.js +10 -14
  811. package/dest/tx/profiling.d.ts +38 -38
  812. package/dest/tx/profiling.d.ts.map +1 -1
  813. package/dest/tx/profiling.js +6 -7
  814. package/dest/tx/protocol_contracts.d.ts +37 -0
  815. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  816. package/dest/tx/protocol_contracts.js +58 -0
  817. package/dest/tx/proven_tx.d.ts +25 -25
  818. package/dest/tx/proven_tx.d.ts.map +1 -1
  819. package/dest/tx/proven_tx.js +8 -8
  820. package/dest/tx/public_call_request_with_calldata.d.ts +10 -8
  821. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  822. package/dest/tx/public_call_request_with_calldata.js +13 -1
  823. package/dest/tx/public_simulation_output.d.ts +4 -2
  824. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  825. package/dest/tx/public_simulation_output.js +9 -2
  826. package/dest/tx/simulated_tx.d.ts +24 -24
  827. package/dest/tx/simulated_tx.d.ts.map +1 -1
  828. package/dest/tx/simulated_tx.js +2 -2
  829. package/dest/tx/state_reference.d.ts +12 -13
  830. package/dest/tx/state_reference.d.ts.map +1 -1
  831. package/dest/tx/state_reference.js +12 -9
  832. package/dest/tx/tree_snapshots.d.ts +16 -8
  833. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  834. package/dest/tx/tree_snapshots.js +9 -0
  835. package/dest/tx/tx.d.ts +14 -31
  836. package/dest/tx/tx.d.ts.map +1 -1
  837. package/dest/tx/tx.js +27 -26
  838. package/dest/tx/tx_constant_data.d.ts +8 -40
  839. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  840. package/dest/tx/tx_constant_data.js +12 -21
  841. package/dest/tx/tx_context.d.ts +2 -3
  842. package/dest/tx/tx_context.d.ts.map +1 -1
  843. package/dest/tx/tx_context.js +1 -1
  844. package/dest/tx/tx_effect.d.ts +22 -77
  845. package/dest/tx/tx_effect.d.ts.map +1 -1
  846. package/dest/tx/tx_effect.js +77 -221
  847. package/dest/tx/tx_execution_request.d.ts +2 -31
  848. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  849. package/dest/tx/tx_execution_request.js +1 -1
  850. package/dest/tx/tx_hash.d.ts +2 -3
  851. package/dest/tx/tx_hash.d.ts.map +1 -1
  852. package/dest/tx/tx_hash.js +1 -1
  853. package/dest/tx/tx_receipt.d.ts +4 -9
  854. package/dest/tx/tx_receipt.d.ts.map +1 -1
  855. package/dest/tx/tx_receipt.js +2 -1
  856. package/dest/tx/tx_request.d.ts +2 -7
  857. package/dest/tx/tx_request.d.ts.map +1 -1
  858. package/dest/tx/tx_request.js +2 -2
  859. package/dest/tx/validator/empty_validator.d.ts +1 -1
  860. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  861. package/dest/tx/validator/error_texts.d.ts +2 -2
  862. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  863. package/dest/tx/validator/error_texts.js +1 -1
  864. package/dest/tx/validator/tx_validator.d.ts +5 -5
  865. package/dest/types/index.d.ts +1 -1
  866. package/dest/types/shared.d.ts +1 -4
  867. package/dest/types/shared.d.ts.map +1 -1
  868. package/dest/update-checker/index.d.ts +1 -1
  869. package/dest/update-checker/update-checker.d.ts +3 -4
  870. package/dest/update-checker/update-checker.d.ts.map +1 -1
  871. package/dest/update-checker/update-checker.js +2 -2
  872. package/dest/validators/errors.d.ts +7 -8
  873. package/dest/validators/errors.d.ts.map +1 -1
  874. package/dest/validators/errors.js +2 -4
  875. package/dest/validators/index.d.ts +1 -1
  876. package/dest/validators/schemas.d.ts +300 -204
  877. package/dest/validators/schemas.d.ts.map +1 -1
  878. package/dest/validators/schemas.js +12 -11
  879. package/dest/validators/types.d.ts +18 -19
  880. package/dest/validators/types.d.ts.map +1 -1
  881. package/dest/versioning/index.d.ts +1 -1
  882. package/dest/versioning/versioning.d.ts +4 -4
  883. package/dest/versioning/versioning.d.ts.map +1 -1
  884. package/dest/versioning/versioning.js +18 -13
  885. package/dest/vks/index.d.ts +1 -1
  886. package/dest/vks/verification_key.d.ts +11 -23
  887. package/dest/vks/verification_key.d.ts.map +1 -1
  888. package/dest/vks/verification_key.js +21 -1
  889. package/dest/vks/vk_data.d.ts +2 -8
  890. package/dest/vks/vk_data.d.ts.map +1 -1
  891. package/dest/vks/vk_data.js +1 -1
  892. package/dest/world-state/index.d.ts +2 -0
  893. package/dest/world-state/index.d.ts.map +1 -0
  894. package/dest/world-state/index.js +1 -0
  895. package/dest/world-state/world_state_revision.d.ts +54 -0
  896. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  897. package/dest/world-state/world_state_revision.js +44 -0
  898. package/dest/zkpassport/index.d.ts +18 -14
  899. package/dest/zkpassport/index.d.ts.map +1 -1
  900. package/dest/zkpassport/index.js +23 -22
  901. package/package.json +18 -13
  902. package/src/abi/abi.ts +6 -6
  903. package/src/abi/authorization_selector.ts +3 -2
  904. package/src/abi/buffer.ts +1 -1
  905. package/src/abi/contract_artifact.ts +6 -3
  906. package/src/abi/decoder.ts +1 -1
  907. package/src/abi/encoder.ts +1 -1
  908. package/src/abi/event_metadata_definition.ts +8 -0
  909. package/src/abi/event_selector.ts +3 -2
  910. package/src/abi/function_call.ts +6 -2
  911. package/src/abi/function_selector.ts +3 -2
  912. package/src/abi/index.ts +1 -0
  913. package/src/abi/note_selector.ts +2 -2
  914. package/src/abi/selector.ts +1 -1
  915. package/src/auth_witness/auth_witness.ts +2 -2
  916. package/src/avm/avm.ts +896 -14
  917. package/src/avm/avm_accumulated_data.ts +66 -30
  918. package/src/avm/avm_circuit_public_inputs.ts +62 -1
  919. package/src/avm/contract_storage_read.ts +1 -1
  920. package/src/avm/contract_storage_update_request.ts +1 -1
  921. package/src/avm/index.ts +1 -1
  922. package/src/avm/message_pack.ts +30 -2
  923. package/src/avm/public_call_stack_item_compressed.ts +1 -1
  924. package/src/avm/public_data_read.ts +1 -1
  925. package/src/avm/public_data_update_request.ts +1 -1
  926. package/src/avm/public_data_write.ts +13 -2
  927. package/src/avm/public_inner_call_request.ts +1 -1
  928. package/src/avm/revert_code.ts +30 -10
  929. package/src/aztec-address/index.ts +28 -3
  930. package/src/block/attestation_info.ts +69 -0
  931. package/src/block/block_hash.ts +1 -1
  932. package/src/block/block_parameter.ts +8 -0
  933. package/src/block/body.ts +17 -38
  934. package/src/block/in_block.ts +25 -12
  935. package/src/block/index.ts +6 -1
  936. package/src/block/l2_block.ts +116 -25
  937. package/src/block/l2_block_code_to_purge.ts +33 -32
  938. package/src/block/l2_block_header.ts +246 -0
  939. package/src/block/l2_block_info.ts +64 -0
  940. package/src/block/l2_block_new.ts +197 -0
  941. package/src/block/l2_block_source.ts +84 -83
  942. package/src/block/l2_block_stream/l2_block_stream.ts +10 -5
  943. package/src/block/l2_block_stream/l2_tips_memory_store.ts +6 -3
  944. package/src/block/proposal/attestations_and_signers.ts +140 -0
  945. package/src/block/proposal/committee_attestation.ts +1 -1
  946. package/src/block/proposal/index.ts +1 -0
  947. package/src/block/published_l2_block.ts +46 -41
  948. package/src/block/test/l2_tips_store_test_suite.ts +15 -10
  949. package/src/block/validate_block_result.ts +124 -0
  950. package/src/checkpoint/checkpoint.ts +88 -0
  951. package/src/checkpoint/index.ts +2 -0
  952. package/src/checkpoint/published_checkpoint.ts +91 -0
  953. package/src/config/node-rpc-config.ts +9 -0
  954. package/src/contract/artifact_hash.ts +2 -2
  955. package/src/contract/complete_address.ts +1 -1
  956. package/src/contract/contract_address.ts +3 -3
  957. package/src/contract/contract_class.ts +2 -2
  958. package/src/contract/contract_class_id.ts +2 -2
  959. package/src/contract/contract_class_metadata.ts +8 -0
  960. package/src/contract/contract_deployment_data.ts +125 -0
  961. package/src/contract/contract_instance.ts +12 -11
  962. package/src/contract/contract_instance_update.ts +1 -1
  963. package/src/contract/contract_metadata.ts +7 -0
  964. package/src/contract/deployment_info.ts +1 -1
  965. package/src/contract/index.ts +3 -0
  966. package/src/contract/interfaces/contract_class.ts +20 -2
  967. package/src/contract/interfaces/contract_data_source.ts +3 -2
  968. package/src/contract/interfaces/contract_instance.ts +32 -2
  969. package/src/contract/interfaces/contract_instance_update.ts +1 -1
  970. package/src/contract/partial_address.ts +1 -1
  971. package/src/contract/private_function.ts +3 -2
  972. package/src/contract/private_function_membership_proof.ts +3 -3
  973. package/src/contract/utility_function_membership_proof.ts +1 -1
  974. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +2 -2
  975. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
  976. package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
  977. package/src/epoch-helpers/index.ts +47 -18
  978. package/src/errors/simulation_error.ts +1 -1
  979. package/src/fees/transaction_fee.ts +12 -1
  980. package/src/file-store/factory.ts +15 -0
  981. package/src/file-store/http.ts +6 -3
  982. package/src/file-store/interface.ts +8 -2
  983. package/src/file-store/s3.ts +250 -0
  984. package/src/gas/gas.ts +15 -1
  985. package/src/gas/gas_fees.ts +15 -1
  986. package/src/gas/gas_settings.ts +20 -1
  987. package/src/gas/gas_used.ts +22 -1
  988. package/src/hash/hash.ts +16 -8
  989. package/src/hash/map_slot.ts +2 -2
  990. package/src/interfaces/allowed_element.ts +1 -1
  991. package/src/interfaces/archiver.ts +76 -16
  992. package/src/interfaces/aztec-node-admin.ts +17 -1
  993. package/src/interfaces/aztec-node.ts +115 -62
  994. package/src/interfaces/block-builder.ts +14 -14
  995. package/src/interfaces/client.ts +0 -1
  996. package/src/interfaces/configs.ts +12 -0
  997. package/src/interfaces/epoch-prover.ts +39 -16
  998. package/src/interfaces/l2_logs_source.ts +3 -11
  999. package/src/interfaces/merkle_tree_operations.ts +9 -2
  1000. package/src/interfaces/p2p.ts +8 -2
  1001. package/src/interfaces/private_kernel_prover.ts +2 -2
  1002. package/src/interfaces/proving-job.ts +232 -139
  1003. package/src/interfaces/public_state_source.ts +1 -1
  1004. package/src/interfaces/server.ts +1 -0
  1005. package/src/interfaces/server_circuit_prover.ts +89 -61
  1006. package/src/interfaces/slasher.ts +2 -0
  1007. package/src/interfaces/tx_provider.ts +3 -2
  1008. package/src/interfaces/validator.ts +98 -0
  1009. package/src/interfaces/world_state.ts +12 -11
  1010. package/src/kernel/claimed_length_array.ts +1 -1
  1011. package/src/kernel/hints/build_nullifier_read_request_hints.ts +4 -3
  1012. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  1013. package/src/kernel/hints/key_validation_hint.ts +1 -1
  1014. package/src/kernel/hints/key_validation_request.ts +2 -1
  1015. package/src/kernel/hints/key_validation_request_and_generator.ts +1 -1
  1016. package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
  1017. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  1018. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  1019. package/src/kernel/hints/read_request.ts +1 -1
  1020. package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +1 -1
  1021. package/src/kernel/hints/scoped_value_cache.ts +1 -1
  1022. package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
  1023. package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
  1024. package/src/kernel/log_hash.ts +1 -1
  1025. package/src/kernel/note_hash.ts +1 -1
  1026. package/src/kernel/nullifier.ts +9 -9
  1027. package/src/kernel/padded_side_effects.ts +1 -1
  1028. package/src/kernel/private_call_data.ts +3 -22
  1029. package/src/kernel/private_call_request.ts +1 -1
  1030. package/src/kernel/private_circuit_public_inputs.ts +35 -15
  1031. package/src/kernel/private_context_inputs.ts +3 -3
  1032. package/src/kernel/private_kernel_circuit_public_inputs.ts +12 -5
  1033. package/src/kernel/private_kernel_data.ts +0 -2
  1034. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +12 -5
  1035. package/src/kernel/private_kernel_prover_output.ts +4 -4
  1036. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -3
  1037. package/src/kernel/private_log_data.ts +1 -1
  1038. package/src/kernel/private_to_avm_accumulated_data.ts +36 -1
  1039. package/src/kernel/private_to_public_accumulated_data.ts +1 -1
  1040. package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
  1041. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +11 -2
  1042. package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
  1043. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  1044. package/src/kernel/private_validation_requests.ts +1 -13
  1045. package/src/kernel/public_call_request.ts +28 -1
  1046. package/src/kernel/utils/optional_number.ts +1 -1
  1047. package/src/keys/derivation.ts +7 -30
  1048. package/src/keys/public_key.ts +1 -1
  1049. package/src/keys/public_keys.ts +22 -2
  1050. package/src/l1-contracts/slash_factory.ts +3 -1
  1051. package/src/logs/contract_class_log.ts +36 -5
  1052. package/src/logs/debug_log.ts +51 -0
  1053. package/src/logs/directional_app_tagging_secret.ts +79 -0
  1054. package/src/logs/index.ts +3 -1
  1055. package/src/logs/log_id.ts +6 -5
  1056. package/src/logs/log_with_tx_data.ts +15 -25
  1057. package/src/logs/message_context.ts +1 -1
  1058. package/src/logs/pending_tagged_log.ts +1 -1
  1059. package/src/logs/pre_tag.ts +25 -0
  1060. package/src/logs/private_log.ts +20 -4
  1061. package/src/logs/public_log.ts +140 -57
  1062. package/src/logs/shared_secret_derivation.ts +4 -6
  1063. package/src/logs/tx_scoped_l2_log.ts +5 -4
  1064. package/src/messaging/in_hash.ts +10 -0
  1065. package/src/messaging/inbox_leaf.ts +13 -7
  1066. package/src/messaging/index.ts +2 -0
  1067. package/src/messaging/l1_actor.ts +2 -2
  1068. package/src/messaging/l1_to_l2_message.ts +2 -2
  1069. package/src/messaging/l1_to_l2_message_source.ts +5 -10
  1070. package/src/messaging/l2_actor.ts +2 -2
  1071. package/src/messaging/l2_to_l1_membership.ts +25 -30
  1072. package/src/messaging/l2_to_l1_message.ts +30 -1
  1073. package/src/messaging/out_hash.ts +36 -0
  1074. package/src/noir/index.ts +17 -6
  1075. package/src/note/index.ts +1 -1
  1076. package/src/note/note.ts +5 -2
  1077. package/src/note/note_dao.ts +182 -0
  1078. package/src/note/notes_filter.ts +4 -8
  1079. package/src/p2p/block_attestation.ts +50 -17
  1080. package/src/p2p/block_proposal.ts +20 -21
  1081. package/src/p2p/consensus_payload.ts +34 -24
  1082. package/src/p2p/gossipable.ts +17 -26
  1083. package/src/p2p/signature_utils.ts +3 -1
  1084. package/src/p2p/topic_type.ts +15 -8
  1085. package/src/parity/index.ts +2 -3
  1086. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +14 -12
  1087. package/src/parity/parity_public_inputs.ts +1 -1
  1088. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  1089. package/src/proofs/chonk_proof.ts +118 -0
  1090. package/src/proofs/index.ts +2 -1
  1091. package/src/proofs/proof.ts +1 -1
  1092. package/src/proofs/proof_data.ts +36 -0
  1093. package/src/proofs/proving_request_type.ts +14 -10
  1094. package/src/proofs/recursive_proof.ts +1 -1
  1095. package/src/rollup/avm_proof_data.ts +3 -32
  1096. package/src/rollup/base_rollup_hints.ts +22 -22
  1097. package/src/rollup/block_constant_data.ts +17 -7
  1098. package/src/rollup/block_headers_hash.ts +12 -0
  1099. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  1100. package/src/rollup/block_rollup_public_inputs.ts +131 -0
  1101. package/src/rollup/block_root_rollup_private_inputs.ts +303 -0
  1102. package/src/rollup/checkpoint_constant_data.ts +123 -0
  1103. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +79 -28
  1104. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  1105. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +31 -53
  1106. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +219 -0
  1107. package/src/rollup/epoch_constant_data.ts +29 -11
  1108. package/src/rollup/index.ts +18 -16
  1109. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  1110. package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
  1111. package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
  1112. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  1113. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  1114. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  1115. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +27 -42
  1116. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  1117. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +14 -14
  1118. package/src/schemas/schemas.ts +20 -1
  1119. package/src/slashing/empire.ts +6 -4
  1120. package/src/slashing/helpers.ts +17 -12
  1121. package/src/slashing/interfaces.ts +3 -1
  1122. package/src/slashing/types.ts +23 -0
  1123. package/src/snapshots/download.ts +66 -2
  1124. package/src/snapshots/upload.ts +1 -0
  1125. package/src/stats/stats.ts +21 -15
  1126. package/src/tests/factories.ts +419 -483
  1127. package/src/tests/mocks.ts +356 -84
  1128. package/src/trees/append_only_tree_snapshot.ts +12 -13
  1129. package/src/trees/database_public_state_source.ts +1 -1
  1130. package/src/trees/index.ts +0 -1
  1131. package/src/trees/nullifier_leaf.ts +33 -1
  1132. package/src/trees/nullifier_membership_witness.ts +1 -1
  1133. package/src/trees/public_data_leaf.ts +33 -1
  1134. package/src/trees/public_data_witness.ts +1 -1
  1135. package/src/tx/block_header.ts +34 -35
  1136. package/src/tx/call_context.ts +1 -1
  1137. package/src/tx/capsule.ts +1 -1
  1138. package/src/tx/content_commitment.ts +15 -2
  1139. package/src/tx/execution_payload.ts +60 -0
  1140. package/src/tx/function_data.ts +1 -1
  1141. package/src/tx/global_variable_builder.ts +2 -1
  1142. package/src/tx/global_variables.ts +70 -17
  1143. package/src/tx/hashed_values.ts +1 -1
  1144. package/src/tx/in_tx.ts +24 -0
  1145. package/src/tx/index.ts +4 -1
  1146. package/src/tx/indexed_tx_effect.ts +6 -5
  1147. package/src/tx/offchain_effect.ts +1 -1
  1148. package/src/tx/partial_state_reference.ts +14 -14
  1149. package/src/tx/private_execution_result.ts +17 -8
  1150. package/src/tx/private_tx_constant_data.ts +94 -0
  1151. package/src/tx/processed_tx.ts +23 -26
  1152. package/src/tx/profiling.ts +5 -9
  1153. package/src/tx/protocol_contracts.ts +86 -0
  1154. package/src/tx/proven_tx.ts +6 -6
  1155. package/src/tx/public_call_request_with_calldata.ts +18 -1
  1156. package/src/tx/public_simulation_output.ts +19 -2
  1157. package/src/tx/simulated_tx.ts +2 -2
  1158. package/src/tx/state_reference.ts +13 -15
  1159. package/src/tx/tree_snapshots.ts +17 -1
  1160. package/src/tx/tx.ts +28 -28
  1161. package/src/tx/tx_constant_data.ts +9 -22
  1162. package/src/tx/tx_context.ts +1 -1
  1163. package/src/tx/tx_effect.ts +108 -263
  1164. package/src/tx/tx_execution_request.ts +1 -1
  1165. package/src/tx/tx_hash.ts +1 -1
  1166. package/src/tx/tx_receipt.ts +3 -2
  1167. package/src/tx/tx_request.ts +2 -2
  1168. package/src/tx/validator/error_texts.ts +1 -1
  1169. package/src/update-checker/update-checker.ts +3 -2
  1170. package/src/validators/errors.ts +4 -5
  1171. package/src/validators/schemas.ts +13 -11
  1172. package/src/validators/types.ts +18 -18
  1173. package/src/versioning/versioning.ts +21 -16
  1174. package/src/vks/verification_key.ts +26 -1
  1175. package/src/vks/vk_data.ts +1 -1
  1176. package/src/world-state/index.ts +1 -0
  1177. package/src/world-state/world_state_revision.ts +63 -0
  1178. package/src/zkpassport/index.ts +41 -37
  1179. package/dest/avm/public_data_hint.d.ts +0 -16
  1180. package/dest/avm/public_data_hint.d.ts.map +0 -1
  1181. package/dest/avm/public_data_hint.js +0 -27
  1182. package/dest/block/l2_block_number.d.ts +0 -5
  1183. package/dest/block/l2_block_number.d.ts.map +0 -1
  1184. package/dest/block/l2_block_number.js +0 -6
  1185. package/dest/interfaces/pxe.d.ts +0 -329
  1186. package/dest/interfaces/pxe.d.ts.map +0 -1
  1187. package/dest/interfaces/pxe.js +0 -100
  1188. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  1189. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  1190. package/dest/logs/indexed_tagging_secret.js +0 -50
  1191. package/dest/note/extended_note.d.ts +0 -111
  1192. package/dest/note/extended_note.d.ts.map +0 -1
  1193. package/dest/note/extended_note.js +0 -106
  1194. package/dest/parity/base_parity_inputs.d.ts +0 -35
  1195. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  1196. package/dest/parity/root_parity_input.d.ts +0 -52
  1197. package/dest/parity/root_parity_input.d.ts.map +0 -1
  1198. package/dest/parity/root_parity_input.js +0 -50
  1199. package/dest/parity/root_parity_inputs.d.ts +0 -37
  1200. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  1201. package/dest/proofs/client_ivc_proof.d.ts +0 -18
  1202. package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
  1203. package/dest/proofs/client_ivc_proof.js +0 -41
  1204. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +0 -115
  1205. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  1206. package/dest/rollup/block_merge_rollup.d.ts +0 -43
  1207. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  1208. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  1209. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  1210. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  1211. package/dest/rollup/block_root_rollup.d.ts +0 -283
  1212. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  1213. package/dest/rollup/block_root_rollup.js +0 -306
  1214. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  1215. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  1216. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  1217. package/dest/rollup/merge_rollup.d.ts +0 -43
  1218. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  1219. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  1220. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  1221. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  1222. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  1223. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  1224. package/dest/rollup/previous_rollup_block_data.js +0 -37
  1225. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  1226. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  1227. package/dest/rollup/previous_rollup_data.js +0 -37
  1228. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  1229. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  1230. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  1231. package/dest/rollup/private_tube_data.d.ts +0 -15
  1232. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  1233. package/dest/rollup/private_tube_data.js +0 -25
  1234. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  1235. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  1236. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  1237. package/dest/rollup/public_tube_data.d.ts +0 -15
  1238. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  1239. package/dest/rollup/public_tube_data.js +0 -25
  1240. package/dest/rollup/root_rollup.d.ts +0 -106
  1241. package/dest/rollup/root_rollup.d.ts.map +0 -1
  1242. package/dest/rollup/root_rollup.js +0 -147
  1243. package/dest/rollup/state_diff_hints.d.ts +0 -103
  1244. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  1245. package/dest/rollup/state_diff_hints.js +0 -85
  1246. package/dest/rollup/tube_inputs.d.ts +0 -43
  1247. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  1248. package/dest/rollup/tube_inputs.js +0 -63
  1249. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  1250. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  1251. package/dest/trees/protocol_contract_leaf.js +0 -100
  1252. package/dest/tx/proposed_block_header.d.ts +0 -82
  1253. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  1254. package/src/avm/public_data_hint.ts +0 -38
  1255. package/src/block/l2_block_number.ts +0 -8
  1256. package/src/interfaces/pxe.ts +0 -532
  1257. package/src/logs/indexed_tagging_secret.ts +0 -48
  1258. package/src/note/extended_note.ts +0 -149
  1259. package/src/parity/root_parity_input.ts +0 -71
  1260. package/src/proofs/client_ivc_proof.ts +0 -51
  1261. package/src/rollup/block_root_rollup.ts +0 -380
  1262. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  1263. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  1264. package/src/rollup/previous_rollup_block_data.ts +0 -48
  1265. package/src/rollup/previous_rollup_data.ts +0 -48
  1266. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  1267. package/src/rollup/private_tube_data.ts +0 -35
  1268. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  1269. package/src/rollup/public_tube_data.ts +0 -35
  1270. package/src/rollup/root_rollup.ts +0 -195
  1271. package/src/rollup/tube_inputs.ts +0 -77
  1272. package/src/trees/protocol_contract_leaf.ts +0 -128
package/src/avm/avm.ts CHANGED
@@ -1,29 +1,48 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
- import { schemas } from '@aztec/foundation/schemas';
4
4
 
5
5
  import { z } from 'zod';
6
6
 
7
+ import { FunctionSelector } from '../abi/index.js';
7
8
  import { AztecAddress } from '../aztec-address/index.js';
9
+ import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
10
+ import { SimulationError } from '../errors/simulation_error.js';
8
11
  import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
9
12
  import { Gas } from '../gas/gas.js';
10
13
  import { GasFees } from '../gas/gas_fees.js';
11
14
  import { GasSettings } from '../gas/gas_settings.js';
15
+ import { GasUsed } from '../gas/gas_used.js';
12
16
  import { PublicKeys } from '../keys/public_keys.js';
17
+ import { DebugLog } from '../logs/debug_log.js';
18
+ import { PublicLog } from '../logs/public_log.js';
13
19
  import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
20
+ import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
14
21
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
15
22
  import { MerkleTreeId } from '../trees/merkle_tree_id.js';
16
- import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
17
- import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
18
- import { GlobalVariables, PublicCallRequestWithCalldata, TreeSnapshots, type Tx } from '../tx/index.js';
23
+ import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
24
+ import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
25
+ import {
26
+ GlobalVariables,
27
+ NestedProcessReturnValues,
28
+ ProtocolContracts,
29
+ PublicCallRequestWithCalldata,
30
+ TreeSnapshots,
31
+ type Tx,
32
+ } from '../tx/index.js';
33
+ import { TxExecutionPhase } from '../tx/processed_tx.js';
34
+ import { WorldStateRevision } from '../world-state/world_state_revision.js';
19
35
  import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
20
36
  import { serializeWithMessagePack } from './message_pack.js';
37
+ import { PublicDataWrite } from './public_data_write.js';
38
+ import { RevertCode } from './revert_code.js';
21
39
 
22
40
  ////////////////////////////////////////////////////////////////////////////
23
41
  // Hints (contracts)
24
42
  ////////////////////////////////////////////////////////////////////////////
25
43
  export class AvmContractClassHint {
26
44
  constructor(
45
+ public readonly hintKey: number,
27
46
  public readonly classId: Fr,
28
47
  public readonly artifactHash: Fr,
29
48
  public readonly privateFunctionsRoot: Fr,
@@ -33,20 +52,42 @@ export class AvmContractClassHint {
33
52
  static get schema() {
34
53
  return z
35
54
  .object({
55
+ hintKey: z.number().int().nonnegative(),
36
56
  classId: schemas.Fr,
37
57
  artifactHash: schemas.Fr,
38
58
  privateFunctionsRoot: schemas.Fr,
39
59
  packedBytecode: schemas.Buffer,
40
60
  })
41
61
  .transform(
42
- ({ classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
43
- new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode),
62
+ ({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
63
+ new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
44
64
  );
45
65
  }
66
+
67
+ /**
68
+ * Creates an AvmContractClassHint from a plain object without Zod validation.
69
+ * This method is optimized for performance and skips validation, making it suitable
70
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
71
+ * @param obj - Plain object containing AvmContractClassHint fields
72
+ * @returns An AvmContractClassHint instance
73
+ */
74
+ static fromPlainObject(obj: any): AvmContractClassHint {
75
+ if (obj instanceof AvmContractClassHint) {
76
+ return obj;
77
+ }
78
+ return new AvmContractClassHint(
79
+ obj.hintKey,
80
+ Fr.fromPlainObject(obj.classId),
81
+ Fr.fromPlainObject(obj.artifactHash),
82
+ Fr.fromPlainObject(obj.privateFunctionsRoot),
83
+ obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
84
+ );
85
+ }
46
86
  }
47
87
 
48
88
  export class AvmBytecodeCommitmentHint {
49
89
  constructor(
90
+ public readonly hintKey: number,
50
91
  public readonly classId: Fr,
51
92
  public readonly commitment: Fr,
52
93
  ) {}
@@ -54,15 +95,35 @@ export class AvmBytecodeCommitmentHint {
54
95
  static get schema() {
55
96
  return z
56
97
  .object({
98
+ hintKey: z.number().int().nonnegative(),
57
99
  classId: schemas.Fr,
58
100
  commitment: schemas.Fr,
59
101
  })
60
- .transform(({ classId, commitment }) => new AvmBytecodeCommitmentHint(classId, commitment));
102
+ .transform(({ hintKey, classId, commitment }) => new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
103
+ }
104
+
105
+ /**
106
+ * Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
107
+ * This method is optimized for performance and skips validation, making it suitable
108
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
109
+ * @param obj - Plain object containing AvmBytecodeCommitmentHint fields
110
+ * @returns An AvmBytecodeCommitmentHint instance
111
+ */
112
+ static fromPlainObject(obj: any): AvmBytecodeCommitmentHint {
113
+ if (obj instanceof AvmBytecodeCommitmentHint) {
114
+ return obj;
115
+ }
116
+ return new AvmBytecodeCommitmentHint(
117
+ obj.hintKey,
118
+ Fr.fromPlainObject(obj.classId),
119
+ Fr.fromPlainObject(obj.commitment),
120
+ );
61
121
  }
62
122
  }
63
123
 
64
124
  export class AvmContractInstanceHint {
65
125
  constructor(
126
+ public readonly hintKey: number,
66
127
  public readonly address: AztecAddress,
67
128
  public readonly salt: Fr,
68
129
  public readonly deployer: AztecAddress,
@@ -75,6 +136,7 @@ export class AvmContractInstanceHint {
75
136
  static get schema() {
76
137
  return z
77
138
  .object({
139
+ hintKey: z.number().int().nonnegative(),
78
140
  address: AztecAddress.schema,
79
141
  salt: schemas.Fr,
80
142
  deployer: AztecAddress.schema,
@@ -85,6 +147,7 @@ export class AvmContractInstanceHint {
85
147
  })
86
148
  .transform(
87
149
  ({
150
+ hintKey,
88
151
  address,
89
152
  salt,
90
153
  deployer,
@@ -94,6 +157,7 @@ export class AvmContractInstanceHint {
94
157
  publicKeys,
95
158
  }) =>
96
159
  new AvmContractInstanceHint(
160
+ hintKey,
97
161
  address,
98
162
  salt,
99
163
  deployer,
@@ -104,6 +168,65 @@ export class AvmContractInstanceHint {
104
168
  ),
105
169
  );
106
170
  }
171
+
172
+ /**
173
+ * Creates an AvmContractInstanceHint from a plain object without Zod validation.
174
+ * This method is optimized for performance and skips validation, making it suitable
175
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
176
+ * @param obj - Plain object containing AvmContractInstanceHint fields
177
+ * @returns An AvmContractInstanceHint instance
178
+ */
179
+ static fromPlainObject(obj: any): AvmContractInstanceHint {
180
+ if (obj instanceof AvmContractInstanceHint) {
181
+ return obj;
182
+ }
183
+ return new AvmContractInstanceHint(
184
+ obj.hintKey,
185
+ AztecAddress.fromPlainObject(obj.address),
186
+ Fr.fromPlainObject(obj.salt),
187
+ AztecAddress.fromPlainObject(obj.deployer),
188
+ Fr.fromPlainObject(obj.currentContractClassId),
189
+ Fr.fromPlainObject(obj.originalContractClassId),
190
+ Fr.fromPlainObject(obj.initializationHash),
191
+ PublicKeys.fromPlainObject(obj.publicKeys),
192
+ );
193
+ }
194
+ }
195
+
196
+ export class AvmDebugFunctionNameHint {
197
+ constructor(
198
+ public readonly address: AztecAddress,
199
+ public readonly selector: Fr,
200
+ public readonly name: string,
201
+ ) {}
202
+
203
+ static get schema() {
204
+ return z
205
+ .object({
206
+ address: AztecAddress.schema,
207
+ selector: schemas.Fr,
208
+ name: z.string(),
209
+ })
210
+ .transform(({ address, selector, name }) => new AvmDebugFunctionNameHint(address, selector, name));
211
+ }
212
+
213
+ /**
214
+ * Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
215
+ * This method is optimized for performance and skips validation, making it suitable
216
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
217
+ * @param obj - Plain object containing AvmDebugFunctionNameHint fields
218
+ * @returns An AvmDebugFunctionNameHint instance
219
+ */
220
+ static fromPlainObject(obj: any): AvmDebugFunctionNameHint {
221
+ if (obj instanceof AvmDebugFunctionNameHint) {
222
+ return obj;
223
+ }
224
+ return new AvmDebugFunctionNameHint(
225
+ AztecAddress.fromPlainObject(obj.address),
226
+ Fr.fromPlainObject(obj.selector),
227
+ obj.name,
228
+ );
229
+ }
107
230
  }
108
231
 
109
232
  ////////////////////////////////////////////////////////////////////////////
@@ -130,6 +253,25 @@ export class AvmGetSiblingPathHint {
130
253
  })
131
254
  .transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
132
255
  }
256
+
257
+ /**
258
+ * Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
259
+ * This method is optimized for performance and skips validation, making it suitable
260
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
261
+ * @param obj - Plain object containing AvmGetSiblingPathHint fields
262
+ * @returns An AvmGetSiblingPathHint instance
263
+ */
264
+ static fromPlainObject(obj: any): AvmGetSiblingPathHint {
265
+ if (obj instanceof AvmGetSiblingPathHint) {
266
+ return obj;
267
+ }
268
+ return new AvmGetSiblingPathHint(
269
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
270
+ obj.treeId,
271
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
272
+ obj.path.map((p: any) => Fr.fromPlainObject(p)),
273
+ );
274
+ }
133
275
  }
134
276
 
135
277
  // Hint for MerkleTreeDB.getPreviousValueIndex.
@@ -158,6 +300,26 @@ export class AvmGetPreviousValueIndexHint {
158
300
  new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
159
301
  );
160
302
  }
303
+
304
+ /**
305
+ * Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
306
+ * This method is optimized for performance and skips validation, making it suitable
307
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
308
+ * @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
309
+ * @returns An AvmGetPreviousValueIndexHint instance
310
+ */
311
+ static fromPlainObject(obj: any): AvmGetPreviousValueIndexHint {
312
+ if (obj instanceof AvmGetPreviousValueIndexHint) {
313
+ return obj;
314
+ }
315
+ return new AvmGetPreviousValueIndexHint(
316
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
317
+ obj.treeId,
318
+ Fr.fromPlainObject(obj.value),
319
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
320
+ obj.alreadyPresent,
321
+ );
322
+ }
161
323
  }
162
324
 
163
325
  type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
@@ -185,6 +347,24 @@ function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
185
347
  })
186
348
  .transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
187
349
  }
350
+
351
+ /**
352
+ * Creates an instance from a plain object without Zod validation.
353
+ * This method is optimized for performance and skips validation, making it suitable
354
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
355
+ * @param obj - Plain object containing hint fields
356
+ * @returns An instance
357
+ */
358
+ static fromPlainObject(obj: any): any {
359
+ if (obj instanceof this) {
360
+ return obj;
361
+ }
362
+ return new this(
363
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
364
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
365
+ klass.fromPlainObject(obj.leafPreimage),
366
+ );
367
+ }
188
368
  };
189
369
  }
190
370
 
@@ -214,6 +394,25 @@ export class AvmGetLeafValueHint {
214
394
  })
215
395
  .transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
216
396
  }
397
+
398
+ /**
399
+ * Creates an AvmGetLeafValueHint from a plain object without Zod validation.
400
+ * This method is optimized for performance and skips validation, making it suitable
401
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
402
+ * @param obj - Plain object containing AvmGetLeafValueHint fields
403
+ * @returns An AvmGetLeafValueHint instance
404
+ */
405
+ static fromPlainObject(obj: any): AvmGetLeafValueHint {
406
+ if (obj instanceof AvmGetLeafValueHint) {
407
+ return obj;
408
+ }
409
+ return new AvmGetLeafValueHint(
410
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
411
+ obj.treeId,
412
+ typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
413
+ Fr.fromPlainObject(obj.value),
414
+ );
415
+ }
217
416
  }
218
417
 
219
418
  // Hint for MerkleTreeDB.sequentialInsert.
@@ -263,6 +462,43 @@ function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses)
263
462
  new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
264
463
  );
265
464
  }
465
+
466
+ /**
467
+ * Creates an instance from a plain object without Zod validation.
468
+ * This method is optimized for performance and skips validation, making it suitable
469
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
470
+ * @param obj - Plain object containing hint fields
471
+ * @returns An instance
472
+ */
473
+ static fromPlainObject(obj: any): any {
474
+ if (obj instanceof this) {
475
+ return obj;
476
+ }
477
+ // Determine the leaf class based on the klass parameter
478
+ const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
479
+ return new this(
480
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
481
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
482
+ obj.treeId,
483
+ LeafClass.fromPlainObject(obj.leaf),
484
+ {
485
+ leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
486
+ index:
487
+ typeof obj.lowLeavesWitnessData.index === 'bigint'
488
+ ? obj.lowLeavesWitnessData.index
489
+ : BigInt(obj.lowLeavesWitnessData.index),
490
+ path: obj.lowLeavesWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
491
+ },
492
+ {
493
+ leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
494
+ index:
495
+ typeof obj.insertionWitnessData.index === 'bigint'
496
+ ? obj.insertionWitnessData.index
497
+ : BigInt(obj.insertionWitnessData.index),
498
+ path: obj.insertionWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
499
+ },
500
+ );
501
+ }
266
502
  };
267
503
  }
268
504
 
@@ -293,6 +529,25 @@ export class AvmAppendLeavesHint {
293
529
  ({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
294
530
  );
295
531
  }
532
+
533
+ /**
534
+ * Creates an AvmAppendLeavesHint from a plain object without Zod validation.
535
+ * This method is optimized for performance and skips validation, making it suitable
536
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
537
+ * @param obj - Plain object containing AvmAppendLeavesHint fields
538
+ * @returns An AvmAppendLeavesHint instance
539
+ */
540
+ static fromPlainObject(obj: any): AvmAppendLeavesHint {
541
+ if (obj instanceof AvmAppendLeavesHint) {
542
+ return obj;
543
+ }
544
+ return new AvmAppendLeavesHint(
545
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
546
+ AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
547
+ obj.treeId,
548
+ obj.leaves.map((l: any) => Fr.fromPlainObject(l)),
549
+ );
550
+ }
296
551
  }
297
552
 
298
553
  // Hint for checkpoint actions that don't change the state.
@@ -317,6 +572,20 @@ class AvmCheckpointActionNoStateChangeHint {
317
572
  new this(actionCounter, oldCheckpointId, newCheckpointId),
318
573
  );
319
574
  }
575
+
576
+ /**
577
+ * Creates an instance from a plain object without Zod validation.
578
+ * This method is optimized for performance and skips validation, making it suitable
579
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
580
+ * @param obj - Plain object containing hint fields
581
+ * @returns An instance
582
+ */
583
+ static fromPlainObject(obj: any): any {
584
+ if (obj instanceof this) {
585
+ return obj;
586
+ }
587
+ return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
588
+ }
320
589
  }
321
590
 
322
591
  // Hint for MerkleTreeDB.createCheckpoint.
@@ -379,8 +648,32 @@ export class AvmRevertCheckpointHint {
379
648
  new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
380
649
  );
381
650
  }
651
+
652
+ /**
653
+ * Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
654
+ * This method is optimized for performance and skips validation, making it suitable
655
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
656
+ * @param obj - Plain object containing AvmRevertCheckpointHint fields
657
+ * @returns An AvmRevertCheckpointHint instance
658
+ */
659
+ static fromPlainObject(obj: any): AvmRevertCheckpointHint {
660
+ if (obj instanceof AvmRevertCheckpointHint) {
661
+ return obj;
662
+ }
663
+ return new AvmRevertCheckpointHint(
664
+ obj.actionCounter,
665
+ obj.oldCheckpointId,
666
+ obj.newCheckpointId,
667
+ TreeSnapshots.fromPlainObject(obj.stateBefore),
668
+ TreeSnapshots.fromPlainObject(obj.stateAfter),
669
+ );
670
+ }
382
671
  }
383
672
 
673
+ export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
674
+ export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
675
+ export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
676
+
384
677
  ////////////////////////////////////////////////////////////////////////////
385
678
  // Hints (other)
386
679
  ////////////////////////////////////////////////////////////////////////////
@@ -389,6 +682,8 @@ export class AvmTxHint {
389
682
  public readonly hash: string,
390
683
  public readonly gasSettings: GasSettings,
391
684
  public readonly effectiveGasFees: GasFees,
685
+ public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
686
+ public readonly revertibleContractDeploymentData: ContractDeploymentData,
392
687
  public readonly nonRevertibleAccumulatedData: {
393
688
  noteHashes: Fr[];
394
689
  nullifiers: Fr[];
@@ -408,15 +703,13 @@ export class AvmTxHint {
408
703
  public readonly feePayer: AztecAddress,
409
704
  ) {}
410
705
 
411
- static fromTx(tx: Tx): AvmTxHint {
706
+ static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint {
412
707
  const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
413
708
  const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
414
709
  const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
415
710
  const gasSettings = tx.data.constants.txContext.gasSettings;
416
- const effectiveGasFees = computeEffectiveGasFees(
417
- tx.data.constants.historicalHeader.globalVariables.gasFees,
418
- gasSettings,
419
- );
711
+ const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
712
+ const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
420
713
 
421
714
  // For informational purposes. Assumed quick because it should be cached.
422
715
  const txHash = tx.getTxHash();
@@ -425,6 +718,8 @@ export class AvmTxHint {
425
718
  txHash.hash.toString(),
426
719
  gasSettings,
427
720
  effectiveGasFees,
721
+ allContractDeploymentData.getNonRevertibleContractDeploymentData(),
722
+ allContractDeploymentData.getRevertibleContractDeploymentData(),
428
723
  {
429
724
  noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
430
725
  nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
@@ -448,6 +743,8 @@ export class AvmTxHint {
448
743
  '',
449
744
  GasSettings.empty(),
450
745
  GasFees.empty(),
746
+ ContractDeploymentData.empty(),
747
+ ContractDeploymentData.empty(),
451
748
  { noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
452
749
  { noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
453
750
  [],
@@ -458,12 +755,53 @@ export class AvmTxHint {
458
755
  );
459
756
  }
460
757
 
758
+ /**
759
+ * Creates an AvmTxHint from a plain object without Zod validation.
760
+ * This method is optimized for performance and skips validation, making it suitable
761
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
762
+ * @param obj - Plain object containing AvmTxHint fields
763
+ * @returns An AvmTxHint instance
764
+ */
765
+ static fromPlainObject(obj: any): AvmTxHint {
766
+ if (obj instanceof AvmTxHint) {
767
+ return obj;
768
+ }
769
+ return new AvmTxHint(
770
+ obj.hash,
771
+ GasSettings.fromPlainObject(obj.gasSettings),
772
+ GasFees.fromPlainObject(obj.effectiveGasFees),
773
+ ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData),
774
+ ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData),
775
+ {
776
+ noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
777
+ nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
778
+ l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
779
+ ScopedL2ToL1Message.fromPlainObject(m),
780
+ ),
781
+ },
782
+ {
783
+ noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
784
+ nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
785
+ l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
786
+ ScopedL2ToL1Message.fromPlainObject(m),
787
+ ),
788
+ },
789
+ obj.setupEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
790
+ obj.appLogicEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
791
+ obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null,
792
+ Gas.fromPlainObject(obj.gasUsedByPrivate),
793
+ AztecAddress.fromPlainObject(obj.feePayer),
794
+ );
795
+ }
796
+
461
797
  static get schema() {
462
798
  return z
463
799
  .object({
464
800
  hash: z.string(),
465
801
  gasSettings: GasSettings.schema,
466
802
  effectiveGasFees: GasFees.schema,
803
+ nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
804
+ revertibleContractDeploymentData: ContractDeploymentData.schema,
467
805
  nonRevertibleAccumulatedData: z.object({
468
806
  noteHashes: schemas.Fr.array(),
469
807
  nullifiers: schemas.Fr.array(),
@@ -485,6 +823,8 @@ export class AvmTxHint {
485
823
  hash,
486
824
  gasSettings,
487
825
  effectiveGasFees,
826
+ nonRevertibleContractDeploymentData,
827
+ revertibleContractDeploymentData,
488
828
  nonRevertibleAccumulatedData,
489
829
  revertibleAccumulatedData,
490
830
  setupEnqueuedCalls,
@@ -497,6 +837,8 @@ export class AvmTxHint {
497
837
  hash,
498
838
  gasSettings,
499
839
  effectiveGasFees,
840
+ nonRevertibleContractDeploymentData,
841
+ revertibleContractDeploymentData,
500
842
  nonRevertibleAccumulatedData,
501
843
  revertibleAccumulatedData,
502
844
  setupEnqueuedCalls,
@@ -513,10 +855,16 @@ export class AvmExecutionHints {
513
855
  constructor(
514
856
  public readonly globalVariables: GlobalVariables,
515
857
  public tx: AvmTxHint,
858
+ // Protocol contracts.
859
+ public protocolContracts: ProtocolContracts,
516
860
  // Contract hints.
517
861
  public readonly contractInstances: AvmContractInstanceHint[] = [],
518
862
  public readonly contractClasses: AvmContractClassHint[] = [],
519
863
  public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
864
+ public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
865
+ public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
866
+ public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
867
+ public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
520
868
  // Merkle DB hints.
521
869
  public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
522
870
  public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
@@ -532,8 +880,52 @@ export class AvmExecutionHints {
532
880
  public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
533
881
  ) {}
534
882
 
883
+ /**
884
+ * Creates an AvmExecutionHints from a plain object without Zod validation.
885
+ * This method is optimized for performance and skips validation, making it suitable
886
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
887
+ * @param obj - Plain object containing AvmExecutionHints fields
888
+ * @returns An AvmExecutionHints instance
889
+ */
890
+ static fromPlainObject(obj: any): AvmExecutionHints {
891
+ if (obj instanceof AvmExecutionHints) {
892
+ return obj;
893
+ }
894
+ return new AvmExecutionHints(
895
+ GlobalVariables.fromPlainObject(obj.globalVariables),
896
+ AvmTxHint.fromPlainObject(obj.tx),
897
+ ProtocolContracts.fromPlainObject(obj.protocolContracts),
898
+ obj.contractInstances?.map((i: any) => AvmContractInstanceHint.fromPlainObject(i)) || [],
899
+ obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
900
+ obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
901
+ obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
902
+ obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
903
+ obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
904
+ obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
905
+ obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
906
+ obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
907
+ obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
908
+ obj.getLeafPreimageHintsPublicDataTree?.map((h: any) =>
909
+ AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h),
910
+ ) || [],
911
+ obj.getLeafPreimageHintsNullifierTree?.map((h: any) => AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) ||
912
+ [],
913
+ obj.getLeafValueHints?.map((h: any) => AvmGetLeafValueHint.fromPlainObject(h)) || [],
914
+ obj.sequentialInsertHintsPublicDataTree?.map((h: any) =>
915
+ AvmSequentialInsertHintPublicDataTree.fromPlainObject(h),
916
+ ) || [],
917
+ obj.sequentialInsertHintsNullifierTree?.map((h: any) =>
918
+ AvmSequentialInsertHintNullifierTree.fromPlainObject(h),
919
+ ) || [],
920
+ obj.appendLeavesHints?.map((h: any) => AvmAppendLeavesHint.fromPlainObject(h)) || [],
921
+ obj.createCheckpointHints?.map((h: any) => AvmCreateCheckpointHint.fromPlainObject(h)) || [],
922
+ obj.commitCheckpointHints?.map((h: any) => AvmCommitCheckpointHint.fromPlainObject(h)) || [],
923
+ obj.revertCheckpointHints?.map((h: any) => AvmRevertCheckpointHint.fromPlainObject(h)) || [],
924
+ );
925
+ }
926
+
535
927
  static empty() {
536
- return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty());
928
+ return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
537
929
  }
538
930
 
539
931
  static get schema() {
@@ -541,9 +933,14 @@ export class AvmExecutionHints {
541
933
  .object({
542
934
  globalVariables: GlobalVariables.schema,
543
935
  tx: AvmTxHint.schema,
936
+ protocolContracts: ProtocolContracts.schema,
544
937
  contractInstances: AvmContractInstanceHint.schema.array(),
545
938
  contractClasses: AvmContractClassHint.schema.array(),
546
939
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
940
+ debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
941
+ contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
942
+ contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
943
+ contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
547
944
  startingTreeRoots: TreeSnapshots.schema,
548
945
  getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
549
946
  getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
@@ -561,9 +958,14 @@ export class AvmExecutionHints {
561
958
  ({
562
959
  globalVariables,
563
960
  tx,
961
+ protocolContracts,
564
962
  contractInstances,
565
963
  contractClasses,
566
964
  bytecodeCommitments,
965
+ debugFunctionNames,
966
+ contractDbCreateCheckpointHints,
967
+ contractDbCommitCheckpointHints,
968
+ contractDbRevertCheckpointHints,
567
969
  startingTreeRoots,
568
970
  getSiblingPathHints,
569
971
  getPreviousValueIndexHints,
@@ -580,9 +982,14 @@ export class AvmExecutionHints {
580
982
  new AvmExecutionHints(
581
983
  globalVariables,
582
984
  tx,
985
+ protocolContracts,
583
986
  contractInstances,
584
987
  contractClasses,
585
988
  bytecodeCommitments,
989
+ debugFunctionNames,
990
+ contractDbCreateCheckpointHints,
991
+ contractDbCommitCheckpointHints,
992
+ contractDbRevertCheckpointHints,
586
993
  startingTreeRoots,
587
994
  getSiblingPathHints,
588
995
  getPreviousValueIndexHints,
@@ -610,6 +1017,13 @@ export class AvmCircuitInputs {
610
1017
  return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
611
1018
  }
612
1019
 
1020
+ static fromPlainObject(obj: any): AvmCircuitInputs {
1021
+ return new AvmCircuitInputs(
1022
+ AvmExecutionHints.fromPlainObject(obj.hints),
1023
+ AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
1024
+ );
1025
+ }
1026
+
613
1027
  static get schema() {
614
1028
  return z
615
1029
  .object({
@@ -631,3 +1045,471 @@ export class AvmCircuitInputs {
631
1045
  return jsonParseWithSchema(buf.toString(), this.schema);
632
1046
  }
633
1047
  }
1048
+
1049
+ // Metadata about a given (enqueued or external) call.
1050
+ export class CallStackMetadata {
1051
+ constructor(
1052
+ public phase: TxExecutionPhase,
1053
+ public contractAddress: Fr,
1054
+ public callerPc: number,
1055
+ public calldata: Fr[],
1056
+ public isStaticCall: boolean,
1057
+ public gasLimit: Gas,
1058
+ public output: Fr[], // returndata or revertdata.
1059
+ public internalCallStackAtExit: number[], // At return/revert time. Last one is exit PC.
1060
+ public haltingMessage: string | undefined,
1061
+ public reverted: boolean,
1062
+ public nested: CallStackMetadata[],
1063
+ public numNestedCalls: number, // This will be different from the size of the nested vector if we went past some limit.
1064
+ ) {}
1065
+
1066
+ static get schema(): ZodFor<CallStackMetadata> {
1067
+ return z
1068
+ .object({
1069
+ phase: z.nativeEnum(TxExecutionPhase),
1070
+ contractAddress: Fr.schema,
1071
+ callerPc: z.number(),
1072
+ calldata: Fr.schema.array(),
1073
+ isStaticCall: z.boolean(),
1074
+ gasLimit: Gas.schema,
1075
+ output: Fr.schema.array(),
1076
+ internalCallStackAtExit: z.number().array(),
1077
+ haltingMessage: NullishToUndefined(z.string()),
1078
+ reverted: z.boolean(),
1079
+ nested: CallStackMetadata.schema.array(),
1080
+ numNestedCalls: z.number(),
1081
+ })
1082
+ .transform(
1083
+ ({
1084
+ phase,
1085
+ contractAddress,
1086
+ callerPc,
1087
+ calldata,
1088
+ isStaticCall,
1089
+ gasLimit,
1090
+ output,
1091
+ internalCallStackAtExit,
1092
+ haltingMessage,
1093
+ reverted,
1094
+ nested,
1095
+ numNestedCalls,
1096
+ }) =>
1097
+ new CallStackMetadata(
1098
+ phase,
1099
+ contractAddress,
1100
+ callerPc,
1101
+ calldata,
1102
+ isStaticCall,
1103
+ gasLimit,
1104
+ output,
1105
+ internalCallStackAtExit,
1106
+ haltingMessage,
1107
+ reverted,
1108
+ nested,
1109
+ numNestedCalls,
1110
+ ),
1111
+ );
1112
+ }
1113
+
1114
+ /**
1115
+ * Creates a CallStackMetadata from a plain object without Zod validation.
1116
+ * This method is optimized for performance and skips validation, making it suitable
1117
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
1118
+ * @param obj - Plain object containing CallStackMetadata fields
1119
+ * @returns A CallStackMetadata instance
1120
+ */
1121
+ static fromPlainObject(obj: any): CallStackMetadata {
1122
+ if (obj instanceof CallStackMetadata) {
1123
+ return obj;
1124
+ }
1125
+ return new CallStackMetadata(
1126
+ obj.phase,
1127
+ Fr.fromPlainObject(obj.contractAddress),
1128
+ obj.callerPc,
1129
+ obj.calldata.map((f: any) => Fr.fromPlainObject(f)),
1130
+ obj.isStaticCall,
1131
+ Gas.fromPlainObject(obj.gasLimit),
1132
+ obj.output.map((f: any) => Fr.fromPlainObject(f)),
1133
+ obj.internalCallStackAtExit.map((p: any) => Number(p)),
1134
+ obj.haltingMessage,
1135
+ obj.reverted,
1136
+ obj.nested.map((n: any) => CallStackMetadata.fromPlainObject(n)),
1137
+ obj.numNestedCalls,
1138
+ );
1139
+ }
1140
+
1141
+ public getRevertReason(): SimulationError | undefined {
1142
+ const failingCall = this.findDeepestRevert([this]);
1143
+
1144
+ if (!failingCall) {
1145
+ return undefined;
1146
+ }
1147
+
1148
+ const { stack, leaf } = failingCall;
1149
+ const aztecCallStack = stack.map(call => ({
1150
+ contractAddress: AztecAddress.fromField(call.contractAddress),
1151
+ functionSelector: call.calldata.length > 0 ? FunctionSelector.fromField(call.calldata[0]) : undefined,
1152
+ }));
1153
+
1154
+ // The Noir call stack is the internal call stack at exit of the failing call
1155
+ const noirCallStack = leaf.internalCallStackAtExit.map(pc => `0.${pc}`);
1156
+
1157
+ return new SimulationError(
1158
+ leaf.haltingMessage ?? 'Transaction reverted',
1159
+ aztecCallStack,
1160
+ leaf.output,
1161
+ noirCallStack,
1162
+ );
1163
+ }
1164
+
1165
+ /**
1166
+ * Finds the "rightmost deepest" revert in the call tree.
1167
+ *
1168
+ * At each level, we select the LAST (rightmost) reverted call, then recurse into its
1169
+ * nested calls to find the deepest reverted leaf along that path. The chain stops
1170
+ * when we encounter a non-reverted call (since you can choose not to rethrow).
1171
+ *
1172
+ * Examples (X = reverted, O = passed):
1173
+ *
1174
+ * 1. [X, X, X] at depth 1 -> returns the last X (rightmost)
1175
+ *
1176
+ * 2. [X(depth2), X, X] where first X has a nested revert -> returns the last X at depth 1,
1177
+ * NOT the deeper revert in the first X (rightmost takes priority over depth)
1178
+ *
1179
+ * 3. X -> X -> X -> O -> O -> X (nested chain)
1180
+ * Returns the 3rd X, because the O's break the reverted chain (they didn't rethrow)
1181
+ *
1182
+ * @param calls - Array of call metadata at the current level
1183
+ * @param parentStack - Accumulated stack of parent calls (for building the result)
1184
+ * @returns The deepest reverted call along the rightmost reverted path, or undefined if none
1185
+ */
1186
+ private findDeepestRevert(
1187
+ calls: CallStackMetadata[],
1188
+ parentStack: CallStackMetadata[] = [],
1189
+ ): { stack: CallStackMetadata[]; leaf: CallStackMetadata } | undefined {
1190
+ const lastReverted = calls.findLast(call => call.reverted);
1191
+ if (!lastReverted) {
1192
+ return undefined;
1193
+ }
1194
+ const currentStack = [...parentStack, lastReverted];
1195
+ return this.findDeepestRevert(lastReverted.nested, currentStack) || { stack: currentStack, leaf: lastReverted };
1196
+ }
1197
+ }
1198
+
1199
+ export class PublicTxEffect {
1200
+ constructor(
1201
+ public transactionFee: Fr,
1202
+ public noteHashes: Fr[],
1203
+ public nullifiers: Fr[],
1204
+ public l2ToL1Msgs: ScopedL2ToL1Message[],
1205
+ public publicLogs: PublicLog[],
1206
+ public publicDataWrites: PublicDataWrite[],
1207
+ ) {}
1208
+
1209
+ static empty() {
1210
+ return new PublicTxEffect(Fr.ZERO, [], [], [], [], []);
1211
+ }
1212
+
1213
+ static get schema(): ZodFor<PublicTxEffect> {
1214
+ return z
1215
+ .object({
1216
+ transactionFee: Fr.schema,
1217
+ noteHashes: Fr.schema.array(),
1218
+ nullifiers: Fr.schema.array(),
1219
+ l2ToL1Msgs: ScopedL2ToL1Message.schema.array(),
1220
+ publicLogs: PublicLog.schema.array(),
1221
+ publicDataWrites: PublicDataWrite.schema.array(),
1222
+ })
1223
+ .transform(PublicTxEffect.from);
1224
+ }
1225
+
1226
+ static from(obj: any): PublicTxEffect {
1227
+ return new PublicTxEffect(
1228
+ obj.transactionFee,
1229
+ obj.noteHashes,
1230
+ obj.nullifiers,
1231
+ obj.l2ToL1Msgs,
1232
+ obj.publicLogs,
1233
+ obj.publicDataWrites,
1234
+ );
1235
+ }
1236
+
1237
+ static fromPlainObject(obj: any): PublicTxEffect {
1238
+ return new PublicTxEffect(
1239
+ Fr.fromPlainObject(obj.transactionFee),
1240
+ obj.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
1241
+ obj.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
1242
+ obj.l2ToL1Msgs.map((m: any) => ScopedL2ToL1Message.fromPlainObject(m)),
1243
+ obj.publicLogs.map((l: any) => PublicLog.fromPlainObject(l)),
1244
+ obj.publicDataWrites.map((w: any) => PublicDataWrite.fromPlainObject(w)),
1245
+ );
1246
+ }
1247
+
1248
+ equals(other: PublicTxEffect): boolean {
1249
+ return (
1250
+ this.transactionFee.equals(other.transactionFee) &&
1251
+ this.noteHashes.length === other.noteHashes.length &&
1252
+ this.noteHashes.every((h, i) => h.equals(other.noteHashes[i])) &&
1253
+ this.nullifiers.length === other.nullifiers.length &&
1254
+ this.nullifiers.every((h, i) => h.equals(other.nullifiers[i])) &&
1255
+ this.l2ToL1Msgs.length === other.l2ToL1Msgs.length &&
1256
+ this.l2ToL1Msgs.every((m, i) => m.equals(other.l2ToL1Msgs[i])) &&
1257
+ this.publicLogs.length === other.publicLogs.length &&
1258
+ this.publicLogs.every((l, i) => l.equals(other.publicLogs[i])) &&
1259
+ this.publicDataWrites.length === other.publicDataWrites.length &&
1260
+ this.publicDataWrites.every((w, i) => w.equals(other.publicDataWrites[i]))
1261
+ );
1262
+ }
1263
+ }
1264
+
1265
+ export class PublicTxResult {
1266
+ constructor(
1267
+ // Simulation result.
1268
+ public gasUsed: GasUsed,
1269
+ public revertCode: RevertCode,
1270
+ public publicTxEffect: PublicTxEffect,
1271
+ // These are only guaranteed to be present if the simulator is configured to collect them.
1272
+ // TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
1273
+ public callStackMetadata:
1274
+ | CallStackMetadata[] // One per enqueued call. All phases.
1275
+ | NestedProcessReturnValues[], // One per enqueued call. App logic only.
1276
+ public logs: DebugLog[] | undefined,
1277
+ // For the proving request.
1278
+ public hints: AvmExecutionHints | undefined,
1279
+ public publicInputs: AvmCircuitPublicInputs | undefined,
1280
+ ) {}
1281
+
1282
+ static empty() {
1283
+ return new PublicTxResult(
1284
+ {
1285
+ totalGas: Gas.empty(),
1286
+ teardownGas: Gas.empty(),
1287
+ publicGas: Gas.empty(),
1288
+ billedGas: Gas.empty(),
1289
+ },
1290
+ RevertCode.OK,
1291
+ PublicTxEffect.empty(),
1292
+ /*callStackMetadata=*/ [] as CallStackMetadata[],
1293
+ /*logs=*/ [],
1294
+ /*hints=*/ AvmExecutionHints.empty(),
1295
+ /*publicInputs=*/ AvmCircuitPublicInputs.empty(),
1296
+ );
1297
+ }
1298
+
1299
+ static get schema(): ZodFor<PublicTxResult> {
1300
+ return z
1301
+ .object({
1302
+ gasUsed: schemas.GasUsed,
1303
+ revertCode: RevertCode.schema,
1304
+ revertReason: NullishToUndefined(SimulationError.schema),
1305
+ publicTxEffect: PublicTxEffect.schema,
1306
+ callStackMetadata: z.union([CallStackMetadata.schema.array(), NestedProcessReturnValues.schema.array()]),
1307
+ logs: NullishToUndefined(DebugLog.schema.array()),
1308
+ // For the proving request.
1309
+ publicInputs: NullishToUndefined(AvmCircuitPublicInputs.schema),
1310
+ hints: NullishToUndefined(AvmExecutionHints.schema),
1311
+ })
1312
+ .transform(
1313
+ ({ gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs }) =>
1314
+ new PublicTxResult(
1315
+ gasUsed,
1316
+ revertCode as RevertCode,
1317
+ publicTxEffect,
1318
+ callStackMetadata,
1319
+ logs,
1320
+ hints,
1321
+ publicInputs,
1322
+ ),
1323
+ );
1324
+ }
1325
+
1326
+ /**
1327
+ * Creates a PublicTxResult from a plain object without Zod validation.
1328
+ * This method is optimized for performance and skips validation, making it suitable
1329
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
1330
+ * @param obj - Plain object containing PublicTxResult fields
1331
+ * @returns A PublicTxResult instance
1332
+ */
1333
+ static fromPlainObject(obj: any): PublicTxResult {
1334
+ return new PublicTxResult(
1335
+ GasUsed.fromPlainObject(obj.gasUsed),
1336
+ RevertCode.fromPlainObject(obj.revertCode),
1337
+ PublicTxEffect.fromPlainObject(obj.publicTxEffect),
1338
+ obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), // Always CallStackMetadata[] from MessagePack.
1339
+ obj.logs?.map(DebugLog.fromPlainObject),
1340
+ obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined,
1341
+ obj.publicInputs ? AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs) : undefined,
1342
+ );
1343
+ }
1344
+
1345
+ /** Returns one level of return values for the app logic phase, one per enqueued call. */
1346
+ public getAppLogicReturnValues(): NestedProcessReturnValues[] {
1347
+ if (this.callStackMetadata.every(metadata => metadata instanceof CallStackMetadata)) {
1348
+ return this.callStackMetadata
1349
+ .filter(metadata => metadata.phase === TxExecutionPhase.APP_LOGIC)
1350
+ .map(metadata => new NestedProcessReturnValues(metadata.output));
1351
+ } else {
1352
+ return (this.callStackMetadata as NestedProcessReturnValues[]).map(
1353
+ metadata => new NestedProcessReturnValues(metadata.values, metadata.nested),
1354
+ );
1355
+ }
1356
+ }
1357
+
1358
+ public findRevertReason(): SimulationError | undefined {
1359
+ if (this.revertCode.isOK()) {
1360
+ return undefined;
1361
+ }
1362
+
1363
+ const callStackMetadata = this.callStackMetadata;
1364
+ // TODO(fcarreiro): Remove this after migration to the C++ simulator.
1365
+ // If the "stack" comes from TS, it will have this field.
1366
+ if ((callStackMetadata as any).revertReason !== undefined) {
1367
+ return (callStackMetadata as any).revertReason;
1368
+ }
1369
+
1370
+ // Handle CallStackMetadata[].
1371
+ let revertReason: SimulationError | undefined = undefined;
1372
+ for (const call of callStackMetadata) {
1373
+ revertReason = (call as CallStackMetadata).getRevertReason();
1374
+ if (revertReason) {
1375
+ break;
1376
+ }
1377
+ }
1378
+ return revertReason;
1379
+ }
1380
+ }
1381
+
1382
+ export class CollectionLimitsConfig {
1383
+ constructor(
1384
+ public readonly maxDebugLogMemoryReads: number,
1385
+ public readonly maxCalldataSizeInFields: number,
1386
+ public readonly maxReturndataSizeInFields: number,
1387
+ public readonly maxCallStackDepth: number,
1388
+ public readonly maxCallStackItems: number,
1389
+ ) {}
1390
+
1391
+ static from(obj: Partial<CollectionLimitsConfig>): CollectionLimitsConfig {
1392
+ return new CollectionLimitsConfig(
1393
+ obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
1394
+ obj.maxCalldataSizeInFields ?? 300,
1395
+ obj.maxReturndataSizeInFields ?? 300,
1396
+ obj.maxCallStackDepth ?? 5,
1397
+ obj.maxCallStackItems ?? 100,
1398
+ );
1399
+ }
1400
+
1401
+ static empty() {
1402
+ return CollectionLimitsConfig.from({});
1403
+ }
1404
+
1405
+ static get schema() {
1406
+ return z
1407
+ .object({
1408
+ maxDebugLogMemoryReads: z.number(),
1409
+ maxCalldataSizeInFields: z.number(),
1410
+ maxReturndataSizeInFields: z.number(),
1411
+ maxCallStackDepth: z.number(),
1412
+ maxCallStackItems: z.number(),
1413
+ })
1414
+ .transform(
1415
+ ({
1416
+ maxDebugLogMemoryReads,
1417
+ maxCalldataSizeInFields,
1418
+ maxReturndataSizeInFields,
1419
+ maxCallStackDepth,
1420
+ maxCallStackItems,
1421
+ }) =>
1422
+ new CollectionLimitsConfig(
1423
+ maxDebugLogMemoryReads,
1424
+ maxCalldataSizeInFields,
1425
+ maxReturndataSizeInFields,
1426
+ maxCallStackDepth,
1427
+ maxCallStackItems,
1428
+ ),
1429
+ );
1430
+ }
1431
+ }
1432
+
1433
+ export class PublicSimulatorConfig {
1434
+ constructor(
1435
+ public readonly proverId: Fr,
1436
+ public readonly skipFeeEnforcement: boolean,
1437
+ public readonly collectCallMetadata: boolean, // appLogicReturnValues.
1438
+ public readonly collectHints: boolean, // hints.
1439
+ public readonly collectPublicInputs: boolean, // public inputs.
1440
+ public readonly collectDebugLogs: boolean, // logs.
1441
+ public readonly collectStatistics: boolean, // timings etc.
1442
+ public readonly collectionLimits: CollectionLimitsConfig,
1443
+ ) {}
1444
+
1445
+ static from(obj: Partial<PublicSimulatorConfig>): PublicSimulatorConfig {
1446
+ return new PublicSimulatorConfig(
1447
+ obj.proverId ?? Fr.ZERO,
1448
+ obj.skipFeeEnforcement ?? false,
1449
+ obj.collectCallMetadata ?? false,
1450
+ obj.collectHints ?? false,
1451
+ obj.collectPublicInputs ?? false,
1452
+ obj.collectDebugLogs ?? false,
1453
+ obj.collectStatistics ?? false,
1454
+ obj.collectionLimits ?? CollectionLimitsConfig.empty(),
1455
+ );
1456
+ }
1457
+
1458
+ static empty() {
1459
+ return PublicSimulatorConfig.from({});
1460
+ }
1461
+
1462
+ static get schema() {
1463
+ return z
1464
+ .object({
1465
+ proverId: Fr.schema,
1466
+ skipFeeEnforcement: z.boolean(),
1467
+ collectCallMetadata: z.boolean(),
1468
+ collectHints: z.boolean(),
1469
+ collectPublicInputs: z.boolean(),
1470
+ collectDebugLogs: z.boolean(),
1471
+ collectStatistics: z.boolean(),
1472
+ collectionLimits: CollectionLimitsConfig.schema,
1473
+ })
1474
+ .transform(PublicSimulatorConfig.from);
1475
+ }
1476
+ }
1477
+
1478
+ export class AvmFastSimulationInputs {
1479
+ constructor(
1480
+ public readonly wsRevision: WorldStateRevision,
1481
+ public readonly config: PublicSimulatorConfig,
1482
+ public tx: AvmTxHint,
1483
+ public globalVariables: GlobalVariables,
1484
+ public protocolContracts: ProtocolContracts,
1485
+ ) {}
1486
+
1487
+ static empty() {
1488
+ return new AvmFastSimulationInputs(
1489
+ WorldStateRevision.empty(),
1490
+ PublicSimulatorConfig.empty(),
1491
+ AvmTxHint.empty(),
1492
+ GlobalVariables.empty(),
1493
+ ProtocolContracts.empty(),
1494
+ );
1495
+ }
1496
+
1497
+ static get schema() {
1498
+ return z
1499
+ .object({
1500
+ wsRevision: WorldStateRevision.schema,
1501
+ config: PublicSimulatorConfig.schema,
1502
+ tx: AvmTxHint.schema,
1503
+ globalVariables: GlobalVariables.schema,
1504
+ protocolContracts: ProtocolContracts.schema,
1505
+ })
1506
+ .transform(
1507
+ ({ wsRevision, config, tx, globalVariables, protocolContracts }) =>
1508
+ new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts),
1509
+ );
1510
+ }
1511
+
1512
+ public serializeWithMessagePack(): Buffer {
1513
+ return serializeWithMessagePack(this);
1514
+ }
1515
+ }