@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.017a351

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