@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
@@ -0,0 +1,106 @@
1
+ import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
3
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
+ import { Fr } from '@aztec/foundation/fields';
5
+ import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
6
+ import type { FieldsOf } from '@aztec/foundation/types';
7
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
+ import { EpochConstantData } from './epoch_constant_data.js';
9
+ /**
10
+ * Output of the checkpoint root and checkpoint merge rollup circuits.
11
+ */
12
+ export declare class CheckpointRollupPublicInputs {
13
+ /**
14
+ * Constants for the entire epoch.
15
+ */
16
+ constants: EpochConstantData;
17
+ /**
18
+ * Archive tree immediately before this checkpoint range.
19
+ */
20
+ previousArchive: AppendOnlyTreeSnapshot;
21
+ /**
22
+ * Archive tree after adding this checkpoint range.
23
+ */
24
+ newArchive: AppendOnlyTreeSnapshot;
25
+ /**
26
+ * The hashes of the headers of the constituent checkpoints.
27
+ */
28
+ checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>;
29
+ /**
30
+ * The summed transaction fees and recipients of the constituent checkpoints.
31
+ */
32
+ fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>;
33
+ /**
34
+ * Accumulated opening proofs for all blobs before this checkpoint range.
35
+ */
36
+ startBlobAccumulator: BlobAccumulator;
37
+ /**
38
+ * Accumulated opening proofs for all blobs after applying this checkpoint range.
39
+ */
40
+ endBlobAccumulator: BlobAccumulator;
41
+ /**
42
+ * Final values z and gamma, shared across the epoch.
43
+ */
44
+ finalBlobChallenges: FinalBlobBatchingChallenges;
45
+ constructor(
46
+ /**
47
+ * Constants for the entire epoch.
48
+ */
49
+ constants: EpochConstantData,
50
+ /**
51
+ * Archive tree immediately before this checkpoint range.
52
+ */
53
+ previousArchive: AppendOnlyTreeSnapshot,
54
+ /**
55
+ * Archive tree after adding this checkpoint range.
56
+ */
57
+ newArchive: AppendOnlyTreeSnapshot,
58
+ /**
59
+ * The hashes of the headers of the constituent checkpoints.
60
+ */
61
+ checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
62
+ /**
63
+ * The summed transaction fees and recipients of the constituent checkpoints.
64
+ */
65
+ fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
66
+ /**
67
+ * Accumulated opening proofs for all blobs before this checkpoint range.
68
+ */
69
+ startBlobAccumulator: BlobAccumulator,
70
+ /**
71
+ * Accumulated opening proofs for all blobs after applying this checkpoint range.
72
+ */
73
+ endBlobAccumulator: BlobAccumulator,
74
+ /**
75
+ * Final values z and gamma, shared across the epoch.
76
+ */
77
+ finalBlobChallenges: FinalBlobBatchingChallenges);
78
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointRollupPublicInputs;
79
+ toBuffer(): Buffer<ArrayBufferLike>;
80
+ toString(): `0x${string}`;
81
+ static fromString(str: string): CheckpointRollupPublicInputs;
82
+ /** Returns a buffer representation for JSON serialization. */
83
+ toJSON(): Buffer<ArrayBufferLike>;
84
+ /** Creates an instance from a hex string. */
85
+ static get schema(): import("zod").ZodType<CheckpointRollupPublicInputs, any, string>;
86
+ }
87
+ export declare class FeeRecipient {
88
+ recipient: EthAddress;
89
+ value: Fr;
90
+ constructor(recipient: EthAddress, value: Fr);
91
+ static fromBuffer(buffer: Buffer | BufferReader): FeeRecipient;
92
+ toBuffer(): Buffer<ArrayBufferLike>;
93
+ static getFields(fields: FieldsOf<FeeRecipient>): readonly [EthAddress, Fr];
94
+ toFields(): Fr[];
95
+ static empty(): FeeRecipient;
96
+ isEmpty(): boolean;
97
+ toFriendlyJSON(): {
98
+ recipient?: undefined;
99
+ value?: undefined;
100
+ } | {
101
+ recipient: `0x${string}`;
102
+ value: `0x${string}`;
103
+ };
104
+ static random(): FeeRecipient;
105
+ }
106
+ //# sourceMappingURL=checkpoint_rollup_public_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IACzE;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;;IA/BvD;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IACzE;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IAGzD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAc/C,QAAQ;IAaR,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,qEAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;gBADT,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE;IAGlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY;IAK9D,QAAQ;IAIR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC;IAI/C,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,OAAO;IAIP,cAAc;;;;;;;IAOd,MAAM,CAAC,MAAM;CAGd"}
@@ -0,0 +1,108 @@
1
+ import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
3
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
+ import { Fr } from '@aztec/foundation/fields';
5
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
6
+ import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
7
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
8
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
+ import { EpochConstantData } from './epoch_constant_data.js';
10
+ /**
11
+ * Output of the checkpoint root and checkpoint merge rollup circuits.
12
+ */ export class CheckpointRollupPublicInputs {
13
+ constants;
14
+ previousArchive;
15
+ newArchive;
16
+ checkpointHeaderHashes;
17
+ fees;
18
+ startBlobAccumulator;
19
+ endBlobAccumulator;
20
+ finalBlobChallenges;
21
+ constructor(/**
22
+ * Constants for the entire epoch.
23
+ */ constants, /**
24
+ * Archive tree immediately before this checkpoint range.
25
+ */ previousArchive, /**
26
+ * Archive tree after adding this checkpoint range.
27
+ */ newArchive, /**
28
+ * The hashes of the headers of the constituent checkpoints.
29
+ */ checkpointHeaderHashes, /**
30
+ * The summed transaction fees and recipients of the constituent checkpoints.
31
+ */ fees, /**
32
+ * Accumulated opening proofs for all blobs before this checkpoint range.
33
+ */ startBlobAccumulator, /**
34
+ * Accumulated opening proofs for all blobs after applying this checkpoint range.
35
+ */ endBlobAccumulator, /**
36
+ * Final values z and gamma, shared across the epoch.
37
+ */ finalBlobChallenges){
38
+ this.constants = constants;
39
+ this.previousArchive = previousArchive;
40
+ this.newArchive = newArchive;
41
+ this.checkpointHeaderHashes = checkpointHeaderHashes;
42
+ this.fees = fees;
43
+ this.startBlobAccumulator = startBlobAccumulator;
44
+ this.endBlobAccumulator = endBlobAccumulator;
45
+ this.finalBlobChallenges = finalBlobChallenges;
46
+ }
47
+ static fromBuffer(buffer) {
48
+ const reader = BufferReader.asReader(buffer);
49
+ return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
50
+ }
51
+ toBuffer() {
52
+ return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
53
+ }
54
+ toString() {
55
+ return bufferToHex(this.toBuffer());
56
+ }
57
+ static fromString(str) {
58
+ return CheckpointRollupPublicInputs.fromBuffer(hexToBuffer(str));
59
+ }
60
+ /** Returns a buffer representation for JSON serialization. */ toJSON() {
61
+ return this.toBuffer();
62
+ }
63
+ /** Creates an instance from a hex string. */ static get schema() {
64
+ return bufferSchemaFor(CheckpointRollupPublicInputs);
65
+ }
66
+ }
67
+ export class FeeRecipient {
68
+ recipient;
69
+ value;
70
+ constructor(recipient, value){
71
+ this.recipient = recipient;
72
+ this.value = value;
73
+ }
74
+ static fromBuffer(buffer) {
75
+ const reader = BufferReader.asReader(buffer);
76
+ return new FeeRecipient(reader.readObject(EthAddress), Fr.fromBuffer(reader));
77
+ }
78
+ toBuffer() {
79
+ return serializeToBuffer(this.recipient, this.value);
80
+ }
81
+ static getFields(fields) {
82
+ return [
83
+ fields.recipient,
84
+ fields.value
85
+ ];
86
+ }
87
+ toFields() {
88
+ return serializeToFields(...FeeRecipient.getFields(this));
89
+ }
90
+ static empty() {
91
+ return new FeeRecipient(EthAddress.ZERO, Fr.ZERO);
92
+ }
93
+ isEmpty() {
94
+ return this.value.isZero() && this.recipient.isZero();
95
+ }
96
+ toFriendlyJSON() {
97
+ if (this.isEmpty()) {
98
+ return {};
99
+ }
100
+ return {
101
+ recipient: this.recipient.toString(),
102
+ value: this.value.toString()
103
+ };
104
+ }
105
+ static random() {
106
+ return new FeeRecipient(EthAddress.random(), Fr.random());
107
+ }
108
+ }
@@ -0,0 +1,123 @@
1
+ import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK } from '@aztec/constants';
3
+ import { BLS12Point, Fr } from '@aztec/foundation/fields';
4
+ import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
5
+ import type { FieldsOf } from '@aztec/foundation/types';
6
+ import { type RollupHonkProofData } from '../proofs/proof_data.js';
7
+ import { BlockHeader } from '../tx/block_header.js';
8
+ import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
9
+ export declare class CheckpointRootRollupHints {
10
+ /**
11
+ * The header of the previous block before this checkpoint.
12
+ */
13
+ previousBlockHeader: BlockHeader;
14
+ /**
15
+ * Hint for checking the hash of previous_block_header is the last leaf of the previous archive.
16
+ */
17
+ previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
18
+ /**
19
+ * The current blob accumulation state across the epoch.
20
+ */
21
+ startBlobAccumulator: BlobAccumulator;
22
+ /**
23
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
24
+ */
25
+ finalBlobChallenges: FinalBlobBatchingChallenges;
26
+ /**
27
+ * Flat list of all tx effects which will be added to the blob.
28
+ * Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
29
+ * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
30
+ */
31
+ blobFields: Fr[];
32
+ /**
33
+ * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
34
+ */
35
+ blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_BLOCK>;
36
+ /**
37
+ * The hash of eth blob hashes for this block
38
+ * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
39
+ */
40
+ blobsHash: Fr;
41
+ constructor(
42
+ /**
43
+ * The header of the previous block before this checkpoint.
44
+ */
45
+ previousBlockHeader: BlockHeader,
46
+ /**
47
+ * Hint for checking the hash of previous_block_header is the last leaf of the previous archive.
48
+ */
49
+ previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
50
+ /**
51
+ * The current blob accumulation state across the epoch.
52
+ */
53
+ startBlobAccumulator: BlobAccumulator,
54
+ /**
55
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
56
+ */
57
+ finalBlobChallenges: FinalBlobBatchingChallenges,
58
+ /**
59
+ * Flat list of all tx effects which will be added to the blob.
60
+ * Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
61
+ * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
62
+ */
63
+ blobFields: Fr[],
64
+ /**
65
+ * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
66
+ */
67
+ blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_BLOCK>,
68
+ /**
69
+ * The hash of eth blob hashes for this block
70
+ * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
71
+ */
72
+ blobsHash: Fr);
73
+ static from(fields: FieldsOf<CheckpointRootRollupHints>): CheckpointRootRollupHints;
74
+ static getFields(fields: FieldsOf<CheckpointRootRollupHints>): readonly [BlockHeader, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], BlobAccumulator, FinalBlobBatchingChallenges, Fr[], [BLS12Point, BLS12Point, BLS12Point], Fr];
75
+ toBuffer(): Buffer<ArrayBufferLike>;
76
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointRootRollupHints;
77
+ toString(): `0x${string}`;
78
+ static fromString(str: string): CheckpointRootRollupHints;
79
+ toJSON(): Buffer<ArrayBufferLike>;
80
+ static get schema(): import("zod").ZodType<CheckpointRootRollupHints, any, string>;
81
+ }
82
+ export declare class CheckpointRootRollupPrivateInputs {
83
+ previousRollups: [
84
+ RollupHonkProofData<BlockRollupPublicInputs>,
85
+ RollupHonkProofData<BlockRollupPublicInputs>
86
+ ];
87
+ hints: CheckpointRootRollupHints;
88
+ constructor(previousRollups: [
89
+ RollupHonkProofData<BlockRollupPublicInputs>,
90
+ RollupHonkProofData<BlockRollupPublicInputs>
91
+ ], hints: CheckpointRootRollupHints);
92
+ static from(fields: FieldsOf<CheckpointRootRollupPrivateInputs>): CheckpointRootRollupPrivateInputs;
93
+ static getFields(fields: FieldsOf<CheckpointRootRollupPrivateInputs>): readonly [[RollupHonkProofData<BlockRollupPublicInputs>, RollupHonkProofData<BlockRollupPublicInputs>], CheckpointRootRollupHints];
94
+ toBuffer(): Buffer<ArrayBufferLike>;
95
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointRootRollupPrivateInputs;
96
+ toString(): `0x${string}`;
97
+ static fromString(str: string): CheckpointRootRollupPrivateInputs;
98
+ toJSON(): Buffer<ArrayBufferLike>;
99
+ static get schema(): import("zod").ZodType<CheckpointRootRollupPrivateInputs, any, string>;
100
+ }
101
+ export declare class CheckpointRootSingleBlockRollupPrivateInputs {
102
+ previousRollup: RollupHonkProofData<BlockRollupPublicInputs>;
103
+ hints: CheckpointRootRollupHints;
104
+ constructor(previousRollup: RollupHonkProofData<BlockRollupPublicInputs>, hints: CheckpointRootRollupHints);
105
+ static from(fields: FieldsOf<CheckpointRootSingleBlockRollupPrivateInputs>): CheckpointRootSingleBlockRollupPrivateInputs;
106
+ static getFields(fields: FieldsOf<CheckpointRootSingleBlockRollupPrivateInputs>): readonly [RollupHonkProofData<BlockRollupPublicInputs>, CheckpointRootRollupHints];
107
+ toBuffer(): Buffer<ArrayBufferLike>;
108
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointRootSingleBlockRollupPrivateInputs;
109
+ toString(): `0x${string}`;
110
+ static fromString(str: string): CheckpointRootSingleBlockRollupPrivateInputs;
111
+ toJSON(): Buffer<ArrayBufferLike>;
112
+ static get schema(): import("zod").ZodType<CheckpointRootSingleBlockRollupPrivateInputs, any, string>;
113
+ }
114
+ export declare class CheckpointPaddingRollupPrivateInputs {
115
+ constructor();
116
+ toBuffer(): Buffer<ArrayBuffer>;
117
+ static fromBuffer(_buffer: Buffer | BufferReader): CheckpointPaddingRollupPrivateInputs;
118
+ toString(): `0x${string}`;
119
+ static fromString(_str: string): CheckpointPaddingRollupPrivateInputs;
120
+ toJSON(): Buffer<ArrayBuffer>;
121
+ static get schema(): import("zod").ZodType<CheckpointPaddingRollupPrivateInputs, any, string>;
122
+ }
123
+ //# sourceMappingURL=checkpoint_root_rollup_private_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint_root_rollup_private_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_root_rollup_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAmB,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAE1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,qBAAa,yBAAyB;IAElC;;OAEG;IACI,mBAAmB,EAAE,WAAW;IACvC;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IACnE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IACvD;;;;OAIG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,eAAe,CAAC;IACjE;;;OAGG;IACI,SAAS,EAAE,EAAE;;IA9BpB;;OAEG;IACI,mBAAmB,EAAE,WAAW;IACvC;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IACnE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IACvD;;;;OAIG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,eAAe,CAAC;IACjE;;;OAGG;IACI,SAAS,EAAE,EAAE;IAGtB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC;IAIvD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC;IAY5D,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAe/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM;IAIN,MAAM,KAAK,MAAM,kEAEhB;CACF;AAED,qBAAa,iCAAiC;IAEnC,eAAe,EAAE;QACtB,mBAAmB,CAAC,uBAAuB,CAAC;QAC5C,mBAAmB,CAAC,uBAAuB,CAAC;KAC7C;IACM,KAAK,EAAE,yBAAyB;gBAJhC,eAAe,EAAE;QACtB,mBAAmB,CAAC,uBAAuB,CAAC;QAC5C,mBAAmB,CAAC,uBAAuB,CAAC;KAC7C,EACM,KAAK,EAAE,yBAAyB;IAGzC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iCAAiC,CAAC;IAI/D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iCAAiC,CAAC;IAIpE,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQ/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM;IAIN,MAAM,KAAK,MAAM,0EAEhB;CACF;AAED,qBAAa,4CAA4C;IAE9C,cAAc,EAAE,mBAAmB,CAAC,uBAAuB,CAAC;IAC5D,KAAK,EAAE,yBAAyB;gBADhC,cAAc,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,EAC5D,KAAK,EAAE,yBAAyB;IAGzC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,4CAA4C,CAAC;IAM1E,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,4CAA4C,CAAC;IAI/E,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQ/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM;IAIN,MAAM,KAAK,MAAM,qFAEhB;CACF;AAGD,qBAAa,oCAAoC;;IAG/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAIhD,QAAQ,IAAI,KAAK,MAAM,EAAE;IAIzB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM;IAI9B,MAAM;IAIN,MAAM,KAAK,MAAM,6EAEhB;CACF"}
@@ -0,0 +1,178 @@
1
+ import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
+ import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK, FIELDS_PER_BLOB } from '@aztec/constants';
3
+ import { BLS12Point, Fr } from '@aztec/foundation/fields';
4
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
7
+ import { ProofData } from '../proofs/proof_data.js';
8
+ import { BlockHeader } from '../tx/block_header.js';
9
+ import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
10
+ export class CheckpointRootRollupHints {
11
+ previousBlockHeader;
12
+ previousArchiveSiblingPath;
13
+ startBlobAccumulator;
14
+ finalBlobChallenges;
15
+ blobFields;
16
+ blobCommitments;
17
+ blobsHash;
18
+ constructor(/**
19
+ * The header of the previous block before this checkpoint.
20
+ */ previousBlockHeader, /**
21
+ * Hint for checking the hash of previous_block_header is the last leaf of the previous archive.
22
+ */ previousArchiveSiblingPath, /**
23
+ * The current blob accumulation state across the epoch.
24
+ */ startBlobAccumulator, /**
25
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
26
+ */ finalBlobChallenges, /**
27
+ * Flat list of all tx effects which will be added to the blob.
28
+ * Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
29
+ * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
30
+ */ blobFields, /**
31
+ * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
32
+ */ blobCommitments, /**
33
+ * The hash of eth blob hashes for this block
34
+ * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
35
+ */ blobsHash){
36
+ this.previousBlockHeader = previousBlockHeader;
37
+ this.previousArchiveSiblingPath = previousArchiveSiblingPath;
38
+ this.startBlobAccumulator = startBlobAccumulator;
39
+ this.finalBlobChallenges = finalBlobChallenges;
40
+ this.blobFields = blobFields;
41
+ this.blobCommitments = blobCommitments;
42
+ this.blobsHash = blobsHash;
43
+ }
44
+ static from(fields) {
45
+ return new CheckpointRootRollupHints(...CheckpointRootRollupHints.getFields(fields));
46
+ }
47
+ static getFields(fields) {
48
+ return [
49
+ fields.previousBlockHeader,
50
+ fields.previousArchiveSiblingPath,
51
+ fields.startBlobAccumulator,
52
+ fields.finalBlobChallenges,
53
+ fields.blobFields,
54
+ fields.blobCommitments,
55
+ fields.blobsHash
56
+ ];
57
+ }
58
+ toBuffer() {
59
+ return serializeToBuffer(...CheckpointRootRollupHints.getFields(this));
60
+ }
61
+ static fromBuffer(buffer) {
62
+ const reader = BufferReader.asReader(buffer);
63
+ return new CheckpointRootRollupHints(BlockHeader.fromBuffer(reader), reader.readArray(ARCHIVE_HEIGHT, Fr), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges), // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
64
+ // reader.readArray(FIELDS_PER_BLOB, Fr),
65
+ Array.from({
66
+ length: FIELDS_PER_BLOB * BLOBS_PER_BLOCK
67
+ }, ()=>Fr.fromBuffer(reader)), reader.readArray(BLOBS_PER_BLOCK, BLS12Point), Fr.fromBuffer(reader));
68
+ }
69
+ toString() {
70
+ return bufferToHex(this.toBuffer());
71
+ }
72
+ static fromString(str) {
73
+ return CheckpointRootRollupHints.fromBuffer(hexToBuffer(str));
74
+ }
75
+ toJSON() {
76
+ return this.toBuffer();
77
+ }
78
+ static get schema() {
79
+ return bufferSchemaFor(CheckpointRootRollupHints);
80
+ }
81
+ }
82
+ export class CheckpointRootRollupPrivateInputs {
83
+ previousRollups;
84
+ hints;
85
+ constructor(previousRollups, hints){
86
+ this.previousRollups = previousRollups;
87
+ this.hints = hints;
88
+ }
89
+ static from(fields) {
90
+ return new CheckpointRootRollupPrivateInputs(...CheckpointRootRollupPrivateInputs.getFields(fields));
91
+ }
92
+ static getFields(fields) {
93
+ return [
94
+ fields.previousRollups,
95
+ fields.hints
96
+ ];
97
+ }
98
+ toBuffer() {
99
+ return serializeToBuffer(...CheckpointRootRollupPrivateInputs.getFields(this));
100
+ }
101
+ static fromBuffer(buffer) {
102
+ const reader = BufferReader.asReader(buffer);
103
+ return new CheckpointRootRollupPrivateInputs([
104
+ ProofData.fromBuffer(reader, BlockRollupPublicInputs),
105
+ ProofData.fromBuffer(reader, BlockRollupPublicInputs)
106
+ ], CheckpointRootRollupHints.fromBuffer(reader));
107
+ }
108
+ toString() {
109
+ return bufferToHex(this.toBuffer());
110
+ }
111
+ static fromString(str) {
112
+ return CheckpointRootRollupPrivateInputs.fromBuffer(hexToBuffer(str));
113
+ }
114
+ toJSON() {
115
+ return this.toBuffer();
116
+ }
117
+ static get schema() {
118
+ return bufferSchemaFor(CheckpointRootRollupPrivateInputs);
119
+ }
120
+ }
121
+ export class CheckpointRootSingleBlockRollupPrivateInputs {
122
+ previousRollup;
123
+ hints;
124
+ constructor(previousRollup, hints){
125
+ this.previousRollup = previousRollup;
126
+ this.hints = hints;
127
+ }
128
+ static from(fields) {
129
+ return new CheckpointRootSingleBlockRollupPrivateInputs(...CheckpointRootSingleBlockRollupPrivateInputs.getFields(fields));
130
+ }
131
+ static getFields(fields) {
132
+ return [
133
+ fields.previousRollup,
134
+ fields.hints
135
+ ];
136
+ }
137
+ toBuffer() {
138
+ return serializeToBuffer(...CheckpointRootSingleBlockRollupPrivateInputs.getFields(this));
139
+ }
140
+ static fromBuffer(buffer) {
141
+ const reader = BufferReader.asReader(buffer);
142
+ return new CheckpointRootSingleBlockRollupPrivateInputs(ProofData.fromBuffer(reader, BlockRollupPublicInputs), CheckpointRootRollupHints.fromBuffer(reader));
143
+ }
144
+ toString() {
145
+ return bufferToHex(this.toBuffer());
146
+ }
147
+ static fromString(str) {
148
+ return CheckpointRootSingleBlockRollupPrivateInputs.fromBuffer(hexToBuffer(str));
149
+ }
150
+ toJSON() {
151
+ return this.toBuffer();
152
+ }
153
+ static get schema() {
154
+ return bufferSchemaFor(CheckpointRootSingleBlockRollupPrivateInputs);
155
+ }
156
+ }
157
+ // Checkpoint padding circuit does not have any private inputs.
158
+ export class CheckpointPaddingRollupPrivateInputs {
159
+ constructor(){}
160
+ toBuffer() {
161
+ return Buffer.alloc(0);
162
+ }
163
+ static fromBuffer(_buffer) {
164
+ return new CheckpointPaddingRollupPrivateInputs();
165
+ }
166
+ toString() {
167
+ return '0x';
168
+ }
169
+ static fromString(_str) {
170
+ return new CheckpointPaddingRollupPrivateInputs();
171
+ }
172
+ toJSON() {
173
+ return this.toBuffer();
174
+ }
175
+ static get schema() {
176
+ return bufferSchemaFor(CheckpointPaddingRollupPrivateInputs);
177
+ }
178
+ }
@@ -5,35 +5,52 @@ import type { FieldsOf } from '@aztec/foundation/types';
5
5
  * Constants that are the same for the entire epoch.
