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

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
@@ -0,0 +1,55 @@
1
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import { AztecAddress } from '../aztec-address/index.js';
5
+ import { GasFees } from '../gas/gas_fees.js';
6
+ /**
7
+ * Constants that are the same for the entire checkpoint.
8
+ */ export class CheckpointConstantData {
9
+ chainId;
10
+ version;
11
+ vkTreeRoot;
12
+ protocolContractsHash;
13
+ proverId;
14
+ slotNumber;
15
+ coinbase;
16
+ feeRecipient;
17
+ gasFees;
18
+ constructor(/** ChainId of the rollup. */ chainId, /** Version of the rollup. */ version, /** Root of the verification key tree. */ vkTreeRoot, /** Hash of the protocol contracts list. */ protocolContractsHash, /** Identifier of the prover. */ proverId, /** Slot number of the checkpoint. */ slotNumber, /** Coinbase address of the rollup. */ coinbase, /** Address to receive fees. */ feeRecipient, /** Global gas fees for this checkpoint. */ gasFees){
19
+ this.chainId = chainId;
20
+ this.version = version;
21
+ this.vkTreeRoot = vkTreeRoot;
22
+ this.protocolContractsHash = protocolContractsHash;
23
+ this.proverId = proverId;
24
+ this.slotNumber = slotNumber;
25
+ this.coinbase = coinbase;
26
+ this.feeRecipient = feeRecipient;
27
+ this.gasFees = gasFees;
28
+ }
29
+ static from(fields) {
30
+ return new CheckpointConstantData(...CheckpointConstantData.getFields(fields));
31
+ }
32
+ static getFields(fields) {
33
+ return [
34
+ fields.chainId,
35
+ fields.version,
36
+ fields.vkTreeRoot,
37
+ fields.protocolContractsHash,
38
+ fields.proverId,
39
+ fields.slotNumber,
40
+ fields.coinbase,
41
+ fields.feeRecipient,
42
+ fields.gasFees
43
+ ];
44
+ }
45
+ static empty() {
46
+ return new CheckpointConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, EthAddress.ZERO, AztecAddress.ZERO, GasFees.empty());
47
+ }
48
+ toBuffer() {
49
+ return serializeToBuffer(...CheckpointConstantData.getFields(this));
50
+ }
51
+ static fromBuffer(buffer) {
52
+ const reader = BufferReader.asReader(buffer);
53
+ return new CheckpointConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees));
54
+ }
55
+ }
@@ -7,10 +7,9 @@ import type { FieldsOf } from '@aztec/foundation/types';
7
7
  import { inspect } from 'util';
8
8
  import { AztecAddress } from '../aztec-address/index.js';
9
9
  import { GasFees } from '../gas/index.js';
10
+ import { ContentCommitment } from '../tx/content_commitment.js';
10
11
  import type { UInt64 } from '../types/shared.js';
