@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-devnet.2

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 (633) 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 +30 -428
  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 +17 -1
  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 +26 -9
  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_init_circuit_private_inputs.d.ts +5 -4
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  173. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  174. package/dest/kernel/private_kernel_prover_output.d.ts +1 -1
  175. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  176. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  177. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  178. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  179. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  180. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  181. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  182. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  183. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  184. package/dest/keys/derivation.d.ts +0 -2
  185. package/dest/keys/derivation.d.ts.map +1 -1
  186. package/dest/keys/derivation.js +1 -21
  187. package/dest/logs/contract_class_log.d.ts +1 -1
  188. package/dest/logs/contract_class_log.d.ts.map +1 -1
  189. package/dest/logs/contract_class_log.js +1 -3
  190. package/dest/logs/debug_log.d.ts +13 -0
  191. package/dest/logs/debug_log.d.ts.map +1 -0
  192. package/dest/logs/debug_log.js +26 -0
  193. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  194. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  195. package/dest/logs/directional_app_tagging_secret.js +64 -0
  196. package/dest/logs/index.d.ts +3 -1
  197. package/dest/logs/index.d.ts.map +1 -1
  198. package/dest/logs/index.js +3 -1
  199. package/dest/logs/log_with_tx_data.d.ts +9 -12
  200. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  201. package/dest/logs/log_with_tx_data.js +18 -23
  202. package/dest/logs/pre_tag.d.ts +34 -0
  203. package/dest/logs/pre_tag.d.ts.map +1 -0
  204. package/dest/logs/pre_tag.js +7 -0
  205. package/dest/logs/public_log.d.ts +23 -10
  206. package/dest/logs/public_log.d.ts.map +1 -1
  207. package/dest/logs/public_log.js +117 -42
  208. package/dest/messaging/inbox_leaf.d.ts +2 -0
  209. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  210. package/dest/messaging/inbox_leaf.js +3 -0
  211. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  212. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  213. package/dest/messaging/l2_to_l1_membership.js +16 -18
  214. package/dest/noir/index.d.ts +11 -0
  215. package/dest/noir/index.d.ts.map +1 -1
  216. package/dest/note/index.d.ts +1 -1
  217. package/dest/note/index.d.ts.map +1 -1
  218. package/dest/note/index.js +1 -1
  219. package/dest/note/notes_filter.d.ts +0 -5
  220. package/dest/note/notes_filter.d.ts.map +1 -1
  221. package/dest/note/notes_filter.js +0 -3
  222. package/dest/note/unique_note.d.ts +43 -0
  223. package/dest/note/unique_note.d.ts.map +1 -0
  224. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  225. package/dest/p2p/block_attestation.d.ts +45 -9
  226. package/dest/p2p/block_attestation.d.ts.map +1 -1
  227. package/dest/p2p/block_attestation.js +37 -15
  228. package/dest/p2p/block_proposal.d.ts +7 -9
  229. package/dest/p2p/block_proposal.d.ts.map +1 -1
  230. package/dest/p2p/block_proposal.js +13 -14
  231. package/dest/p2p/consensus_payload.d.ts +35 -6
  232. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  233. package/dest/p2p/consensus_payload.js +21 -8
  234. package/dest/p2p/gossipable.d.ts +2 -4
  235. package/dest/p2p/gossipable.d.ts.map +1 -1
  236. package/dest/p2p/gossipable.js +5 -14
  237. package/dest/p2p/signature_utils.d.ts +2 -1
  238. package/dest/p2p/signature_utils.d.ts.map +1 -1
  239. package/dest/p2p/signature_utils.js +1 -0
  240. package/dest/parity/index.d.ts +2 -3
  241. package/dest/parity/index.d.ts.map +1 -1
  242. package/dest/parity/index.js +2 -3
  243. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  244. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  245. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  246. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  247. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  248. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  249. package/dest/proofs/client_ivc_proof.d.ts +17 -7
  250. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  251. package/dest/proofs/client_ivc_proof.js +78 -19
  252. package/dest/proofs/index.d.ts +1 -0
  253. package/dest/proofs/index.d.ts.map +1 -1
  254. package/dest/proofs/index.js +1 -0
  255. package/dest/proofs/proof_data.d.ts +21 -0
  256. package/dest/proofs/proof_data.d.ts.map +1 -0
  257. package/dest/proofs/proof_data.js +22 -0
  258. package/dest/proofs/proving_request_type.d.ts +17 -13
  259. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  260. package/dest/proofs/proving_request_type.js +17 -12
  261. package/dest/rollup/avm_proof_data.d.ts +2 -12
  262. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  263. package/dest/rollup/avm_proof_data.js +0 -24
  264. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  265. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  266. package/dest/rollup/base_rollup_hints.js +26 -26
  267. package/dest/rollup/block_constant_data.d.ts +24 -10
  268. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  269. package/dest/rollup/block_constant_data.js +18 -10
  270. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  271. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  272. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  273. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  274. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  275. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  276. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  277. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  278. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  279. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  280. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  281. package/dest/rollup/checkpoint_constant_data.js +55 -0
  282. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
  283. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  284. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
  285. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  286. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  287. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  288. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  289. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  290. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  291. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  292. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  293. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  294. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  295. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  296. package/dest/rollup/epoch_constant_data.js +25 -12
  297. package/dest/rollup/index.d.ts +17 -16
  298. package/dest/rollup/index.d.ts.map +1 -1
  299. package/dest/rollup/index.js +17 -16
  300. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  301. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  302. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  303. package/dest/rollup/public_tube_private_inputs.d.ts +21 -0
  304. package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
  305. package/dest/rollup/public_tube_private_inputs.js +42 -0
  306. package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
  307. package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
  308. package/dest/rollup/public_tube_public_inputs.js +41 -0
  309. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  310. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  311. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  312. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  313. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  314. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  315. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  316. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  317. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  318. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  319. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  320. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  321. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  322. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  323. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  324. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  325. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  326. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  327. package/dest/slashing/types.d.ts +1 -0
  328. package/dest/slashing/types.d.ts.map +1 -1
  329. package/dest/slashing/types.js +22 -0
  330. package/dest/snapshots/download.d.ts.map +1 -1
  331. package/dest/snapshots/download.js +58 -2
  332. package/dest/snapshots/upload.d.ts.map +1 -1
  333. package/dest/snapshots/upload.js +1 -0
  334. package/dest/stats/stats.d.ts +1 -1
  335. package/dest/stats/stats.d.ts.map +1 -1
  336. package/dest/tests/factories.d.ts +42 -74
  337. package/dest/tests/factories.d.ts.map +1 -1
  338. package/dest/tests/factories.js +144 -167
  339. package/dest/tests/mocks.d.ts +14 -8
  340. package/dest/tests/mocks.d.ts.map +1 -1
  341. package/dest/tests/mocks.js +53 -31
  342. package/dest/trees/index.d.ts +0 -1
  343. package/dest/trees/index.d.ts.map +1 -1
  344. package/dest/trees/index.js +0 -1
  345. package/dest/trees/merkle_tree_id.d.ts +4 -4
  346. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  347. package/dest/tx/block_header.d.ts +12 -13
  348. package/dest/tx/block_header.d.ts.map +1 -1
  349. package/dest/tx/block_header.js +16 -21
  350. package/dest/tx/content_commitment.d.ts +1 -0
  351. package/dest/tx/content_commitment.d.ts.map +1 -1
  352. package/dest/tx/content_commitment.js +3 -0
  353. package/dest/tx/global_variables.d.ts.map +1 -1
  354. package/dest/tx/global_variables.js +0 -1
  355. package/dest/tx/index.d.ts +2 -1
  356. package/dest/tx/index.d.ts.map +1 -1
  357. package/dest/tx/index.js +2 -1
  358. package/dest/tx/indexed_tx_effect.d.ts +3 -3
  359. package/dest/tx/partial_state_reference.d.ts +1 -0
  360. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  361. package/dest/tx/partial_state_reference.js +3 -0
  362. package/dest/tx/private_execution_result.d.ts +7 -2
  363. package/dest/tx/private_execution_result.d.ts.map +1 -1
  364. package/dest/tx/private_execution_result.js +10 -6
  365. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  366. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  367. package/dest/tx/private_tx_constant_data.js +69 -0
  368. package/dest/tx/processed_tx.d.ts +0 -1
  369. package/dest/tx/processed_tx.d.ts.map +1 -1
  370. package/dest/tx/processed_tx.js +1 -6
  371. package/dest/tx/profiling.d.ts.map +1 -1
  372. package/dest/tx/profiling.js +0 -2
  373. package/dest/tx/protocol_contracts.d.ts +29 -0
  374. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  375. package/dest/tx/protocol_contracts.js +49 -0
  376. package/dest/tx/simulated_tx.d.ts +3 -3
  377. package/dest/tx/state_reference.d.ts +1 -0
  378. package/dest/tx/state_reference.d.ts.map +1 -1
  379. package/dest/tx/state_reference.js +4 -1
  380. package/dest/tx/tx.d.ts +6 -9
  381. package/dest/tx/tx.d.ts.map +1 -1
  382. package/dest/tx/tx.js +10 -11
  383. package/dest/tx/tx_constant_data.d.ts +6 -38
  384. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  385. package/dest/tx/tx_constant_data.js +11 -20
  386. package/dest/tx/tx_effect.d.ts +3 -36
  387. package/dest/tx/tx_effect.d.ts.map +1 -1
  388. package/dest/tx/tx_effect.js +63 -202
  389. package/dest/tx/validator/error_texts.d.ts +1 -1
  390. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  391. package/dest/tx/validator/error_texts.js +1 -1
  392. package/dest/update-checker/update-checker.d.ts +1 -1
  393. package/dest/update-checker/update-checker.d.ts.map +1 -1
  394. package/dest/update-checker/update-checker.js +1 -1
  395. package/dest/validators/schemas.d.ts +42 -4
  396. package/dest/validators/schemas.d.ts.map +1 -1
  397. package/dest/validators/schemas.js +5 -4
  398. package/dest/validators/types.d.ts +8 -10
  399. package/dest/validators/types.d.ts.map +1 -1
  400. package/dest/versioning/versioning.d.ts +2 -2
  401. package/dest/versioning/versioning.d.ts.map +1 -1
  402. package/dest/versioning/versioning.js +18 -13
  403. package/dest/world-state/index.d.ts +2 -0
  404. package/dest/world-state/index.d.ts.map +1 -0
  405. package/dest/world-state/index.js +1 -0
  406. package/dest/world-state/world_state_revision.d.ts +22 -0
  407. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  408. package/dest/world-state/world_state_revision.js +21 -0
  409. package/dest/zkpassport/index.d.ts +17 -11
  410. package/dest/zkpassport/index.d.ts.map +1 -1
  411. package/dest/zkpassport/index.js +21 -15
  412. package/package.json +15 -11
  413. package/src/abi/abi.ts +1 -1
  414. package/src/abi/contract_artifact.ts +3 -0
  415. package/src/abi/event_metadata_definition.ts +8 -0
  416. package/src/abi/function_call.ts +5 -1
  417. package/src/abi/index.ts +1 -0
  418. package/src/avm/avm.ts +15 -7
  419. package/src/avm/avm_accumulated_data.ts +25 -29
  420. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  421. package/src/avm/index.ts +1 -1
  422. package/src/avm/message_pack.ts +25 -1
  423. package/src/block/attestation_info.ts +62 -0
  424. package/src/block/body.ts +25 -23
  425. package/src/block/index.ts +4 -0
  426. package/src/block/l2_block.ts +39 -19
  427. package/src/block/l2_block_code_to_purge.ts +30 -31
  428. package/src/block/l2_block_header.ts +232 -0
  429. package/src/block/l2_block_info.ts +63 -0
  430. package/src/block/l2_block_source.ts +33 -51
  431. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  432. package/src/block/proposal/attestations_and_signers.ts +121 -0
  433. package/src/block/proposal/index.ts +1 -0
  434. package/src/block/published_l2_block.ts +37 -15
  435. package/src/block/test/l2_tips_store_test_suite.ts +7 -7
  436. package/src/block/validate_block_result.ts +122 -0
  437. package/src/checkpoint/checkpoint_body.ts +10 -0
  438. package/src/checkpoint/index.ts +1 -0
  439. package/src/config/node-rpc-config.ts +9 -0
  440. package/src/contract/contract_address.ts +1 -1
  441. package/src/contract/contract_class_metadata.ts +8 -0
  442. package/src/contract/contract_instance.ts +11 -10
  443. package/src/contract/contract_metadata.ts +7 -0
  444. package/src/contract/index.ts +2 -0
  445. package/src/contract/interfaces/contract_class.ts +1 -1
  446. package/src/epoch-helpers/index.ts +24 -2
  447. package/src/fees/transaction_fee.ts +11 -0
  448. package/src/file-store/factory.ts +15 -0
  449. package/src/file-store/interface.ts +8 -2
  450. package/src/file-store/s3.ts +254 -0
  451. package/src/hash/hash.ts +0 -4
  452. package/src/interfaces/archiver.ts +46 -1
  453. package/src/interfaces/aztec-node-admin.ts +17 -1
  454. package/src/interfaces/aztec-node.ts +53 -2
  455. package/src/interfaces/block-builder.ts +11 -12
  456. package/src/interfaces/client.ts +0 -1
  457. package/src/interfaces/configs.ts +6 -0
  458. package/src/interfaces/epoch-prover.ts +35 -11
  459. package/src/interfaces/merkle_tree_operations.ts +6 -0
  460. package/src/interfaces/p2p.ts +4 -0
  461. package/src/interfaces/private_kernel_prover.ts +2 -2
  462. package/src/interfaces/proving-job.ts +215 -134
  463. package/src/interfaces/server.ts +1 -0
  464. package/src/interfaces/server_circuit_prover.ts +87 -61
  465. package/src/interfaces/slasher.ts +2 -0
  466. package/src/interfaces/tx_provider.ts +1 -0
  467. package/src/interfaces/validator.ts +95 -0
  468. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  469. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  470. package/src/kernel/nullifier.ts +8 -8
  471. package/src/kernel/private_call_data.ts +2 -21
  472. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  473. package/src/kernel/private_context_inputs.ts +2 -2
  474. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  475. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  476. package/src/kernel/private_kernel_prover_output.ts +1 -1
  477. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  478. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  479. package/src/keys/derivation.ts +1 -26
  480. package/src/logs/contract_class_log.ts +2 -3
  481. package/src/logs/debug_log.ts +32 -0
  482. package/src/logs/directional_app_tagging_secret.ts +78 -0
  483. package/src/logs/index.ts +3 -1
  484. package/src/logs/log_with_tx_data.ts +14 -24
  485. package/src/logs/pre_tag.ts +25 -0
  486. package/src/logs/public_log.ts +120 -58
  487. package/src/messaging/inbox_leaf.ts +5 -0
  488. package/src/messaging/l2_to_l1_membership.ts +20 -26
  489. package/src/noir/index.ts +11 -0
  490. package/src/note/index.ts +1 -1
  491. package/src/note/notes_filter.ts +0 -7
  492. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  493. package/src/p2p/block_attestation.ts +46 -15
  494. package/src/p2p/block_proposal.ts +15 -18
  495. package/src/p2p/consensus_payload.ts +30 -10
  496. package/src/p2p/gossipable.ts +6 -16
  497. package/src/p2p/signature_utils.ts +1 -0
  498. package/src/parity/index.ts +2 -3
  499. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  500. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  501. package/src/proofs/client_ivc_proof.ts +86 -20
  502. package/src/proofs/index.ts +1 -0
  503. package/src/proofs/proof_data.ts +36 -0
  504. package/src/proofs/proving_request_type.ts +14 -10
  505. package/src/rollup/avm_proof_data.ts +2 -31
  506. package/src/rollup/base_rollup_hints.ts +22 -22
  507. package/src/rollup/block_constant_data.ts +16 -6
  508. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  509. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  510. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  511. package/src/rollup/checkpoint_constant_data.ts +84 -0
  512. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
  513. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  514. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  515. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  516. package/src/rollup/epoch_constant_data.ts +28 -10
  517. package/src/rollup/index.ts +17 -16
  518. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  519. package/src/rollup/public_tube_private_inputs.ts +53 -0
  520. package/src/rollup/public_tube_public_inputs.ts +52 -0
  521. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  522. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  523. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  524. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  525. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  526. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  527. package/src/slashing/types.ts +23 -0
  528. package/src/snapshots/download.ts +66 -2
  529. package/src/snapshots/upload.ts +1 -0
  530. package/src/stats/stats.ts +19 -13
  531. package/src/tests/factories.ts +217 -275
  532. package/src/tests/mocks.ts +87 -57
  533. package/src/trees/index.ts +0 -1
  534. package/src/tx/block_header.ts +17 -32
  535. package/src/tx/content_commitment.ts +4 -0
  536. package/src/tx/global_variables.ts +0 -1
  537. package/src/tx/index.ts +2 -1
  538. package/src/tx/partial_state_reference.ts +8 -0
  539. package/src/tx/private_execution_result.ts +9 -3
  540. package/src/tx/private_tx_constant_data.ts +94 -0
  541. package/src/tx/processed_tx.ts +1 -7
  542. package/src/tx/profiling.ts +0 -2
  543. package/src/tx/protocol_contracts.ts +70 -0
  544. package/src/tx/state_reference.ts +5 -1
  545. package/src/tx/tx.ts +12 -13
  546. package/src/tx/tx_constant_data.ts +8 -21
  547. package/src/tx/tx_effect.ts +64 -213
  548. package/src/tx/validator/error_texts.ts +1 -1
  549. package/src/update-checker/update-checker.ts +1 -1
  550. package/src/validators/schemas.ts +6 -4
  551. package/src/validators/types.ts +9 -10
  552. package/src/versioning/versioning.ts +20 -15
  553. package/src/world-state/index.ts +1 -0
  554. package/src/world-state/world_state_revision.ts +21 -0
  555. package/src/zkpassport/index.ts +42 -30
  556. package/dest/avm/public_data_hint.d.ts +0 -16
  557. package/dest/avm/public_data_hint.d.ts.map +0 -1
  558. package/dest/avm/public_data_hint.js +0 -27
  559. package/dest/interfaces/pxe.d.ts +0 -329
  560. package/dest/interfaces/pxe.d.ts.map +0 -1
  561. package/dest/interfaces/pxe.js +0 -100
  562. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  563. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  564. package/dest/logs/indexed_tagging_secret.js +0 -50
  565. package/dest/note/extended_note.d.ts +0 -111
  566. package/dest/note/extended_note.d.ts.map +0 -1
  567. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  568. package/dest/parity/root_parity_input.d.ts +0 -52
  569. package/dest/parity/root_parity_input.d.ts.map +0 -1
  570. package/dest/parity/root_parity_input.js +0 -50
  571. package/dest/parity/root_parity_inputs.d.ts +0 -37
  572. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  573. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  574. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  575. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  576. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  577. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  578. package/dest/rollup/block_root_rollup.d.ts +0 -283
  579. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  580. package/dest/rollup/block_root_rollup.js +0 -306
  581. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  582. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  583. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  584. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  585. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  586. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  587. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  588. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  589. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  590. package/dest/rollup/previous_rollup_block_data.js +0 -37
  591. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  592. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  593. package/dest/rollup/previous_rollup_data.js +0 -37
  594. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  595. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  596. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  597. package/dest/rollup/private_tube_data.d.ts +0 -15
  598. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  599. package/dest/rollup/private_tube_data.js +0 -25
  600. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  601. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  602. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  603. package/dest/rollup/public_tube_data.d.ts +0 -15
  604. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  605. package/dest/rollup/public_tube_data.js +0 -25
  606. package/dest/rollup/root_rollup.d.ts +0 -106
  607. package/dest/rollup/root_rollup.d.ts.map +0 -1
  608. package/dest/rollup/root_rollup.js +0 -147
  609. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  610. package/dest/rollup/state_diff_hints.js +0 -85
  611. package/dest/rollup/tube_inputs.d.ts +0 -43
  612. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  613. package/dest/rollup/tube_inputs.js +0 -63
  614. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  615. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  616. package/dest/trees/protocol_contract_leaf.js +0 -100
  617. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  618. package/src/avm/public_data_hint.ts +0 -38
  619. package/src/interfaces/pxe.ts +0 -532
  620. package/src/logs/indexed_tagging_secret.ts +0 -48
  621. package/src/parity/root_parity_input.ts +0 -71
  622. package/src/rollup/block_root_rollup.ts +0 -380
  623. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  624. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  625. package/src/rollup/previous_rollup_block_data.ts +0 -48
  626. package/src/rollup/previous_rollup_data.ts +0 -48
  627. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  628. package/src/rollup/private_tube_data.ts +0 -35
  629. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  630. package/src/rollup/public_tube_data.ts +0 -35
  631. package/src/rollup/root_rollup.ts +0 -195
  632. package/src/rollup/tube_inputs.ts +0 -77
  633. package/src/trees/protocol_contract_leaf.ts +0 -128