6
6
  */
7
7
  export declare class EpochConstantData {
8
+ /**
9
+ * ChainId of the rollup.
10
+ */
11
+ chainId: Fr;
12
+ /**
13
+ * Version of the rollup.
14
+ */
15
+ version: Fr;
8
16
  /**
9
17
  * Root of the verification key tree.
10
18
  */
11
19
  vkTreeRoot: Fr;
12
20
  /**
13
- * Root of the protocol contract tree.
21
+ * Hash of the protocol contracts list.
14
22
  */
15
- protocolContractTreeRoot: Fr;
23
+ protocolContractsHash: Fr;
16
24
  /**
17
25
  * Identifier of the prover of the epoch.
18
26
  */
19
27
  proverId: Fr;
20
28
  constructor(
29
+ /**
30
+ * ChainId of the rollup.
31
+ */
32
+ chainId: Fr,
33
+ /**
34
+ * Version of the rollup.
35
+ */
36
+ version: Fr,
21
37
  /**
22
38
  * Root of the verification key tree.
23
39
  */
24
40
  vkTreeRoot: Fr,
25
41
  /**
26
- * Root of the protocol contract tree.
42
+ * Hash of the protocol contracts list.
27
43
  */
28
- protocolContractTreeRoot: Fr,
44
+ protocolContractsHash: Fr,
29
45
  /**
30
46
  * Identifier of the prover of the epoch.
31
47
  */
32
48
  proverId: Fr);
33
49
  static from(fields: FieldsOf<EpochConstantData>): EpochConstantData;
50
+ static getFields(fields: FieldsOf<EpochConstantData>): readonly [Fr, Fr, Fr, Fr, Fr];
51
+ toFields(): Fr[];
34
52
  static fromBuffer(buffer: Buffer | BufferReader): EpochConstantData;
35
- static getFields(fields: FieldsOf<EpochConstantData>): readonly [Fr, Fr, Fr];
36
- static empty(): EpochConstantData;
37
53
  toBuffer(): Buffer<ArrayBufferLike>;
54
+ static empty(): EpochConstantData;
38
55
  }