11
- import { ContentCommitment } from './content_commitment.js';
12
- /** The proposed values of an L2 block. */
13
- export declare class ProposedBlockHeader {
12
+ export declare class CheckpointHeader {
14
13
  /** Root of the archive tree before this block is added. */
15
14
  lastArchiveRoot: Fr;
16
15
  /** Content commitment of the L2 block. */
@@ -44,21 +43,23 @@ export declare class ProposedBlockHeader {
44
43
  gasFees: GasFees,
45
44
  /** Total mana used in the block, computed by the root rollup circuit */
46
45
  totalManaUsed: Fr);
47
- static get schema(): ZodFor<ProposedBlockHeader>;
48
- static getFields(fields: FieldsOf<ProposedBlockHeader>): readonly [Fr, ContentCommitment, Fr, bigint, EthAddress, AztecAddress, GasFees, Fr];
49
- static from(fields: FieldsOf<ProposedBlockHeader>): ProposedBlockHeader;
50
- static fromBuffer(buffer: Buffer | BufferReader): ProposedBlockHeader;
46
+ static get schema(): ZodFor<CheckpointHeader>;
47
+ static getFields(fields: FieldsOf<CheckpointHeader>): readonly [Fr, ContentCommitment, Fr, bigint, EthAddress, AztecAddress, GasFees, Fr];
48
+ static from(fields: FieldsOf<CheckpointHeader>): CheckpointHeader;
49
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointHeader;
50
+ equals(other: CheckpointHeader): boolean;
51
51
  toBuffer(): Buffer<ArrayBufferLike>;
52
52
  hash(): Fr;
53
- static empty(fields?: Partial<FieldsOf<ProposedBlockHeader>>): ProposedBlockHeader;
53
+ static empty(fields?: Partial<FieldsOf<CheckpointHeader>>): CheckpointHeader;
54
+ static random(): CheckpointHeader;
54
55
  isEmpty(): boolean;
55
56
  /**
56
57
  * Serializes this instance into a string.
57
58
  * @returns Encoded string.
58
59
  */
59
60
  toString(): `0x${string}`;
60
- static fromString(str: string): ProposedBlockHeader;
61
- static fromViem(header: ViemHeader): ProposedBlockHeader;
61
+ static fromString(str: string): CheckpointHeader;
62
+ static fromViem(header: ViemHeader): CheckpointHeader;
62
63
  toViem(): ViemHeader;
63
64
  toInspect(): {
64
65
  lastArchive: `0x${string}`;
@@ -79,4 +80,4 @@ export declare class ProposedBlockHeader {
79
80
  };
80
81
  [inspect.custom](): string;
81
82
  }
82
- //# sourceMappingURL=proposed_block_header.d.ts.map
83
+ //# sourceMappingURL=checkpoint_header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,gBAAgB;IAEzB,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;;IAfxB,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IAG1B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAa5C;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAanD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAI9C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAe/C,MAAM,CAAC,KAAK,EAAE,gBAAgB;IAa9B,QAAQ;IAcR,IAAI,IAAI,EAAE;IAIV,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM;IAc7D,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAajC,OAAO,IAAI,OAAO;IAalB;;;OAGG;IACI,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAalC,MAAM,IAAI,UAAU;IAgBpB,SAAS;;;;;;;;;;;;;;;;;IAaT,CAAC,OAAO,CAAC,MAAM,CAAC;CAajB"}
@@ -8,8 +8,8 @@ import { z } from 'zod';
8
8
  import { AztecAddress } from '../aztec-address/index.js';
9
9
  import { GasFees } from '../gas/index.js';
10
10
  import { schemas } from '../schemas/index.js';
11
- import { ContentCommitment } from './content_commitment.js';
12
- /** The proposed values of an L2 block. */ export class ProposedBlockHeader {
11
+ import { ContentCommitment } from '../tx/content_commitment.js';
12
+ export class CheckpointHeader {
13
13
  lastArchiveRoot;
14
14
  contentCommitment;
15
15
  slotNumber;
@@ -38,7 +38,7 @@ import { ContentCommitment } from './content_commitment.js';
38
38
  feeRecipient: schemas.AztecAddress,
39
39
  gasFees: GasFees.schema,
40
40
  totalManaUsed: schemas.Fr
41
- }).transform(ProposedBlockHeader.from);
41
+ }).transform(CheckpointHeader.from);
42
42
  }
43
43
  static getFields(fields) {
44
44
  return [
@@ -53,11 +53,14 @@ import { ContentCommitment } from './content_commitment.js';
53
53
  ];
54
54
  }
55
55
  static from(fields) {
56
- return new ProposedBlockHeader(...ProposedBlockHeader.getFields(fields));
56
+ return new CheckpointHeader(...CheckpointHeader.getFields(fields));
57
57
  }
58
58
  static fromBuffer(buffer) {
59
59
  const reader = BufferReader.asReader(buffer);
60
- return new ProposedBlockHeader(reader.readObject(Fr), reader.readObject(ContentCommitment), Fr.fromBuffer(reader), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr));
60
+ return new CheckpointHeader(reader.readObject(Fr), reader.readObject(ContentCommitment), Fr.fromBuffer(reader), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr));
61
+ }
62
+ equals(other) {
63
+ return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.contentCommitment.equals(other.contentCommitment) && this.slotNumber.equals(other.slotNumber) && this.timestamp === other.timestamp && this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.totalManaUsed.equals(other.totalManaUsed);
61
64
  }
62
65
  toBuffer() {
63
66
  // Note: The order here must match the order in the ProposedHeaderLib solidity library.
@@ -78,7 +81,7 @@ import { ContentCommitment } from './content_commitment.js';
78
81
  ]);
79
82
  }
80
83
  static empty(fields = {}) {
81
- return ProposedBlockHeader.from({
84
+ return CheckpointHeader.from({
82
85
  lastArchiveRoot: Fr.ZERO,
83
86
  contentCommitment: ContentCommitment.empty(),
84
87
  slotNumber: Fr.ZERO,
@@ -90,6 +93,9 @@ import { ContentCommitment } from './content_commitment.js';
90
93
  ...fields
91
94
  });
92
95
  }
96
+ static random() {
97
+ return new CheckpointHeader(Fr.random(), ContentCommitment.random(), new Fr(BigInt(Math.floor(Math.random() * 1000) + 1)), BigInt(Math.floor(Date.now() / 1000)), EthAddress.random(), new AztecAddress(Fr.random()), GasFees.random(), new Fr(BigInt(Math.floor(Math.random() * 1000000))));
98
+ }
93
99
  isEmpty() {
94
100
  return this.lastArchiveRoot.isZero() && this.contentCommitment.isEmpty() && this.slotNumber.isZero() && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero();
95
101
  }
@@ -100,10 +106,10 @@ import { ContentCommitment } from './content_commitment.js';
100
106
  return bufferToHex(this.toBuffer());
101
107
  }
102
108
  static fromString(str) {
103
- return ProposedBlockHeader.fromBuffer(hexToBuffer(str));
109
+ return CheckpointHeader.fromBuffer(hexToBuffer(str));
104
110
  }
105
111
  static fromViem(header) {
106
- return new ProposedBlockHeader(Fr.fromString(header.lastArchiveRoot), ContentCommitment.fromViem(header.contentCommitment), new Fr(header.slotNumber), header.timestamp, new EthAddress(hexToBuffer(header.coinbase)), new AztecAddress(hexToBuffer(header.feeRecipient)), new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas), new Fr(header.totalManaUsed));
112
+ return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), ContentCommitment.fromViem(header.contentCommitment), new Fr(header.slotNumber), header.timestamp, new EthAddress(hexToBuffer(header.coinbase)), new AztecAddress(hexToBuffer(header.feeRecipient)), new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas), new Fr(header.totalManaUsed));
107
113
  }
