@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
@@ -1,33 +1,23 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
 
4
4
  import type { TopicType } from './topic_type.js';
5
5
 
6
6
  export class P2PMessage {
7
- constructor(
8
- public readonly publishTime: Date,
9
- public readonly id: Buffer32,
10
- public readonly payload: Buffer,
11
- ) {}
7
+ constructor(public readonly payload: Buffer) {}
12
8
 
13
- static async fromGossipable(message: Gossipable): Promise<P2PMessage> {
14
- return new P2PMessage(new Date(), await message.p2pMessageIdentifier(), message.toBuffer());
9
+ static fromGossipable(message: Gossipable): P2PMessage {
10
+ return new P2PMessage(message.toBuffer());
15
11
  }
16
12
 
17
13
  static fromMessageData(messageData: Buffer): P2PMessage {
18
14
  const reader = new BufferReader(messageData);
19
- const publishTime = reader.readUInt64();
20
- const id = Buffer32.fromBuffer(reader);
21
15
  const payload = reader.readBuffer();
22
- return new P2PMessage(new Date(Number(publishTime)), id, payload);
16
+ return new P2PMessage(payload);
23
17
  }
24
18
 
25
19
  toMessageData(): Buffer {
26
- return serializeToBuffer([
27
- bigintToUInt64BE(BigInt(this.publishTime.getTime())),
28
- this.id,
29
- serializeToBuffer(this.payload.length, this.payload),
30
- ]);
20
+ return serializeToBuffer([serializeToBuffer(this.payload.length, this.payload)]);
31
21
  }
32
22
  }
33
23
 
@@ -38,15 +28,12 @@ export class P2PMessage {
38
28
  */
39
29
  export abstract class Gossipable {
40
30
  private cachedId: Buffer32 | undefined;
41
- /** p2p Topic
42
- *
43
- * - The p2p topic identifier, this determines how the message is handled
44
- */
31
+ /** The p2p topic identifier, this determines how the message is handled */
45
32
  static p2pTopic: TopicType;
46
33
 
47
- /** p2p Message Identifier
48
- *
49
- * - A digest of the message information, this key is used for deduplication
34
+ /**
35
+ * A digest of the message information **used for logging only**.
36
+ * The identifier used for deduplication is `getMsgIdFn` as defined in `encoding.ts` which is a hash over topic and data.
50
37
  */
51
38
  async p2pMessageIdentifier(): Promise<Buffer32> {
52
39
  if (this.cachedId) {
@@ -58,10 +45,6 @@ export abstract class Gossipable {
58
45
 
59
46
  abstract generateP2PMessageIdentifier(): Promise<Buffer32>;
60
47
 
61
- /** To Buffer
62
- *
63
- * - Serialization method
64
- */
65
48
  abstract toBuffer(): Buffer;
66
49
 
67
50
  toMessage(): Buffer {
@@ -70,7 +53,6 @@ export abstract class Gossipable {
70
53
 
71
54
  /**
72
55
  * Get the size of the gossipable object.
73
- *
74
56
  * This is used for metrics recording.
75
57
  */
76
58
  abstract getSize(): number;
@@ -4,6 +4,7 @@ import { keccak256, makeEthSignDigest } from '@aztec/foundation/crypto';
4
4
  export enum SignatureDomainSeparator {
5
5
  blockProposal = 0,
6
6
  blockAttestation = 1,
7
+ attestationsAndSigners = 2,
7
8
  }
8
9
 
9
10
  export interface Signable {
@@ -1,18 +1,25 @@
1
1
  import { P2PClientType } from './client_type.js';
2
2
 
3
- /** Create Topic String
4
- *
5
- * The topic channel identifier
6
- * @param topicType
7
- * @returns
3
+ /**
4
+ * Creates the topic channel identifier string from a given topic type
8
5
  */
9
6
  export function createTopicString(topicType: TopicType, protocolVersion: string) {
10
7
  return `/aztec/${TopicType[topicType]}/${protocolVersion}`;
11
8
  }
12
9
 
13
- /**
14
- *
15
- */
10
+ /** Extracts the topic type from a topic string */
11
+ export function getTopicFromString(topicStr: string): TopicType | undefined {
12
+ const parts = topicStr.split('/');
13
+ if (parts.length < 4 || parts[1] !== 'aztec') {
14
+ return undefined;
15
+ }
16
+ const topic = parts[2];
17
+ if (Object.values(TopicType).includes(topic as TopicType)) {
18
+ return topic as TopicType;
19
+ }
20
+ return undefined;
21
+ }
22
+
16
23
  export enum TopicType {
17
24
  tx = 'tx',
18
25
  block_proposal = 'block_proposal',
@@ -1,4 +1,3 @@
1
- export * from './base_parity_inputs.js';
1
+ export * from './parity_base_private_inputs.js';
2
2
  export * from './parity_public_inputs.js';
3
- export * from './root_parity_input.js';
4
- export * from './root_parity_inputs.js';
3
+ export * from './parity_root_private_inputs.js';
@@ -1,10 +1,10 @@
1
- import { type NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
1
+ import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
6
 
7
- export class BaseParityInputs {
7
+ export class ParityBasePrivateInputs {
8
8
  constructor(
9
9
  /** Aggregated proof of all the parity circuit iterations. */
10
10
  public readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
@@ -12,15 +12,17 @@ export class BaseParityInputs {
12
12
  public readonly vkTreeRoot: Fr,
13
13
  ) {}
14
14
 
15
- public static fromSlice(
16
- array: Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP>,
17
- index: number,
18
- vkTreeRoot: Fr,
19
- ): BaseParityInputs {
15
+ public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs {
16
+ // Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
17
+ if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
18
+ throw new Error(
19
+ `Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`,
20
+ );
21
+ }
20
22
  const start = index * NUM_MSGS_PER_BASE_PARITY;
21
23
  const end = start + NUM_MSGS_PER_BASE_PARITY;
22
24
  const msgs = array.slice(start, end);
23
- return new BaseParityInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
25
+ return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
24
26
  }
25
27
 
26
28
  /** Serializes the inputs to a buffer. */
@@ -39,7 +41,7 @@ export class BaseParityInputs {
39
41
  */
40
42
  static fromBuffer(buffer: Buffer | BufferReader) {
41
43
  const reader = BufferReader.asReader(buffer);
42
- return new BaseParityInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
44
+ return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
43
45
  }
44
46
 
45
47
  /**
@@ -48,7 +50,7 @@ export class BaseParityInputs {
48
50
  * @returns - The deserialized inputs.
49
51
  */
50
52
  static fromString(str: string) {
51
- return BaseParityInputs.fromBuffer(hexToBuffer(str));
53
+ return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
52
54
  }
53
55
 
54
56
  /** Returns a buffer representation for JSON serialization. */
@@ -58,6 +60,6 @@ export class BaseParityInputs {
58
60
 
59
61
  /** Creates an instance from a hex string. */
60
62
  static get schema() {
61
- return bufferSchemaFor(BaseParityInputs);
63
+ return bufferSchemaFor(ParityBasePrivateInputs);
62
64
  }
63
65
  }
@@ -1,17 +1,18 @@
1
- import { NUM_BASE_PARITY_PER_ROOT_PARITY, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
2
+ import { makeTuple } from '@aztec/foundation/array';
2
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
6
 
6
- import { RootParityInput } from './root_parity_input.js';
7
+ import { ProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
8
+ import { ParityPublicInputs } from './parity_public_inputs.js';
7
9
 
8
- export class RootParityInputs {
10
+ export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
11
+
12
+ export class ParityRootPrivateInputs {
9
13
  constructor(
10
- /** Public inputs of children and their proofs. */
11
- public readonly children: Tuple<
12
- RootParityInput<typeof RECURSIVE_PROOF_LENGTH>,
13
- typeof NUM_BASE_PARITY_PER_ROOT_PARITY
14
- >,
14
+ /** Public inputs of the parity base circuits and their proofs and vk data. */
15
+ public readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
15
16
  ) {}
16
17
 
17
18
  /**
@@ -19,7 +20,7 @@ export class RootParityInputs {
19
20
  * @returns The inputs serialized to a buffer.
20
21
  */
21
22
  toBuffer() {
22
- return serializeToBuffer(...this.children);
23
+ return serializeToBuffer(this.children);
23
24
  }
24
25
 
25
26
  /**
@@ -33,25 +34,22 @@ export class RootParityInputs {
33
34
  /**
34
35
  * Deserializes the inputs from a buffer.
35
36
  * @param buffer - The buffer to deserialize from.
36
- * @returns A new RootParityInputs instance.
37
+ * @returns A new ParityRootPrivateInputs instance.
37
38
  */
38
39
  static fromBuffer(buffer: Buffer | BufferReader) {
39
40
  const reader = BufferReader.asReader(buffer);
40
- const tuple = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }, () =>
41
- RootParityInput.fromBuffer(reader, RECURSIVE_PROOF_LENGTH),
42
- );
43
- return new RootParityInputs(
44
- tuple as Tuple<RootParityInput<typeof RECURSIVE_PROOF_LENGTH>, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
41
+ return new ParityRootPrivateInputs(
42
+ makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, () => ProofData.fromBuffer(reader, ParityPublicInputs)),
45
43
  );
46
44
  }
47
45
 
48
46
  /**
49
47
  * Deserializes the inputs from a hex string.
50
48
  * @param str - A hex string to deserialize from.
51
- * @returns A new RootParityInputs instance.
49
+ * @returns A new ParityRootPrivateInputs instance.
52
50
  */
53
51
  static fromString(str: string) {
54
- return RootParityInputs.fromBuffer(hexToBuffer(str));
52
+ return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
55
53
  }
56
54
 
57
55
  /** Returns a buffer representation for JSON serialization. */
@@ -61,6 +59,6 @@ export class RootParityInputs {
61
59
 
62
60
  /** Creates an instance from a hex string. */
63
61
  static get schema() {
64
- return bufferSchemaFor(RootParityInputs);
62
+ return bufferSchemaFor(ParityRootPrivateInputs);
65
63
  }
66
64
  }
@@ -0,0 +1,118 @@
1
+ import { CHONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { randomBytes } from '@aztec/foundation/crypto';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
+
7
+ // CHONK: "Client Honk" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.
8
+ export class ChonkProof {
9
+ constructor(
10
+ // The proof fields.
11
+ // For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
12
+ // Not using Tuple here due to the length being too high.
13
+ public fields: Fr[],
14
+ ) {
15
+ if (fields.length !== CHONK_PROOF_LENGTH) {
16
+ throw new Error(`Invalid ChonkProof length: ${fields.length}`);
17
+ }
18
+ }
19
+
20
+ public attachPublicInputs(publicInputs: Fr[]) {
21
+ return new ChonkProofWithPublicInputs([...publicInputs, ...this.fields]);
22
+ }
23
+
24
+ public isEmpty() {
25
+ return this.fields.every(field => field.isZero());
26
+ }
27
+
28
+ static empty() {
29
+ return new ChonkProof(new Array(CHONK_PROOF_LENGTH).fill(Fr.ZERO));
30
+ }
31
+
32
+ static random() {
33
+ // NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
34
+ const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
35
+ const randomFields = randomBytes(CHONK_PROOF_LENGTH * reducedFrSize);
36
+ const proof = Array.from(
37
+ { length: CHONK_PROOF_LENGTH },
38
+ (_, i) => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)),
39
+ );
40
+ return new ChonkProof(proof);
41
+ }
42
+
43
+ static get schema() {
44
+ return bufferSchemaFor(ChonkProof);
45
+ }
46
+
47
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
48
+ toJSON() {
49
+ return this.toBuffer();
50
+ }
51
+
52
+ static fromBuffer(buffer: Buffer | BufferReader): ChonkProof {
53
+ const reader = BufferReader.asReader(buffer);
54
+ const proofLength = reader.readNumber();
55
+ const proof = reader.readArray(proofLength, Fr);
56
+ return new ChonkProof(proof);
57
+ }
58
+
59
+ public toBuffer() {
60
+ return serializeToBuffer(this.fields.length, this.fields);
61
+ }
62
+ }
63
+
64
+ export class ChonkProofWithPublicInputs {
65
+ constructor(
66
+ // The proof fields with public inputs.
67
+ // For recursive verification, use without public inputs via `removePublicInputs()`.
68
+ public fieldsWithPublicInputs: Fr[],
69
+ ) {
70
+ if (fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
71
+ throw new Error(`Invalid ChonkProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
72
+ }
73
+ }
74
+
75
+ public getPublicInputs() {
76
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
77
+ return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
78
+ }
79
+
80
+ public removePublicInputs() {
81
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
82
+ return new ChonkProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
83
+ }
84
+
85
+ public isEmpty() {
86
+ return this.fieldsWithPublicInputs.every(field => field.isZero());
87
+ }
88
+
89
+ static empty() {
90
+ return ChonkProof.empty().attachPublicInputs([]);
91
+ }
92
+
93
+ static get schema() {
94
+ return bufferSchemaFor(ChonkProofWithPublicInputs);
95
+ }
96
+
97
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
98
+ toJSON() {
99
+ return this.toBuffer();
100
+ }
101
+
102
+ static fromBuffer(buffer: Buffer | BufferReader): ChonkProofWithPublicInputs {
103
+ const reader = BufferReader.asReader(buffer);
104
+ const proofLength = reader.readNumber();
105
+ const proof = reader.readArray(proofLength, Fr);
106
+ return new ChonkProofWithPublicInputs(proof);
107
+ }
108
+
109
+ public toBuffer() {
110
+ return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
111
+ }
112
+
113
+ // Called when constructing from bb proving results.
114
+ static fromBufferArray(fields: Uint8Array[]): ChonkProofWithPublicInputs {
115
+ const proof = fields.map(field => Fr.fromBuffer(Buffer.from(field)));
116
+ return new ChonkProofWithPublicInputs(proof);
117
+ }
118
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './recursive_proof.js';
2
- export * from './client_ivc_proof.js';
2
+ export * from './chonk_proof.js';
3
3
  export * from './proof.js';
4
+ export * from './proof_data.js';
4
5
  export * from './proving_request_type.js';
@@ -0,0 +1,36 @@
1
+ import type { CHONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { BufferReader, type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
3
+
4
+ import { RecursiveProof } from '../proofs/recursive_proof.js';
5
+ import { VkData } from '../vks/index.js';
6
+
7
+ /**
8
+ * Represents the data of a recursive proof.
9
+ */
10
+ export class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
11
+ constructor(
12
+ public publicInputs: T,
13
+ public proof: RecursiveProof<PROOF_LENGTH>,
14
+ public vkData: VkData,
15
+ ) {}
16
+
17
+ public toBuffer(): Buffer {
18
+ return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
19
+ }
20
+
21
+ public static fromBuffer<T extends Bufferable, PROOF_LENGTH extends number>(
22
+ buffer: Buffer | BufferReader,
23
+ publicInputs: {
24
+ fromBuffer: (reader: BufferReader) => T;
25
+ },
26
+ ): ProofData<T, PROOF_LENGTH> {
27
+ const reader = BufferReader.asReader(buffer);
28
+ return new ProofData(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
29
+ }
30
+ }
31
+
32
+ export type ChonkProofData<T extends Bufferable> = ProofData<T, typeof CHONK_PROOF_LENGTH>;
33
+
34
+ export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
35
+
36
+ export type RollupHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
@@ -1,18 +1,22 @@
1
1
  export enum ProvingRequestType {
2
2
  PUBLIC_VM,
3
+ PUBLIC_CHONK_VERIFIER,
3
4
 
4
- PRIVATE_BASE_ROLLUP,
5
- PUBLIC_BASE_ROLLUP,
6
- MERGE_ROLLUP,
7
- EMPTY_BLOCK_ROOT_ROLLUP,
8
- PADDING_BLOCK_ROOT_ROLLUP,
5
+ PRIVATE_TX_BASE_ROLLUP,
6
+ PUBLIC_TX_BASE_ROLLUP,
7
+ TX_MERGE_ROLLUP,
8
+ BLOCK_ROOT_FIRST_ROLLUP,
9
+ BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
10
+ BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
9
11
  BLOCK_ROOT_ROLLUP,
10
- SINGLE_TX_BLOCK_ROOT_ROLLUP,
12
+ BLOCK_ROOT_SINGLE_TX_ROLLUP,
11
13
  BLOCK_MERGE_ROLLUP,
14
+ CHECKPOINT_ROOT_ROLLUP,
15
+ CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP,
16
+ CHECKPOINT_PADDING_ROLLUP,
17
+ CHECKPOINT_MERGE_ROLLUP,
12
18
  ROOT_ROLLUP,
13
19
 
14
- BASE_PARITY,
15
- ROOT_PARITY,
16
- /** Recursive Client IVC verification to connect private to public or rollup */
17
- TUBE_PROOF,
20
+ PARITY_BASE,
21
+ PARITY_ROOT,
18
22
  }
@@ -1,39 +1,10 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
3
 
5
4
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
6
- import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js';
7
- import { VkData } from '../vks/vk_data.js';
5
+ import type { ProofData } from '../proofs/proof_data.js';
8
6
 
9
- export class AvmProofData {
10
- constructor(
11
- public publicInputs: AvmCircuitPublicInputs,
12
- public proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>,
13
- public vkData: VkData,
14
- ) {}
15
-
16
- static fromBuffer(buffer: Buffer | BufferReader) {
17
- const reader = BufferReader.asReader(buffer);
18
- return new AvmProofData(
19
- reader.readObject(AvmCircuitPublicInputs),
20
- RecursiveProof.fromBuffer(reader),
21
- reader.readObject(VkData),
22
- );
23
- }
24
-
25
- toBuffer() {
26
- return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
27
- }
28
-
29
- static empty() {
30
- return new AvmProofData(
31
- AvmCircuitPublicInputs.empty(),
32
- makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
33
- VkData.empty(),
34
- );
35
- }
36
- }
7
+ export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
37
8
 
38
9
  // TODO(#14234)[Unconditional PIs validation]: remove this function.
39
10
  export function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[] {
@@ -1,17 +1,17 @@
1
- import { SpongeBlob } from '@aztec/blob-lib';
1
+ import { SpongeBlob } from '@aztec/blob-lib/types';
2
2
  import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants';
3
3
  import { makeTuple } from '@aztec/foundation/array';
4
+ import { Fr } from '@aztec/foundation/fields';
4
5
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
5
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
- import { MembershipWitness } from '@aztec/foundation/trees';
7
7
  import type { FieldsOf } from '@aztec/foundation/types';
8
8
 
9
- import { PublicDataHint } from '../avm/public_data_hint.js';
10
9
  import { ContractClassLogFields } from '../logs/index.js';
11
- import { AppendOnlyTreeSnapshot } from '../trees/index.js';
10
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
11
+ import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
12
12
  import { PartialStateReference } from '../tx/partial_state_reference.js';
13
13
  import { BlockConstantData } from './block_constant_data.js';
14
- import { PrivateBaseStateDiffHints } from './state_diff_hints.js';
14
+ import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js';
15
15
 
16
16
  export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints;
17
17
 
@@ -28,15 +28,15 @@ export class PrivateBaseRollupHints {
28
28
  /**
29
29
  * Hints used while proving state diff validity.
30
30
  */
31
- public stateDiffHints: PrivateBaseStateDiffHints,
31
+ public treeSnapshotDiffHints: TreeSnapshotDiffHints,
32
32
  /**
33
- * Public data read hint for accessing the balance of the fee payer.
33
+ * Public data tree leaf preimage for accessing the balance of the fee payer.
34
34
  */
35
- public feePayerFeeJuiceBalanceReadHint: PublicDataHint,
35
+ public feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage,
36
36
  /**
37
37
  * Membership witnesses of blocks referred by each of the 2 kernels.
38
38
  */
39
- public archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
39
+ public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
40
40
  /**
41
41
  * Preimages to the kernel's contractClassLogsHashes.
42
42
  */
@@ -55,9 +55,9 @@ export class PrivateBaseRollupHints {
55
55
  return [
56
56
  fields.start,
57
57
  fields.startSpongeBlob,
58
- fields.stateDiffHints,
59
- fields.feePayerFeeJuiceBalanceReadHint,
60
- fields.archiveRootMembershipWitness,
58
+ fields.treeSnapshotDiffHints,
59
+ fields.feePayerBalanceLeafPreimage,
60
+ fields.anchorBlockArchiveSiblingPath,
61
61
  fields.contractClassLogsFields,
62
62
  fields.constants,
63
63
  ] as const;
@@ -84,9 +84,9 @@ export class PrivateBaseRollupHints {
84
84
  return new PrivateBaseRollupHints(
85
85
  reader.readObject(PartialStateReference),
86
86
  reader.readObject(SpongeBlob),
87
- reader.readObject(PrivateBaseStateDiffHints),
88
- reader.readObject(PublicDataHint),
89
- MembershipWitness.fromBuffer(reader, ARCHIVE_HEIGHT),
87
+ reader.readObject(TreeSnapshotDiffHints),
88
+ reader.readObject(PublicDataTreeLeafPreimage),
89
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
90
90
  makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
91
91
  reader.readObject(BlockConstantData),
92
92
  );
@@ -100,9 +100,9 @@ export class PrivateBaseRollupHints {
100
100
  return new PrivateBaseRollupHints(
101
101
  PartialStateReference.empty(),
102
102
  SpongeBlob.empty(),
103
- PrivateBaseStateDiffHints.empty(),
104
- PublicDataHint.empty(),
105
- MembershipWitness.empty(ARCHIVE_HEIGHT),
103
+ TreeSnapshotDiffHints.empty(),
104
+ PublicDataTreeLeafPreimage.empty(),
105
+ makeTuple(ARCHIVE_HEIGHT, Fr.zero),
106
106
  makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
107
107
  BlockConstantData.empty(),
108
108
  );
@@ -122,7 +122,7 @@ export class PublicBaseRollupHints {
122
122
  /**
123
123
  * Membership witnesses of blocks referred by each of the 2 kernels.
124
124
  */
125
- public archiveRootMembershipWitness: MembershipWitness<typeof ARCHIVE_HEIGHT>,
125
+ public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
126
126
  /**
127
127
  * Preimages to the kernel's contractClassLogsHashes.
128
128
  */
@@ -137,7 +137,7 @@ export class PublicBaseRollupHints {
137
137
  return [
138
138
  fields.startSpongeBlob,
139
139
  fields.lastArchive,
140
- fields.archiveRootMembershipWitness,
140
+ fields.anchorBlockArchiveSiblingPath,
141
141
  fields.contractClassLogsFields,
142
142
  ] as const;
143
143
  }
@@ -163,7 +163,7 @@ export class PublicBaseRollupHints {
163
163
  return new PublicBaseRollupHints(
164
164
  reader.readObject(SpongeBlob),
165
165
  reader.readObject(AppendOnlyTreeSnapshot),
166
- MembershipWitness.fromBuffer(reader, ARCHIVE_HEIGHT),
166
+ reader.readArray(ARCHIVE_HEIGHT, Fr),
167
167
  makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
168
168
  );
169
169
  }
@@ -176,7 +176,7 @@ export class PublicBaseRollupHints {
176
176
  return new PublicBaseRollupHints(
177
177
  SpongeBlob.empty(),
178
178
  AppendOnlyTreeSnapshot.empty(),
179
- MembershipWitness.empty(ARCHIVE_HEIGHT),
179
+ makeTuple(ARCHIVE_HEIGHT, Fr.zero),
180
180
  makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
181
181
  );
182
182
  }