@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.0208eb9

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