@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-manual.20251030

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 (652) hide show
  1. package/dest/abi/abi.d.ts +8 -8
  2. package/dest/abi/abi.js +1 -1
  3. package/dest/abi/contract_artifact.js +3 -0
  4. package/dest/abi/event_metadata_definition.d.ts +8 -0
  5. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  6. package/dest/abi/event_metadata_definition.js +1 -0
  7. package/dest/abi/function_call.d.ts +7 -2
  8. package/dest/abi/function_call.d.ts.map +1 -1
  9. package/dest/abi/function_call.js +6 -2
  10. package/dest/abi/index.d.ts +1 -0
  11. package/dest/abi/index.d.ts.map +1 -1
  12. package/dest/abi/index.js +1 -0
  13. package/dest/avm/avm.d.ts +132 -73
  14. package/dest/avm/avm.d.ts.map +1 -1
  15. package/dest/avm/avm.js +10 -6
  16. package/dest/avm/avm_accumulated_data.d.ts +10 -21
  17. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  18. package/dest/avm/avm_accumulated_data.js +19 -22
  19. package/dest/avm/avm_circuit_public_inputs.d.ts +30 -13
  20. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  21. package/dest/avm/avm_circuit_public_inputs.js +17 -6
  22. package/dest/avm/avm_proving_request.d.ts +96 -48
  23. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  24. package/dest/avm/index.d.ts +1 -1
  25. package/dest/avm/index.d.ts.map +1 -1
  26. package/dest/avm/index.js +1 -1
  27. package/dest/avm/message_pack.d.ts +1 -0
  28. package/dest/avm/message_pack.d.ts.map +1 -1
  29. package/dest/avm/message_pack.js +28 -5
  30. package/dest/block/attestation_info.d.ts +30 -0
  31. package/dest/block/attestation_info.d.ts.map +1 -0
  32. package/dest/block/attestation_info.js +39 -0
  33. package/dest/block/body.d.ts +4 -1
  34. package/dest/block/body.d.ts.map +1 -1
  35. package/dest/block/body.js +17 -15
  36. package/dest/block/in_block.d.ts +5 -5
  37. package/dest/block/in_block.d.ts.map +1 -1
  38. package/dest/block/index.d.ts +4 -0
  39. package/dest/block/index.d.ts.map +1 -1
  40. package/dest/block/index.js +4 -0
  41. package/dest/block/l2_block.d.ts +21 -13
  42. package/dest/block/l2_block.d.ts.map +1 -1
  43. package/dest/block/l2_block.js +33 -10
  44. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  45. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  46. package/dest/block/l2_block_code_to_purge.js +23 -13
  47. package/dest/block/l2_block_header.d.ts +100 -0
  48. package/dest/block/l2_block_header.d.ts.map +1 -0
  49. package/dest/block/l2_block_header.js +146 -0
  50. package/dest/block/l2_block_info.d.ts +41 -0
  51. package/dest/block/l2_block_info.d.ts.map +1 -0
  52. package/dest/block/l2_block_info.js +40 -0
  53. package/dest/block/l2_block_source.d.ts +35 -433
  54. package/dest/block/l2_block_source.d.ts.map +1 -1
  55. package/dest/block/l2_block_source.js +0 -28
  56. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  57. package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
  58. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
  59. package/dest/block/proposal/attestations_and_signers.js +99 -0
  60. package/dest/block/proposal/index.d.ts +1 -0
  61. package/dest/block/proposal/index.d.ts.map +1 -1
  62. package/dest/block/proposal/index.js +1 -0
  63. package/dest/block/published_l2_block.d.ts +27 -5
  64. package/dest/block/published_l2_block.d.ts.map +1 -1
  65. package/dest/block/published_l2_block.js +20 -7
  66. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  67. package/dest/block/test/l2_tips_store_test_suite.js +3 -4
  68. package/dest/block/validate_block_result.d.ts +222 -0
  69. package/dest/block/validate_block_result.d.ts.map +1 -0
  70. package/dest/block/validate_block_result.js +83 -0
  71. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  72. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  73. package/dest/checkpoint/checkpoint_body.js +9 -0
  74. package/dest/checkpoint/index.d.ts +2 -0
  75. package/dest/checkpoint/index.d.ts.map +1 -0
  76. package/dest/checkpoint/index.js +1 -0
  77. package/dest/config/node-rpc-config.d.ts +2 -0
  78. package/dest/config/node-rpc-config.d.ts.map +1 -1
  79. package/dest/config/node-rpc-config.js +6 -0
  80. package/dest/contract/contract_address.d.ts +1 -1
  81. package/dest/contract/contract_address.js +1 -1
  82. package/dest/contract/contract_class_metadata.d.ts +8 -0
  83. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  84. package/dest/contract/contract_class_metadata.js +1 -0
  85. package/dest/contract/contract_instance.d.ts +9 -8
  86. package/dest/contract/contract_instance.d.ts.map +1 -1
  87. package/dest/contract/contract_instance.js +1 -2
  88. package/dest/contract/contract_metadata.d.ts +7 -0
  89. package/dest/contract/contract_metadata.d.ts.map +1 -0
  90. package/dest/contract/contract_metadata.js +1 -0
  91. package/dest/contract/index.d.ts +2 -0
  92. package/dest/contract/index.d.ts.map +1 -1
  93. package/dest/contract/index.js +2 -0
  94. package/dest/contract/interfaces/contract_class.d.ts +4 -4
  95. package/dest/contract/interfaces/contract_instance.d.ts +2 -2
  96. package/dest/epoch-helpers/index.d.ts +8 -2
  97. package/dest/epoch-helpers/index.d.ts.map +1 -1
  98. package/dest/epoch-helpers/index.js +9 -0
  99. package/dest/fees/transaction_fee.d.ts.map +1 -1
  100. package/dest/fees/transaction_fee.js +3 -0
  101. package/dest/file-store/factory.d.ts.map +1 -1
  102. package/dest/file-store/factory.js +18 -0
  103. package/dest/file-store/interface.d.ts +8 -2
  104. package/dest/file-store/interface.d.ts.map +1 -1
  105. package/dest/file-store/s3.d.ts +26 -0
  106. package/dest/file-store/s3.d.ts.map +1 -0
  107. package/dest/file-store/s3.js +252 -0
  108. package/dest/hash/hash.d.ts.map +1 -1
  109. package/dest/hash/hash.js +0 -3
  110. package/dest/interfaces/archiver.d.ts +43 -0
  111. package/dest/interfaces/archiver.d.ts.map +1 -1
  112. package/dest/interfaces/archiver.js +20 -4
  113. package/dest/interfaces/aztec-node-admin.d.ts +87 -40
  114. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  115. package/dest/interfaces/aztec-node-admin.js +7 -1
  116. package/dest/interfaces/aztec-node.d.ts +35 -2
  117. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  118. package/dest/interfaces/aztec-node.js +8 -1
  119. package/dest/interfaces/block-builder.d.ts +7 -8
  120. package/dest/interfaces/block-builder.d.ts.map +1 -1
  121. package/dest/interfaces/client.d.ts +0 -1
  122. package/dest/interfaces/client.d.ts.map +1 -1
  123. package/dest/interfaces/client.js +0 -1
  124. package/dest/interfaces/configs.d.ts +10 -0
  125. package/dest/interfaces/configs.d.ts.map +1 -1
  126. package/dest/interfaces/configs.js +3 -1
  127. package/dest/interfaces/epoch-prover.d.ts +29 -12
  128. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  129. package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
  130. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  131. package/dest/interfaces/p2p.d.ts +2 -0
  132. package/dest/interfaces/p2p.d.ts.map +1 -1
  133. package/dest/interfaces/p2p.js +2 -1
  134. package/dest/interfaces/private_kernel_prover.d.ts +2 -2
  135. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  136. package/dest/interfaces/proving-job.d.ts +349 -200
  137. package/dest/interfaces/proving-job.d.ts.map +1 -1
  138. package/dest/interfaces/proving-job.js +131 -113
  139. package/dest/interfaces/server.d.ts +1 -0
  140. package/dest/interfaces/server.d.ts.map +1 -1
  141. package/dest/interfaces/server.js +1 -0
  142. package/dest/interfaces/server_circuit_prover.d.ts +34 -34
  143. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  144. package/dest/interfaces/slasher.d.ts +4 -0
  145. package/dest/interfaces/slasher.d.ts.map +1 -1
  146. package/dest/interfaces/slasher.js +1 -0
  147. package/dest/interfaces/tx_provider.d.ts +1 -1
  148. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  149. package/dest/interfaces/validator.d.ts +163 -0
  150. package/dest/interfaces/validator.d.ts.map +1 -0
  151. package/dest/interfaces/validator.js +18 -0
  152. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
  153. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  154. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
  155. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  156. package/dest/kernel/nullifier.d.ts +2 -2
  157. package/dest/kernel/nullifier.d.ts.map +1 -1
  158. package/dest/kernel/nullifier.js +11 -11
  159. package/dest/kernel/private_call_data.d.ts +4 -24
  160. package/dest/kernel/private_call_data.d.ts.map +1 -1
  161. package/dest/kernel/private_call_data.js +4 -16
  162. package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
  163. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  164. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  165. package/dest/kernel/private_context_inputs.d.ts +2 -2
  166. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  167. package/dest/kernel/private_context_inputs.js +4 -4
  168. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  169. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  170. package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
  171. package/dest/kernel/private_kernel_data.js +2 -2
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
  173. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  174. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  175. package/dest/kernel/private_kernel_prover_output.d.ts +4 -4
  176. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  177. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  178. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  179. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  180. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  181. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  182. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  183. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  184. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  185. package/dest/keys/derivation.d.ts +0 -2
  186. package/dest/keys/derivation.d.ts.map +1 -1
  187. package/dest/keys/derivation.js +3 -24
  188. package/dest/logs/contract_class_log.d.ts +1 -1
  189. package/dest/logs/contract_class_log.d.ts.map +1 -1
  190. package/dest/logs/contract_class_log.js +1 -3
  191. package/dest/logs/debug_log.d.ts +13 -0
  192. package/dest/logs/debug_log.d.ts.map +1 -0
  193. package/dest/logs/debug_log.js +26 -0
  194. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  195. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  196. package/dest/logs/directional_app_tagging_secret.js +63 -0
  197. package/dest/logs/index.d.ts +3 -1
  198. package/dest/logs/index.d.ts.map +1 -1
  199. package/dest/logs/index.js +3 -1
  200. package/dest/logs/log_with_tx_data.d.ts +9 -12
  201. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  202. package/dest/logs/log_with_tx_data.js +18 -23
  203. package/dest/logs/pre_tag.d.ts +34 -0
  204. package/dest/logs/pre_tag.d.ts.map +1 -0
  205. package/dest/logs/pre_tag.js +7 -0
  206. package/dest/logs/public_log.d.ts +23 -10
  207. package/dest/logs/public_log.d.ts.map +1 -1
  208. package/dest/logs/public_log.js +117 -42
  209. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  210. package/dest/logs/shared_secret_derivation.js +2 -4
  211. package/dest/messaging/inbox_leaf.d.ts +2 -0
  212. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  213. package/dest/messaging/inbox_leaf.js +3 -0
  214. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  215. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  216. package/dest/messaging/l2_to_l1_membership.js +16 -18
  217. package/dest/noir/index.d.ts +11 -0
  218. package/dest/noir/index.d.ts.map +1 -1
  219. package/dest/note/index.d.ts +1 -1
  220. package/dest/note/index.d.ts.map +1 -1
  221. package/dest/note/index.js +1 -1
  222. package/dest/note/notes_filter.d.ts +0 -5
  223. package/dest/note/notes_filter.d.ts.map +1 -1
  224. package/dest/note/notes_filter.js +0 -3
  225. package/dest/note/unique_note.d.ts +43 -0
  226. package/dest/note/unique_note.d.ts.map +1 -0
  227. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  228. package/dest/p2p/block_attestation.d.ts +45 -9
  229. package/dest/p2p/block_attestation.d.ts.map +1 -1
  230. package/dest/p2p/block_attestation.js +37 -15
  231. package/dest/p2p/block_proposal.d.ts +7 -9
  232. package/dest/p2p/block_proposal.d.ts.map +1 -1
  233. package/dest/p2p/block_proposal.js +13 -14
  234. package/dest/p2p/consensus_payload.d.ts +35 -6
  235. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  236. package/dest/p2p/consensus_payload.js +21 -8
  237. package/dest/p2p/gossipable.d.ts +6 -16
  238. package/dest/p2p/gossipable.d.ts.map +1 -1
  239. package/dest/p2p/gossipable.js +9 -21
  240. package/dest/p2p/signature_utils.d.ts +2 -1
  241. package/dest/p2p/signature_utils.d.ts.map +1 -1
  242. package/dest/p2p/signature_utils.js +1 -0
  243. package/dest/p2p/topic_type.d.ts +4 -8
  244. package/dest/p2p/topic_type.d.ts.map +1 -1
  245. package/dest/p2p/topic_type.js +14 -8
  246. package/dest/parity/index.d.ts +2 -3
  247. package/dest/parity/index.d.ts.map +1 -1
  248. package/dest/parity/index.js +2 -3
  249. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  250. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  251. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  252. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  253. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  254. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  255. package/dest/proofs/chonk_proof.d.ts +28 -0
  256. package/dest/proofs/chonk_proof.d.ts.map +1 -0
  257. package/dest/proofs/chonk_proof.js +101 -0
  258. package/dest/proofs/index.d.ts +2 -1
  259. package/dest/proofs/index.d.ts.map +1 -1
  260. package/dest/proofs/index.js +2 -1
  261. package/dest/proofs/proof_data.d.ts +21 -0
  262. package/dest/proofs/proof_data.d.ts.map +1 -0
  263. package/dest/proofs/proof_data.js +22 -0
  264. package/dest/proofs/proving_request_type.d.ts +17 -13
  265. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  266. package/dest/proofs/proving_request_type.js +17 -12
  267. package/dest/rollup/avm_proof_data.d.ts +2 -12
  268. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  269. package/dest/rollup/avm_proof_data.js +0 -24
  270. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  271. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  272. package/dest/rollup/base_rollup_hints.js +26 -26
  273. package/dest/rollup/block_constant_data.d.ts +24 -10
  274. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  275. package/dest/rollup/block_constant_data.js +18 -10
  276. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  277. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  278. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  279. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  280. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  281. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  282. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  283. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  284. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  285. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  286. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  287. package/dest/rollup/checkpoint_constant_data.js +55 -0
  288. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
  289. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  290. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
  291. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  292. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  293. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  294. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  295. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  296. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  297. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  298. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  299. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  300. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  301. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  302. package/dest/rollup/epoch_constant_data.js +25 -12
  303. package/dest/rollup/index.d.ts +17 -16
  304. package/dest/rollup/index.d.ts.map +1 -1
  305. package/dest/rollup/index.js +17 -16
  306. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  307. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  308. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  309. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
  310. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
  311. package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
  312. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
  313. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
  314. package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
  315. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  316. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  317. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  318. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  319. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  320. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  321. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  322. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  323. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  324. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  325. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  326. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  327. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  328. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  329. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  330. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  331. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  332. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  333. package/dest/slashing/types.d.ts +1 -0
  334. package/dest/slashing/types.d.ts.map +1 -1
  335. package/dest/slashing/types.js +22 -0
  336. package/dest/snapshots/download.d.ts.map +1 -1
  337. package/dest/snapshots/download.js +58 -2
  338. package/dest/snapshots/upload.d.ts.map +1 -1
  339. package/dest/snapshots/upload.js +1 -0
  340. package/dest/stats/stats.d.ts +3 -3
  341. package/dest/stats/stats.d.ts.map +1 -1
  342. package/dest/tests/factories.d.ts +43 -75
  343. package/dest/tests/factories.d.ts.map +1 -1
  344. package/dest/tests/factories.js +149 -171
  345. package/dest/tests/mocks.d.ts +16 -10
  346. package/dest/tests/mocks.d.ts.map +1 -1
  347. package/dest/tests/mocks.js +55 -33
  348. package/dest/trees/index.d.ts +0 -1
  349. package/dest/trees/index.d.ts.map +1 -1
  350. package/dest/trees/index.js +0 -1
  351. package/dest/trees/merkle_tree_id.d.ts +4 -4
  352. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  353. package/dest/tx/block_header.d.ts +12 -13
  354. package/dest/tx/block_header.d.ts.map +1 -1
  355. package/dest/tx/block_header.js +16 -21
  356. package/dest/tx/content_commitment.d.ts +1 -0
  357. package/dest/tx/content_commitment.d.ts.map +1 -1
  358. package/dest/tx/content_commitment.js +3 -0
  359. package/dest/tx/global_variables.d.ts.map +1 -1
  360. package/dest/tx/global_variables.js +0 -1
  361. package/dest/tx/index.d.ts +2 -1
  362. package/dest/tx/index.d.ts.map +1 -1
  363. package/dest/tx/index.js +2 -1
  364. package/dest/tx/indexed_tx_effect.d.ts +3 -3
  365. package/dest/tx/partial_state_reference.d.ts +1 -0
  366. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  367. package/dest/tx/partial_state_reference.js +3 -0
  368. package/dest/tx/private_execution_result.d.ts +7 -2
  369. package/dest/tx/private_execution_result.d.ts.map +1 -1
  370. package/dest/tx/private_execution_result.js +10 -6
  371. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  372. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  373. package/dest/tx/private_tx_constant_data.js +69 -0
  374. package/dest/tx/processed_tx.d.ts +2 -3
  375. package/dest/tx/processed_tx.d.ts.map +1 -1
  376. package/dest/tx/processed_tx.js +3 -8
  377. package/dest/tx/profiling.d.ts.map +1 -1
  378. package/dest/tx/profiling.js +0 -2
  379. package/dest/tx/protocol_contracts.d.ts +29 -0
  380. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  381. package/dest/tx/protocol_contracts.js +49 -0
  382. package/dest/tx/proven_tx.d.ts +7 -7
  383. package/dest/tx/proven_tx.d.ts.map +1 -1
  384. package/dest/tx/proven_tx.js +8 -8
  385. package/dest/tx/simulated_tx.d.ts +3 -3
  386. package/dest/tx/simulated_tx.js +2 -2
  387. package/dest/tx/state_reference.d.ts +1 -0
  388. package/dest/tx/state_reference.d.ts.map +1 -1
  389. package/dest/tx/state_reference.js +4 -1
  390. package/dest/tx/tx.d.ts +9 -12
  391. package/dest/tx/tx.d.ts.map +1 -1
  392. package/dest/tx/tx.js +21 -22
  393. package/dest/tx/tx_constant_data.d.ts +6 -38
  394. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  395. package/dest/tx/tx_constant_data.js +11 -20
  396. package/dest/tx/tx_effect.d.ts +3 -36
  397. package/dest/tx/tx_effect.d.ts.map +1 -1
  398. package/dest/tx/tx_effect.js +63 -202
  399. package/dest/tx/validator/error_texts.d.ts +1 -1
  400. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  401. package/dest/tx/validator/error_texts.js +1 -1
  402. package/dest/update-checker/update-checker.d.ts +1 -1
  403. package/dest/update-checker/update-checker.d.ts.map +1 -1
  404. package/dest/update-checker/update-checker.js +1 -1
  405. package/dest/validators/schemas.d.ts +42 -4
  406. package/dest/validators/schemas.d.ts.map +1 -1
  407. package/dest/validators/schemas.js +5 -4
  408. package/dest/validators/types.d.ts +8 -10
  409. package/dest/validators/types.d.ts.map +1 -1
  410. package/dest/versioning/versioning.d.ts +2 -2
  411. package/dest/versioning/versioning.d.ts.map +1 -1
  412. package/dest/versioning/versioning.js +18 -13
  413. package/dest/world-state/index.d.ts +2 -0
  414. package/dest/world-state/index.d.ts.map +1 -0
  415. package/dest/world-state/index.js +1 -0
  416. package/dest/world-state/world_state_revision.d.ts +22 -0
  417. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  418. package/dest/world-state/world_state_revision.js +21 -0
  419. package/dest/zkpassport/index.d.ts +17 -11
  420. package/dest/zkpassport/index.d.ts.map +1 -1
  421. package/dest/zkpassport/index.js +21 -15
  422. package/package.json +15 -11
  423. package/src/abi/abi.ts +1 -1
  424. package/src/abi/contract_artifact.ts +3 -0
  425. package/src/abi/event_metadata_definition.ts +8 -0
  426. package/src/abi/function_call.ts +5 -1
  427. package/src/abi/index.ts +1 -0
  428. package/src/avm/avm.ts +15 -7
  429. package/src/avm/avm_accumulated_data.ts +25 -29
  430. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  431. package/src/avm/index.ts +1 -1
  432. package/src/avm/message_pack.ts +25 -1
  433. package/src/block/attestation_info.ts +62 -0
  434. package/src/block/body.ts +25 -23
  435. package/src/block/index.ts +4 -0
  436. package/src/block/l2_block.ts +39 -19
  437. package/src/block/l2_block_code_to_purge.ts +30 -31
  438. package/src/block/l2_block_header.ts +232 -0
  439. package/src/block/l2_block_info.ts +63 -0
  440. package/src/block/l2_block_source.ts +38 -56
  441. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  442. package/src/block/proposal/attestations_and_signers.ts +121 -0
  443. package/src/block/proposal/index.ts +1 -0
  444. package/src/block/published_l2_block.ts +37 -15
  445. package/src/block/test/l2_tips_store_test_suite.ts +7 -7
  446. package/src/block/validate_block_result.ts +122 -0
  447. package/src/checkpoint/checkpoint_body.ts +10 -0
  448. package/src/checkpoint/index.ts +1 -0
  449. package/src/config/node-rpc-config.ts +9 -0
  450. package/src/contract/contract_address.ts +1 -1
  451. package/src/contract/contract_class_metadata.ts +8 -0
  452. package/src/contract/contract_instance.ts +11 -10
  453. package/src/contract/contract_metadata.ts +7 -0
  454. package/src/contract/index.ts +2 -0
  455. package/src/contract/interfaces/contract_class.ts +1 -1
  456. package/src/epoch-helpers/index.ts +24 -2
  457. package/src/fees/transaction_fee.ts +11 -0
  458. package/src/file-store/factory.ts +15 -0
  459. package/src/file-store/interface.ts +8 -2
  460. package/src/file-store/s3.ts +254 -0
  461. package/src/hash/hash.ts +0 -4
  462. package/src/interfaces/archiver.ts +49 -4
  463. package/src/interfaces/aztec-node-admin.ts +17 -1
  464. package/src/interfaces/aztec-node.ts +53 -2
  465. package/src/interfaces/block-builder.ts +11 -12
  466. package/src/interfaces/client.ts +0 -1
  467. package/src/interfaces/configs.ts +6 -0
  468. package/src/interfaces/epoch-prover.ts +38 -14
  469. package/src/interfaces/merkle_tree_operations.ts +6 -0
  470. package/src/interfaces/p2p.ts +4 -0
  471. package/src/interfaces/private_kernel_prover.ts +2 -2
  472. package/src/interfaces/proving-job.ts +218 -134
  473. package/src/interfaces/server.ts +1 -0
  474. package/src/interfaces/server_circuit_prover.ts +89 -61
  475. package/src/interfaces/slasher.ts +2 -0
  476. package/src/interfaces/tx_provider.ts +1 -0
  477. package/src/interfaces/validator.ts +95 -0
  478. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  479. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  480. package/src/kernel/nullifier.ts +8 -8
  481. package/src/kernel/private_call_data.ts +2 -21
  482. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  483. package/src/kernel/private_context_inputs.ts +2 -2
  484. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  485. package/src/kernel/private_kernel_data.ts +2 -2
  486. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  487. package/src/kernel/private_kernel_prover_output.ts +4 -4
  488. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  489. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  490. package/src/keys/derivation.ts +3 -29
  491. package/src/logs/contract_class_log.ts +2 -3
  492. package/src/logs/debug_log.ts +32 -0
  493. package/src/logs/directional_app_tagging_secret.ts +77 -0
  494. package/src/logs/index.ts +3 -1
  495. package/src/logs/log_with_tx_data.ts +14 -24
  496. package/src/logs/pre_tag.ts +25 -0
  497. package/src/logs/public_log.ts +120 -58
  498. package/src/logs/shared_secret_derivation.ts +2 -4
  499. package/src/messaging/inbox_leaf.ts +5 -0
  500. package/src/messaging/l2_to_l1_membership.ts +20 -26
  501. package/src/noir/index.ts +11 -0
  502. package/src/note/index.ts +1 -1
  503. package/src/note/notes_filter.ts +0 -7
  504. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  505. package/src/p2p/block_attestation.ts +46 -15
  506. package/src/p2p/block_proposal.ts +15 -18
  507. package/src/p2p/consensus_payload.ts +30 -10
  508. package/src/p2p/gossipable.ts +10 -28
  509. package/src/p2p/signature_utils.ts +1 -0
  510. package/src/p2p/topic_type.ts +15 -8
  511. package/src/parity/index.ts +2 -3
  512. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  513. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  514. package/src/proofs/chonk_proof.ts +118 -0
  515. package/src/proofs/index.ts +2 -1
  516. package/src/proofs/proof_data.ts +36 -0
  517. package/src/proofs/proving_request_type.ts +14 -10
  518. package/src/rollup/avm_proof_data.ts +2 -31
  519. package/src/rollup/base_rollup_hints.ts +22 -22
  520. package/src/rollup/block_constant_data.ts +16 -6
  521. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  522. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  523. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  524. package/src/rollup/checkpoint_constant_data.ts +84 -0
  525. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
  526. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  527. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  528. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  529. package/src/rollup/epoch_constant_data.ts +28 -10
  530. package/src/rollup/index.ts +17 -16
  531. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  532. package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
  533. package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
  534. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  535. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  536. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  537. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  538. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  539. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  540. package/src/slashing/types.ts +23 -0
  541. package/src/snapshots/download.ts +66 -2
  542. package/src/snapshots/upload.ts +1 -0
  543. package/src/stats/stats.ts +21 -15
  544. package/src/tests/factories.ts +226 -283
  545. package/src/tests/mocks.ts +90 -60
  546. package/src/trees/index.ts +0 -1
  547. package/src/tx/block_header.ts +17 -32
  548. package/src/tx/content_commitment.ts +4 -0
  549. package/src/tx/global_variables.ts +0 -1
  550. package/src/tx/index.ts +2 -1
  551. package/src/tx/partial_state_reference.ts +8 -0
  552. package/src/tx/private_execution_result.ts +9 -3
  553. package/src/tx/private_tx_constant_data.ts +94 -0
  554. package/src/tx/processed_tx.ts +5 -11
  555. package/src/tx/profiling.ts +0 -2
  556. package/src/tx/protocol_contracts.ts +70 -0
  557. package/src/tx/proven_tx.ts +6 -6
  558. package/src/tx/simulated_tx.ts +2 -2
  559. package/src/tx/state_reference.ts +5 -1
  560. package/src/tx/tx.ts +21 -22
  561. package/src/tx/tx_constant_data.ts +8 -21
  562. package/src/tx/tx_effect.ts +64 -213
  563. package/src/tx/validator/error_texts.ts +1 -1
  564. package/src/update-checker/update-checker.ts +1 -1
  565. package/src/validators/schemas.ts +6 -4
  566. package/src/validators/types.ts +9 -10
  567. package/src/versioning/versioning.ts +20 -15
  568. package/src/world-state/index.ts +1 -0
  569. package/src/world-state/world_state_revision.ts +21 -0
  570. package/src/zkpassport/index.ts +42 -30
  571. package/dest/avm/public_data_hint.d.ts +0 -16
  572. package/dest/avm/public_data_hint.d.ts.map +0 -1
  573. package/dest/avm/public_data_hint.js +0 -27
  574. package/dest/interfaces/pxe.d.ts +0 -329
  575. package/dest/interfaces/pxe.d.ts.map +0 -1
  576. package/dest/interfaces/pxe.js +0 -100
  577. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  578. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  579. package/dest/logs/indexed_tagging_secret.js +0 -50
  580. package/dest/note/extended_note.d.ts +0 -111
  581. package/dest/note/extended_note.d.ts.map +0 -1
  582. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  583. package/dest/parity/root_parity_input.d.ts +0 -52
  584. package/dest/parity/root_parity_input.d.ts.map +0 -1
  585. package/dest/parity/root_parity_input.js +0 -50
  586. package/dest/parity/root_parity_inputs.d.ts +0 -37
  587. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  588. package/dest/proofs/client_ivc_proof.d.ts +0 -18
  589. package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
  590. package/dest/proofs/client_ivc_proof.js +0 -41
  591. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  592. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  593. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  594. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  595. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  596. package/dest/rollup/block_root_rollup.d.ts +0 -283
  597. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  598. package/dest/rollup/block_root_rollup.js +0 -306
  599. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  600. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  601. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  602. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  603. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  604. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  605. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  606. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  607. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  608. package/dest/rollup/previous_rollup_block_data.js +0 -37
  609. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  610. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  611. package/dest/rollup/previous_rollup_data.js +0 -37
  612. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  613. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  614. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  615. package/dest/rollup/private_tube_data.d.ts +0 -15
  616. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  617. package/dest/rollup/private_tube_data.js +0 -25
  618. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  619. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  620. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  621. package/dest/rollup/public_tube_data.d.ts +0 -15
  622. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  623. package/dest/rollup/public_tube_data.js +0 -25
  624. package/dest/rollup/root_rollup.d.ts +0 -106
  625. package/dest/rollup/root_rollup.d.ts.map +0 -1
  626. package/dest/rollup/root_rollup.js +0 -147
  627. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  628. package/dest/rollup/state_diff_hints.js +0 -85
  629. package/dest/rollup/tube_inputs.d.ts +0 -43
  630. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  631. package/dest/rollup/tube_inputs.js +0 -63
  632. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  633. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  634. package/dest/trees/protocol_contract_leaf.js +0 -100
  635. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  636. package/src/avm/public_data_hint.ts +0 -38
  637. package/src/interfaces/pxe.ts +0 -532
  638. package/src/logs/indexed_tagging_secret.ts +0 -48
  639. package/src/parity/root_parity_input.ts +0 -71
  640. package/src/proofs/client_ivc_proof.ts +0 -51
  641. package/src/rollup/block_root_rollup.ts +0 -380
  642. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  643. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  644. package/src/rollup/previous_rollup_block_data.ts +0 -48
  645. package/src/rollup/previous_rollup_data.ts +0 -48
  646. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  647. package/src/rollup/private_tube_data.ts +0 -35
  648. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  649. package/src/rollup/public_tube_data.ts +0 -35
  650. package/src/rollup/root_rollup.ts +0 -195
  651. package/src/rollup/tube_inputs.ts +0 -77
  652. package/src/trees/protocol_contract_leaf.ts +0 -128
