@aztec-labs/stdlib 6.0.0-nightly.20260829

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