@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.5476d83

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