@@ -8,7 +8,7 @@ import { Gas } from '../gas/gas.js';
8
8
  import type { GasUsed } from '../gas/gas_used.js';
9
9
  import { computeL2ToL1MessageHash } from '../hash/hash.js';
10
10
  import type { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
11
- import type { ClientIvcProof } from '../proofs/client_ivc_proof.js';
11
+ import type { ChonkProof } from '../proofs/chonk_proof.js';
12
12
  import type { GlobalVariables } from './global_variables.js';
13
13
  import type { Tx } from './tx.js';
14
14
  import { TxEffect } from './tx_effect.js';
@@ -36,7 +36,7 @@ export type ProcessedTx = {
36
36
  /**
37
37
  * Proof for the private execution.
38
38
  */
39
- clientIvcProof: ClientIvcProof;
39
+ chonkProof: ChonkProof;
40
40
  /**
41
41
  * The request for AVM proving.
42
42
  */
@@ -118,7 +118,7 @@ export function makeProcessedTxFromPrivateOnlyTx(
118
118
  return {
119
119
  hash: txEffect.txHash,
120
120
  data: tx.data,
121
- clientIvcProof: tx.clientIvcProof,
121
+ chonkProof: tx.chonkProof,
122
122
  avmProvingRequest: undefined,
123
123
  globalVariables,
124
124
  txEffect,
@@ -128,12 +128,6 @@ export function makeProcessedTxFromPrivateOnlyTx(
128
128
  };
129
129
  }
130
130
 
131
- export function toNumBlobFields(txs: ProcessedTx[]): number {
132
- return txs.reduce((acc, tx) => {
133
- return acc + tx.txEffect.toBlobFields().length;
134
- }, 0);
135
- }
136
-
137
131
  export function makeProcessedTxFromTxWithPublicCalls(
138
132
  tx: Tx,
139
133
  avmProvingRequest: AvmProvingRequest,
@@ -175,14 +169,14 @@ export function makeProcessedTxFromTxWithPublicCalls(
175
169
  ),
176
170
  publicDataWrites,
177
171
  privateLogs,
178
- avmPublicInputs.accumulatedData.publicLogs.filter(l => !l.isEmpty()),
172
+ avmPublicInputs.accumulatedData.publicLogs.toLogs(),
179
173
  contractClassLogs,
180
174
  );
181
175
 
182
176
  return {
183
177
  hash: txEffect.txHash,
184
178
  data: tx.data,
185
- clientIvcProof: tx.clientIvcProof,
179
+ chonkProof: tx.chonkProof,
186
180
  avmProvingRequest,
187
181
  globalVariables,
188
182
  txEffect,
@@ -78,13 +78,11 @@ export const SimulationStatsSchema = z.object({
78
78
  nodeRPCCalls: NodeStatsSchema,
79
79
  });
80
80
 
81
- // docs:start:tx-profile-result
82
81
  export class TxProfileResult {
83
82
  constructor(
84
83
  public executionSteps: PrivateExecutionStep[],
85
84
  public stats: ProvingStats,
86
85
  ) {}
87
- // docs:end:tx-profile-result
88
86
  static get schema(): ZodFor<TxProfileResult> {
89
87
  return z
90
88
  .object({
@@ -0,0 +1,70 @@
1
+ import { GeneratorIndex, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
2
+ import { makeTuple } from '@aztec/foundation/array';
3
+ import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
4
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
5
+ import { Fr } from '@aztec/foundation/fields';
6
+ import {
7
+ BufferReader,
8
+ FieldReader,
9
+ type Tuple,
10
+ assertLength,
11
+ serializeToBuffer,
12
+ serializeToFields,
13
+ } from '@aztec/foundation/serialize';
14
+ import type { FieldsOf } from '@aztec/foundation/types';
15
+
16
+ import { z } from 'zod';
17
+
18
+ import { AztecAddress } from '../aztec-address/index.js';
19
+
20
+ export class ProtocolContracts {
21
+ constructor(public derivedAddresses: Tuple<AztecAddress, typeof MAX_PROTOCOL_CONTRACTS>) {}
22
+
23
+ static from(fields: FieldsOf<ProtocolContracts>) {
24
+ return new ProtocolContracts(...ProtocolContracts.getFields(fields));
25
+ }
26
+
27
+ static getFields(fields: FieldsOf<ProtocolContracts>) {
28
+ return [fields.derivedAddresses] as const;
29
+ }
30
+
31
+ static fromFields(fields: Fr[] | FieldReader): ProtocolContracts {
32
+ const reader = FieldReader.asReader(fields);
33
+ return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
34
+ }
35
+
36
+ toFields(): Fr[] {
37
+ return serializeToFields(...ProtocolContracts.getFields(this));
38
+ }
39
+
40
+ static fromBuffer(buffer: Buffer | BufferReader): ProtocolContracts {
41
+ const reader = BufferReader.asReader(buffer);
42
+ return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
43
+ }
44
+
45
+ toBuffer() {
46
+ return serializeToBuffer(...ProtocolContracts.getFields(this));
47
+ }
48
+
49
+ static empty() {
50
+ return new ProtocolContracts(makeTuple(MAX_PROTOCOL_CONTRACTS, () => AztecAddress.zero()));
51
+ }
52
+
53
+ getSize() {
54
+ return arraySerializedSizeOfNonEmpty(this.derivedAddresses);
55
+ }
56
+
57
+ hash() {
58
+ return poseidon2HashWithSeparator(this.derivedAddresses, GeneratorIndex.PROTOCOL_CONTRACTS);
59
+ }
60
+
61
+ static get schema() {
62
+ return z
63
+ .object({
64
+ derivedAddresses: AztecAddress.schema.array().min(MAX_PROTOCOL_CONTRACTS).max(MAX_PROTOCOL_CONTRACTS),
65
+ })
66
+ .transform(
67
+ ({ derivedAddresses }) => new ProtocolContracts(assertLength(derivedAddresses, MAX_PROTOCOL_CONTRACTS)),
68
+ );
69
+ }
70
+ }
@@ -4,7 +4,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
4
4
  import { z } from 'zod';
5
5
 
6
6
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
7
- import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
7
+ import { ChonkProof } from '../proofs/chonk_proof.js';
8
8
  import type { OffchainEffect } from './offchain_effect.js';
9
9
  import {
10
10
  PrivateExecutionResult,
@@ -18,7 +18,7 @@ export class TxProvingResult {
18
18
  constructor(
19
19
  public privateExecutionResult: PrivateExecutionResult,
20
20
  public publicInputs: PrivateKernelTailCircuitPublicInputs,
21
- public clientIvcProof: ClientIvcProof,
21
+ public chonkProof: ChonkProof,
22
22
  public stats?: ProvingStats,
23
23
  ) {}
24
24
 
@@ -27,7 +27,7 @@ export class TxProvingResult {
27
27
 
28
28
  return await Tx.create({
29
29
  data: this.publicInputs,
30
- clientIvcProof: this.clientIvcProof,
30
+ chonkProof: this.chonkProof,
31
31
  contractClassLogFields: contractClassLogs,
32
32
  publicFunctionCalldata: this.privateExecutionResult.publicFunctionCalldata,
33
33
  });
@@ -42,21 +42,21 @@ export class TxProvingResult {
42
42
  .object({
43
43
  privateExecutionResult: PrivateExecutionResult.schema,
44
44
  publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
45
- clientIvcProof: ClientIvcProof.schema,
45
+ chonkProof: ChonkProof.schema,
46
46
  timings: optional(ProvingTimingsSchema),
47
47
  })
48
48
  .transform(TxProvingResult.from);
49
49
  }
50
50
 
51
51
  static from(fields: FieldsOf<TxProvingResult>) {
52
- return new TxProvingResult(fields.privateExecutionResult, fields.publicInputs, fields.clientIvcProof);
52
+ return new TxProvingResult(fields.privateExecutionResult, fields.publicInputs, fields.chonkProof);
53
53
  }
54
54
 
55
55
  static async random() {
56
56
  return new TxProvingResult(
57
57
  await PrivateExecutionResult.random(),
58
58
  PrivateKernelTailCircuitPublicInputs.empty(),
59
- ClientIvcProof.empty(),
59
+ ChonkProof.empty(),
60
60
  );
61
61
  }
62
62
  }
@@ -11,7 +11,7 @@ import {
11
11
  import { Gas } from '../gas/gas.js';
12
12
  import type { GasUsed } from '../gas/gas_used.js';
13
13
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
14
- import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
14
+ import { ChonkProof } from '../proofs/chonk_proof.js';
15
15
  import {
16
16
  PrivateCallExecutionResult,
17
17
  PrivateExecutionResult,
@@ -69,7 +69,7 @@ export class PrivateSimulationResult {
69
69
 
70
70
  return await Tx.create({
71
71
  data: this.publicInputs,
72
- clientIvcProof: ClientIvcProof.empty(),
72
+ chonkProof: ChonkProof.empty(),
73
73
  contractClassLogFields: contractClassLogs,
74
74
  publicFunctionCalldata: this.privateExecutionResult.publicFunctionCalldata,
75
75
  });
@@ -78,6 +78,10 @@ export class StateReference {
78
78
  return new StateReference(AppendOnlyTreeSnapshot.empty(), PartialStateReference.empty());
79
79
  }
80
80
 
81
+ static random(): StateReference {
82
+ return new StateReference(AppendOnlyTreeSnapshot.random(), PartialStateReference.random());
83
+ }
84
+
81
85
  toViem(): ViemStateReference {
82
86
  return {
83
87
  l1ToL2MessageTree: this.l1ToL2MessageTree.toViem(),
@@ -133,6 +137,6 @@ export class StateReference {
133
137
  }
134
138
 
135
139
  public equals(other: this): boolean {
136
- return this.l1ToL2MessageTree.root.equals(other.l1ToL2MessageTree.root) && this.partial.equals(other.partial);
140
+ return this.l1ToL2MessageTree.equals(other.l1ToL2MessageTree) && this.partial.equals(other.partial);
137
141
  }
138
142
  }
package/src/tx/tx.ts CHANGED
@@ -15,7 +15,7 @@ import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_t
15
15
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
16
16
  import { Gossipable } from '../p2p/gossipable.js';
17
17
  import { TopicType } from '../p2p/topic_type.js';
18
- import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
18
+ import { ChonkProof } from '../proofs/chonk_proof.js';
19
19
  import type { TxStats } from '../stats/stats.js';
20
20
  import { HashedValues } from './hashed_values.js';
21
21
  import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
@@ -38,9 +38,8 @@ export class Tx extends Gossipable {
38
38
  public readonly data: PrivateKernelTailCircuitPublicInputs,
39
39
  /**
40
40
  * Proof from the private kernel circuit.
41
- * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
42
41
  */
43
- public readonly clientIvcProof: ClientIvcProof,
42
+ public readonly chonkProof: ChonkProof,
44
43
  /**
45
44
  * Contract class log fields emitted from the tx.
46
45
  * Their order should match the order of the log hashes returned from `this.data.getNonEmptyContractClassLogsHashes`.
@@ -109,7 +108,7 @@ export class Tx extends Gossipable {
109
108
  return new Tx(
110
109
  reader.readObject(TxHash),
111
110
  reader.readObject(PrivateKernelTailCircuitPublicInputs),
112
- reader.readObject(ClientIvcProof),
111
+ reader.readObject(ChonkProof),
113
112
  reader.readVectorUint8Prefix(ContractClassLogFields),
114
113
  reader.readVectorUint8Prefix(HashedValues),
115
114
  );
@@ -123,7 +122,7 @@ export class Tx extends Gossipable {
123
122
  return serializeToBuffer([
124
123
  this.txHash,
125
124
  this.data,
126
- this.clientIvcProof,
125
+ this.chonkProof,
127
126
  serializeArrayOfBufferableToVector(this.contractClassLogFields, 1),
128
127
  serializeArrayOfBufferableToVector(this.publicFunctionCalldata, 1),
129
128
  ]);
@@ -133,7 +132,7 @@ export class Tx extends Gossipable {
133
132
  return z
134
133
  .object({
135
134
  data: PrivateKernelTailCircuitPublicInputs.schema,
136
- clientIvcProof: ClientIvcProof.schema,
135
+ chonkProof: ChonkProof.schema,
137
136
  contractClassLogFields: z.array(ContractClassLogFields.schema),
138
137
  publicFunctionCalldata: z.array(HashedValues.schema),
139
138
  })
@@ -156,12 +155,22 @@ export class Tx extends Gossipable {
156
155
  return new Tx(
157
156
  fields.txHash,
158
157
  fields.data,
159
- fields.clientIvcProof,
158
+ fields.chonkProof,
160
159
  fields.contractClassLogFields,
161
160
  fields.publicFunctionCalldata,
162
161
  );
163
162
  }
164
163
 
164
+ /**
165
+ * Validates that the tx hash matches the computed hash from the tx data.
166
+ * This should be called when deserializing a tx from an untrusted source.
167
+ * @returns true if the hash is valid, false otherwise
168
+ */
169
+ async validateTxHash(): Promise<boolean> {
170
+ const expectedHash = await Tx.computeTxHash(this);
171
+ return this.txHash.equals(expectedHash);
172
+ }
173
+
165
174
  /**
166
175
  * Gets public logs emitted by this tx.
167
176
  * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
@@ -207,16 +216,6 @@ export class Tx extends Gossipable {
207
216
  return this.txHash;
208
217
  }
209
218
 
210
- /**
211
- * Allows setting the hash of the Tx.
212
- * Use this when you want to skip computing it from the original data.
213
- * Don't set a Tx hash received from an untrusted source.
214
- * @param hash - The hash to set.
215
- */
216
- setTxHash(_hash: TxHash) {
217
- return this;
218
- }
219
-
220
219
  getCalldataMap(): Map<string, Fr[]> {
221
220
  if (!this.calldataMap) {
222
221
  const calldataMap = new Map();
@@ -238,7 +237,7 @@ export class Tx extends Gossipable {
238
237
  classPublishedCount: this.data.getNonEmptyContractClassLogsHashes().length,
239
238
  contractClassLogSize: this.data.getEmittedContractClassLogsLength(),
240
239
 
241
- proofSize: this.clientIvcProof.clientIvcProofBuffer.length,
240
+ proofSize: this.chonkProof.fields.length,
242
241
  size: this.toBuffer().length,
243
242
 
244
243
  feePaymentMethod:
@@ -250,7 +249,7 @@ export class Tx extends Gossipable {
250
249
  getSize() {
251
250
  return (
252
251
  this.data.getSize() +
253
- this.clientIvcProof.clientIvcProofBuffer.length +
252
+ this.chonkProof.fields.length * Fr.SIZE_IN_BYTES +
254
253
  arraySerializedSizeOfNonEmpty(this.contractClassLogFields) +
255
254
  this.publicFunctionCalldata.reduce((accum, cd) => accum + cd.getSize(), 0)
256
255
  );
@@ -276,10 +275,10 @@ export class Tx extends Gossipable {
276
275
  */
277
276
  static clone(tx: Tx): Tx {
278
277
  const publicInputs = PrivateKernelTailCircuitPublicInputs.fromBuffer(tx.data.toBuffer());
279
- const clientIvcProof = ClientIvcProof.fromBuffer(tx.clientIvcProof.toBuffer());
278
+ const chonkProof = ChonkProof.fromBuffer(tx.chonkProof.toBuffer());
280
279
  const contractClassLogFields = tx.contractClassLogFields.map(p => p.clone());
281
280
  const publicFunctionCalldata = tx.publicFunctionCalldata.map(cd => HashedValues.fromBuffer(cd.toBuffer()));
282
- const clonedTx = new Tx(tx.txHash, publicInputs, clientIvcProof, contractClassLogFields, publicFunctionCalldata);
281
+ const clonedTx = new Tx(tx.txHash, publicInputs, chonkProof, contractClassLogFields, publicFunctionCalldata);
283
282
 
284
283
  return clonedTx;
285
284
  }
@@ -293,7 +292,7 @@ export class Tx extends Gossipable {
293
292
  return Tx.from({
294
293
  txHash: (typeof args.txHash === 'string' ? TxHash.fromString(args.txHash) : args.txHash) ?? TxHash.random(),
295
294
  data: PrivateKernelTailCircuitPublicInputs.emptyWithNullifier(),
296
- clientIvcProof: args.randomProof ? ClientIvcProof.random() : ClientIvcProof.empty(),
295
+ chonkProof: args.randomProof ? ChonkProof.random() : ChonkProof.empty(),
297
296
  contractClassLogFields: [ContractClassLogFields.random()],
298
297
  publicFunctionCalldata: [HashedValues.random()],
299
298
  });
@@ -7,29 +7,16 @@ import { BlockHeader } from './block_header.js';
7
7
  import { TxContext } from './tx_context.js';
8
8
 
9
9
  /**
10
- * Data that is constant/not modified by neither of the kernels.
10
+ * Version of `PrivateTxConstantData` exposed by the tail circuits
11
+ * It compresses the protocol contracts list to a hash to minimize the number of public inputs.
12
+ * Refer to `PrivateTxConstantData` for more details.
11
13
  */
12
14
  export class TxConstantData {
13
15
  constructor(
14
- /** Header of a block whose state is used during execution (not the block the transaction is included in). */
15
- public historicalHeader: BlockHeader,
16
- /**
17
- * Context of the transaction.
18
- *
19
- * Note: `chainId` and `version` in txContext are not redundant to the values in
20
- * self.historical_header.global_variables because they can be different in case of a protocol upgrade. In such
21
- * a situation we could be using header from a block before the upgrade took place but be using the updated
22
- * protocol to execute and prove the transaction.
23
- */
16
+ public anchorBlockHeader: BlockHeader,
24
17
  public txContext: TxContext,
25
- /**
26
- * Root of the vk tree for the protocol circuits.
27
- */
28
18
  public vkTreeRoot: Fr,
29
- /**
30
- * Root of the tree for the protocol contracts.
31
- */
32
- public protocolContractTreeRoot: Fr,
19
+ public protocolContractsHash: Fr,
33
20
  ) {}
34
21
 
35
22
  static from(fields: FieldsOf<TxConstantData>) {
@@ -37,7 +24,7 @@ export class TxConstantData {
37
24
  }
38
25
 
39
26
  static getFields(fields: FieldsOf<TxConstantData>) {
40
- return [fields.historicalHeader, fields.txContext, fields.vkTreeRoot, fields.protocolContractTreeRoot] as const;
27
+ return [fields.anchorBlockHeader, fields.txContext, fields.vkTreeRoot, fields.protocolContractsHash] as const;
41
28
  }
42
29
 
43
30
  static fromFields(fields: Fr[] | FieldReader): TxConstantData {
@@ -80,10 +67,10 @@ export class TxConstantData {
80
67
 
81
68
  getSize() {
82
69
  return (
83
- this.historicalHeader.getSize() +
70
+ this.anchorBlockHeader.getSize() +
84
71
  this.txContext.getSize() +
85
72
  this.vkTreeRoot.size +
86
- this.protocolContractTreeRoot.size
73
+ this.protocolContractsHash.size
87
74
  );
88
75
  }
89
76