@aztec/stdlib 0.77.0-testnet-ignition.17

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 (1178) hide show
  1. package/README.md +20 -0
  2. package/dest/abi/abi.d.ts +853 -0
  3. package/dest/abi/abi.d.ts.map +1 -0
  4. package/dest/abi/abi.js +279 -0
  5. package/dest/abi/buffer.d.ts +18 -0
  6. package/dest/abi/buffer.d.ts.map +1 -0
  7. package/dest/abi/buffer.js +34 -0
  8. package/dest/abi/contract_artifact.d.ts +23 -0
  9. package/dest/abi/contract_artifact.d.ts.map +1 -0
  10. package/dest/abi/contract_artifact.js +233 -0
  11. package/dest/abi/decoder.d.ts +58 -0
  12. package/dest/abi/decoder.d.ts.map +1 -0
  13. package/dest/abi/decoder.js +170 -0
  14. package/dest/abi/encoder.d.ts +16 -0
  15. package/dest/abi/encoder.d.ts.map +1 -0
  16. package/dest/abi/encoder.js +164 -0
  17. package/dest/abi/event_selector.d.ts +52 -0
  18. package/dest/abi/event_selector.d.ts.map +1 -0
  19. package/dest/abi/event_selector.js +68 -0
  20. package/dest/abi/function_call.d.ts +53 -0
  21. package/dest/abi/function_call.d.ts.map +1 -0
  22. package/dest/abi/function_call.js +49 -0
  23. package/dest/abi/function_selector.d.ts +65 -0
  24. package/dest/abi/function_selector.d.ts.map +1 -0
  25. package/dest/abi/function_selector.js +85 -0
  26. package/dest/abi/index.d.ts +11 -0
  27. package/dest/abi/index.d.ts.map +1 -0
  28. package/dest/abi/index.js +10 -0
  29. package/dest/abi/mocked_keys.d.ts +2 -0
  30. package/dest/abi/mocked_keys.d.ts.map +1 -0
  31. package/dest/abi/mocked_keys.js +1 -0
  32. package/dest/abi/note_selector.d.ts +42 -0
  33. package/dest/abi/note_selector.d.ts.map +1 -0
  34. package/dest/abi/note_selector.js +56 -0
  35. package/dest/abi/selector.d.ts +42 -0
  36. package/dest/abi/selector.d.ts.map +1 -0
  37. package/dest/abi/selector.js +50 -0
  38. package/dest/abi/utils.d.ts +39 -0
  39. package/dest/abi/utils.d.ts.map +1 -0
  40. package/dest/abi/utils.js +55 -0
  41. package/dest/auth_witness/auth_witness.d.ts +26 -0
  42. package/dest/auth_witness/auth_witness.d.ts.map +1 -0
  43. package/dest/auth_witness/auth_witness.js +41 -0
  44. package/dest/auth_witness/index.d.ts +2 -0
  45. package/dest/auth_witness/index.d.ts.map +1 -0
  46. package/dest/auth_witness/index.js +1 -0
  47. package/dest/avm/avm.d.ts +478 -0
  48. package/dest/avm/avm.d.ts.map +1 -0
  49. package/dest/avm/avm.js +794 -0
  50. package/dest/avm/avm_accumulated_data.d.ts +63 -0
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -0
  52. package/dest/avm/avm_accumulated_data.js +70 -0
  53. package/dest/avm/avm_circuit_public_inputs.d.ts +42 -0
  54. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -0
  55. package/dest/avm/avm_circuit_public_inputs.js +92 -0
  56. package/dest/avm/avm_proving_request.d.ts +15 -0
  57. package/dest/avm/avm_proving_request.d.ts.map +1 -0
  58. package/dest/avm/avm_proving_request.js +7 -0
  59. package/dest/avm/contract_storage_read.d.ts +60 -0
  60. package/dest/avm/contract_storage_read.d.ts.map +1 -0
  61. package/dest/avm/contract_storage_read.js +65 -0
  62. package/dest/avm/contract_storage_update_request.d.ts +67 -0
  63. package/dest/avm/contract_storage_update_request.d.ts.map +1 -0
  64. package/dest/avm/contract_storage_update_request.js +80 -0
  65. package/dest/avm/index.d.ts +13 -0
  66. package/dest/avm/index.d.ts.map +1 -0
  67. package/dest/avm/index.js +12 -0
  68. package/dest/avm/public_call_stack_item_compressed.d.ts +45 -0
  69. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -0
  70. package/dest/avm/public_call_stack_item_compressed.js +70 -0
  71. package/dest/avm/public_data_hint.d.ts +18 -0
  72. package/dest/avm/public_data_hint.d.ts.map +1 -0
  73. package/dest/avm/public_data_hint.js +27 -0
  74. package/dest/avm/public_data_read.d.ts +41 -0
  75. package/dest/avm/public_data_read.d.ts.map +1 -0
  76. package/dest/avm/public_data_read.js +40 -0
  77. package/dest/avm/public_data_update_request.d.ts +65 -0
  78. package/dest/avm/public_data_update_request.d.ts.map +1 -0
  79. package/dest/avm/public_data_update_request.js +65 -0
  80. package/dest/avm/public_data_write.d.ts +54 -0
  81. package/dest/avm/public_data_write.d.ts.map +1 -0
  82. package/dest/avm/public_data_write.js +64 -0
  83. package/dest/avm/public_inner_call_request.d.ts +53 -0
  84. package/dest/avm/public_inner_call_request.d.ts.map +1 -0
  85. package/dest/avm/public_inner_call_request.js +72 -0
  86. package/dest/avm/revert_code.d.ts +49 -0
  87. package/dest/avm/revert_code.d.ts.map +1 -0
  88. package/dest/avm/revert_code.js +105 -0
  89. package/dest/aztec-address/index.d.ts +58 -0
  90. package/dest/aztec-address/index.d.ts.map +1 -0
  91. package/dest/aztec-address/index.js +108 -0
  92. package/dest/block/block_hash.d.ts +15 -0
  93. package/dest/block/block_hash.d.ts.map +1 -0
  94. package/dest/block/block_hash.js +20 -0
  95. package/dest/block/body.d.ts +35 -0
  96. package/dest/block/body.d.ts.map +1 -0
  97. package/dest/block/body.js +75 -0
  98. package/dest/block/in_block.d.ts +31 -0
  99. package/dest/block/in_block.d.ts.map +1 -0
  100. package/dest/block/in_block.js +24 -0
  101. package/dest/block/index.d.ts +9 -0
  102. package/dest/block/index.d.ts.map +1 -0
  103. package/dest/block/index.js +8 -0
  104. package/dest/block/l2_block.d.ts +134 -0
  105. package/dest/block/l2_block.d.ts.map +1 -0
  106. package/dest/block/l2_block.js +139 -0
  107. package/dest/block/l2_block_code_to_purge.d.ts +24 -0
  108. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -0
  109. package/dest/block/l2_block_code_to_purge.js +51 -0
  110. package/dest/block/l2_block_downloader/index.d.ts +3 -0
  111. package/dest/block/l2_block_downloader/index.d.ts.map +1 -0
  112. package/dest/block/l2_block_downloader/index.js +2 -0
  113. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +58 -0
  114. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +1 -0
  115. package/dest/block/l2_block_downloader/l2_block_downloader.js +124 -0
  116. package/dest/block/l2_block_downloader/l2_block_stream.d.ts +57 -0
  117. package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +1 -0
  118. package/dest/block/l2_block_downloader/l2_block_stream.js +137 -0
  119. package/dest/block/l2_block_number.d.ts +5 -0
  120. package/dest/block/l2_block_number.d.ts.map +1 -0
  121. package/dest/block/l2_block_number.js +6 -0
  122. package/dest/block/l2_block_source.d.ts +233 -0
  123. package/dest/block/l2_block_source.d.ts.map +1 -0
  124. package/dest/block/l2_block_source.js +17 -0
  125. package/dest/block/nullifier_with_block_source.d.ts +6 -0
  126. package/dest/block/nullifier_with_block_source.d.ts.map +1 -0
  127. package/dest/block/nullifier_with_block_source.js +1 -0
  128. package/dest/config/config.d.ts +18 -0
  129. package/dest/config/config.d.ts.map +1 -0
  130. package/dest/config/config.js +28 -0
  131. package/dest/config/index.d.ts +2 -0
  132. package/dest/config/index.d.ts.map +1 -0
  133. package/dest/config/index.js +1 -0
  134. package/dest/contract/artifact_hash.d.ts +47 -0
  135. package/dest/contract/artifact_hash.d.ts.map +1 -0
  136. package/dest/contract/artifact_hash.js +114 -0
  137. package/dest/contract/complete_address.d.ts +82 -0
  138. package/dest/contract/complete_address.d.ts.map +1 -0
  139. package/dest/contract/complete_address.js +117 -0
  140. package/dest/contract/contract_address.d.ts +45 -0
  141. package/dest/contract/contract_address.d.ts.map +1 -0
  142. package/dest/contract/contract_address.js +64 -0
  143. package/dest/contract/contract_class.d.ts +17 -0
  144. package/dest/contract/contract_class.d.ts.map +1 -0
  145. package/dest/contract/contract_class.js +57 -0
  146. package/dest/contract/contract_class_id.d.ts +32 -0
  147. package/dest/contract/contract_class_id.d.ts.map +1 -0
  148. package/dest/contract/contract_class_id.js +54 -0
  149. package/dest/contract/contract_function_dao.d.ts +13 -0
  150. package/dest/contract/contract_function_dao.d.ts.map +1 -0
  151. package/dest/contract/contract_function_dao.js +5 -0
  152. package/dest/contract/contract_instance.d.ts +40 -0
  153. package/dest/contract/contract_instance.d.ts.map +1 -0
  154. package/dest/contract/contract_instance.js +109 -0
  155. package/dest/contract/contract_instance_update.d.ts +17 -0
  156. package/dest/contract/contract_instance_update.d.ts.map +1 -0
  157. package/dest/contract/contract_instance_update.js +38 -0
  158. package/dest/contract/deployment_info.d.ts +24 -0
  159. package/dest/contract/deployment_info.d.ts.map +1 -0
  160. package/dest/contract/deployment_info.js +3 -0
  161. package/dest/contract/index.d.ts +15 -0
  162. package/dest/contract/index.d.ts.map +1 -0
  163. package/dest/contract/index.js +14 -0
  164. package/dest/contract/interfaces/contract_class.d.ts +524 -0
  165. package/dest/contract/interfaces/contract_class.d.ts.map +1 -0
  166. package/dest/contract/interfaces/contract_class.js +53 -0
  167. package/dest/contract/interfaces/contract_data_source.d.ts +44 -0
  168. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -0
  169. package/dest/contract/interfaces/contract_data_source.js +1 -0
  170. package/dest/contract/interfaces/contract_instance.d.ts +138 -0
  171. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -0
  172. package/dest/contract/interfaces/contract_instance.js +16 -0
  173. package/dest/contract/interfaces/contract_instance_update.d.ts +51 -0
  174. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -0
  175. package/dest/contract/interfaces/contract_instance_update.js +10 -0
  176. package/dest/contract/interfaces/index.d.ts +7 -0
  177. package/dest/contract/interfaces/index.d.ts.map +1 -0
  178. package/dest/contract/interfaces/index.js +6 -0
  179. package/dest/contract/interfaces/node-info.d.ts +20 -0
  180. package/dest/contract/interfaces/node-info.d.ts.map +1 -0
  181. package/dest/contract/interfaces/node-info.js +14 -0
  182. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +26 -0
  183. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -0
  184. package/dest/contract/interfaces/protocol_contract_addresses.js +14 -0
  185. package/dest/contract/partial_address.d.ts +7 -0
  186. package/dest/contract/partial_address.d.ts.map +1 -0
  187. package/dest/contract/partial_address.js +4 -0
  188. package/dest/contract/private_function.d.ts +12 -0
  189. package/dest/contract/private_function.d.ts.map +1 -0
  190. package/dest/contract/private_function.js +39 -0
  191. package/dest/contract/private_function_membership_proof.d.ts +32 -0
  192. package/dest/contract/private_function_membership_proof.d.ts.map +1 -0
  193. package/dest/contract/private_function_membership_proof.js +124 -0
  194. package/dest/contract/unconstrained_function_membership_proof.d.ts +27 -0
  195. package/dest/contract/unconstrained_function_membership_proof.d.ts.map +1 -0
  196. package/dest/contract/unconstrained_function_membership_proof.js +87 -0
  197. package/dest/epoch-helpers/index.d.ts +42 -0
  198. package/dest/epoch-helpers/index.d.ts.map +1 -0
  199. package/dest/epoch-helpers/index.js +43 -0
  200. package/dest/errors/index.d.ts +3 -0
  201. package/dest/errors/index.d.ts.map +1 -0
  202. package/dest/errors/index.js +2 -0
  203. package/dest/errors/proving_error.d.ts +15 -0
  204. package/dest/errors/proving_error.d.ts.map +1 -0
  205. package/dest/errors/proving_error.js +16 -0
  206. package/dest/errors/simulation_error.d.ts +111 -0
  207. package/dest/errors/simulation_error.d.ts.map +1 -0
  208. package/dest/errors/simulation_error.js +162 -0
  209. package/dest/event/event.d.ts +24 -0
  210. package/dest/event/event.d.ts.map +1 -0
  211. package/dest/event/event.js +13 -0
  212. package/dest/event/event_metadata.d.ts +38 -0
  213. package/dest/event/event_metadata.d.ts.map +1 -0
  214. package/dest/event/event_metadata.js +45 -0
  215. package/dest/event/index.d.ts +4 -0
  216. package/dest/event/index.d.ts.map +1 -0
  217. package/dest/event/index.js +3 -0
  218. package/dest/event/l1_event_payload.d.ts +52 -0
  219. package/dest/event/l1_event_payload.d.ts.map +1 -0
  220. package/dest/event/l1_event_payload.js +64 -0
  221. package/dest/fees/index.d.ts +2 -0
  222. package/dest/fees/index.d.ts.map +1 -0
  223. package/dest/fees/index.js +1 -0
  224. package/dest/fees/transaction_fee.d.ts +6 -0
  225. package/dest/fees/transaction_fee.d.ts.map +1 -0
  226. package/dest/fees/transaction_fee.js +8 -0
  227. package/dest/gas/gas.d.ts +50 -0
  228. package/dest/gas/gas.d.ts.map +1 -0
  229. package/dest/gas/gas.js +76 -0
  230. package/dest/gas/gas_fees.d.ts +46 -0
  231. package/dest/gas/gas_fees.d.ts.map +1 -0
  232. package/dest/gas/gas_fees.js +77 -0
  233. package/dest/gas/gas_settings.d.ts +136 -0
  234. package/dest/gas/gas_settings.d.ts.map +1 -0
  235. package/dest/gas/gas_settings.js +89 -0
  236. package/dest/gas/gas_used.d.ts +20 -0
  237. package/dest/gas/gas_used.d.ts.map +1 -0
  238. package/dest/gas/gas_used.js +1 -0
  239. package/dest/gas/index.d.ts +5 -0
  240. package/dest/gas/index.d.ts.map +1 -0
  241. package/dest/gas/index.js +4 -0
  242. package/dest/hash/hash.d.ts +77 -0
  243. package/dest/hash/hash.d.ts.map +1 -0
  244. package/dest/hash/hash.js +135 -0
  245. package/dest/hash/index.d.ts +3 -0
  246. package/dest/hash/index.d.ts.map +1 -0
  247. package/dest/hash/index.js +2 -0
  248. package/dest/hash/map_slot.d.ts +12 -0
  249. package/dest/hash/map_slot.d.ts.map +1 -0
  250. package/dest/hash/map_slot.js +12 -0
  251. package/dest/interfaces/archiver.d.ts +9 -0
  252. package/dest/interfaces/archiver.d.ts.map +1 -0
  253. package/dest/interfaces/archiver.js +52 -0
  254. package/dest/interfaces/aztec-node.d.ts +348 -0
  255. package/dest/interfaces/aztec-node.d.ts.map +1 -0
  256. package/dest/interfaces/aztec-node.js +93 -0
  257. package/dest/interfaces/block-builder.d.ts +26 -0
  258. package/dest/interfaces/block-builder.d.ts.map +1 -0
  259. package/dest/interfaces/block-builder.js +1 -0
  260. package/dest/interfaces/client.d.ts +5 -0
  261. package/dest/interfaces/client.d.ts.map +1 -0
  262. package/dest/interfaces/client.js +4 -0
  263. package/dest/interfaces/configs.d.ts +152 -0
  264. package/dest/interfaces/configs.d.ts.map +1 -0
  265. package/dest/interfaces/configs.js +34 -0
  266. package/dest/interfaces/epoch-prover.d.ts +38 -0
  267. package/dest/interfaces/epoch-prover.d.ts.map +1 -0
  268. package/dest/interfaces/epoch-prover.js +1 -0
  269. package/dest/interfaces/get_logs_response.d.ts +73 -0
  270. package/dest/interfaces/get_logs_response.d.ts.map +1 -0
  271. package/dest/interfaces/get_logs_response.js +11 -0
  272. package/dest/interfaces/l2_logs_source.d.ts +42 -0
  273. package/dest/interfaces/l2_logs_source.d.ts.map +1 -0
  274. package/dest/interfaces/l2_logs_source.js +3 -0
  275. package/dest/interfaces/merkle_tree_operations.d.ts +226 -0
  276. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -0
  277. package/dest/interfaces/merkle_tree_operations.js +13 -0
  278. package/dest/interfaces/p2p-bootstrap.d.ts +14 -0
  279. package/dest/interfaces/p2p-bootstrap.d.ts.map +1 -0
  280. package/dest/interfaces/p2p-bootstrap.js +5 -0
  281. package/dest/interfaces/p2p.d.ts +49 -0
  282. package/dest/interfaces/p2p.d.ts.map +1 -0
  283. package/dest/interfaces/p2p.js +30 -0
  284. package/dest/interfaces/private_kernel_prover.d.ts +81 -0
  285. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -0
  286. package/dest/interfaces/private_kernel_prover.js +4 -0
  287. package/dest/interfaces/processed-tx-handler.d.ts +10 -0
  288. package/dest/interfaces/processed-tx-handler.d.ts.map +1 -0
  289. package/dest/interfaces/processed-tx-handler.js +1 -0
  290. package/dest/interfaces/prover-agent.d.ts +11 -0
  291. package/dest/interfaces/prover-agent.d.ts.map +1 -0
  292. package/dest/interfaces/prover-agent.js +9 -0
  293. package/dest/interfaces/prover-broker.d.ts +68 -0
  294. package/dest/interfaces/prover-broker.d.ts.map +1 -0
  295. package/dest/interfaces/prover-broker.js +1 -0
  296. package/dest/interfaces/prover-client.d.ts +76 -0
  297. package/dest/interfaces/prover-client.d.ts.map +1 -0
  298. package/dest/interfaces/prover-client.js +70 -0
  299. package/dest/interfaces/prover-coordination.d.ts +20 -0
  300. package/dest/interfaces/prover-coordination.d.ts.map +1 -0
  301. package/dest/interfaces/prover-coordination.js +7 -0
  302. package/dest/interfaces/prover-node.d.ts +19 -0
  303. package/dest/interfaces/prover-node.d.ts.map +1 -0
  304. package/dest/interfaces/prover-node.js +27 -0
  305. package/dest/interfaces/proving-job-source.d.ts +29 -0
  306. package/dest/interfaces/proving-job-source.d.ts.map +1 -0
  307. package/dest/interfaces/proving-job-source.js +8 -0
  308. package/dest/interfaces/proving-job.d.ts +391 -0
  309. package/dest/interfaces/proving-job.d.ts.map +1 -0
  310. package/dest/interfaces/proving-job.js +259 -0
  311. package/dest/interfaces/pxe.d.ts +347 -0
  312. package/dest/interfaces/pxe.d.ts.map +1 -0
  313. package/dest/interfaces/pxe.js +104 -0
  314. package/dest/interfaces/server.d.ts +20 -0
  315. package/dest/interfaces/server.d.ts.map +1 -0
  316. package/dest/interfaces/server.js +19 -0
  317. package/dest/interfaces/server_circuit_prover.d.ts +86 -0
  318. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -0
  319. package/dest/interfaces/server_circuit_prover.js +3 -0
  320. package/dest/interfaces/service.d.ts +15 -0
  321. package/dest/interfaces/service.d.ts.map +1 -0
  322. package/dest/interfaces/service.js +7 -0
  323. package/dest/interfaces/world_state.d.ts +85 -0
  324. package/dest/interfaces/world_state.d.ts.map +1 -0
  325. package/dest/interfaces/world_state.js +17 -0
  326. package/dest/kernel/combined_constant_data.d.ts +73 -0
  327. package/dest/kernel/combined_constant_data.d.ts.map +1 -0
  328. package/dest/kernel/combined_constant_data.js +73 -0
  329. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +15 -0
  330. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -0
  331. package/dest/kernel/hints/build_note_hash_read_request_hints.js +66 -0
  332. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +24 -0
  333. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -0
  334. package/dest/kernel/hints/build_nullifier_read_request_hints.js +67 -0
  335. package/dest/kernel/hints/build_transient_data_hints.d.ts +10 -0
  336. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -0
  337. package/dest/kernel/hints/build_transient_data_hints.js +51 -0
  338. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +3 -0
  339. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -0
  340. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +104 -0
  341. package/dest/kernel/hints/index.d.ts +17 -0
  342. package/dest/kernel/hints/index.d.ts.map +1 -0
  343. package/dest/kernel/hints/index.js +16 -0
  344. package/dest/kernel/hints/key_validation_hint.d.ts +19 -0
  345. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -0
  346. package/dest/kernel/hints/key_validation_hint.js +20 -0
  347. package/dest/kernel/hints/key_validation_request.d.ts +25 -0
  348. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -0
  349. package/dest/kernel/hints/key_validation_request.js +50 -0
  350. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +32 -0
  351. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -0
  352. package/dest/kernel/hints/key_validation_request_and_generator.js +44 -0
  353. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +24 -0
  354. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -0
  355. package/dest/kernel/hints/note_hash_read_request_hints.js +43 -0
  356. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +21 -0
  357. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -0
  358. package/dest/kernel/hints/nullifier_read_request_hints.js +43 -0
  359. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +61 -0
  360. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -0
  361. package/dest/kernel/hints/private_kernel_reset_hints.js +48 -0
  362. package/dest/kernel/hints/read_request.d.ts +90 -0
  363. package/dest/kernel/hints/read_request.d.ts.map +1 -0
  364. package/dest/kernel/hints/read_request.js +112 -0
  365. package/dest/kernel/hints/read_request_hints.d.ts +78 -0
  366. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -0
  367. package/dest/kernel/hints/read_request_hints.js +114 -0
  368. package/dest/kernel/hints/rollup_validation_requests.d.ts +40 -0
  369. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +1 -0
  370. package/dest/kernel/hints/rollup_validation_requests.js +57 -0
  371. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +21 -0
  372. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -0
  373. package/dest/kernel/hints/scoped_key_validation_request_and_generator.js +41 -0
  374. package/dest/kernel/hints/scoped_value_cache.d.ts +14 -0
  375. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -0
  376. package/dest/kernel/hints/scoped_value_cache.js +14 -0
  377. package/dest/kernel/hints/transient_data_index_hint.d.ts +20 -0
  378. package/dest/kernel/hints/transient_data_index_hint.d.ts.map +1 -0
  379. package/dest/kernel/hints/transient_data_index_hint.js +40 -0
  380. package/dest/kernel/hints/tree_leaf_read_request.d.ts +16 -0
  381. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -0
  382. package/dest/kernel/hints/tree_leaf_read_request.js +33 -0
  383. package/dest/kernel/index.d.ts +31 -0
  384. package/dest/kernel/index.d.ts.map +1 -0
  385. package/dest/kernel/index.js +30 -0
  386. package/dest/kernel/log_hash.d.ts +38 -0
  387. package/dest/kernel/log_hash.d.ts.map +1 -0
  388. package/dest/kernel/log_hash.js +87 -0
  389. package/dest/kernel/note_hash.d.ts +34 -0
  390. package/dest/kernel/note_hash.d.ts.map +1 -0
  391. package/dest/kernel/note_hash.js +80 -0
  392. package/dest/kernel/nullifier.d.ts +36 -0
  393. package/dest/kernel/nullifier.d.ts.map +1 -0
  394. package/dest/kernel/nullifier.js +86 -0
  395. package/dest/kernel/private_accumulated_data.d.ts +92 -0
  396. package/dest/kernel/private_accumulated_data.d.ts.map +1 -0
  397. package/dest/kernel/private_accumulated_data.js +71 -0
  398. package/dest/kernel/private_call_data.d.ts +170 -0
  399. package/dest/kernel/private_call_data.d.ts.map +1 -0
  400. package/dest/kernel/private_call_data.js +167 -0
  401. package/dest/kernel/private_call_request.d.ts +57 -0
  402. package/dest/kernel/private_call_request.d.ts.map +1 -0
  403. package/dest/kernel/private_call_request.js +59 -0
  404. package/dest/kernel/private_circuit_public_inputs.d.ts +238 -0
  405. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -0
  406. package/dest/kernel/private_circuit_public_inputs.js +191 -0
  407. package/dest/kernel/private_context_inputs.d.ts +14 -0
  408. package/dest/kernel/private_context_inputs.d.ts.map +1 -0
  409. package/dest/kernel/private_context_inputs.js +27 -0
  410. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +90 -0
  411. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -0
  412. package/dest/kernel/private_kernel_circuit_public_inputs.js +66 -0
  413. package/dest/kernel/private_kernel_data.d.ts +54 -0
  414. package/dest/kernel/private_kernel_data.d.ts.map +1 -0
  415. package/dest/kernel/private_kernel_data.js +43 -0
  416. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +72 -0
  417. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -0
  418. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +48 -0
  419. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +39 -0
  420. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -0
  421. package/dest/kernel/private_kernel_inner_circuit_private_inputs.js +31 -0
  422. package/dest/kernel/private_kernel_prover_profile_result.d.ts +25 -0
  423. package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +1 -0
  424. package/dest/kernel/private_kernel_prover_profile_result.js +7 -0
  425. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +35 -0
  426. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -0
  427. package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +36 -0
  428. package/dest/kernel/private_kernel_reset_dimensions.d.ts +34 -0
  429. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -0
  430. package/dest/kernel/private_kernel_reset_dimensions.js +56 -0
  431. package/dest/kernel/private_kernel_simulated_output.d.ts +28 -0
  432. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -0
  433. package/dest/kernel/private_kernel_simulated_output.js +3 -0
  434. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +31 -0
  435. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -0
  436. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +30 -0
  437. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +114 -0
  438. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -0
  439. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +183 -0
  440. package/dest/kernel/private_log_data.d.ts +40 -0
  441. package/dest/kernel/private_log_data.d.ts.map +1 -0
  442. package/dest/kernel/private_log_data.js +99 -0
  443. package/dest/kernel/private_to_avm_accumulated_data.d.ts +40 -0
  444. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -0
  445. package/dest/kernel/private_to_avm_accumulated_data.js +102 -0
  446. package/dest/kernel/private_to_public_accumulated_data.d.ts +31 -0
  447. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -0
  448. package/dest/kernel/private_to_public_accumulated_data.js +73 -0
  449. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +34 -0
  450. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -0
  451. package/dest/kernel/private_to_public_accumulated_data_builder.js +72 -0
  452. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +30 -0
  453. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -0
  454. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +65 -0
  455. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +82 -0
  456. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -0
  457. package/dest/kernel/private_to_rollup_accumulated_data.js +99 -0
  458. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +76 -0
  459. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -0
  460. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +85 -0
  461. package/dest/kernel/private_validation_requests.d.ts +82 -0
  462. package/dest/kernel/private_validation_requests.d.ts.map +1 -0
  463. package/dest/kernel/private_validation_requests.js +79 -0
  464. package/dest/kernel/public_call_request.d.ts +73 -0
  465. package/dest/kernel/public_call_request.d.ts.map +1 -0
  466. package/dest/kernel/public_call_request.js +119 -0
  467. package/dest/kernel/utils/index.d.ts +4 -0
  468. package/dest/kernel/utils/index.d.ts.map +1 -0
  469. package/dest/kernel/utils/index.js +3 -0
  470. package/dest/kernel/utils/interfaces.d.ts +7 -0
  471. package/dest/kernel/utils/interfaces.d.ts.map +1 -0
  472. package/dest/kernel/utils/interfaces.js +1 -0
  473. package/dest/kernel/utils/optional_number.d.ts +33 -0
  474. package/dest/kernel/utils/optional_number.d.ts.map +1 -0
  475. package/dest/kernel/utils/optional_number.js +42 -0
  476. package/dest/kernel/utils/order_and_comparison.d.ts +8 -0
  477. package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -0
  478. package/dest/kernel/utils/order_and_comparison.js +52 -0
  479. package/dest/keys/derivation.d.ts +30 -0
  480. package/dest/keys/derivation.d.ts.map +1 -0
  481. package/dest/keys/derivation.js +127 -0
  482. package/dest/keys/index.d.ts +6 -0
  483. package/dest/keys/index.d.ts.map +1 -0
  484. package/dest/keys/index.js +5 -0
  485. package/dest/keys/key_types.d.ts +5 -0
  486. package/dest/keys/key_types.d.ts.map +1 -0
  487. package/dest/keys/key_types.js +6 -0
  488. package/dest/keys/public_key.d.ts +4 -0
  489. package/dest/keys/public_key.d.ts.map +1 -0
  490. package/dest/keys/public_key.js +1 -0
  491. package/dest/keys/public_keys.d.ts +116 -0
  492. package/dest/keys/public_keys.d.ts.map +1 -0
  493. package/dest/keys/public_keys.js +121 -0
  494. package/dest/keys/utils.d.ts +3 -0
  495. package/dest/keys/utils.d.ts.map +1 -0
  496. package/dest/keys/utils.js +6 -0
  497. package/dest/logs/contract_class_log.d.ts +40 -0
  498. package/dest/logs/contract_class_log.d.ts.map +1 -0
  499. package/dest/logs/contract_class_log.js +104 -0
  500. package/dest/logs/extended_contract_class_log.d.ts +53 -0
  501. package/dest/logs/extended_contract_class_log.d.ts.map +1 -0
  502. package/dest/logs/extended_contract_class_log.js +67 -0
  503. package/dest/logs/extended_public_log.d.ts +94 -0
  504. package/dest/logs/extended_public_log.d.ts.map +1 -0
  505. package/dest/logs/extended_public_log.js +73 -0
  506. package/dest/logs/index.d.ts +12 -0
  507. package/dest/logs/index.d.ts.map +1 -0
  508. package/dest/logs/index.js +11 -0
  509. package/dest/logs/indexed_tagging_secret.d.ts +28 -0
  510. package/dest/logs/indexed_tagging_secret.d.ts.map +1 -0
  511. package/dest/logs/indexed_tagging_secret.js +50 -0
  512. package/dest/logs/l1_payload/encrypted_log_payload.d.ts +50 -0
  513. package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +1 -0
  514. package/dest/logs/l1_payload/encrypted_log_payload.js +140 -0
  515. package/dest/logs/l1_payload/encryption_util.d.ts +24 -0
  516. package/dest/logs/l1_payload/encryption_util.d.ts.map +1 -0
  517. package/dest/logs/l1_payload/encryption_util.js +46 -0
  518. package/dest/logs/l1_payload/index.d.ts +3 -0
  519. package/dest/logs/l1_payload/index.d.ts.map +1 -0
  520. package/dest/logs/l1_payload/index.js +2 -0
  521. package/dest/logs/l1_payload/l1_note_payload.d.ts +82 -0
  522. package/dest/logs/l1_payload/l1_note_payload.d.ts.map +1 -0
  523. package/dest/logs/l1_payload/l1_note_payload.js +129 -0
  524. package/dest/logs/l1_payload/payload.d.ts +60 -0
  525. package/dest/logs/l1_payload/payload.d.ts.map +1 -0
  526. package/dest/logs/l1_payload/payload.js +61 -0
  527. package/dest/logs/l1_payload/shared_secret_derivation.d.ts +16 -0
  528. package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +1 -0
  529. package/dest/logs/l1_payload/shared_secret_derivation.js +23 -0
  530. package/dest/logs/log_filter.d.ts +22 -0
  531. package/dest/logs/log_filter.d.ts.map +1 -0
  532. package/dest/logs/log_filter.js +11 -0
  533. package/dest/logs/log_id.d.ts +72 -0
  534. package/dest/logs/log_id.d.ts.map +1 -0
  535. package/dest/logs/log_id.js +83 -0
  536. package/dest/logs/log_with_tx_data.d.ts +11 -0
  537. package/dest/logs/log_with_tx_data.d.ts.map +1 -0
  538. package/dest/logs/log_with_tx_data.js +36 -0
  539. package/dest/logs/private_log.d.ts +31 -0
  540. package/dest/logs/private_log.d.ts.map +1 -0
  541. package/dest/logs/private_log.js +47 -0
  542. package/dest/logs/public_log.d.ts +29 -0
  543. package/dest/logs/public_log.d.ts.map +1 -0
  544. package/dest/logs/public_log.js +67 -0
  545. package/dest/logs/tx_scoped_l2_log.d.ts +60 -0
  546. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -0
  547. package/dest/logs/tx_scoped_l2_log.js +58 -0
  548. package/dest/messaging/inbox_leaf.d.ts +19 -0
  549. package/dest/messaging/inbox_leaf.d.ts.map +1 -0
  550. package/dest/messaging/inbox_leaf.js +27 -0
  551. package/dest/messaging/index.d.ts +7 -0
  552. package/dest/messaging/index.d.ts.map +1 -0
  553. package/dest/messaging/index.js +6 -0
  554. package/dest/messaging/l1_actor.d.ts +33 -0
  555. package/dest/messaging/l1_actor.d.ts.map +1 -0
  556. package/dest/messaging/l1_actor.js +39 -0
  557. package/dest/messaging/l1_to_l2_message.d.ts +50 -0
  558. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -0
  559. package/dest/messaging/l1_to_l2_message.js +83 -0
  560. package/dest/messaging/l1_to_l2_message_source.d.ts +24 -0
  561. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -0
  562. package/dest/messaging/l1_to_l2_message_source.js +3 -0
  563. package/dest/messaging/l2_actor.d.ts +33 -0
  564. package/dest/messaging/l2_actor.d.ts.map +1 -0
  565. package/dest/messaging/l2_actor.js +39 -0
  566. package/dest/messaging/l2_to_l1_message.d.ts +66 -0
  567. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -0
  568. package/dest/messaging/l2_to_l1_message.js +114 -0
  569. package/dest/network/index.d.ts +32 -0
  570. package/dest/network/index.d.ts.map +1 -0
  571. package/dest/network/index.js +30 -0
  572. package/dest/noir/index.d.ts +128 -0
  573. package/dest/noir/index.d.ts.map +1 -0
  574. package/dest/noir/index.js +15 -0
  575. package/dest/note/comparator.d.ts +12 -0
  576. package/dest/note/comparator.d.ts.map +1 -0
  577. package/dest/note/comparator.js +11 -0
  578. package/dest/note/extended_note.d.ts +124 -0
  579. package/dest/note/extended_note.d.ts.map +1 -0
  580. package/dest/note/extended_note.js +115 -0
  581. package/dest/note/index.d.ts +6 -0
  582. package/dest/note/index.d.ts.map +1 -0
  583. package/dest/note/index.js +5 -0
  584. package/dest/note/note.d.ts +24 -0
  585. package/dest/note/note.d.ts.map +1 -0
  586. package/dest/note/note.js +13 -0
  587. package/dest/note/note_status.d.ts +8 -0
  588. package/dest/note/note_status.d.ts.map +1 -0
  589. package/dest/note/note_status.js +7 -0
  590. package/dest/note/notes_filter.d.ts +27 -0
  591. package/dest/note/notes_filter.d.ts.map +1 -0
  592. package/dest/note/notes_filter.js +13 -0
  593. package/dest/p2p/block_attestation.d.ts +49 -0
  594. package/dest/p2p/block_attestation.d.ts.map +1 -0
  595. package/dest/p2p/block_attestation.js +78 -0
  596. package/dest/p2p/block_proposal.d.ts +45 -0
  597. package/dest/p2p/block_proposal.d.ts.map +1 -0
  598. package/dest/p2p/block_proposal.js +70 -0
  599. package/dest/p2p/client_type.d.ts +5 -0
  600. package/dest/p2p/client_type.d.ts.map +1 -0
  601. package/dest/p2p/client_type.js +7 -0
  602. package/dest/p2p/consensus_payload.d.ts +51 -0
  603. package/dest/p2p/consensus_payload.d.ts.map +1 -0
  604. package/dest/p2p/consensus_payload.js +81 -0
  605. package/dest/p2p/gossipable.d.ts +32 -0
  606. package/dest/p2p/gossipable.d.ts.map +1 -0
  607. package/dest/p2p/gossipable.js +10 -0
  608. package/dest/p2p/index.d.ts +11 -0
  609. package/dest/p2p/index.d.ts.map +1 -0
  610. package/dest/p2p/index.js +10 -0
  611. package/dest/p2p/interface.d.ts +18 -0
  612. package/dest/p2p/interface.d.ts.map +1 -0
  613. package/dest/p2p/interface.js +19 -0
  614. package/dest/p2p/message_validator.d.ts +10 -0
  615. package/dest/p2p/message_validator.d.ts.map +1 -0
  616. package/dest/p2p/message_validator.js +5 -0
  617. package/dest/p2p/peer_error.d.ts +18 -0
  618. package/dest/p2p/peer_error.d.ts.map +1 -0
  619. package/dest/p2p/peer_error.js +15 -0
  620. package/dest/p2p/signature_utils.d.ts +23 -0
  621. package/dest/p2p/signature_utils.d.ts.map +1 -0
  622. package/dest/p2p/signature_utils.js +22 -0
  623. package/dest/p2p/topic_type.d.ts +28 -0
  624. package/dest/p2p/topic_type.d.ts.map +1 -0
  625. package/dest/p2p/topic_type.js +40 -0
  626. package/dest/parity/base_parity_inputs.d.ts +37 -0
  627. package/dest/parity/base_parity_inputs.d.ts.map +1 -0
  628. package/dest/parity/base_parity_inputs.js +45 -0
  629. package/dest/parity/index.d.ts +5 -0
  630. package/dest/parity/index.d.ts.map +1 -0
  631. package/dest/parity/index.js +4 -0
  632. package/dest/parity/parity_public_inputs.d.ts +58 -0
  633. package/dest/parity/parity_public_inputs.d.ts.map +1 -0
  634. package/dest/parity/parity_public_inputs.js +68 -0
  635. package/dest/parity/root_parity_input.d.ts +54 -0
  636. package/dest/parity/root_parity_input.d.ts.map +1 -0
  637. package/dest/parity/root_parity_input.js +50 -0
  638. package/dest/parity/root_parity_inputs.d.ts +39 -0
  639. package/dest/parity/root_parity_inputs.d.ts.map +1 -0
  640. package/dest/parity/root_parity_inputs.js +47 -0
  641. package/dest/proofs/client_ivc_proof.d.ts +21 -0
  642. package/dest/proofs/client_ivc_proof.d.ts.map +1 -0
  643. package/dest/proofs/client_ivc_proof.js +44 -0
  644. package/dest/proofs/index.d.ts +5 -0
  645. package/dest/proofs/index.d.ts.map +1 -0
  646. package/dest/proofs/index.js +4 -0
  647. package/dest/proofs/proof.d.ts +65 -0
  648. package/dest/proofs/proof.d.ts.map +1 -0
  649. package/dest/proofs/proof.js +91 -0
  650. package/dest/proofs/proving_request_type.d.ts +16 -0
  651. package/dest/proofs/proving_request_type.d.ts.map +1 -0
  652. package/dest/proofs/proving_request_type.js +15 -0
  653. package/dest/proofs/recursive_proof.d.ts +101 -0
  654. package/dest/proofs/recursive_proof.d.ts.map +1 -0
  655. package/dest/proofs/recursive_proof.js +93 -0
  656. package/dest/rollup/avm_proof_data.d.ts +17 -0
  657. package/dest/rollup/avm_proof_data.d.ts.map +1 -0
  658. package/dest/rollup/avm_proof_data.js +25 -0
  659. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +126 -0
  660. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -0
  661. package/dest/rollup/base_or_merge_rollup_public_inputs.js +92 -0
  662. package/dest/rollup/base_rollup_hints.d.ts +138 -0
  663. package/dest/rollup/base_rollup_hints.d.ts.map +1 -0
  664. package/dest/rollup/base_rollup_hints.js +132 -0
  665. package/dest/rollup/block_merge_rollup.d.ts +45 -0
  666. package/dest/rollup/block_merge_rollup.d.ts.map +1 -0
  667. package/dest/rollup/block_merge_rollup.js +50 -0
  668. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +159 -0
  669. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +1 -0
  670. package/dest/rollup/block_root_or_block_merge_public_inputs.js +136 -0
  671. package/dest/rollup/block_root_rollup.d.ts +262 -0
  672. package/dest/rollup/block_root_rollup.d.ts.map +1 -0
  673. package/dest/rollup/block_root_rollup.js +293 -0
  674. package/dest/rollup/constant_rollup_data.d.ts +47 -0
  675. package/dest/rollup/constant_rollup_data.d.ts.map +1 -0
  676. package/dest/rollup/constant_rollup_data.js +45 -0
  677. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +54 -0
  678. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +1 -0
  679. package/dest/rollup/empty_block_root_rollup_inputs.js +68 -0
  680. package/dest/rollup/index.d.ts +19 -0
  681. package/dest/rollup/index.d.ts.map +1 -0
  682. package/dest/rollup/index.js +18 -0
  683. package/dest/rollup/merge_rollup.d.ts +45 -0
  684. package/dest/rollup/merge_rollup.d.ts.map +1 -0
  685. package/dest/rollup/merge_rollup.js +50 -0
  686. package/dest/rollup/previous_rollup_block_data.d.ts +58 -0
  687. package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -0
  688. package/dest/rollup/previous_rollup_block_data.js +42 -0
  689. package/dest/rollup/previous_rollup_data.d.ts +58 -0
  690. package/dest/rollup/previous_rollup_data.d.ts.map +1 -0
  691. package/dest/rollup/previous_rollup_data.js +42 -0
  692. package/dest/rollup/private_base_rollup_inputs.d.ts +23 -0
  693. package/dest/rollup/private_base_rollup_inputs.d.ts.map +1 -0
  694. package/dest/rollup/private_base_rollup_inputs.js +44 -0
  695. package/dest/rollup/private_tube_data.d.ts +17 -0
  696. package/dest/rollup/private_tube_data.d.ts.map +1 -0
  697. package/dest/rollup/private_tube_data.js +25 -0
  698. package/dest/rollup/public_base_rollup_inputs.d.ts +25 -0
  699. package/dest/rollup/public_base_rollup_inputs.d.ts.map +1 -0
  700. package/dest/rollup/public_base_rollup_inputs.js +48 -0
  701. package/dest/rollup/public_tube_data.d.ts +17 -0
  702. package/dest/rollup/public_tube_data.d.ts.map +1 -0
  703. package/dest/rollup/public_tube_data.js +25 -0
  704. package/dest/rollup/root_rollup.d.ts +112 -0
  705. package/dest/rollup/root_rollup.d.ts.map +1 -0
  706. package/dest/rollup/root_rollup.js +158 -0
  707. package/dest/rollup/state_diff_hints.d.ts +105 -0
  708. package/dest/rollup/state_diff_hints.d.ts.map +1 -0
  709. package/dest/rollup/state_diff_hints.js +85 -0
  710. package/dest/rollup/tube_inputs.d.ts +40 -0
  711. package/dest/rollup/tube_inputs.d.ts.map +1 -0
  712. package/dest/rollup/tube_inputs.js +57 -0
  713. package/dest/schemas/index.d.ts +2 -0
  714. package/dest/schemas/index.d.ts.map +1 -0
  715. package/dest/schemas/index.js +1 -0
  716. package/dest/schemas/schemas.d.ts +63 -0
  717. package/dest/schemas/schemas.d.ts.map +1 -0
  718. package/dest/schemas/schemas.js +34 -0
  719. package/dest/shared_mutable/index.d.ts +5 -0
  720. package/dest/shared_mutable/index.d.ts.map +1 -0
  721. package/dest/shared_mutable/index.js +4 -0
  722. package/dest/shared_mutable/scheduled_delay_change.d.ts +10 -0
  723. package/dest/shared_mutable/scheduled_delay_change.d.ts.map +1 -0
  724. package/dest/shared_mutable/scheduled_delay_change.js +16 -0
  725. package/dest/shared_mutable/scheduled_value_change.d.ts +11 -0
  726. package/dest/shared_mutable/scheduled_value_change.d.ts.map +1 -0
  727. package/dest/shared_mutable/scheduled_value_change.js +27 -0
  728. package/dest/shared_mutable/shared_mutable_values.d.ts +22 -0
  729. package/dest/shared_mutable/shared_mutable_values.d.ts.map +1 -0
  730. package/dest/shared_mutable/shared_mutable_values.js +78 -0
  731. package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts +15 -0
  732. package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +1 -0
  733. package/dest/shared_mutable/shared_mutable_values_with_hash.js +30 -0
  734. package/dest/stats/index.d.ts +2 -0
  735. package/dest/stats/index.d.ts.map +1 -0
  736. package/dest/stats/index.js +1 -0
  737. package/dest/stats/stats.d.ts +224 -0
  738. package/dest/stats/stats.d.ts.map +1 -0
  739. package/dest/stats/stats.js +1 -0
  740. package/dest/tests/factories.d.ts +396 -0
  741. package/dest/tests/factories.d.ts.map +1 -0
  742. package/dest/tests/factories.js +914 -0
  743. package/dest/tests/fixtures.d.ts +6 -0
  744. package/dest/tests/fixtures.d.ts.map +1 -0
  745. package/dest/tests/fixtures.js +25 -0
  746. package/dest/tests/index.d.ts +3 -0
  747. package/dest/tests/index.d.ts.map +1 -0
  748. package/dest/tests/index.js +2 -0
  749. package/dest/tests/jest.d.ts +13 -0
  750. package/dest/tests/jest.d.ts.map +1 -0
  751. package/dest/tests/jest.js +26 -0
  752. package/dest/tests/mocks.d.ts +43 -0
  753. package/dest/tests/mocks.d.ts.map +1 -0
  754. package/dest/tests/mocks.js +179 -0
  755. package/dest/trees/append_only_tree_snapshot.d.ts +70 -0
  756. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -0
  757. package/dest/trees/append_only_tree_snapshot.js +75 -0
  758. package/dest/trees/index.d.ts +9 -0
  759. package/dest/trees/index.d.ts.map +1 -0
  760. package/dest/trees/index.js +8 -0
  761. package/dest/trees/merkle_tree_id.d.ts +23 -0
  762. package/dest/trees/merkle_tree_id.d.ts.map +1 -0
  763. package/dest/trees/merkle_tree_id.js +25 -0
  764. package/dest/trees/nullifier_leaf.d.ts +88 -0
  765. package/dest/trees/nullifier_leaf.d.ts.map +1 -0
  766. package/dest/trees/nullifier_leaf.js +103 -0
  767. package/dest/trees/nullifier_membership_witness.d.ts +112 -0
  768. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -0
  769. package/dest/trees/nullifier_membership_witness.js +47 -0
  770. package/dest/trees/protocol_contract_leaf.d.ts +87 -0
  771. package/dest/trees/protocol_contract_leaf.d.ts.map +1 -0
  772. package/dest/trees/protocol_contract_leaf.js +103 -0
  773. package/dest/trees/public_data_leaf.d.ts +110 -0
  774. package/dest/trees/public_data_leaf.d.ts.map +1 -0
  775. package/dest/trees/public_data_leaf.js +130 -0
  776. package/dest/trees/public_data_witness.d.ts +142 -0
  777. package/dest/trees/public_data_witness.d.ts.map +1 -0
  778. package/dest/trees/public_data_witness.js +81 -0
  779. package/dest/tx/block_header.d.ts +90 -0
  780. package/dest/tx/block_header.d.ts.map +1 -0
  781. package/dest/tx/block_header.js +134 -0
  782. package/dest/tx/call_context.d.ts +94 -0
  783. package/dest/tx/call_context.d.ts.map +1 -0
  784. package/dest/tx/call_context.js +96 -0
  785. package/dest/tx/capsule.d.ts +30 -0
  786. package/dest/tx/capsule.d.ts.map +1 -0
  787. package/dest/tx/capsule.js +37 -0
  788. package/dest/tx/content_commitment.d.ts +105 -0
  789. package/dest/tx/content_commitment.d.ts.map +1 -0
  790. package/dest/tx/content_commitment.js +96 -0
  791. package/dest/tx/function_data.d.ts +69 -0
  792. package/dest/tx/function_data.d.ts.map +1 -0
  793. package/dest/tx/function_data.js +72 -0
  794. package/dest/tx/global_variable_builder.d.ts +21 -0
  795. package/dest/tx/global_variable_builder.d.ts.map +1 -0
  796. package/dest/tx/global_variable_builder.js +3 -0
  797. package/dest/tx/global_variables.d.ts +139 -0
  798. package/dest/tx/global_variables.d.ts.map +1 -0
  799. package/dest/tx/global_variables.js +131 -0
  800. package/dest/tx/hashed_values.d.ts +26 -0
  801. package/dest/tx/hashed_values.d.ts.map +1 -0
  802. package/dest/tx/hashed_values.js +42 -0
  803. package/dest/tx/index.d.ts +28 -0
  804. package/dest/tx/index.d.ts.map +1 -0
  805. package/dest/tx/index.js +27 -0
  806. package/dest/tx/max_block_number.d.ts +55 -0
  807. package/dest/tx/max_block_number.d.ts.map +1 -0
  808. package/dest/tx/max_block_number.js +65 -0
  809. package/dest/tx/partial_state_reference.d.ts +104 -0
  810. package/dest/tx/partial_state_reference.d.ts.map +1 -0
  811. package/dest/tx/partial_state_reference.js +60 -0
  812. package/dest/tx/private_execution_result.d.ts +182 -0
  813. package/dest/tx/private_execution_result.d.ts.map +1 -0
  814. package/dest/tx/private_execution_result.js +261 -0
  815. package/dest/tx/processed_tx.d.ts +70 -0
  816. package/dest/tx/processed_tx.d.ts.map +1 -0
  817. package/dest/tx/processed_tx.js +64 -0
  818. package/dest/tx/public_execution_request.d.ts +45 -0
  819. package/dest/tx/public_execution_request.d.ts.map +1 -0
  820. package/dest/tx/public_execution_request.js +72 -0
  821. package/dest/tx/public_simulation_output.d.ts +31 -0
  822. package/dest/tx/public_simulation_output.d.ts.map +1 -0
  823. package/dest/tx/public_simulation_output.js +68 -0
  824. package/dest/tx/simulated_tx.d.ts +72 -0
  825. package/dest/tx/simulated_tx.d.ts.map +1 -0
  826. package/dest/tx/simulated_tx.js +104 -0
  827. package/dest/tx/state_reference.d.ts +166 -0
  828. package/dest/tx/state_reference.d.ts.map +1 -0
  829. package/dest/tx/state_reference.js +74 -0
  830. package/dest/tx/tree_snapshots.d.ts +26 -0
  831. package/dest/tx/tree_snapshots.d.ts.map +1 -0
  832. package/dest/tx/tree_snapshots.js +63 -0
  833. package/dest/tx/tx.d.ts +174 -0
  834. package/dest/tx/tx.d.ts.map +1 -0
  835. package/dest/tx/tx.js +248 -0
  836. package/dest/tx/tx_constant_data.d.ts +61 -0
  837. package/dest/tx/tx_constant_data.d.ts.map +1 -0
  838. package/dest/tx/tx_constant_data.js +68 -0
  839. package/dest/tx/tx_context.d.ts +196 -0
  840. package/dest/tx/tx_context.d.ts.map +1 -0
  841. package/dest/tx/tx_context.js +80 -0
  842. package/dest/tx/tx_effect.d.ts +170 -0
  843. package/dest/tx/tx_effect.d.ts.map +1 -0
  844. package/dest/tx/tx_effect.js +425 -0
  845. package/dest/tx/tx_execution_request.d.ts +114 -0
  846. package/dest/tx/tx_execution_request.d.ts.map +1 -0
  847. package/dest/tx/tx_execution_request.js +127 -0
  848. package/dest/tx/tx_hash.d.ts +27 -0
  849. package/dest/tx/tx_hash.d.ts.map +1 -0
  850. package/dest/tx/tx_hash.js +51 -0
  851. package/dest/tx/tx_receipt.d.ts +83 -0
  852. package/dest/tx/tx_receipt.d.ts.map +1 -0
  853. package/dest/tx/tx_receipt.js +76 -0
  854. package/dest/tx/tx_request.d.ts +48 -0
  855. package/dest/tx/tx_request.d.ts.map +1 -0
  856. package/dest/tx/tx_request.js +66 -0
  857. package/dest/tx/validator/empty_validator.d.ts +5 -0
  858. package/dest/tx/validator/empty_validator.d.ts.map +1 -0
  859. package/dest/tx/validator/empty_validator.js +7 -0
  860. package/dest/tx/validator/tx_validator.d.ts +46 -0
  861. package/dest/tx/validator/tx_validator.d.ts.map +1 -0
  862. package/dest/tx/validator/tx_validator.js +18 -0
  863. package/dest/types/index.d.ts +2 -0
  864. package/dest/types/index.d.ts.map +1 -0
  865. package/dest/types/index.js +1 -0
  866. package/dest/types/shared.d.ts +41 -0
  867. package/dest/types/shared.d.ts.map +1 -0
  868. package/dest/types/shared.js +34 -0
  869. package/dest/versioning/index.d.ts +2 -0
  870. package/dest/versioning/index.d.ts.map +1 -0
  871. package/dest/versioning/index.js +1 -0
  872. package/dest/versioning/versioning.d.ts +32 -0
  873. package/dest/versioning/versioning.d.ts.map +1 -0
  874. package/dest/versioning/versioning.js +92 -0
  875. package/dest/vks/index.d.ts +3 -0
  876. package/dest/vks/index.d.ts.map +1 -0
  877. package/dest/vks/index.js +2 -0
  878. package/dest/vks/verification_key.d.ts +197 -0
  879. package/dest/vks/verification_key.d.ts.map +1 -0
  880. package/dest/vks/verification_key.js +241 -0
  881. package/dest/vks/vk_witness_data.d.ts +32 -0
  882. package/dest/vks/vk_witness_data.d.ts.map +1 -0
  883. package/dest/vks/vk_witness_data.js +33 -0
  884. package/package.json +142 -0
  885. package/src/abi/abi.ts +504 -0
  886. package/src/abi/buffer.ts +36 -0
  887. package/src/abi/contract_artifact.ts +294 -0
  888. package/src/abi/decoder.ts +187 -0
  889. package/src/abi/encoder.ts +161 -0
  890. package/src/abi/event_selector.ts +93 -0
  891. package/src/abi/function_call.ts +58 -0
  892. package/src/abi/function_selector.ts +123 -0
  893. package/src/abi/index.ts +10 -0
  894. package/src/abi/mocked_keys.ts +2 -0
  895. package/src/abi/note_selector.ts +78 -0
  896. package/src/abi/selector.ts +64 -0
  897. package/src/abi/utils.ts +78 -0
  898. package/src/auth_witness/auth_witness.ts +52 -0
  899. package/src/auth_witness/index.ts +1 -0
  900. package/src/avm/avm.ts +1010 -0
  901. package/src/avm/avm_accumulated_data.ts +133 -0
  902. package/src/avm/avm_circuit_public_inputs.ts +168 -0
  903. package/src/avm/avm_proving_request.ts +11 -0
  904. package/src/avm/contract_storage_read.ts +77 -0
  905. package/src/avm/contract_storage_update_request.ts +93 -0
  906. package/src/avm/index.ts +12 -0
  907. package/src/avm/public_call_stack_item_compressed.ts +113 -0
  908. package/src/avm/public_data_hint.ts +38 -0
  909. package/src/avm/public_data_read.ts +48 -0
  910. package/src/avm/public_data_update_request.ts +106 -0
  911. package/src/avm/public_data_write.ts +80 -0
  912. package/src/avm/public_inner_call_request.ts +85 -0
  913. package/src/avm/revert_code.ts +128 -0
  914. package/src/aztec-address/index.ts +145 -0
  915. package/src/block/block_hash.ts +30 -0
  916. package/src/block/body.ts +101 -0
  917. package/src/block/in_block.ts +36 -0
  918. package/src/block/index.ts +8 -0
  919. package/src/block/l2_block.ts +205 -0
  920. package/src/block/l2_block_code_to_purge.ts +103 -0
  921. package/src/block/l2_block_downloader/index.ts +2 -0
  922. package/src/block/l2_block_downloader/l2_block_downloader.ts +149 -0
  923. package/src/block/l2_block_downloader/l2_block_stream.ts +179 -0
  924. package/src/block/l2_block_number.ts +8 -0
  925. package/src/block/l2_block_source.ts +148 -0
  926. package/src/block/nullifier_with_block_source.ts +7 -0
  927. package/src/config/config.ts +42 -0
  928. package/src/config/index.ts +1 -0
  929. package/src/contract/artifact_hash.ts +115 -0
  930. package/src/contract/complete_address.ts +155 -0
  931. package/src/contract/contract_address.ts +91 -0
  932. package/src/contract/contract_class.ts +81 -0
  933. package/src/contract/contract_class_id.ts +70 -0
  934. package/src/contract/contract_function_dao.ts +13 -0
  935. package/src/contract/contract_instance.ts +151 -0
  936. package/src/contract/contract_instance_update.ts +47 -0
  937. package/src/contract/deployment_info.ts +25 -0
  938. package/src/contract/index.ts +14 -0
  939. package/src/contract/interfaces/contract_class.ts +167 -0
  940. package/src/contract/interfaces/contract_data_source.ts +52 -0
  941. package/src/contract/interfaces/contract_instance.ts +47 -0
  942. package/src/contract/interfaces/contract_instance_update.ts +30 -0
  943. package/src/contract/interfaces/index.ts +6 -0
  944. package/src/contract/interfaces/node-info.ts +33 -0
  945. package/src/contract/interfaces/protocol_contract_addresses.ts +25 -0
  946. package/src/contract/partial_address.ts +7 -0
  947. package/src/contract/private_function.ts +47 -0
  948. package/src/contract/private_function_membership_proof.ts +167 -0
  949. package/src/contract/unconstrained_function_membership_proof.ts +118 -0
  950. package/src/epoch-helpers/index.ts +69 -0
  951. package/src/errors/index.ts +2 -0
  952. package/src/errors/proving_error.ts +18 -0
  953. package/src/errors/simulation_error.ts +261 -0
  954. package/src/event/event.ts +16 -0
  955. package/src/event/event_metadata.ts +56 -0
  956. package/src/event/index.ts +3 -0
  957. package/src/event/l1_event_payload.ts +87 -0
  958. package/src/fees/index.ts +1 -0
  959. package/src/fees/transaction_fee.ts +21 -0
  960. package/src/gas/gas.ts +101 -0
  961. package/src/gas/gas_fees.ts +104 -0
  962. package/src/gas/gas_settings.ts +150 -0
  963. package/src/gas/gas_used.ts +23 -0
  964. package/src/gas/index.ts +4 -0
  965. package/src/hash/hash.ts +143 -0
  966. package/src/hash/index.ts +2 -0
  967. package/src/hash/map_slot.ts +18 -0
  968. package/src/interfaces/archiver.ts +84 -0
  969. package/src/interfaces/aztec-node.ts +614 -0
  970. package/src/interfaces/block-builder.ts +33 -0
  971. package/src/interfaces/client.ts +4 -0
  972. package/src/interfaces/configs.ts +73 -0
  973. package/src/interfaces/epoch-prover.ts +43 -0
  974. package/src/interfaces/get_logs_response.ts +31 -0
  975. package/src/interfaces/l2_logs_source.ts +47 -0
  976. package/src/interfaces/merkle_tree_operations.ts +293 -0
  977. package/src/interfaces/p2p-bootstrap.ts +21 -0
  978. package/src/interfaces/p2p.ts +67 -0
  979. package/src/interfaces/private_kernel_prover.ts +113 -0
  980. package/src/interfaces/processed-tx-handler.ts +10 -0
  981. package/src/interfaces/prover-agent.ts +20 -0
  982. package/src/interfaces/prover-broker.ts +90 -0
  983. package/src/interfaces/prover-client.ts +121 -0
  984. package/src/interfaces/prover-coordination.ts +27 -0
  985. package/src/interfaces/prover-node.ts +46 -0
  986. package/src/interfaces/proving-job-source.ts +40 -0
  987. package/src/interfaces/proving-job.ts +352 -0
  988. package/src/interfaces/pxe.ts +536 -0
  989. package/src/interfaces/server.ts +19 -0
  990. package/src/interfaces/server_circuit_prover.ts +167 -0
  991. package/src/interfaces/service.ts +25 -0
  992. package/src/interfaces/world_state.ts +84 -0
  993. package/src/kernel/combined_constant_data.ts +128 -0
  994. package/src/kernel/hints/build_note_hash_read_request_hints.ts +125 -0
  995. package/src/kernel/hints/build_nullifier_read_request_hints.ts +153 -0
  996. package/src/kernel/hints/build_transient_data_hints.ts +81 -0
  997. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +167 -0
  998. package/src/kernel/hints/index.ts +16 -0
  999. package/src/kernel/hints/key_validation_hint.ts +24 -0
  1000. package/src/kernel/hints/key_validation_request.ts +63 -0
  1001. package/src/kernel/hints/key_validation_request_and_generator.ts +52 -0
  1002. package/src/kernel/hints/note_hash_read_request_hints.ts +94 -0
  1003. package/src/kernel/hints/nullifier_read_request_hints.ts +93 -0
  1004. package/src/kernel/hints/private_kernel_reset_hints.ts +129 -0
  1005. package/src/kernel/hints/read_request.ts +130 -0
  1006. package/src/kernel/hints/read_request_hints.ts +165 -0
  1007. package/src/kernel/hints/rollup_validation_requests.ts +73 -0
  1008. package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +54 -0
  1009. package/src/kernel/hints/scoped_value_cache.ts +19 -0
  1010. package/src/kernel/hints/transient_data_index_hint.ts +42 -0
  1011. package/src/kernel/hints/tree_leaf_read_request.ts +32 -0
  1012. package/src/kernel/index.ts +30 -0
  1013. package/src/kernel/log_hash.ts +91 -0
  1014. package/src/kernel/note_hash.ts +85 -0
  1015. package/src/kernel/nullifier.ts +89 -0
  1016. package/src/kernel/private_accumulated_data.ts +113 -0
  1017. package/src/kernel/private_call_data.ts +207 -0
  1018. package/src/kernel/private_call_request.ts +99 -0
  1019. package/src/kernel/private_circuit_public_inputs.ts +322 -0
  1020. package/src/kernel/private_context_inputs.ts +23 -0
  1021. package/src/kernel/private_kernel_circuit_public_inputs.ts +102 -0
  1022. package/src/kernel/private_kernel_data.ts +61 -0
  1023. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +68 -0
  1024. package/src/kernel/private_kernel_inner_circuit_private_inputs.ts +41 -0
  1025. package/src/kernel/private_kernel_prover_profile_result.ts +7 -0
  1026. package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +77 -0
  1027. package/src/kernel/private_kernel_reset_dimensions.ts +81 -0
  1028. package/src/kernel/private_kernel_simulated_output.ts +35 -0
  1029. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +41 -0
  1030. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +313 -0
  1031. package/src/kernel/private_log_data.ts +107 -0
  1032. package/src/kernel/private_to_avm_accumulated_data.ts +144 -0
  1033. package/src/kernel/private_to_public_accumulated_data.ts +141 -0
  1034. package/src/kernel/private_to_public_accumulated_data_builder.ts +102 -0
  1035. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +96 -0
  1036. package/src/kernel/private_to_rollup_accumulated_data.ts +159 -0
  1037. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +112 -0
  1038. package/src/kernel/private_validation_requests.ts +140 -0
  1039. package/src/kernel/public_call_request.ts +157 -0
  1040. package/src/kernel/utils/index.ts +3 -0
  1041. package/src/kernel/utils/interfaces.ts +7 -0
  1042. package/src/kernel/utils/optional_number.ts +50 -0
  1043. package/src/kernel/utils/order_and_comparison.ts +71 -0
  1044. package/src/keys/derivation.ts +141 -0
  1045. package/src/keys/index.ts +5 -0
  1046. package/src/keys/key_types.ts +5 -0
  1047. package/src/keys/public_key.ts +4 -0
  1048. package/src/keys/public_keys.ts +194 -0
  1049. package/src/keys/utils.ts +9 -0
  1050. package/src/logs/contract_class_log.ts +112 -0
  1051. package/src/logs/extended_contract_class_log.ts +87 -0
  1052. package/src/logs/extended_public_log.ts +94 -0
  1053. package/src/logs/index.ts +11 -0
  1054. package/src/logs/indexed_tagging_secret.ts +45 -0
  1055. package/src/logs/l1_payload/encrypted_log_payload.ts +202 -0
  1056. package/src/logs/l1_payload/encryption_util.ts +54 -0
  1057. package/src/logs/l1_payload/index.ts +2 -0
  1058. package/src/logs/l1_payload/l1_note_payload.ts +182 -0
  1059. package/src/logs/l1_payload/payload.ts +73 -0
  1060. package/src/logs/l1_payload/shared_secret_derivation.ts +35 -0
  1061. package/src/logs/log_filter.ts +31 -0
  1062. package/src/logs/log_id.ts +110 -0
  1063. package/src/logs/log_with_tx_data.ts +36 -0
  1064. package/src/logs/private_log.ts +58 -0
  1065. package/src/logs/public_log.ts +83 -0
  1066. package/src/logs/tx_scoped_l2_log.ts +83 -0
  1067. package/src/messaging/inbox_leaf.ts +28 -0
  1068. package/src/messaging/index.ts +6 -0
  1069. package/src/messaging/l1_actor.ts +43 -0
  1070. package/src/messaging/l1_to_l2_message.ts +97 -0
  1071. package/src/messaging/l1_to_l2_message_source.ts +26 -0
  1072. package/src/messaging/l2_actor.ts +44 -0
  1073. package/src/messaging/l2_to_l1_message.ts +128 -0
  1074. package/src/network/index.ts +32 -0
  1075. package/src/noir/index.ts +154 -0
  1076. package/src/note/comparator.ts +11 -0
  1077. package/src/note/extended_note.ts +168 -0
  1078. package/src/note/index.ts +5 -0
  1079. package/src/note/note.ts +16 -0
  1080. package/src/note/note_status.ts +8 -0
  1081. package/src/note/notes_filter.ts +39 -0
  1082. package/src/p2p/block_attestation.ts +107 -0
  1083. package/src/p2p/block_proposal.ts +102 -0
  1084. package/src/p2p/client_type.ts +6 -0
  1085. package/src/p2p/consensus_payload.ts +91 -0
  1086. package/src/p2p/gossipable.ts +33 -0
  1087. package/src/p2p/index.ts +10 -0
  1088. package/src/p2p/interface.ts +28 -0
  1089. package/src/p2p/message_validator.ts +10 -0
  1090. package/src/p2p/peer_error.ts +17 -0
  1091. package/src/p2p/signature_utils.ts +36 -0
  1092. package/src/p2p/topic_type.ts +45 -0
  1093. package/src/parity/base_parity_inputs.ts +63 -0
  1094. package/src/parity/index.ts +4 -0
  1095. package/src/parity/parity_public_inputs.ts +82 -0
  1096. package/src/parity/root_parity_input.ts +71 -0
  1097. package/src/parity/root_parity_inputs.ts +66 -0
  1098. package/src/proofs/client_ivc_proof.ts +61 -0
  1099. package/src/proofs/index.ts +4 -0
  1100. package/src/proofs/proof.ts +115 -0
  1101. package/src/proofs/proving_request_type.ts +17 -0
  1102. package/src/proofs/recursive_proof.ts +124 -0
  1103. package/src/rollup/avm_proof_data.ts +35 -0
  1104. package/src/rollup/base_or_merge_rollup_public_inputs.ts +146 -0
  1105. package/src/rollup/base_rollup_hints.ts +182 -0
  1106. package/src/rollup/block_merge_rollup.ts +65 -0
  1107. package/src/rollup/block_root_or_block_merge_public_inputs.ts +175 -0
  1108. package/src/rollup/block_root_rollup.ts +362 -0
  1109. package/src/rollup/constant_rollup_data.ts +54 -0
  1110. package/src/rollup/empty_block_root_rollup_inputs.ts +85 -0
  1111. package/src/rollup/index.ts +18 -0
  1112. package/src/rollup/merge_rollup.ts +62 -0
  1113. package/src/rollup/previous_rollup_block_data.ts +54 -0
  1114. package/src/rollup/previous_rollup_data.ts +54 -0
  1115. package/src/rollup/private_base_rollup_inputs.ts +50 -0
  1116. package/src/rollup/private_tube_data.ts +35 -0
  1117. package/src/rollup/public_base_rollup_inputs.ts +59 -0
  1118. package/src/rollup/public_tube_data.ts +35 -0
  1119. package/src/rollup/root_rollup.ts +206 -0
  1120. package/src/rollup/state_diff_hints.ts +126 -0
  1121. package/src/rollup/tube_inputs.ts +70 -0
  1122. package/src/schemas/index.ts +1 -0
  1123. package/src/schemas/schemas.ts +83 -0
  1124. package/src/shared_mutable/index.ts +4 -0
  1125. package/src/shared_mutable/scheduled_delay_change.ts +13 -0
  1126. package/src/shared_mutable/scheduled_value_change.ts +25 -0
  1127. package/src/shared_mutable/shared_mutable_values.ts +92 -0
  1128. package/src/shared_mutable/shared_mutable_values_with_hash.ts +38 -0
  1129. package/src/stats/index.ts +1 -0
  1130. package/src/stats/stats.ts +276 -0
  1131. package/src/tests/factories.ts +1554 -0
  1132. package/src/tests/fixtures.ts +31 -0
  1133. package/src/tests/index.ts +2 -0
  1134. package/src/tests/jest.ts +29 -0
  1135. package/src/tests/mocks.ts +300 -0
  1136. package/src/trees/append_only_tree_snapshot.ts +95 -0
  1137. package/src/trees/index.ts +8 -0
  1138. package/src/trees/merkle_tree_id.ts +42 -0
  1139. package/src/trees/nullifier_leaf.ts +133 -0
  1140. package/src/trees/nullifier_membership_witness.ts +59 -0
  1141. package/src/trees/protocol_contract_leaf.ts +132 -0
  1142. package/src/trees/public_data_leaf.ts +164 -0
  1143. package/src/trees/public_data_witness.ts +103 -0
  1144. package/src/tx/block_header.ts +197 -0
  1145. package/src/tx/call_context.ts +138 -0
  1146. package/src/tx/capsule.ts +46 -0
  1147. package/src/tx/content_commitment.ts +133 -0
  1148. package/src/tx/function_data.ts +102 -0
  1149. package/src/tx/global_variable_builder.ts +28 -0
  1150. package/src/tx/global_variables.ts +193 -0
  1151. package/src/tx/hashed_values.ts +49 -0
  1152. package/src/tx/index.ts +27 -0
  1153. package/src/tx/max_block_number.ts +79 -0
  1154. package/src/tx/partial_state_reference.ts +95 -0
  1155. package/src/tx/private_execution_result.ts +315 -0
  1156. package/src/tx/processed_tx.ts +175 -0
  1157. package/src/tx/public_execution_request.ts +97 -0
  1158. package/src/tx/public_simulation_output.ts +94 -0
  1159. package/src/tx/simulated_tx.ts +179 -0
  1160. package/src/tx/state_reference.ts +93 -0
  1161. package/src/tx/tree_snapshots.ts +96 -0
  1162. package/src/tx/tx.ts +364 -0
  1163. package/src/tx/tx_constant_data.ts +93 -0
  1164. package/src/tx/tx_context.ts +104 -0
  1165. package/src/tx/tx_effect.ts +533 -0
  1166. package/src/tx/tx_execution_request.ts +168 -0
  1167. package/src/tx/tx_hash.ts +67 -0
  1168. package/src/tx/tx_receipt.ts +121 -0
  1169. package/src/tx/tx_request.ts +77 -0
  1170. package/src/tx/validator/empty_validator.ts +7 -0
  1171. package/src/tx/validator/tx_validator.ts +26 -0
  1172. package/src/types/index.ts +1 -0
  1173. package/src/types/shared.ts +45 -0
  1174. package/src/versioning/index.ts +1 -0
  1175. package/src/versioning/versioning.ts +153 -0
  1176. package/src/vks/index.ts +2 -0
  1177. package/src/vks/verification_key.ts +325 -0
  1178. package/src/vks/vk_witness_data.ts +43 -0