@@ -1,28 +1,19 @@
1
- import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
2
  export class P2PMessage {
4
- publishTime;
5
- id;
6
3
  payload;
7
- constructor(publishTime, id, payload){
8
- this.publishTime = publishTime;
9
- this.id = id;
4
+ constructor(payload){
10
5
  this.payload = payload;
11
6
  }
12
- static async fromGossipable(message) {
13
- return new P2PMessage(new Date(), await message.p2pMessageIdentifier(), message.toBuffer());
7
+ static fromGossipable(message) {
8
+ return new P2PMessage(message.toBuffer());
14
9
  }
15
10
  static fromMessageData(messageData) {
16
11
  const reader = new BufferReader(messageData);
17
- const publishTime = reader.readUInt64();
18
- const id = Buffer32.fromBuffer(reader);
19
12
  const payload = reader.readBuffer();
20
- return new P2PMessage(new Date(Number(publishTime)), id, payload);
13
+ return new P2PMessage(payload);
21
14
  }
22
15
  toMessageData() {
23
16
  return serializeToBuffer([
24
- bigintToUInt64BE(BigInt(this.publishTime.getTime())),
25
- this.id,
26
17
  serializeToBuffer(this.payload.length, this.payload)
27
18
  ]);
28
19
  }
@@ -1,7 +1,8 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
2
  export declare enum SignatureDomainSeparator {
3
3
  blockProposal = 0,
4
- blockAttestation = 1
4
+ blockAttestation = 1,
5
+ attestationsAndSigners = 2
5
6
  }
6
7
  export interface Signable {
7
8
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"signature_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/signature_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,oBAAY,wBAAwB;IAClC,aAAa,IAAI;IACjB,gBAAgB,IAAI;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAAC;CACrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,wBAAwB,GAAG,QAAQ,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,wBAAwB,GACxC,QAAQ,CAGV"}
1
+ {"version":3,"file":"signature_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/signature_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,oBAAY,wBAAwB;IAClC,aAAa,IAAI;IACjB,gBAAgB,IAAI;IACpB,sBAAsB,IAAI;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAAC;CACrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,wBAAwB,GAAG,QAAQ,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,wBAAwB,GACxC,QAAQ,CAGV"}
@@ -3,6 +3,7 @@ import { keccak256, makeEthSignDigest } from '@aztec/foundation/crypto';
3
3
  export var SignatureDomainSeparator = /*#__PURE__*/ function(SignatureDomainSeparator) {
4
4
  SignatureDomainSeparator[SignatureDomainSeparator["blockProposal"] = 0] = "blockProposal";
5
5
  SignatureDomainSeparator[SignatureDomainSeparator["blockAttestation"] = 1] = "blockAttestation";
6
+ SignatureDomainSeparator[SignatureDomainSeparator["attestationsAndSigners"] = 2] = "attestationsAndSigners";
6
7
  return SignatureDomainSeparator;
7
8
  }({});
8
9
  /**
@@ -1,5 +1,4 @@
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';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC"}
@@ -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,7 +1,7 @@
1
- import { type NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
1
+ import { NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
4
- export declare class BaseParityInputs {
4
+ export declare class ParityBasePrivateInputs {
5
5
  /** Aggregated proof of all the parity circuit iterations. */
6
6
  readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>;
7
7
  /** Root of the VK tree */
@@ -11,7 +11,7 @@ export declare class BaseParityInputs {
11
11
  msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
12
12
  /** Root of the VK tree */
13
13
  vkTreeRoot: Fr);
14
- static fromSlice(array: Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP>, index: number, vkTreeRoot: Fr): BaseParityInputs;
14
+ static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs;
15
15
  /** Serializes the inputs to a buffer. */
16
16
  toBuffer(): Buffer<ArrayBufferLike>;
17
17
  /** Serializes the inputs to a hex string. */
@@ -20,16 +20,16 @@ export declare class BaseParityInputs {
20
20
  * Deserializes the inputs from a buffer.
21
21
  * @param buffer - The buffer to deserialize from.
22
22
  */
23
- static fromBuffer(buffer: Buffer | BufferReader): BaseParityInputs;
23
+ static fromBuffer(buffer: Buffer | BufferReader): ParityBasePrivateInputs;
24
24
  /**
25
25
  * Deserializes the inputs from a hex string.
26
26
  * @param str - The hex string to deserialize from.
27
27
  * @returns - The deserialized inputs.
28
28
  */
29
- static fromString(str: string): BaseParityInputs;
29
+ static fromString(str: string): ParityBasePrivateInputs;
30
30
  /** Returns a buffer representation for JSON serialization. */
31
31
  toJSON(): Buffer<ArrayBufferLike>;
32
32
  /** Creates an instance from a hex string. */
33
- static get schema(): import("zod").ZodType<BaseParityInputs, any, string>;
33
+ static get schema(): import("zod").ZodType<ParityBasePrivateInputs, any, string>;
34
34
  }
35
- //# sourceMappingURL=base_parity_inputs.d.ts.map
35
+ //# sourceMappingURL=parity_base_private_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity_base_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_base_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,qBAAa,uBAAuB;IAEhC,6DAA6D;aAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;aACV,UAAU,EAAE,EAAE;;IAH9B,6DAA6D;IAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;IACV,UAAU,EAAE,EAAE;WAGlB,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,uBAAuB;IAa5F,yCAAyC;IACzC,QAAQ;IAIR,6CAA6C;IAC7C,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
@@ -1,9 +1,9 @@
1
- import { 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, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
- export class BaseParityInputs {
6
+ export class ParityBasePrivateInputs {
7
7
  msgs;
8
8
  vkTreeRoot;
9
9
  constructor(/** Aggregated proof of all the parity circuit iterations. */ msgs, /** Root of the VK tree */ vkTreeRoot){
@@ -11,10 +11,14 @@ export class BaseParityInputs {
11
11
  this.vkTreeRoot = vkTreeRoot;
12
12
  }
13
13
  static fromSlice(array, index, vkTreeRoot) {
14
+ // Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
15
+ if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
16
+ throw new Error(`Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`);
17
+ }
14
18
  const start = index * NUM_MSGS_PER_BASE_PARITY;
15
19
  const end = start + NUM_MSGS_PER_BASE_PARITY;
16
20
  const msgs = array.slice(start, end);
17
- return new BaseParityInputs(msgs, vkTreeRoot);
21
+ return new ParityBasePrivateInputs(msgs, vkTreeRoot);
18
22
  }
19
23
  /** Serializes the inputs to a buffer. */ toBuffer() {
20
24
  return serializeToBuffer(this.msgs, this.vkTreeRoot);
@@ -27,19 +31,19 @@ export class BaseParityInputs {
27
31
  * @param buffer - The buffer to deserialize from.
28
32
  */ static fromBuffer(buffer) {
29
33
  const reader = BufferReader.asReader(buffer);
30
- return new BaseParityInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
34
+ return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
31
35
  }
32
36
  /**
33
37
  * Deserializes the inputs from a hex string.
34
38
  * @param str - The hex string to deserialize from.
35
39
  * @returns - The deserialized inputs.
36
40
  */ static fromString(str) {
37
- return BaseParityInputs.fromBuffer(hexToBuffer(str));
41
+ return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
38
42
  }
39
43
  /** Returns a buffer representation for JSON serialization. */ toJSON() {
40
44
  return this.toBuffer();
41
45
  }
42
46
  /** Creates an instance from a hex string. */ static get schema() {
43
- return bufferSchemaFor(BaseParityInputs);
47
+ return bufferSchemaFor(ParityBasePrivateInputs);
44
48
  }
45
49
  }
@@ -0,0 +1,39 @@
1
+ import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
2
+ import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
3
+ import { type UltraHonkProofData } from '../proofs/proof_data.js';
4
+ import { ParityPublicInputs } from './parity_public_inputs.js';
5
+ export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
6
+ export declare class ParityRootPrivateInputs {
7
+ /** Public inputs of the parity base circuits and their proofs and vk data. */
8
+ readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>;
9
+ constructor(
10
+ /** Public inputs of the parity base circuits and their proofs and vk data. */
11
+ children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>);
12
+ /**
13
+ * Serializes the inputs to a buffer.
14
+ * @returns The inputs serialized to a buffer.
15
+ */
16
+ toBuffer(): Buffer<ArrayBufferLike>;
17
+ /**
18
+ * Serializes the inputs to a hex string.
19
+ * @returns The instance serialized to a hex string.
20
+ */
21
+ toString(): `0x${string}`;
22
+ /**
23
+ * Deserializes the inputs from a buffer.
24
+ * @param buffer - The buffer to deserialize from.
25
+ * @returns A new ParityRootPrivateInputs instance.
26
+ */
27
+ static fromBuffer(buffer: Buffer | BufferReader): ParityRootPrivateInputs;
28
+ /**
29
+ * Deserializes the inputs from a hex string.
30
+ * @param str - A hex string to deserialize from.
31
+ * @returns A new ParityRootPrivateInputs instance.
32
+ */
33
+ static fromString(str: string): ParityRootPrivateInputs;
34
+ /** Returns a buffer representation for JSON serialization. */
35
+ toJSON(): Buffer<ArrayBufferLike>;
36
+ /** Creates an instance from a hex string. */
37
+ static get schema(): import("zod").ZodType<ParityRootPrivateInputs, any, string>;
38
+ }
39
+ //# sourceMappingURL=parity_root_private_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity_root_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_root_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,8EAA8E;aAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;;IAD5F,8EAA8E;IAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;IAG9F;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAO/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
@@ -1,18 +1,20 @@
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, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
- import { RootParityInput } from './root_parity_input.js';
6
- export class RootParityInputs {
6
+ import { ProofData } from '../proofs/proof_data.js';
7
+ import { ParityPublicInputs } from './parity_public_inputs.js';
8
+ export class ParityRootPrivateInputs {
7
9
  children;
8
- constructor(/** Public inputs of children and their proofs. */ children){
10
+ constructor(/** Public inputs of the parity base circuits and their proofs and vk data. */ children){
9
11
  this.children = children;
10
12
  }
11
13
  /**
12
14
  * Serializes the inputs to a buffer.
13
15
  * @returns The inputs serialized to a buffer.
14
16
  */ toBuffer() {
15
- return serializeToBuffer(...this.children);
17
+ return serializeToBuffer(this.children);
16
18
  }
17
19
  /**
18
20
  * Serializes the inputs to a hex string.
@@ -23,25 +25,22 @@ export class RootParityInputs {
23
25
  /**
24
26
  * Deserializes the inputs from a buffer.
25
27
  * @param buffer - The buffer to deserialize from.
26
- * @returns A new RootParityInputs instance.
28
+ * @returns A new ParityRootPrivateInputs instance.
27
29
  */ static fromBuffer(buffer) {
28
30
  const reader = BufferReader.asReader(buffer);
29
- const tuple = Array.from({
30
- length: NUM_BASE_PARITY_PER_ROOT_PARITY
31
- }, ()=>RootParityInput.fromBuffer(reader, RECURSIVE_PROOF_LENGTH));
32
- return new RootParityInputs(tuple);
31
+ return new ParityRootPrivateInputs(makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, ()=>ProofData.fromBuffer(reader, ParityPublicInputs)));
33
32
  }
34
33
  /**
35
34
  * Deserializes the inputs from a hex string.
36
35
  * @param str - A hex string to deserialize from.
37
- * @returns A new RootParityInputs instance.
36
+ * @returns A new ParityRootPrivateInputs instance.
38
37
  */ static fromString(str) {
39
- return RootParityInputs.fromBuffer(hexToBuffer(str));
38
+ return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
40
39
  }
41
40
  /** Returns a buffer representation for JSON serialization. */ toJSON() {
42
41
  return this.toBuffer();
43
42
  }
44
43
  /** Creates an instance from a hex string. */ static get schema() {
45
- return bufferSchemaFor(RootParityInputs);
44
+ return bufferSchemaFor(ParityRootPrivateInputs);
46
45
  }
47
46
  }
@@ -1,18 +1,28 @@
1
+ import { Fr } from '@aztec/foundation/fields';
1
2
  import { BufferReader } from '@aztec/foundation/serialize';
2
- /**
3
- * TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to
4
- * eventually we read all these VKs from the data tree instead of passing them
5
- */
6
3
  export declare class ClientIvcProof {
7
- clientIvcProofBuffer: Buffer;
8
- constructor(clientIvcProofBuffer: Buffer);
4
+ fields: Fr[];
5
+ constructor(fields: Fr[]);
6
+ attachPublicInputs(publicInputs: Fr[]): ClientIvcProofWithPublicInputs;
9
7
  isEmpty(): boolean;
10
8
  static empty(): ClientIvcProof;
11
- static fake(fill?: number): ClientIvcProof;
12
9
  static random(): ClientIvcProof;
13
10
  static get schema(): import("zod").ZodType<ClientIvcProof, any, string>;
14
11
  toJSON(): Buffer<ArrayBufferLike>;
15
12
  static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProof;
16
13
  toBuffer(): Buffer<ArrayBufferLike>;
17
14
  }
15
+ export declare class ClientIvcProofWithPublicInputs {
16
+ fieldsWithPublicInputs: Fr[];
17
+ constructor(fieldsWithPublicInputs: Fr[]);
18
+ getPublicInputs(): Fr[];
19
+ removePublicInputs(): ClientIvcProof;
20
+ isEmpty(): boolean;
21
+ static empty(): ClientIvcProofWithPublicInputs;
22
+ static get schema(): import("zod").ZodType<ClientIvcProofWithPublicInputs, any, string>;
23
+ toJSON(): Buffer<ArrayBufferLike>;
24
+ static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProofWithPublicInputs;
25
+ toBuffer(): Buffer<ArrayBufferLike>;
26
+ static fromBufferArray(fields: Uint8Array[]): ClientIvcProofWithPublicInputs;
27
+ }
18
28
  //# sourceMappingURL=client_ivc_proof.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client_ivc_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/client_ivc_proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E;;;GAGG;AACH,qBAAa,cAAc;IAKhB,oBAAoB,EAAE,MAAM;gBAA5B,oBAAoB,EAAE,MAAM;IAG9B,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,IAAI,CAAC,IAAI,SAAkC;IAIlD,MAAM,CAAC,MAAM;IAIb,MAAM,KAAK,MAAM,uDAEhB;IAED,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAKzD,QAAQ;CAGhB"}
1
+ {"version":3,"file":"client_ivc_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/client_ivc_proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,qBAAa,cAAc;IAKhB,MAAM,EAAE,EAAE,EAAE;gBAAZ,MAAM,EAAE,EAAE,EAAE;IAOd,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE;IAIrC,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,MAAM;IAWb,MAAM,KAAK,MAAM,uDAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAOzD,QAAQ;CAGhB;AAED,qBAAa,8BAA8B;IAIhC,sBAAsB,EAAE,EAAE,EAAE;gBAA5B,sBAAsB,EAAE,EAAE,EAAE;IAO9B,eAAe;IAKf,kBAAkB;IAKlB,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,uEAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,8BAA8B;IAOzE,QAAQ;IAKf,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,8BAA8B;CAI7E"}
@@ -1,41 +1,100 @@
1
+ import { CIVC_PROOF_LENGTH } from '@aztec/constants';
1
2
  import { randomBytes } from '@aztec/foundation/crypto';
3
+ import { Fr } from '@aztec/foundation/fields';
2
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- const CLIENT_IVC_PROOF_LENGTH = 172052;
5
- /**
6
- * TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to
7
- * eventually we read all these VKs from the data tree instead of passing them
8
- */ export class ClientIvcProof {
9
- clientIvcProofBuffer;
10
- constructor(// produced by the sequencer when making the tube proof
11
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370): Need to precompute private kernel tail VK so we can verify this immediately in the tx pool
12
- // which parts of these are needed to quickly verify that we have a correct IVC proof
13
- clientIvcProofBuffer){
14
- this.clientIvcProofBuffer = clientIvcProofBuffer;
6
+ export class ClientIvcProof {
7
+ fields;
8
+ constructor(// The proof fields.
9
+ // For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
10
+ // Not using Tuple here due to the length being too high.
11
+ fields){
12
+ this.fields = fields;
13
+ if (fields.length !== CIVC_PROOF_LENGTH) {
14
+ throw new Error(`Invalid ClientIvcProof length: ${fields.length}`);
15
+ }
16
+ }
17
+ attachPublicInputs(publicInputs) {
18
+ return new ClientIvcProofWithPublicInputs([
19
+ ...publicInputs,
20
+ ...this.fields
21
+ ]);
15
22
  }
16
23
  isEmpty() {
17
- return this.clientIvcProofBuffer.length === 0;
24
+ return this.fields.every((field)=>field.isZero());
18
25
  }
19
26
  static empty() {
20
- return new ClientIvcProof(Buffer.from(''));
21
- }
22
- static fake(fill = Math.floor(Math.random() * 255)) {
23
- return new ClientIvcProof(Buffer.alloc(1, fill));
27
+ return new ClientIvcProof(new Array(CIVC_PROOF_LENGTH).fill(Fr.ZERO));
24
28
  }
25
29
  static random() {
26
- return new ClientIvcProof(Buffer.from(randomBytes(CLIENT_IVC_PROOF_LENGTH)));
30
+ // NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
31
+ const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
32
+ const randomFields = randomBytes(CIVC_PROOF_LENGTH * reducedFrSize);
33
+ const proof = Array.from({
34
+ length: CIVC_PROOF_LENGTH
35
+ }, (_, i)=>new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)));
36
+ return new ClientIvcProof(proof);
27
37
  }
28
38
  static get schema() {
29
39
  return bufferSchemaFor(ClientIvcProof);
30
40
  }
41
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
31
42
  toJSON() {
32
43
  return this.toBuffer();
33
44
  }
34
45
  static fromBuffer(buffer) {
35
46
  const reader = BufferReader.asReader(buffer);
36
- return new ClientIvcProof(reader.readBuffer());
47
+ const proofLength = reader.readNumber();
48
+ const proof = reader.readArray(proofLength, Fr);
49
+ return new ClientIvcProof(proof);
37
50
  }
38
51
  toBuffer() {
39
- return serializeToBuffer(this.clientIvcProofBuffer.length, this.clientIvcProofBuffer);
52
+ return serializeToBuffer(this.fields.length, this.fields);
53
+ }
54
+ }
55
+ export class ClientIvcProofWithPublicInputs {
56
+ fieldsWithPublicInputs;
57
+ constructor(// The proof fields with public inputs.
58
+ // For recursive verification, use without public inputs via `removePublicInputs()`.
59
+ fieldsWithPublicInputs){
60
+ this.fieldsWithPublicInputs = fieldsWithPublicInputs;
61
+ if (fieldsWithPublicInputs.length < CIVC_PROOF_LENGTH) {
62
+ throw new Error(`Invalid ClientIvcProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
63
+ }
64
+ }
65
+ getPublicInputs() {
66
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
67
+ return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
68
+ }
69
+ removePublicInputs() {
70
+ const numPublicInputs = this.fieldsWithPublicInputs.length - CIVC_PROOF_LENGTH;
71
+ return new ClientIvcProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
72
+ }
73
+ isEmpty() {
74
+ return this.fieldsWithPublicInputs.every((field)=>field.isZero());
75
+ }
76
+ static empty() {
77
+ return ClientIvcProof.empty().attachPublicInputs([]);
78
+ }
79
+ static get schema() {
80
+ return bufferSchemaFor(ClientIvcProofWithPublicInputs);
81
+ }
82
+ // We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
83
+ toJSON() {
84
+ return this.toBuffer();
85
+ }
86
+ static fromBuffer(buffer) {
87
+ const reader = BufferReader.asReader(buffer);
88
+ const proofLength = reader.readNumber();
89
+ const proof = reader.readArray(proofLength, Fr);
90
+ return new ClientIvcProofWithPublicInputs(proof);
91
+ }
92
+ toBuffer() {
93
+ return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
94
+ }
95
+ // Called when constructing from bb proving results.
96
+ static fromBufferArray(fields) {
97
+ const proof = fields.map((field)=>Fr.fromBuffer(Buffer.from(field)));
98
+ return new ClientIvcProofWithPublicInputs(proof);
40
99
  }
41
100
  }
@@ -1,5 +1,6 @@
1
1
  export * from './recursive_proof.js';
2
2
  export * from './client_ivc_proof.js';
3
3
  export * from './proof.js';
4
+ export * from './proof_data.js';
4
5
  export * from './proving_request_type.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './recursive_proof.js';
2
2
  export * from './client_ivc_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,21 @@
1
+ import type { CIVC_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { BufferReader, type Bufferable } from '@aztec/foundation/serialize';
3
+ import { RecursiveProof } from '../proofs/recursive_proof.js';
4
+ import { VkData } from '../vks/index.js';
5
+ /**
6
+ * Represents the data of a recursive proof.
7
+ */
8
+ export declare class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
9
+ publicInputs: T;
10
+ proof: RecursiveProof<PROOF_LENGTH>;
11
+ vkData: VkData;
12
+ constructor(publicInputs: T, proof: RecursiveProof<PROOF_LENGTH>, vkData: VkData);
13
+ toBuffer(): Buffer;
14
+ static fromBuffer<T extends Bufferable, PROOF_LENGTH extends number>(buffer: Buffer | BufferReader, publicInputs: {
15
+ fromBuffer: (reader: BufferReader) => T;
16
+ }): ProofData<T, PROOF_LENGTH>;
17
+ }
18
+ export type CivcProofData<T extends Bufferable> = ProofData<T, typeof CIVC_PROOF_LENGTH>;
19
+ export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
20
+ export type RollupHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
21
+ //# sourceMappingURL=proof_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof_data.d.ts","sourceRoot":"","sources":["../../src/proofs/proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,SAAS,MAAM;IAE7D,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC;IACnC,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,MAAM;IAGhB,QAAQ,IAAI,MAAM;WAIX,UAAU,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,SAAS,MAAM,EACxE,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,YAAY,EAAE;QACZ,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;CAI9B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC;AAEzF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,sBAAsB,CAAC,CAAC;AAEnG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,kCAAkC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { RecursiveProof } from '../proofs/recursive_proof.js';
3
+ import { VkData } from '../vks/index.js';
4
+ /**
5
+ * Represents the data of a recursive proof.
6
+ */ export class ProofData {
7
+ publicInputs;
8
+ proof;
9
+ vkData;
10
+ constructor(publicInputs, proof, vkData){
11
+ this.publicInputs = publicInputs;
12
+ this.proof = proof;
13
+ this.vkData = vkData;
14
+ }
15
+ toBuffer() {
16
+ return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
17
+ }
18
+ static fromBuffer(buffer, publicInputs) {
19
+ const reader = BufferReader.asReader(buffer);
20
+ return new ProofData(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
21
+ }
22
+ }
@@ -1,17 +1,21 @@
1
1
  export declare enum ProvingRequestType {
2
2
  PUBLIC_VM = 0,
3
- PRIVATE_BASE_ROLLUP = 1,
4
- PUBLIC_BASE_ROLLUP = 2,
5
- MERGE_ROLLUP = 3,
6
- EMPTY_BLOCK_ROOT_ROLLUP = 4,
7
- PADDING_BLOCK_ROOT_ROLLUP = 5,
8
- BLOCK_ROOT_ROLLUP = 6,
9
- SINGLE_TX_BLOCK_ROOT_ROLLUP = 7,
10
- BLOCK_MERGE_ROLLUP = 8,
11
- ROOT_ROLLUP = 9,
12
- BASE_PARITY = 10,
13
- ROOT_PARITY = 11,
14
- /** Recursive Client IVC verification to connect private to public or rollup */
15
- TUBE_PROOF = 12
3
+ PUBLIC_TUBE = 1,
4
+ PRIVATE_TX_BASE_ROLLUP = 2,
5
+ PUBLIC_TX_BASE_ROLLUP = 3,
6
+ TX_MERGE_ROLLUP = 4,
7
+ BLOCK_ROOT_FIRST_ROLLUP = 5,
8
+ BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP = 6,
9
+ BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP = 7,
10
+ BLOCK_ROOT_ROLLUP = 8,
11
+ BLOCK_ROOT_SINGLE_TX_ROLLUP = 9,
12
+ BLOCK_MERGE_ROLLUP = 10,
13
+ CHECKPOINT_ROOT_ROLLUP = 11,
14
+ CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP = 12,
15
+ CHECKPOINT_PADDING_ROLLUP = 13,
16
+ CHECKPOINT_MERGE_ROLLUP = 14,
17
+ ROOT_ROLLUP = 15,
18
+ PARITY_BASE = 16,
19
+ PARITY_ROOT = 17
16
20
  }
17
21
  //# sourceMappingURL=proving_request_type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proving_request_type.d.ts","sourceRoot":"","sources":["../../src/proofs/proving_request_type.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,SAAS,IAAA;IAET,mBAAmB,IAAA;IACnB,kBAAkB,IAAA;IAClB,YAAY,IAAA;IACZ,uBAAuB,IAAA;IACvB,yBAAyB,IAAA;IACzB,iBAAiB,IAAA;IACjB,2BAA2B,IAAA;IAC3B,kBAAkB,IAAA;IAClB,WAAW,IAAA;IAEX,WAAW,KAAA;IACX,WAAW,KAAA;IACX,+EAA+E;IAC/E,UAAU,KAAA;CACX"}
1
+ {"version":3,"file":"proving_request_type.d.ts","sourceRoot":"","sources":["../../src/proofs/proving_request_type.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC5B,SAAS,IAAA;IACT,WAAW,IAAA;IAEX,sBAAsB,IAAA;IACtB,qBAAqB,IAAA;IACrB,eAAe,IAAA;IACf,uBAAuB,IAAA;IACvB,iCAAiC,IAAA;IACjC,gCAAgC,IAAA;IAChC,iBAAiB,IAAA;IACjB,2BAA2B,IAAA;IAC3B,kBAAkB,KAAA;IAClB,sBAAsB,KAAA;IACtB,mCAAmC,KAAA;IACnC,yBAAyB,KAAA;IACzB,uBAAuB,KAAA;IACvB,WAAW,KAAA;IAEX,WAAW,KAAA;IACX,WAAW,KAAA;CACZ"}
@@ -1,16 +1,21 @@
1
1
  export var ProvingRequestType = /*#__PURE__*/ function(ProvingRequestType) {
2
2
  ProvingRequestType[ProvingRequestType["PUBLIC_VM"] = 0] = "PUBLIC_VM";
3
- ProvingRequestType[ProvingRequestType["PRIVATE_BASE_ROLLUP"] = 1] = "PRIVATE_BASE_ROLLUP";
4
- ProvingRequestType[ProvingRequestType["PUBLIC_BASE_ROLLUP"] = 2] = "PUBLIC_BASE_ROLLUP";
5
- ProvingRequestType[ProvingRequestType["MERGE_ROLLUP"] = 3] = "MERGE_ROLLUP";
6
- ProvingRequestType[ProvingRequestType["EMPTY_BLOCK_ROOT_ROLLUP"] = 4] = "EMPTY_BLOCK_ROOT_ROLLUP";
7
- ProvingRequestType[ProvingRequestType["PADDING_BLOCK_ROOT_ROLLUP"] = 5] = "PADDING_BLOCK_ROOT_ROLLUP";
8
- ProvingRequestType[ProvingRequestType["BLOCK_ROOT_ROLLUP"] = 6] = "BLOCK_ROOT_ROLLUP";
9
- ProvingRequestType[ProvingRequestType["SINGLE_TX_BLOCK_ROOT_ROLLUP"] = 7] = "SINGLE_TX_BLOCK_ROOT_ROLLUP";
10
- ProvingRequestType[ProvingRequestType["BLOCK_MERGE_ROLLUP"] = 8] = "BLOCK_MERGE_ROLLUP";
11
- ProvingRequestType[ProvingRequestType["ROOT_ROLLUP"] = 9] = "ROOT_ROLLUP";
12
- ProvingRequestType[ProvingRequestType["BASE_PARITY"] = 10] = "BASE_PARITY";
13
- ProvingRequestType[ProvingRequestType["ROOT_PARITY"] = 11] = "ROOT_PARITY";
14
- /** Recursive Client IVC verification to connect private to public or rollup */ ProvingRequestType[ProvingRequestType["TUBE_PROOF"] = 12] = "TUBE_PROOF";
3
+ ProvingRequestType[ProvingRequestType["PUBLIC_TUBE"] = 1] = "PUBLIC_TUBE";
4
+ ProvingRequestType[ProvingRequestType["PRIVATE_TX_BASE_ROLLUP"] = 2] = "PRIVATE_TX_BASE_ROLLUP";
5
+ ProvingRequestType[ProvingRequestType["PUBLIC_TX_BASE_ROLLUP"] = 3] = "PUBLIC_TX_BASE_ROLLUP";
6
+ ProvingRequestType[ProvingRequestType["TX_MERGE_ROLLUP"] = 4] = "TX_MERGE_ROLLUP";
7
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_FIRST_ROLLUP"] = 5] = "BLOCK_ROOT_FIRST_ROLLUP";
8
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP"] = 6] = "BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP";
9
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP"] = 7] = "BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP";
10
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_ROLLUP"] = 8] = "BLOCK_ROOT_ROLLUP";
11
+ ProvingRequestType[ProvingRequestType["BLOCK_ROOT_SINGLE_TX_ROLLUP"] = 9] = "BLOCK_ROOT_SINGLE_TX_ROLLUP";
12
+ ProvingRequestType[ProvingRequestType["BLOCK_MERGE_ROLLUP"] = 10] = "BLOCK_MERGE_ROLLUP";
13
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_ROOT_ROLLUP"] = 11] = "CHECKPOINT_ROOT_ROLLUP";
14
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP"] = 12] = "CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP";
15
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_PADDING_ROLLUP"] = 13] = "CHECKPOINT_PADDING_ROLLUP";
16
+ ProvingRequestType[ProvingRequestType["CHECKPOINT_MERGE_ROLLUP"] = 14] = "CHECKPOINT_MERGE_ROLLUP";
17
+ ProvingRequestType[ProvingRequestType["ROOT_ROLLUP"] = 15] = "ROOT_ROLLUP";
18
+ ProvingRequestType[ProvingRequestType["PARITY_BASE"] = 16] = "PARITY_BASE";
19
+ ProvingRequestType[ProvingRequestType["PARITY_ROOT"] = 17] = "PARITY_ROOT";
15
20
  return ProvingRequestType;
16
21
  }({});
@@ -1,17 +1,7 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
- import { BufferReader } from '@aztec/foundation/serialize';
4
3
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import { RecursiveProof } from '../proofs/recursive_proof.js';
6
- import { VkData } from '../vks/vk_data.js';
7
- export declare class AvmProofData {
8
- publicInputs: AvmCircuitPublicInputs;
9
- proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
10
- vkData: VkData;
11
- constructor(publicInputs: AvmCircuitPublicInputs, proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>, vkData: VkData);
12
- static fromBuffer(buffer: Buffer | BufferReader): AvmProofData;
13
- toBuffer(): Buffer<ArrayBufferLike>;
14
- static empty(): AvmProofData;
15
- }
4
+ import type { ProofData } from '../proofs/proof_data.js';
5
+ export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
16
6
  export declare function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[];
17
7
  //# sourceMappingURL=avm_proof_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,YAAY;IAEd,YAAY,EAAE,sBAAsB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC;IAClE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,sBAAsB,EACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC,EAClE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;CAOb;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
1
+ {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,sBAAsB,EAAE,OAAO,oCAAoC,CAAC,CAAC;AAG1G,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}