39
56
  //# sourceMappingURL=epoch_constant_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"epoch_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/epoch_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;;IAXnB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;IAGrB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAInE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB;IAKnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAIpD,MAAM,CAAC,KAAK;IAIZ,QAAQ;CAGT"}
1
+ {"version":3,"file":"epoch_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/epoch_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAwC,MAAM,6BAA6B,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,QAAQ,EAAE,EAAE;;IAnBnB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,QAAQ,EAAE,EAAE;IAGrB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAInE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAIpD,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB;IAWnE,QAAQ;IAIR,MAAM,CAAC,KAAK;CAGb"}
@@ -1,40 +1,53 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
3
3
  /**
4
4
  * Constants that are the same for the entire epoch.
5
5
  */ export class EpochConstantData {
6
+ chainId;
7
+ version;
6
8
  vkTreeRoot;
7
- protocolContractTreeRoot;
9
+ protocolContractsHash;
8
10
  proverId;
9
11
  constructor(/**
12
+ * ChainId of the rollup.
13
+ */ chainId, /**
14
+ * Version of the rollup.
15
+ */ version, /**
10
16
  * Root of the verification key tree.
11
17
  */ vkTreeRoot, /**
12
- * Root of the protocol contract tree.
13
- */ protocolContractTreeRoot, /**
18
+ * Hash of the protocol contracts list.
19
+ */ protocolContractsHash, /**
14
20
  * Identifier of the prover of the epoch.
15
21
  */ proverId){
22
+ this.chainId = chainId;
23
+ this.version = version;
16
24
  this.vkTreeRoot = vkTreeRoot;
17
- this.protocolContractTreeRoot = protocolContractTreeRoot;
25
+ this.protocolContractsHash = protocolContractsHash;
18
26
  this.proverId = proverId;
19
27
  }
20
28
  static from(fields) {
21
29
  return new EpochConstantData(...EpochConstantData.getFields(fields));
22
30
  }
23
- static fromBuffer(buffer) {
24
- const reader = BufferReader.asReader(buffer);
25
- return new EpochConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
26
- }
27
31
  static getFields(fields) {
28
32
  return [
33
+ fields.chainId,
34
+ fields.version,
29
35
  fields.vkTreeRoot,
30
- fields.protocolContractTreeRoot,
36
+ fields.protocolContractsHash,
31
37
  fields.proverId
32
38
  ];
33
39
  }
34
- static empty() {
35
- return new EpochConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO);
40
+ toFields() {
41
+ return serializeToFields(...EpochConstantData.getFields(this));
42
+ }
43
+ static fromBuffer(buffer) {
44
+ const reader = BufferReader.asReader(buffer);
45
+ return new EpochConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
36
46
  }
37
47
  toBuffer() {
38
48
  return serializeToBuffer(...EpochConstantData.getFields(this));
39
49
  }
50
+ static empty() {
51
+ return new EpochConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO);
52
+ }
40
53
  }