108
114
  toViem() {
109
115
  return {
@@ -0,0 +1,30 @@
1
+ import { BufferReader } from '@aztec/foundation/serialize';
2
+ import { type RollupHonkProofData } from '../proofs/proof_data.js';
3
+ import { CheckpointRollupPublicInputs } from './checkpoint_rollup_public_inputs.js';
4
+ /**
5
+ * Represents inputs of the checkpoint merge rollup circuit.
6
+ */
7
+ export declare class CheckpointMergeRollupPrivateInputs {
8
+ /**
9
+ * Previous rollup data from the 2 checkpoint root or merge rollup circuits that preceded this checkpoint merge rollup circuit.
10
+ */
11
+ previousRollups: [
12
+ RollupHonkProofData<CheckpointRollupPublicInputs>,
13
+ RollupHonkProofData<CheckpointRollupPublicInputs>
14
+ ];
15
+ constructor(
16
+ /**
17
+ * Previous rollup data from the 2 checkpoint root or merge rollup circuits that preceded this checkpoint merge rollup circuit.
18
+ */
19
+ previousRollups: [
20
+ RollupHonkProofData<CheckpointRollupPublicInputs>,
21
+ RollupHonkProofData<CheckpointRollupPublicInputs>
22
+ ]);
23
+ toBuffer(): Buffer<ArrayBufferLike>;
24
+ static fromBuffer(buffer: Buffer | BufferReader): CheckpointMergeRollupPrivateInputs;
25
+ toString(): `0x${string}`;
26
+ static fromString(str: string): CheckpointMergeRollupPrivateInputs;
27
+ toJSON(): Buffer<ArrayBufferLike>;
28
+ static get schema(): import("zod").ZodType<CheckpointMergeRollupPrivateInputs, any, string>;
29
+ }
30
+ //# sourceMappingURL=checkpoint_merge_rollup_private_inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint_merge_rollup_private_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_merge_rollup_private_inputs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF;;GAEG;AACH,qBAAa,kCAAkC;IAE3C;;OAEG;IACI,eAAe,EAAE;QACtB,mBAAmB,CAAC,4BAA4B,CAAC;QACjD,mBAAmB,CAAC,4BAA4B,CAAC;KAClD;;IAND;;OAEG;IACI,eAAe,EAAE;QACtB,mBAAmB,CAAC,4BAA4B,CAAC;QACjD,mBAAmB,CAAC,4BAA4B,CAAC;KAClD;IAGH,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,2EAEhB;CACF"}
@@ -0,0 +1,37 @@
1
+ import { bufferSchemaFor } from '@aztec/foundation/schemas';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
+ import { ProofData } from '../proofs/proof_data.js';
5
+ import { CheckpointRollupPublicInputs } from './checkpoint_rollup_public_inputs.js';
6
+ /**
7
+ * Represents inputs of the checkpoint merge rollup circuit.
8
+ */ export class CheckpointMergeRollupPrivateInputs {
9
+ previousRollups;
10
+ constructor(/**
11
+ * Previous rollup data from the 2 checkpoint root or merge rollup circuits that preceded this checkpoint merge rollup circuit.
12
+ */ previousRollups){
13
+ this.previousRollups = previousRollups;
14
+ }
15
+ toBuffer() {
16
+ return serializeToBuffer(this.previousRollups);
17
+ }
18
+ static fromBuffer(buffer) {
19
+ const reader = BufferReader.asReader(buffer);
20
+ return new CheckpointMergeRollupPrivateInputs([
21
+ ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
22
+ ProofData.fromBuffer(reader, CheckpointRollupPublicInputs)
23
+ ]);
24
+ }
25
+ toString() {
26
+ return bufferToHex(this.toBuffer());
27
+ }
28
+ static fromString(str) {
29
+ return CheckpointMergeRollupPrivateInputs.fromBuffer(hexToBuffer(str));
30
+ }
31
+ toJSON() {
32
+ return this.toBuffer();
33
+ }
34
+ static get schema() {
35
+ return bufferSchemaFor(CheckpointMergeRollupPrivateInputs);
36
+ }
37
+ }
@@ -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"}