@@ -0,0 +1,179 @@
1
+ import { AbortError } from '@aztec/foundation/error';
2
+ import { createLogger } from '@aztec/foundation/log';
3
+ import { RunningPromise } from '@aztec/foundation/running-promise';
4
+
5
+ import type { L2Block } from '../l2_block.js';
6
+ import type { L2BlockId, L2BlockSource, L2Tips } from '../l2_block_source.js';
7
+
8
+ /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */
9
+ export class L2BlockStream {
10
+ private readonly runningPromise: RunningPromise;
11
+ private isSyncing = false;
12
+
13
+ constructor(
14
+ private l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockHeader' | 'getL2Tips'>,
15
+ private localData: L2BlockStreamLocalDataProvider,
16
+ private handler: L2BlockStreamEventHandler,
17
+ private readonly log = createLogger('types:block_stream'),
18
+ private opts: {
19
+ proven?: boolean;
20
+ pollIntervalMS?: number;
21
+ batchSize?: number;
22
+ startingBlock?: number;
23
+ } = {},
24
+ ) {
25
+ this.runningPromise = new RunningPromise(() => this.work(), log, this.opts.pollIntervalMS ?? 1000);
26
+ }
27
+
28
+ public start() {
29
+ this.log.verbose(`Starting L2 block stream`, this.opts);
30
+ this.runningPromise.start();
31
+ }
32
+
33
+ public async stop() {
34
+ await this.runningPromise.stop();
35
+ }
36
+
37
+ public isRunning() {
38
+ return this.runningPromise.isRunning();
39
+ }
40
+
41
+ public async sync() {
42
+ this.isSyncing = true;
43
+ await this.runningPromise.trigger();
44
+ this.isSyncing = false;
45
+ }
46
+
47
+ protected async work() {
48
+ try {
49
+ const sourceTips = await this.l2BlockSource.getL2Tips();
50
+ const localTips = await this.localData.getL2Tips();
51
+ this.log.trace(`Running L2 block stream`, {
52
+ sourceLatest: sourceTips.latest.number,
53
+ localLatest: localTips.latest.number,
54
+ sourceFinalized: sourceTips.finalized.number,
55
+ localFinalized: localTips.finalized.number,
56
+ sourceProven: sourceTips.proven.number,
57
+ localProven: localTips.proven.number,
58
+ sourceLatestHash: sourceTips.latest.hash,
59
+ localLatestHash: localTips.latest.hash,
60
+ sourceProvenHash: sourceTips.proven.hash,
61
+ localProvenHash: localTips.proven.hash,
62
+ sourceFinalizedHash: sourceTips.finalized.hash,
63
+ localFinalizedHash: localTips.finalized.hash,
64
+ });
65
+
66
+ // Check if there was a reorg and emit a chain-pruned event if so.
67
+ let latestBlockNumber = localTips.latest.number;
68
+ while (!(await this.areBlockHashesEqualAt(latestBlockNumber, { sourceCache: [sourceTips.latest] }))) {
69
+ latestBlockNumber--;
70
+ }
71
+ if (latestBlockNumber < localTips.latest.number) {
72
+ this.log.verbose(`Reorg detected. Pruning blocks from ${latestBlockNumber + 1} to ${localTips.latest.number}.`);
73
+ await this.emitEvent({ type: 'chain-pruned', blockNumber: latestBlockNumber });
74
+ }
75
+
76
+ // If we are just starting, use the starting block number from the options.
77
+ if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
78
+ latestBlockNumber = Math.max(this.opts.startingBlock - 1, 0);
79
+ this.log.verbose(`Starting sync from block number ${latestBlockNumber}`);
80
+ }
81
+
82
+ // Request new blocks from the source.
83
+ while (latestBlockNumber < sourceTips.latest.number) {
84
+ const from = latestBlockNumber + 1;
85
+ const limit = Math.min(this.opts.batchSize ?? 20, sourceTips.latest.number - from + 1);
86
+ this.log.trace(`Requesting blocks from ${from} limit ${limit} proven=${this.opts.proven}`);
87
+ const blocks = await this.l2BlockSource.getBlocks(from, limit, this.opts.proven);
88
+ if (blocks.length === 0) {
89
+ break;
90
+ }
91
+ await this.emitEvent({ type: 'blocks-added', blocks });
92
+ latestBlockNumber = blocks.at(-1)!.number;
93
+ }
94
+
95
+ // Update the proven and finalized tips.
96
+ // TODO(palla/reorg): Should we emit this before passing the new blocks? This would allow world-state to skip
97
+ // building the data structures for the pending chain if it's unneeded.
98
+ if (localTips.proven !== undefined && sourceTips.proven.number !== localTips.proven.number) {
99
+ await this.emitEvent({ type: 'chain-proven', blockNumber: sourceTips.proven.number });
100
+ }
101
+ if (localTips.finalized !== undefined && sourceTips.finalized.number !== localTips.finalized.number) {
102
+ await this.emitEvent({ type: 'chain-finalized', blockNumber: sourceTips.finalized.number });
103
+ }
104
+ } catch (err: any) {
105
+ if (err.name === 'AbortError') {
106
+ return;
107
+ }
108
+ this.log.error(`Error processing block stream`, err);
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Returns whether the source and local agree on the block hash at a given height.
114
+ * @param blockNumber - The block number to test.
115
+ * @param args - A cache of data already requested from source, to avoid re-requesting it.
116
+ */
117
+ private async areBlockHashesEqualAt(blockNumber: number, args: { sourceCache: L2BlockId[] }) {
118
+ if (blockNumber === 0) {
119
+ return true;
120
+ }
121
+ const localBlockHash = await this.localData.getL2BlockHash(blockNumber);
122
+ const sourceBlockHash =
123
+ args.sourceCache.find(id => id.number === blockNumber && id.hash)?.hash ??
124
+ (await this.l2BlockSource
125
+ .getBlockHeader(blockNumber)
126
+ .then(h => h?.hash())
127
+ .then(hash => hash?.toString()));
128
+ this.log.trace(`Comparing block hashes for block ${blockNumber}`, {
129
+ localBlockHash,
130
+ sourceBlockHash,
131
+ sourceCacheNumber: args.sourceCache[0]?.number,
132
+ sourceCacheHash: args.sourceCache[0]?.hash,
133
+ });
134
+ return localBlockHash === sourceBlockHash;
135
+ }
136
+
137
+ private async emitEvent(event: L2BlockStreamEvent) {
138
+ this.log.debug(
139
+ `Emitting ${event.type} (${event.type === 'blocks-added' ? event.blocks.length : event.blockNumber})`,
140
+ );
141
+ await this.handler.handleBlockStreamEvent(event);
142
+ if (!this.isRunning() && !this.isSyncing) {
143
+ throw new AbortError();
144
+ }
145
+ }
146
+ }
147
+
148
+ /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
149
+ export interface L2BlockStreamLocalDataProvider {
150
+ getL2BlockHash(number: number): Promise<string | undefined>;
151
+ getL2Tips(): Promise<L2Tips>;
152
+ }
153
+
154
+ /** Interface to a handler of events emitted. */
155
+ export interface L2BlockStreamEventHandler {
156
+ handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
157
+ }
158
+
159
+ export type L2BlockStreamEvent =
160
+ | {
161
+ type: 'blocks-added';
162
+ /** New blocks added to the chain. */
163
+ blocks: L2Block[];
164
+ }
165
+ | {
166
+ type: 'chain-pruned';
167
+ /** Last correct block number (new tip of the unproven chain). */
168
+ blockNumber: number;
169
+ }
170
+ | {
171
+ type: 'chain-proven';
172
+ /** New proven block number */
173
+ blockNumber: number;
174
+ }
175
+ | {
176
+ type: 'chain-finalized';
177
+ /** New finalized block number */
178
+ blockNumber: number;
179
+ };
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+
3
+ import { schemas } from '../schemas/index.js';
4
+
5
+ export const L2BlockNumberSchema = z.union([schemas.Integer, z.literal('latest')]);
6
+
7
+ /** Helper type for a specific L2 block number or the latest block number */
8
+ export type L2BlockNumber = z.infer<typeof L2BlockNumberSchema>;
@@ -0,0 +1,148 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+
3
+ import { z } from 'zod';
4
+
5
+ import type { L1RollupConstants } from '../epoch-helpers/index.js';
6
+ import type { BlockHeader } from '../tx/block_header.js';
7
+ import type { TxEffect } from '../tx/tx_effect.js';
8
+ import type { TxHash } from '../tx/tx_hash.js';
9
+ import type { TxReceipt } from '../tx/tx_receipt.js';
10
+ import type { InBlock } from './in_block.js';
11
+ import type { L2Block } from './l2_block.js';
12
+
13
+ /**
14
+ * Interface of classes allowing for the retrieval of L2 blocks.
15
+ */
16
+ export interface L2BlockSource {
17
+ /**
18
+ * Method to fetch the rollup contract address at the base-layer.
19
+ * @returns The rollup address.
20
+ */
21
+ getRollupAddress(): Promise<EthAddress>;
22
+
23
+ /**
24
+ * Method to fetch the registry contract address at the base-layer.
25
+ * @returns The registry address.
26
+ */
27
+ getRegistryAddress(): Promise<EthAddress>;
28
+
29
+ /**
30
+ * Gets the number of the latest L2 block processed by the block source implementation.
31
+ * @returns The number of the latest L2 block processed by the block source implementation.
32
+ */
33
+ getBlockNumber(): Promise<number>;
34
+
35
+ /**
36
+ * Gets the number of the latest L2 block proven seen by the block source implementation.
37
+ * @returns The number of the latest L2 block proven seen by the block source implementation.
38
+ */
39
+ getProvenBlockNumber(): Promise<number>;
40
+
41
+ /**
42
+ * Gets the number of the latest L2 proven epoch seen by the block source implementation.
43
+ * @returns The number of the latest L2 proven epoch seen by the block source implementation.
44
+ */
45
+ getProvenL2EpochNumber(): Promise<number | undefined>;
46
+
47
+ /**
48
+ * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
49
+ * @param number - The block number to return (inclusive).
50
+ * @returns The requested L2 block.
51
+ */
52
+ getBlock(number: number): Promise<L2Block | undefined>;
53
+
54
+ /**
55
+ * Gets an l2 block header.
56
+ * @param number - The block number to return or 'latest' for the most recent one.
57
+ * @returns The requested L2 block header.
58
+ */
59
+ getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
60
+
61
+ /**
62
+ * Gets up to `limit` amount of L2 blocks starting from `from`.
63
+ * @param from - Number of the first block to return (inclusive).
64
+ * @param limit - The maximum number of blocks to return.
65
+ * @param proven - If true, only return blocks that have been proven.
66
+ * @returns The requested L2 blocks.
67
+ */
68
+ getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
69
+
70
+ /**
71
+ * Gets a tx effect.
72
+ * @param txHash - The hash of a transaction which resulted in the returned tx effect.
73
+ * @returns The requested tx effect.
74
+ */
75
+ getTxEffect(txHash: TxHash): Promise<InBlock<TxEffect> | undefined>;
76
+
77
+ /**
78
+ * Gets a receipt of a settled tx.
79
+ * @param txHash - The hash of a tx we try to get the receipt for.
80
+ * @returns The requested tx receipt (or undefined if not found).
81
+ */
82
+ getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
83
+
84
+ /**
85
+ * Returns the current L2 slot number based on the current L1 timestamp.
86
+ */
87
+ getL2SlotNumber(): Promise<bigint>;
88
+
89
+ /**
90
+ * Returns the current L2 epoch number based on the current L1 timestamp.
91
+ */
92
+ getL2EpochNumber(): Promise<bigint>;
93
+
94
+ /**
95
+ * Returns all blocks for a given epoch.
96
+ * @dev Use this method only with recent epochs, since it walks the block list backwards.
97
+ * @param epochNumber - The epoch number to return blocks for.
98
+ */
99
+ getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
100
+
101
+ /**
102
+ * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
103
+ * @param epochNumber - The epoch number to check.
104
+ */
105
+ isEpochComplete(epochNumber: bigint): Promise<boolean>;
106
+
107
+ /**
108
+ * Returns the tips of the L2 chain.
109
+ */
110
+ getL2Tips(): Promise<L2Tips>;
111
+
112
+ /**
113
+ * Returns the rollup constants for the current chain.
114
+ */
115
+ getL1Constants(): Promise<L1RollupConstants>;
116
+ }
117
+
118
+ /**
119
+ * Identifier for L2 block tags.
120
+ * - latest: Latest block pushed to L1.
121
+ * - proven: Proven block on L1.
122
+ * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
123
+ */
124
+ export type L2BlockTag = 'latest' | 'proven' | 'finalized';
125
+
126
+ /** Tips of the L2 chain. */
127
+ export type L2Tips = Record<L2BlockTag, L2BlockId>;
128
+
129
+ /** Identifies a block by number and hash. */
130
+ export type L2BlockId = z.infer<typeof L2BlockIdSchema>;
131
+
132
+ // TODO(palla/schemas): This package should know what is the block hash of the genesis block 0.
133
+ const L2BlockIdSchema = z.union([
134
+ z.object({
135
+ number: z.literal(0),
136
+ hash: z.undefined(),
137
+ }),
138
+ z.object({
139
+ number: z.number(),
140
+ hash: z.string(),
141
+ }),
142
+ ]);
143
+
144
+ export const L2TipsSchema = z.object({
145
+ latest: L2BlockIdSchema,
146
+ proven: L2BlockIdSchema,
147
+ finalized: L2BlockIdSchema,
148
+ }) satisfies z.ZodType<L2Tips>;
@@ -0,0 +1,7 @@
1
+ import type { Fr } from '@aztec/foundation/fields';
2
+
3
+ import type { InBlock } from './in_block.js';
4
+
5
+ export interface NullifierWithBlockSource {
6
+ findNullifiersIndexesWithBlock(blockNumber: number, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
7
+ }
@@ -0,0 +1,42 @@
1
+ import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
3
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
+
5
+ export { type AllowedElement, type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
6
+
7
+ export const emptyChainConfig: ChainConfig = {
8
+ l1ChainId: 0,
9
+ l1Contracts: { rollupAddress: EthAddress.ZERO },
10
+ version: 0,
11
+ };
12
+
13
+ export const chainConfigMappings: ConfigMappingsType<ChainConfig> = {
14
+ l1ChainId: {
15
+ env: 'L1_CHAIN_ID',
16
+ parseEnv: (val: string) => +val,
17
+ defaultValue: 31337,
18
+ description: 'The chain ID of the ethereum host.',
19
+ },
20
+ version: {
21
+ env: 'VERSION',
22
+ description: 'The version of the rollup.',
23
+ ...numberConfigHelper(1),
24
+ },
25
+ l1Contracts: {
26
+ description: 'The deployed L1 contract addresses',
27
+ nested: l1ContractAddressesMapping,
28
+ },
29
+ };
30
+
31
+ /** Chain configuration. */
32
+ export type ChainConfig = {
33
+ /** The chain id of the ethereum host. */
34
+ l1ChainId: number;
35
+ /** The version of the rollup. */
36
+ version: number;
37
+ /** The address to the L1 contracts. */
38
+ l1Contracts: {
39
+ /** The address to rollup */
40
+ rollupAddress: EthAddress;
41
+ };
42
+ };
@@ -0,0 +1 @@
1
+ export * from './config.js';
@@ -0,0 +1,115 @@
1
+ import { sha256 } from '@aztec/foundation/crypto';
2
+ import { Fr, reduceFn } from '@aztec/foundation/fields';
3
+ import { createLogger } from '@aztec/foundation/log';
4
+ import { numToUInt8 } from '@aztec/foundation/serialize';
5
+ import { MerkleTree, MerkleTreeCalculator } from '@aztec/foundation/trees';
6
+
7
+ import { type ContractArtifact, type FunctionArtifact, FunctionSelector, FunctionType } from '../abi/index.js';
8
+
9
+ const VERSION = 1;
10
+
11
+ // TODO(miranda): Artifact and artifact metadata hashes are currently the only SHAs not truncated by a byte.
12
+ // They are never recalculated in the circuit or L1 contract, but they are input to circuits, so perhaps modding here is preferable?
13
+ // TODO(@spalladino) Reducing sha256 to a field may have security implications. Validate this with crypto team.
14
+ const sha256Fr = reduceFn(sha256, Fr);
15
+
16
+ /**
17
+ * Returns the artifact hash of a given compiled contract artifact.
18
+ *
19
+ * ```
20
+ * private_functions_artifact_leaves = artifact.private_functions.map fn =>
21
+ * sha256(fn.selector, fn.metadata_hash, sha256(fn.bytecode))
22
+ * private_functions_artifact_tree_root = merkleize(private_functions_artifact_leaves)
23
+ *
24
+ * unconstrained_functions_artifact_leaves = artifact.unconstrained_functions.map fn =>
25
+ * sha256(fn.selector, fn.metadata_hash, sha256(fn.bytecode))
26
+ * unconstrained_functions_artifact_tree_root = merkleize(unconstrained_functions_artifact_leaves)
27
+ *
28
+ * version = 1
29
+ * artifact_hash = sha256(
30
+ * version,
31
+ * private_functions_artifact_tree_root,
32
+ * unconstrained_functions_artifact_tree_root,
33
+ * artifact_metadata,
34
+ * )
35
+ * ```
36
+ * @param artifact - Artifact to calculate the hash for.
37
+ */
38
+ export async function computeArtifactHash(
39
+ artifact: ContractArtifact | { privateFunctionRoot: Fr; unconstrainedFunctionRoot: Fr; metadataHash: Fr },
40
+ ): Promise<Fr> {
41
+ if ('privateFunctionRoot' in artifact && 'unconstrainedFunctionRoot' in artifact && 'metadataHash' in artifact) {
42
+ const { privateFunctionRoot, unconstrainedFunctionRoot, metadataHash } = artifact;
43
+ const preimage = [privateFunctionRoot, unconstrainedFunctionRoot, metadataHash].map(x => x.toBuffer());
44
+ return sha256Fr(Buffer.concat([numToUInt8(VERSION), ...preimage]));
45
+ }
46
+
47
+ const preimage = await computeArtifactHashPreimage(artifact);
48
+ const artifactHash = computeArtifactHash(preimage);
49
+ getLogger().trace('Computed artifact hash', { artifactHash, ...preimage });
50
+ return artifactHash;
51
+ }
52
+
53
+ export async function computeArtifactHashPreimage(artifact: ContractArtifact) {
54
+ const privateFunctionRoot = await computeArtifactFunctionTreeRoot(artifact, FunctionType.PRIVATE);
55
+ const unconstrainedFunctionRoot = await computeArtifactFunctionTreeRoot(artifact, FunctionType.UNCONSTRAINED);
56
+ const metadataHash = computeArtifactMetadataHash(artifact);
57
+ return { privateFunctionRoot, unconstrainedFunctionRoot, metadataHash };
58
+ }
59
+
60
+ export function computeArtifactMetadataHash(artifact: ContractArtifact) {
61
+ return sha256Fr(Buffer.from(JSON.stringify({ name: artifact.name, outputs: artifact.outputs }), 'utf-8'));
62
+ }
63
+
64
+ export async function computeArtifactFunctionTreeRoot(artifact: ContractArtifact, fnType: FunctionType) {
65
+ const tree = await computeArtifactFunctionTree(artifact, fnType);
66
+ return tree?.root ? Fr.fromBuffer(tree.root) : Fr.ZERO;
67
+ }
68
+
69
+ export async function computeArtifactFunctionTree(
70
+ artifact: ContractArtifact,
71
+ fnType: FunctionType,
72
+ ): Promise<MerkleTree | undefined> {
73
+ const leaves = await computeFunctionLeaves(artifact, fnType);
74
+ // TODO(@spalladino) Consider implementing a null-object for empty trees
75
+ if (leaves.length === 0) {
76
+ return undefined;
77
+ }
78
+ const height = Math.ceil(Math.log2(leaves.length));
79
+ const calculator = await MerkleTreeCalculator.create(height, Buffer.alloc(32), getArtifactMerkleTreeHasher());
80
+ return calculator.computeTree(leaves.map(x => x.toBuffer()));
81
+ }
82
+
83
+ async function computeFunctionLeaves(artifact: ContractArtifact, fnType: FunctionType) {
84
+ const selectors = await Promise.all(
85
+ artifact.functions
86
+ .filter(f => f.functionType === fnType)
87
+ .map(async f => ({ ...f, selector: await FunctionSelector.fromNameAndParameters(f.name, f.parameters) })),
88
+ );
89
+ selectors.sort((a, b) => a.selector.value - b.selector.value);
90
+ return await Promise.all(selectors.map(computeFunctionArtifactHash));
91
+ }
92
+
93
+ export async function computeFunctionArtifactHash(
94
+ fn:
95
+ | FunctionArtifact
96
+ | (Pick<FunctionArtifact, 'bytecode'> & { functionMetadataHash: Fr; selector: FunctionSelector }),
97
+ ) {
98
+ const selector = 'selector' in fn ? fn.selector : await FunctionSelector.fromNameAndParameters(fn);
99
+
100
+ const bytecodeHash = sha256Fr(fn.bytecode).toBuffer();
101
+ const metadataHash = 'functionMetadataHash' in fn ? fn.functionMetadataHash : computeFunctionMetadataHash(fn);
102
+ return sha256Fr(Buffer.concat([numToUInt8(VERSION), selector.toBuffer(), metadataHash.toBuffer(), bytecodeHash]));
103
+ }
104
+
105
+ export function computeFunctionMetadataHash(fn: FunctionArtifact) {
106
+ return sha256Fr(Buffer.from(JSON.stringify(fn.returnTypes), 'utf8'));
107
+ }
108
+
109
+ function getLogger() {
110
+ return createLogger('circuits:artifact_hash');
111
+ }
112
+
113
+ export function getArtifactMerkleTreeHasher() {
114
+ return (l: Buffer, r: Buffer) => Promise.resolve(sha256Fr(Buffer.concat([l, r])).toBuffer());
115
+ }
@@ -0,0 +1,155 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { hexSchemaFor } from '@aztec/foundation/schemas';
3
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import { bufferToHex } from '@aztec/foundation/string';
5
+
6
+ import { AztecAddress } from '../aztec-address/index.js';
7
+ import { computeAddress, computePreaddress, deriveKeys } from '../keys/index.js';
8
+ import { PublicKeys } from '../keys/public_keys.js';
9
+ import { computePartialAddress } from './contract_address.js';
10
+ import type { PartialAddress } from './partial_address.js';
11
+
12
+ /**
13
+ * A complete address is a combination of an Aztec address, a public key and a partial address.
14
+ *
15
+ * @remarks We have introduced this type because it is common that these 3 values are used together. They are commonly
16
+ * used together because it is the information needed to send user a note.
17
+ * @remarks See the link below for details about how address is computed:
18
+ * https://github.com/AztecProtocol/aztec-packages/blob/master/docs/docs/concepts/foundation/accounts/keys.md#addresses-partial-addresses-and-public-keys
19
+ */
20
+ export class CompleteAddress {
21
+ private constructor(
22
+ /** Contract address (typically of an account contract) */
23
+ public address: AztecAddress,
24
+ /** User public keys */
25
+ public publicKeys: PublicKeys,
26
+ /** Partial key corresponding to the public key to the address. */
27
+ public partialAddress: PartialAddress,
28
+ ) {}
29
+
30
+ static async create(
31
+ address: AztecAddress,
32
+ publicKeys: PublicKeys,
33
+ partialAddress: PartialAddress,
34
+ ): Promise<CompleteAddress> {
35
+ const completeAddress = new CompleteAddress(address, publicKeys, partialAddress);
36
+ await completeAddress.validate();
37
+ return completeAddress;
38
+ }
39
+
40
+ /** Size in bytes of an instance */
41
+ static readonly SIZE_IN_BYTES = 32 * 10;
42
+
43
+ static get schema() {
44
+ return hexSchemaFor(CompleteAddress);
45
+ }
46
+
47
+ toJSON() {
48
+ return this.toString();
49
+ }
50
+
51
+ static async random(): Promise<CompleteAddress> {
52
+ return await this.fromSecretKeyAndPartialAddress(Fr.random(), Fr.random());
53
+ }
54
+
55
+ static async fromSecretKeyAndPartialAddress(secretKey: Fr, partialAddress: Fr): Promise<CompleteAddress> {
56
+ const { publicKeys } = await deriveKeys(secretKey);
57
+ const address = await computeAddress(publicKeys, partialAddress);
58
+
59
+ return new CompleteAddress(address, publicKeys, partialAddress);
60
+ }
61
+
62
+ async getPreaddress() {
63
+ return computePreaddress(await this.publicKeys.hash(), this.partialAddress);
64
+ }
65
+
66
+ static async fromSecretKeyAndInstance(
67
+ secretKey: Fr,
68
+ instance: Parameters<typeof computePartialAddress>[0],
69
+ ): Promise<CompleteAddress> {
70
+ const partialAddress = await computePartialAddress(instance);
71
+ return CompleteAddress.fromSecretKeyAndPartialAddress(secretKey, partialAddress);
72
+ }
73
+
74
+ /** Throws if the address is not correctly derived from the public key and partial address.*/
75
+ public async validate() {
76
+ const expectedAddress = await computeAddress(this.publicKeys, this.partialAddress);
77
+
78
+ if (!expectedAddress.equals(this.address)) {
79
+ throw new Error(
80
+ `Address cannot be derived from public keys and partial address (received ${this.address.toString()}, derived ${expectedAddress.toString()})`,
81
+ );
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Gets a readable string representation of the complete address.
87
+ * @returns A readable string representation of the complete address.
88
+ */
89
+ public toReadableString(): string {
90
+ return `Address: ${this.address.toString()}\nMaster Nullifier Public Key: ${this.publicKeys.masterNullifierPublicKey.toString()}\nMaster Incoming Viewing Public Key: ${this.publicKeys.masterIncomingViewingPublicKey.toString()}\nMaster Outgoing Viewing Public Key: ${this.publicKeys.masterOutgoingViewingPublicKey.toString()}\nMaster Tagging Public Key: ${this.publicKeys.masterTaggingPublicKey.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
91
+ }
92
+
93
+ /**
94
+ * Determines if this CompleteAddress instance is equal to the given CompleteAddress instance.
95
+ * Equality is based on the content of their respective buffers.
96
+ *
97
+ * @param other - The CompleteAddress instance to compare against.
98
+ * @returns True if the buffers of both instances are equal, false otherwise.
99
+ */
100
+ equals(other: CompleteAddress): boolean {
101
+ return (
102
+ this.address.equals(other.address) &&
103
+ this.publicKeys.equals(other.publicKeys) &&
104
+ this.partialAddress.equals(other.partialAddress)
105
+ );
106
+ }
107
+
108
+ /**
109
+ * Converts the CompleteAddress instance into a Buffer.
110
+ * This method should be used when encoding the address for storage, transmission or serialization purposes.
111
+ *
112
+ * @returns A Buffer representation of the CompleteAddress instance.
113
+ */
114
+ toBuffer(): Buffer {
115
+ return serializeToBuffer([this.address, this.publicKeys, this.partialAddress]);
116
+ }
117
+
118
+ /**
119
+ * Creates an CompleteAddress instance from a given buffer or BufferReader.
120
+ * If the input is a Buffer, it wraps it in a BufferReader before processing.
121
+ * Throws an error if the input length is not equal to the expected size.
122
+ *
123
+ * @param buffer - The input buffer or BufferReader containing the address data.
124
+ * @returns - A new CompleteAddress instance with the extracted address data.
125
+ */
126
+ static fromBuffer(buffer: Buffer | BufferReader): Promise<CompleteAddress> {
127
+ const reader = BufferReader.asReader(buffer);
128
+ const address = reader.readObject(AztecAddress);
129
+ const publicKeys = reader.readObject(PublicKeys);
130
+ const partialAddress = reader.readObject(Fr);
131
+ return CompleteAddress.create(address, publicKeys, partialAddress);
132
+ }
133
+
134
+ /**
135
+ * Create a CompleteAddress instance from a hex-encoded string.
136
+ * The input 'address' should be prefixed with '0x' or not, and have exactly 128 hex characters representing the x and y coordinates.
137
+ * Throws an error if the input length is invalid or coordinate values are out of range.
138
+ *
139
+ * @param address - The hex-encoded string representing the complete address.
140
+ * @returns A Point instance.
141
+ */
142
+ static fromString(address: string): Promise<CompleteAddress> {
143
+ return CompleteAddress.fromBuffer(Buffer.from(address.replace(/^0x/i, ''), 'hex'));
144
+ }
145
+
146
+ /**
147
+ * Convert the CompleteAddress to a hexadecimal string representation, with a "0x" prefix.
148
+ * The resulting string will have a length of 66 characters (including the prefix).
149
+ *
150
+ * @returns A hexadecimal string representation of the CompleteAddress.
151
+ */
152
+ toString(): string {
153
+ return bufferToHex(this.toBuffer());
154
+ }
155
+ }