@aztec/stdlib 0.0.1-commit.fcb71a6 → 0.0.1-commit.fffb133c

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 (531) hide show
  1. package/dest/abi/contract_artifact.d.ts +2 -2
  2. package/dest/abi/contract_artifact.d.ts.map +1 -1
  3. package/dest/abi/contract_artifact.js +1 -1
  4. package/dest/abi/function_call.d.ts +9 -1
  5. package/dest/abi/function_call.d.ts.map +1 -1
  6. package/dest/abi/selector.js +3 -1
  7. package/dest/abi/utils.d.ts +7 -1
  8. package/dest/abi/utils.d.ts.map +1 -1
  9. package/dest/abi/utils.js +7 -0
  10. package/dest/auth_witness/auth_witness.d.ts +2 -1
  11. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  12. package/dest/avm/avm.d.ts +62 -62
  13. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  14. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  15. package/dest/avm/avm_accumulated_data.js +5 -2
  16. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  17. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  18. package/dest/avm/avm_proving_request.d.ts +299 -299
  19. package/dest/avm/contract_storage_read.d.ts +13 -1
  20. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  21. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  22. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  23. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  24. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  25. package/dest/avm/public_data_read.d.ts +10 -1
  26. package/dest/avm/public_data_read.d.ts.map +1 -1
  27. package/dest/avm/public_data_update_request.d.ts +10 -1
  28. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  29. package/dest/avm/public_data_update_request.js +3 -1
  30. package/dest/avm/public_data_write.d.ts +7 -1
  31. package/dest/avm/public_data_write.d.ts.map +1 -1
  32. package/dest/avm/public_inner_call_request.d.ts +4 -1
  33. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  34. package/dest/avm/public_inner_call_request.js +3 -1
  35. package/dest/avm/revert_code.d.ts +4 -4
  36. package/dest/avm/revert_code.d.ts.map +1 -1
  37. package/dest/avm/revert_code.js +3 -1
  38. package/dest/aztec-address/index.js +4 -2
  39. package/dest/block/attestation_info.d.ts +5 -5
  40. package/dest/block/attestation_info.d.ts.map +1 -1
  41. package/dest/block/attestation_info.js +4 -4
  42. package/dest/block/block_hash.d.ts +9 -2
  43. package/dest/block/block_hash.d.ts.map +1 -1
  44. package/dest/block/block_hash.js +15 -0
  45. package/dest/block/block_parameter.d.ts +4 -3
  46. package/dest/block/block_parameter.d.ts.map +1 -1
  47. package/dest/block/block_parameter.js +2 -0
  48. package/dest/block/body.d.ts +1 -1
  49. package/dest/block/body.d.ts.map +1 -1
  50. package/dest/block/body.js +5 -2
  51. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  52. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  53. package/dest/block/checkpointed_l2_block.js +7 -45
  54. package/dest/block/index.d.ts +1 -3
  55. package/dest/block/index.d.ts.map +1 -1
  56. package/dest/block/index.js +0 -2
  57. package/dest/block/l2_block.d.ts +56 -57
  58. package/dest/block/l2_block.d.ts.map +1 -1
  59. package/dest/block/l2_block.js +64 -107
  60. package/dest/block/l2_block_source.d.ts +296 -67
  61. package/dest/block/l2_block_source.d.ts.map +1 -1
  62. package/dest/block/l2_block_source.js +25 -6
  63. package/dest/block/l2_block_stream/index.d.ts +2 -1
  64. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  65. package/dest/block/l2_block_stream/index.js +1 -0
  66. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  67. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  68. package/dest/block/l2_block_stream/l2_block_stream.d.ts +8 -3
  69. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  70. package/dest/block/l2_block_stream/l2_block_stream.js +106 -31
  71. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  72. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  73. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  74. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  75. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  76. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  77. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  78. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  79. package/dest/block/test/l2_tips_store_test_suite.js +478 -38
  80. package/dest/block/validate_block_result.d.ts +24 -24
  81. package/dest/block/validate_block_result.d.ts.map +1 -1
  82. package/dest/block/validate_block_result.js +18 -17
  83. package/dest/checkpoint/checkpoint.d.ts +30 -20
  84. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  85. package/dest/checkpoint/checkpoint.js +19 -6
  86. package/dest/checkpoint/checkpoint_info.d.ts +32 -3
  87. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  88. package/dest/checkpoint/checkpoint_info.js +34 -1
  89. package/dest/checkpoint/index.d.ts +2 -1
  90. package/dest/checkpoint/index.d.ts.map +1 -1
  91. package/dest/checkpoint/index.js +1 -0
  92. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  93. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  94. package/dest/checkpoint/published_checkpoint.js +4 -3
  95. package/dest/config/node-rpc-config.js +1 -1
  96. package/dest/contract/complete_address.d.ts +4 -1
  97. package/dest/contract/complete_address.d.ts.map +1 -1
  98. package/dest/contract/contract_deployment_data.d.ts +5 -5
  99. package/dest/contract/index.d.ts +1 -3
  100. package/dest/contract/index.d.ts.map +1 -1
  101. package/dest/contract/index.js +0 -2
  102. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  103. package/dest/contract/private_function.d.ts +1 -1
  104. package/dest/contract/private_function.d.ts.map +1 -1
  105. package/dest/contract/private_function.js +1 -2
  106. package/dest/database-version/version_manager.d.ts +4 -2
  107. package/dest/database-version/version_manager.d.ts.map +1 -1
  108. package/dest/database-version/version_manager.js +3 -1
  109. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  110. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  111. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  112. package/dest/deserialization/index.d.ts +11 -0
  113. package/dest/deserialization/index.d.ts.map +1 -0
  114. package/dest/deserialization/index.js +10 -0
  115. package/dest/epoch-helpers/index.js +1 -1
  116. package/dest/errors/proving_error.d.ts +2 -2
  117. package/dest/errors/proving_error.d.ts.map +1 -1
  118. package/dest/gas/gas.js +3 -1
  119. package/dest/gas/gas_fees.js +3 -1
  120. package/dest/interfaces/api_limit.d.ts +3 -1
  121. package/dest/interfaces/api_limit.d.ts.map +1 -1
  122. package/dest/interfaces/api_limit.js +2 -0
  123. package/dest/interfaces/archiver.d.ts +6 -6
  124. package/dest/interfaces/archiver.d.ts.map +1 -1
  125. package/dest/interfaces/archiver.js +20 -16
  126. package/dest/interfaces/aztec-node-admin.d.ts +67 -31
  127. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  128. package/dest/interfaces/aztec-node-admin.js +2 -2
  129. package/dest/interfaces/aztec-node.d.ts +70 -51
  130. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  131. package/dest/interfaces/aztec-node.js +12 -9
  132. package/dest/interfaces/block-builder.d.ts +16 -14
  133. package/dest/interfaces/block-builder.d.ts.map +1 -1
  134. package/dest/interfaces/configs.d.ts +12 -7
  135. package/dest/interfaces/configs.d.ts.map +1 -1
  136. package/dest/interfaces/configs.js +2 -1
  137. package/dest/interfaces/get_logs_response.d.ts +1 -1
  138. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  139. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  140. package/dest/interfaces/p2p.d.ts +7 -9
  141. package/dest/interfaces/p2p.d.ts.map +1 -1
  142. package/dest/interfaces/p2p.js +3 -4
  143. package/dest/interfaces/prover-client.d.ts +10 -1
  144. package/dest/interfaces/prover-client.d.ts.map +1 -1
  145. package/dest/interfaces/prover-client.js +7 -1
  146. package/dest/interfaces/proving-job.d.ts +184 -184
  147. package/dest/interfaces/proving-job.d.ts.map +1 -1
  148. package/dest/interfaces/proving-job.js +1 -7
  149. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  150. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  151. package/dest/interfaces/tx_provider.d.ts +3 -3
  152. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  153. package/dest/interfaces/validator.d.ts +108 -18
  154. package/dest/interfaces/validator.d.ts.map +1 -1
  155. package/dest/interfaces/validator.js +5 -3
  156. package/dest/kernel/claimed_length_array.js +3 -1
  157. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  158. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  159. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  160. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  161. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  162. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  163. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  164. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  165. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  166. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  167. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  168. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  169. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  170. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  171. package/dest/kernel/hints/read_request.d.ts +7 -1
  172. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  173. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  174. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  175. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  176. package/dest/kernel/log_hash.js +3 -1
  177. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  178. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  179. package/dest/kernel/private_call_data.d.ts +25 -1
  180. package/dest/kernel/private_call_data.d.ts.map +1 -1
  181. package/dest/kernel/private_call_request.d.ts +16 -1
  182. package/dest/kernel/private_call_request.d.ts.map +1 -1
  183. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  184. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  185. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  186. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  187. package/dest/kernel/private_kernel_data.d.ts +7 -1
  188. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  189. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  190. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  191. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  192. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  194. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  195. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  196. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  197. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  198. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  199. package/dest/kernel/private_log_data.js +5 -2
  200. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  201. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  202. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  203. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  204. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  205. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  206. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  207. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  208. package/dest/kernel/private_validation_requests.d.ts +10 -1
  209. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  210. package/dest/kernel/private_validation_requests.js +3 -1
  211. package/dest/kernel/public_call_request.d.ts +22 -1
  212. package/dest/kernel/public_call_request.d.ts.map +1 -1
  213. package/dest/kernel/public_call_request.js +5 -2
  214. package/dest/kernel/utils/optional_number.d.ts +7 -1
  215. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  216. package/dest/keys/public_keys.d.ts +5 -1
  217. package/dest/keys/public_keys.d.ts.map +1 -1
  218. package/dest/logs/contract_class_log.js +3 -1
  219. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  220. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  221. package/dest/logs/extended_public_log.d.ts +5 -3
  222. package/dest/logs/extended_public_log.d.ts.map +1 -1
  223. package/dest/logs/log_id.d.ts +5 -1
  224. package/dest/logs/log_id.d.ts.map +1 -1
  225. package/dest/logs/private_log.js +3 -1
  226. package/dest/logs/public_log.js +3 -1
  227. package/dest/messaging/in_hash.d.ts +4 -2
  228. package/dest/messaging/in_hash.d.ts.map +1 -1
  229. package/dest/messaging/in_hash.js +3 -1
  230. package/dest/messaging/inbox_leaf.d.ts +3 -1
  231. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  232. package/dest/messaging/l1_actor.d.ts +7 -1
  233. package/dest/messaging/l1_actor.d.ts.map +1 -1
  234. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  235. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  236. package/dest/messaging/l2_actor.d.ts +7 -1
  237. package/dest/messaging/l2_actor.d.ts.map +1 -1
  238. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  239. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  240. package/dest/messaging/l2_to_l1_membership.js +160 -42
  241. package/dest/messaging/out_hash.d.ts +41 -3
  242. package/dest/messaging/out_hash.d.ts.map +1 -1
  243. package/dest/messaging/out_hash.js +54 -19
  244. package/dest/note/note_dao.d.ts +36 -5
  245. package/dest/note/note_dao.d.ts.map +1 -1
  246. package/dest/note/note_dao.js +15 -12
  247. package/dest/p2p/attestation_utils.d.ts +3 -3
  248. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  249. package/dest/p2p/attestation_utils.js +1 -1
  250. package/dest/p2p/block_proposal.d.ts +93 -21
  251. package/dest/p2p/block_proposal.d.ts.map +1 -1
  252. package/dest/p2p/block_proposal.js +140 -39
  253. package/dest/p2p/checkpoint_attestation.d.ts +81 -0
  254. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  255. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  256. package/dest/p2p/checkpoint_proposal.d.ts +160 -0
  257. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  258. package/dest/p2p/checkpoint_proposal.js +229 -0
  259. package/dest/p2p/consensus_payload.d.ts +9 -9
  260. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  261. package/dest/p2p/consensus_payload.js +3 -5
  262. package/dest/p2p/constants.d.ts +3 -0
  263. package/dest/p2p/constants.d.ts.map +1 -0
  264. package/dest/p2p/constants.js +2 -0
  265. package/dest/p2p/gossipable.d.ts +4 -3
  266. package/dest/p2p/gossipable.d.ts.map +1 -1
  267. package/dest/p2p/gossipable.js +16 -5
  268. package/dest/p2p/index.d.ts +5 -2
  269. package/dest/p2p/index.d.ts.map +1 -1
  270. package/dest/p2p/index.js +4 -1
  271. package/dest/p2p/message_validator.d.ts +18 -3
  272. package/dest/p2p/message_validator.d.ts.map +1 -1
  273. package/dest/p2p/message_validator.js +2 -1
  274. package/dest/p2p/signature_utils.d.ts +5 -3
  275. package/dest/p2p/signature_utils.d.ts.map +1 -1
  276. package/dest/p2p/signature_utils.js +3 -1
  277. package/dest/p2p/signed_txs.d.ts +42 -0
  278. package/dest/p2p/signed_txs.d.ts.map +1 -0
  279. package/dest/p2p/signed_txs.js +75 -0
  280. package/dest/p2p/topic_type.d.ts +3 -2
  281. package/dest/p2p/topic_type.d.ts.map +1 -1
  282. package/dest/p2p/topic_type.js +10 -3
  283. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  284. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  285. package/dest/parity/parity_public_inputs.d.ts +4 -1
  286. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  287. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  288. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  289. package/dest/proofs/chonk_proof.d.ts +1 -1
  290. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  291. package/dest/proofs/chonk_proof.js +9 -4
  292. package/dest/proofs/proof.d.ts +4 -1
  293. package/dest/proofs/proof.d.ts.map +1 -1
  294. package/dest/proofs/recursive_proof.d.ts +10 -1
  295. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  296. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  297. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  298. package/dest/rollup/block_constant_data.d.ts +12 -1
  299. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  300. package/dest/rollup/block_headers_hash.js +1 -1
  301. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  302. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  303. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  304. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  305. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  306. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  307. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  308. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  309. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  310. package/dest/rollup/checkpoint_constant_data.js +3 -1
  311. package/dest/rollup/checkpoint_header.d.ts +42 -12
  312. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  313. package/dest/rollup/checkpoint_header.js +49 -19
  314. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  315. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  316. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -1
  317. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  318. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -2
  319. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  320. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  321. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  322. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  323. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  324. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  325. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  326. package/dest/rollup/root_rollup_public_inputs.d.ts +18 -3
  327. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  328. package/dest/rollup/root_rollup_public_inputs.js +9 -3
  329. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  330. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  331. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  332. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  333. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  334. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  335. package/dest/schemas/schemas.d.ts +1 -1
  336. package/dest/tests/factories.d.ts +16 -10
  337. package/dest/tests/factories.d.ts.map +1 -1
  338. package/dest/tests/factories.js +60 -25
  339. package/dest/tests/jest.js +1 -1
  340. package/dest/tests/mocks.d.ts +69 -18
  341. package/dest/tests/mocks.d.ts.map +1 -1
  342. package/dest/tests/mocks.js +119 -54
  343. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  344. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  345. package/dest/trees/append_only_tree_snapshot.js +3 -1
  346. package/dest/trees/nullifier_leaf.d.ts +13 -1
  347. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  348. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  349. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  350. package/dest/trees/public_data_leaf.d.ts +16 -1
  351. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  352. package/dest/trees/public_data_witness.d.ts +11 -1
  353. package/dest/trees/public_data_witness.d.ts.map +1 -1
  354. package/dest/tx/block_header.d.ts +14 -2
  355. package/dest/tx/block_header.d.ts.map +1 -1
  356. package/dest/tx/block_header.js +8 -2
  357. package/dest/tx/call_context.d.ts +13 -1
  358. package/dest/tx/call_context.d.ts.map +1 -1
  359. package/dest/tx/call_context.js +3 -1
  360. package/dest/tx/capsule.d.ts +4 -1
  361. package/dest/tx/capsule.d.ts.map +1 -1
  362. package/dest/tx/execution_payload.d.ts +9 -1
  363. package/dest/tx/execution_payload.d.ts.map +1 -1
  364. package/dest/tx/function_data.d.ts +4 -2
  365. package/dest/tx/function_data.d.ts.map +1 -1
  366. package/dest/tx/global_variable_builder.d.ts +2 -2
  367. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  368. package/dest/tx/global_variables.d.ts +9 -1
  369. package/dest/tx/global_variables.d.ts.map +1 -1
  370. package/dest/tx/global_variables.js +3 -1
  371. package/dest/tx/hashed_values.d.ts +7 -1
  372. package/dest/tx/hashed_values.d.ts.map +1 -1
  373. package/dest/tx/in_tx.d.ts +1 -1
  374. package/dest/tx/index.d.ts +1 -2
  375. package/dest/tx/index.d.ts.map +1 -1
  376. package/dest/tx/index.js +0 -1
  377. package/dest/tx/partial_state_reference.d.ts +4 -1
  378. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  379. package/dest/tx/private_execution_result.d.ts +23 -6
  380. package/dest/tx/private_execution_result.d.ts.map +1 -1
  381. package/dest/tx/private_execution_result.js +4 -21
  382. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  383. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  384. package/dest/tx/profiling.d.ts +149 -26
  385. package/dest/tx/profiling.d.ts.map +1 -1
  386. package/dest/tx/profiling.js +44 -7
  387. package/dest/tx/protocol_contracts.d.ts +1 -1
  388. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  389. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  390. package/dest/tx/public_call_request_with_calldata.js +3 -1
  391. package/dest/tx/state_reference.d.ts +3 -1
  392. package/dest/tx/state_reference.d.ts.map +1 -1
  393. package/dest/tx/state_reference.js +3 -1
  394. package/dest/tx/tree_snapshots.js +3 -1
  395. package/dest/tx/tx.d.ts +24 -1
  396. package/dest/tx/tx.d.ts.map +1 -1
  397. package/dest/tx/tx.js +9 -4
  398. package/dest/tx/tx_context.d.ts +2 -1
  399. package/dest/tx/tx_context.d.ts.map +1 -1
  400. package/dest/tx/tx_effect.d.ts +32 -6
  401. package/dest/tx/tx_effect.d.ts.map +1 -1
  402. package/dest/tx/tx_effect.js +3 -8
  403. package/dest/tx/tx_execution_request.d.ts +30 -1
  404. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  405. package/dest/tx/tx_execution_request.js +6 -2
  406. package/dest/tx/tx_hash.d.ts +2 -1
  407. package/dest/tx/tx_hash.d.ts.map +1 -1
  408. package/dest/tx/tx_receipt.d.ts +44 -10
  409. package/dest/tx/tx_receipt.d.ts.map +1 -1
  410. package/dest/tx/tx_receipt.js +44 -13
  411. package/dest/tx/tx_request.d.ts +6 -1
  412. package/dest/tx/tx_request.d.ts.map +1 -1
  413. package/dest/tx/validator/error_texts.d.ts +2 -1
  414. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  415. package/dest/tx/validator/error_texts.js +2 -0
  416. package/dest/types/shared.d.ts +4 -1
  417. package/dest/types/shared.d.ts.map +1 -1
  418. package/dest/validators/schemas.d.ts +8 -8
  419. package/dest/vks/verification_key.d.ts +22 -1
  420. package/dest/vks/verification_key.d.ts.map +1 -1
  421. package/dest/vks/vk_data.d.ts +7 -1
  422. package/dest/vks/vk_data.d.ts.map +1 -1
  423. package/dest/zkpassport/index.d.ts +3 -4
  424. package/dest/zkpassport/index.d.ts.map +1 -1
  425. package/dest/zkpassport/index.js +9 -9
  426. package/package.json +12 -10
  427. package/src/abi/contract_artifact.ts +10 -10
  428. package/src/abi/utils.ts +17 -0
  429. package/src/block/attestation_info.ts +9 -6
  430. package/src/block/block_hash.ts +27 -1
  431. package/src/block/block_parameter.ts +4 -2
  432. package/src/block/body.ts +2 -1
  433. package/src/block/checkpointed_l2_block.ts +8 -58
  434. package/src/block/index.ts +0 -2
  435. package/src/block/l2_block.ts +101 -148
  436. package/src/block/l2_block_source.ts +121 -43
  437. package/src/block/l2_block_stream/index.ts +1 -0
  438. package/src/block/l2_block_stream/interfaces.ts +15 -4
  439. package/src/block/l2_block_stream/l2_block_stream.ts +130 -39
  440. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  441. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  442. package/src/block/test/l2_tips_store_test_suite.ts +480 -36
  443. package/src/block/validate_block_result.ts +40 -35
  444. package/src/checkpoint/checkpoint.ts +34 -11
  445. package/src/checkpoint/checkpoint_info.ts +45 -2
  446. package/src/checkpoint/index.ts +1 -0
  447. package/src/checkpoint/published_checkpoint.ts +4 -3
  448. package/src/config/node-rpc-config.ts +1 -1
  449. package/src/contract/index.ts +0 -2
  450. package/src/contract/private_function.ts +1 -2
  451. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  452. package/src/deserialization/index.ts +21 -0
  453. package/src/epoch-helpers/index.ts +1 -1
  454. package/src/interfaces/api_limit.ts +2 -0
  455. package/src/interfaces/archiver.ts +24 -23
  456. package/src/interfaces/aztec-node-admin.ts +5 -2
  457. package/src/interfaces/aztec-node.ts +100 -68
  458. package/src/interfaces/block-builder.ts +31 -24
  459. package/src/interfaces/configs.ts +3 -0
  460. package/src/interfaces/l2_logs_source.ts +17 -4
  461. package/src/interfaces/p2p.ts +8 -12
  462. package/src/interfaces/prover-client.ts +15 -0
  463. package/src/interfaces/proving-job.ts +2 -11
  464. package/src/interfaces/server_circuit_prover.ts +3 -2
  465. package/src/interfaces/tx_provider.ts +2 -2
  466. package/src/interfaces/validator.ts +63 -14
  467. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  468. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  469. package/src/messaging/in_hash.ts +3 -1
  470. package/src/messaging/l2_to_l1_membership.ts +178 -52
  471. package/src/messaging/out_hash.ts +62 -21
  472. package/src/note/note_dao.ts +18 -13
  473. package/src/p2p/attestation_utils.ts +3 -3
  474. package/src/p2p/block_proposal.ts +204 -44
  475. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  476. package/src/p2p/checkpoint_proposal.ts +348 -0
  477. package/src/p2p/consensus_payload.ts +5 -7
  478. package/src/p2p/constants.ts +3 -0
  479. package/src/p2p/gossipable.ts +14 -4
  480. package/src/p2p/index.ts +4 -1
  481. package/src/p2p/message_validator.ts +14 -2
  482. package/src/p2p/signature_utils.ts +3 -1
  483. package/src/p2p/signed_txs.ts +88 -0
  484. package/src/p2p/topic_type.ts +4 -3
  485. package/src/proofs/chonk_proof.ts +9 -5
  486. package/src/rollup/block_headers_hash.ts +1 -1
  487. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  488. package/src/rollup/checkpoint_header.ts +63 -20
  489. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -0
  490. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  491. package/src/rollup/root_rollup_public_inputs.ts +9 -0
  492. package/src/tests/factories.ts +56 -40
  493. package/src/tests/jest.ts +1 -1
  494. package/src/tests/mocks.ts +207 -87
  495. package/src/tx/block_header.ts +11 -3
  496. package/src/tx/global_variable_builder.ts +1 -1
  497. package/src/tx/index.ts +0 -1
  498. package/src/tx/private_execution_result.ts +1 -16
  499. package/src/tx/profiling.ts +46 -4
  500. package/src/tx/tx.ts +10 -9
  501. package/src/tx/tx_effect.ts +0 -9
  502. package/src/tx/tx_execution_request.ts +2 -0
  503. package/src/tx/tx_receipt.ts +72 -15
  504. package/src/tx/validator/error_texts.ts +3 -0
  505. package/src/zkpassport/index.ts +11 -12
  506. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  507. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  508. package/dest/block/l2_block_code_to_purge.js +0 -61
  509. package/dest/block/l2_block_header.d.ts +0 -98
  510. package/dest/block/l2_block_header.d.ts.map +0 -1
  511. package/dest/block/l2_block_header.js +0 -153
  512. package/dest/block/l2_block_new.d.ts +0 -135
  513. package/dest/block/l2_block_new.d.ts.map +0 -1
  514. package/dest/block/l2_block_new.js +0 -152
  515. package/dest/contract/contract_class_metadata.d.ts +0 -8
  516. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  517. package/dest/contract/contract_class_metadata.js +0 -1
  518. package/dest/contract/contract_metadata.d.ts +0 -7
  519. package/dest/contract/contract_metadata.d.ts.map +0 -1
  520. package/dest/contract/contract_metadata.js +0 -1
  521. package/dest/p2p/block_attestation.d.ts +0 -80
  522. package/dest/p2p/block_attestation.d.ts.map +0 -1
  523. package/dest/tx/content_commitment.d.ts +0 -49
  524. package/dest/tx/content_commitment.d.ts.map +0 -1
  525. package/dest/tx/content_commitment.js +0 -90
  526. package/src/block/l2_block_code_to_purge.ts +0 -88
  527. package/src/block/l2_block_header.ts +0 -246
  528. package/src/block/l2_block_new.ts +0 -207
  529. package/src/contract/contract_class_metadata.ts +0 -8
  530. package/src/contract/contract_metadata.ts +0 -7
  531. package/src/tx/content_commitment.ts +0 -113
@@ -1,246 +0,0 @@
1
- import { SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { type ZodFor, schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
- import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
- import type { FieldsOf } from '@aztec/foundation/types';
7
-
8
- import { inspect } from 'util';
9
- import { z } from 'zod';
10
-
11
- import { CheckpointHeader } from '../rollup/checkpoint_header.js';
12
- import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
13
- import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from '../tx/index.js';
14
-
15
- /**
16
- * TO BE DELETED
17
- *
18
- * A header of an L2 block combining the block header and the checkpoint header.
19
- * This is a temporary workaround to avoid changing too many things before building in chunks is properly implemented.
20
- * This works for now because we only have one block per checkpoint.
21
- *
22
- * @deprecated Use BlockHeader or CheckpointHeader instead.
23
- */
24
- export class L2BlockHeader {
25
- constructor(
26
- /** Snapshot of archive before the block is applied. */
27
- public lastArchive: AppendOnlyTreeSnapshot,
28
- /** Hash of the body of an L2 block. */
29
- public contentCommitment: ContentCommitment,
30
- /** State reference. */
31
- public state: StateReference,
32
- /** Global variables of an L2 block. */
33
- public globalVariables: GlobalVariables,
34
- /** Total fees in the block, computed by the root rollup circuit */
35
- public totalFees: Fr,
36
- /** Total mana used in the block, computed by the root rollup circuit */
37
- public totalManaUsed: Fr,
38
- /** Hash of the sponge blob of the block. */
39
- public spongeBlobHash: Fr,
40
- /** Hash of the block headers in the checkpoint. */
41
- public blockHeadersHash: Fr,
42
- ) {}
43
-
44
- static get schema(): ZodFor<L2BlockHeader> {
45
- return z
46
- .object({
47
- lastArchive: AppendOnlyTreeSnapshot.schema,
48
- contentCommitment: ContentCommitment.schema,
49
- state: StateReference.schema,
50
- globalVariables: GlobalVariables.schema,
51
- totalFees: schemas.Fr,
52
- totalManaUsed: schemas.Fr,
53
- spongeBlobHash: schemas.Fr,
54
- blockHeadersHash: schemas.Fr,
55
- })
56
- .transform(L2BlockHeader.from);
57
- }
58
-
59
- static getFields(fields: FieldsOf<L2BlockHeader>) {
60
- return [
61
- fields.lastArchive,
62
- fields.contentCommitment,
63
- fields.state,
64
- fields.globalVariables,
65
- fields.totalFees,
66
- fields.totalManaUsed,
67
- fields.spongeBlobHash,
68
- fields.blockHeadersHash,
69
- ] as const;
70
- }
71
-
72
- static from(fields: FieldsOf<L2BlockHeader>) {
73
- return new L2BlockHeader(...L2BlockHeader.getFields(fields));
74
- }
75
-
76
- getSlot(): SlotNumber {
77
- return this.globalVariables.slotNumber;
78
- }
79
-
80
- getBlockNumber() {
81
- return this.globalVariables.blockNumber;
82
- }
83
-
84
- getSize() {
85
- return (
86
- this.lastArchive.getSize() +
87
- this.contentCommitment.getSize() +
88
- this.state.getSize() +
89
- this.globalVariables.getSize() +
90
- this.totalFees.size +
91
- this.totalManaUsed.size +
92
- this.spongeBlobHash.size +
93
- this.blockHeadersHash.size
94
- );
95
- }
96
-
97
- toBuffer() {
98
- return serializeToBuffer(...L2BlockHeader.getFields(this));
99
- }
100
-
101
- toFields(): Fr[] {
102
- return serializeToFields(...L2BlockHeader.getFields(this));
103
- }
104
-
105
- clone() {
106
- return L2BlockHeader.fromBuffer(this.toBuffer());
107
- }
108
-
109
- static fromBuffer(buffer: Buffer | BufferReader) {
110
- const reader = BufferReader.asReader(buffer);
111
-
112
- return new L2BlockHeader(
113
- reader.readObject(AppendOnlyTreeSnapshot),
114
- reader.readObject(ContentCommitment),
115
- reader.readObject(StateReference),
116
- reader.readObject(GlobalVariables),
117
- reader.readObject(Fr),
118
- reader.readObject(Fr),
119
- reader.readObject(Fr),
120
- reader.readObject(Fr),
121
- );
122
- }
123
-
124
- static fromFields(fields: Fr[] | FieldReader) {
125
- const reader = FieldReader.asReader(fields);
126
-
127
- return new L2BlockHeader(
128
- AppendOnlyTreeSnapshot.fromFields(reader),
129
- ContentCommitment.fromFields(reader),
130
- StateReference.fromFields(reader),
131
- GlobalVariables.fromFields(reader),
132
- reader.readField(),
133
- reader.readField(),
134
- reader.readField(),
135
- reader.readField(),
136
- );
137
- }
138
-
139
- static empty(fields: Partial<FieldsOf<L2BlockHeader>> = {}) {
140
- return L2BlockHeader.from({
141
- lastArchive: AppendOnlyTreeSnapshot.empty(),
142
- contentCommitment: ContentCommitment.empty(),
143
- state: StateReference.empty(),
144
- globalVariables: GlobalVariables.empty(),
145
- totalFees: Fr.ZERO,
146
- totalManaUsed: Fr.ZERO,
147
- spongeBlobHash: Fr.ZERO,
148
- blockHeadersHash: Fr.ZERO,
149
- ...fields,
150
- });
151
- }
152
-
153
- isEmpty(): boolean {
154
- return (
155
- this.lastArchive.isEmpty() &&
156
- this.contentCommitment.isEmpty() &&
157
- this.state.isEmpty() &&
158
- this.globalVariables.isEmpty() &&
159
- this.totalFees.isZero() &&
160
- this.totalManaUsed.isZero() &&
161
- this.spongeBlobHash.isZero() &&
162
- this.blockHeadersHash.isZero()
163
- );
164
- }
165
-
166
- /**
167
- * Serializes this instance into a string.
168
- * @returns Encoded string.
169
- */
170
- public toString() {
171
- return bufferToHex(this.toBuffer());
172
- }
173
-
174
- static fromString(str: string) {
175
- return L2BlockHeader.fromBuffer(hexToBuffer(str));
176
- }
177
-
178
- toCheckpointHeader() {
179
- return new CheckpointHeader(
180
- this.lastArchive.root,
181
- this.blockHeadersHash,
182
- this.contentCommitment,
183
- this.globalVariables.slotNumber,
184
- this.globalVariables.timestamp,
185
- this.globalVariables.coinbase,
186
- this.globalVariables.feeRecipient,
187
- this.globalVariables.gasFees,
188
- this.totalManaUsed,
189
- );
190
- }
191
-
192
- toBlockHeader() {
193
- return new BlockHeader(
194
- this.lastArchive,
195
- this.state,
196
- this.spongeBlobHash,
197
- this.globalVariables,
198
- this.totalFees,
199
- this.totalManaUsed,
200
- );
201
- }
202
-
203
- toInspect() {
204
- return {
205
- lastArchive: this.lastArchive.root.toString(),
206
- contentCommitment: this.contentCommitment.toInspect(),
207
- state: this.state.toInspect(),
208
- globalVariables: this.globalVariables.toInspect(),
209
- totalFees: this.totalFees.toBigInt(),
210
- totalManaUsed: this.totalManaUsed.toBigInt(),
211
- spongeBlobHash: this.spongeBlobHash.toString(),
212
- blockHeadersHash: this.blockHeadersHash.toString(),
213
- };
214
- }
215
-
216
- [inspect.custom]() {
217
- return `L2BlockHeader {
218
- lastArchive: ${inspect(this.lastArchive)},
219
- contentCommitment.blobsHash: ${inspect(this.contentCommitment.blobsHash)},
220
- contentCommitment.inHash: ${inspect(this.contentCommitment.inHash)},
221
- contentCommitment.outHash: ${inspect(this.contentCommitment.outHash)},
222
- state.l1ToL2MessageTree: ${inspect(this.state.l1ToL2MessageTree)},
223
- state.noteHashTree: ${inspect(this.state.partial.noteHashTree)},
224
- state.nullifierTree: ${inspect(this.state.partial.nullifierTree)},
225
- state.publicDataTree: ${inspect(this.state.partial.publicDataTree)},
226
- globalVariables: ${inspect(this.globalVariables)},
227
- totalFees: ${this.totalFees},
228
- totalManaUsed: ${this.totalManaUsed},
229
- spongeBlobHash: ${this.spongeBlobHash},
230
- blockHeadersHash: ${this.blockHeadersHash},
231
- }`;
232
- }
233
-
234
- public equals(other: this): boolean {
235
- return (
236
- this.contentCommitment.equals(other.contentCommitment) &&
237
- this.state.equals(other.state) &&
238
- this.globalVariables.equals(other.globalVariables) &&
239
- this.totalFees.equals(other.totalFees) &&
240
- this.totalManaUsed.equals(other.totalManaUsed) &&
241
- this.lastArchive.equals(other.lastArchive) &&
242
- this.spongeBlobHash.equals(other.spongeBlobHash) &&
243
- this.blockHeadersHash.equals(other.blockHeadersHash)
244
- );
245
- }
246
- }
@@ -1,207 +0,0 @@
1
- import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
-
6
- import { z } from 'zod';
7
-
8
- import type { PrivateLog } from '../logs/private_log.js';
9
- import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
10
- import { BlockHeader } from '../tx/block_header.js';
11
- import { Body } from './body.js';
12
- import type { L2BlockInfo } from './l2_block_info.js';
13
-
14
- /**
15
- * An L2 block with a header and a body.
16
- * TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
17
- */
18
- export class L2BlockNew {
19
- constructor(
20
- /** Snapshot of archive tree after the block is applied. */
21
- public archive: AppendOnlyTreeSnapshot,
22
- /** Header of the block. */
23
- public header: BlockHeader,
24
- /** L2 block body. */
25
- public body: Body,
26
- /** Number of the checkpoint that the block belongs to. */
27
- public checkpointNumber: CheckpointNumber,
28
- /** Index of the block within the checkpoint. */
29
- public indexWithinCheckpoint: number,
30
- ) {}
31
-
32
- get number(): BlockNumber {
33
- return this.header.globalVariables.blockNumber;
34
- }
35
-
36
- get timestamp(): bigint {
37
- return this.header.globalVariables.timestamp;
38
- }
39
-
40
- static get schema() {
41
- return z
42
- .object({
43
- archive: AppendOnlyTreeSnapshot.schema,
44
- header: BlockHeader.schema,
45
- body: Body.schema,
46
- checkpointNumber: CheckpointNumberSchema,
47
- indexWithinCheckpoint: z.number(),
48
- })
49
- .transform(
50
- ({ archive, header, body, checkpointNumber, indexWithinCheckpoint }) =>
51
- new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint),
52
- );
53
- }
54
-
55
- /**
56
- * Deserializes a block from a buffer
57
- * @returns A deserialized L2 block.
58
- */
59
- static fromBuffer(buf: Buffer | BufferReader) {
60
- const reader = BufferReader.asReader(buf);
61
- const header = reader.readObject(BlockHeader);
62
- const archive = reader.readObject(AppendOnlyTreeSnapshot);
63
- const body = reader.readObject(Body);
64
- const checkpointNumber = CheckpointNumber(reader.readNumber());
65
- const indexWithinCheckpoint = reader.readNumber();
66
-
67
- return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
68
- }
69
-
70
- /**
71
- * Serializes a block
72
- * @returns A serialized L2 block as a Buffer.
73
- */
74
- toBuffer() {
75
- return serializeToBuffer(this.header, this.archive, this.body, this.checkpointNumber, this.indexWithinCheckpoint);
76
- }
77
-
78
- /**
79
- * Returns the block's hash (hash of block header).
80
- * @returns The block's hash.
81
- */
82
- public hash(): Promise<Fr> {
83
- return this.header.hash();
84
- }
85
-
86
- /**
87
- * Checks if this block equals another block.
88
- * @param other - The other block to compare with.
89
- * @returns True if both blocks are equal.
90
- */
91
- public equals(other: this): boolean {
92
- return (
93
- this.archive.equals(other.archive) &&
94
- this.header.equals(other.header) &&
95
- this.body.equals(other.body) &&
96
- this.checkpointNumber === other.checkpointNumber &&
97
- this.indexWithinCheckpoint === other.indexWithinCheckpoint
98
- );
99
- }
100
-
101
- public toBlobFields(): Fr[] {
102
- const blockBlobData = this.toBlockBlobData();
103
- return encodeBlockBlobData(blockBlobData);
104
- }
105
-
106
- public toBlockBlobData(): BlockBlobData {
107
- const isFirstBlock = this.indexWithinCheckpoint === 0;
108
- return {
109
- blockEndMarker: {
110
- numTxs: this.body.txEffects.length,
111
- timestamp: this.header.globalVariables.timestamp,
112
- blockNumber: this.number,
113
- },
114
- blockEndStateField: {
115
- l1ToL2MessageNextAvailableLeafIndex: this.header.state.l1ToL2MessageTree.nextAvailableLeafIndex,
116
- noteHashNextAvailableLeafIndex: this.header.state.partial.noteHashTree.nextAvailableLeafIndex,
117
- nullifierNextAvailableLeafIndex: this.header.state.partial.nullifierTree.nextAvailableLeafIndex,
118
- publicDataNextAvailableLeafIndex: this.header.state.partial.publicDataTree.nextAvailableLeafIndex,
119
- totalManaUsed: this.header.totalManaUsed.toBigInt(),
120
- },
121
- lastArchiveRoot: this.header.lastArchive.root,
122
- noteHashRoot: this.header.state.partial.noteHashTree.root,
123
- nullifierRoot: this.header.state.partial.nullifierTree.root,
124
- publicDataRoot: this.header.state.partial.publicDataTree.root,
125
- l1ToL2MessageRoot: isFirstBlock ? this.header.state.l1ToL2MessageTree.root : undefined,
126
- txs: this.body.toTxBlobData(),
127
- };
128
- }
129
-
130
- static empty() {
131
- return new L2BlockNew(AppendOnlyTreeSnapshot.empty(), BlockHeader.empty(), Body.empty(), CheckpointNumber(0), 0);
132
- }
133
-
134
- /**
135
- * Creates an L2 block containing random data.
136
- * @param l2BlockNum - The number of the L2 block.
137
- * @param txsPerBlock - The number of transactions to include in the block.
138
- * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
139
- * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
140
- * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
141
- * @returns The L2 block.
142
- */
143
- static async random(
144
- blockNumber: BlockNumber,
145
- {
146
- checkpointNumber = CheckpointNumber(Number(blockNumber)),
147
- indexWithinCheckpoint = 0,
148
- txsPerBlock = 1,
149
- txOptions = {},
150
- makeTxOptions,
151
- ...blockHeaderOverrides
152
- }: {
153
- checkpointNumber?: CheckpointNumber;
154
- indexWithinCheckpoint?: number;
155
- txsPerBlock?: number;
156
- txOptions?: Partial<Parameters<typeof Body.random>[0]>;
157
- makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
158
- } & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
159
- ): Promise<L2BlockNew> {
160
- const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
161
- const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
162
- const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
163
- return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
164
- }
165
-
166
- /**
167
- * Returns stats used for logging.
168
- * @returns Stats on tx count, number, and log size and count.
169
- */
170
- getStats() {
171
- const logsStats = {
172
- privateLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.privateLogs.length, 0),
173
- publicLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.publicLogs.length, 0),
174
- contractClassLogCount: this.body.txEffects.reduce(
175
- (logCount, txEffect) => logCount + txEffect.contractClassLogs.length,
176
- 0,
177
- ),
178
- contractClassLogSize: this.body.txEffects.reduce(
179
- (totalLogSize, txEffect) =>
180
- totalLogSize + txEffect.contractClassLogs.reduce((acc, log) => acc + log.emittedLength, 0),
181
- 0,
182
- ),
183
- };
184
-
185
- return {
186
- txCount: this.body.txEffects.length,
187
- blockNumber: this.number,
188
- blockTimestamp: Number(this.header.globalVariables.timestamp),
189
- ...logsStats,
190
- };
191
- }
192
-
193
- getPrivateLogs(): PrivateLog[] {
194
- return this.body.txEffects.map(txEffect => txEffect.privateLogs).flat();
195
- }
196
-
197
- toBlockInfo(): L2BlockInfo {
198
- return {
199
- archive: this.archive.root,
200
- lastArchive: this.header.lastArchive.root,
201
- blockNumber: this.number,
202
- slotNumber: this.header.getSlot(),
203
- txCount: this.body.txEffects.length,
204
- timestamp: this.header.globalVariables.timestamp,
205
- };
206
- }
207
- }
@@ -1,8 +0,0 @@
1
- import type { ContractArtifact } from '../abi/abi.js';
2
- import type { ContractClassWithId } from './interfaces/contract_class.js';
3
-
4
- export interface ContractClassMetadata {
5
- contractClass?: ContractClassWithId | undefined;
6
- isContractClassPubliclyRegistered: boolean;
7
- artifact?: ContractArtifact | undefined;
8
- }
@@ -1,7 +0,0 @@
1
- import type { ContractInstanceWithAddress } from './interfaces/contract_instance.js';
2
-
3
- export interface ContractMetadata {
4
- contractInstance?: ContractInstanceWithAddress | undefined;
5
- isContractInitialized: boolean;
6
- isContractPublished: boolean;
7
- }
@@ -1,113 +0,0 @@
1
- import type { ViemContentCommitment } from '@aztec/ethereum/contracts';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
- import { bufferToHex } from '@aztec/foundation/string';
6
- import type { FieldsOf } from '@aztec/foundation/types';
7
-
8
- import { z } from 'zod';
9
-
10
- export class ContentCommitment {
11
- constructor(
12
- public blobsHash: Fr,
13
- public inHash: Fr,
14
- public outHash: Fr,
15
- ) {}
16
-
17
- static get schema() {
18
- return z
19
- .object({
20
- blobsHash: schemas.Fr,
21
- inHash: schemas.Fr,
22
- outHash: schemas.Fr,
23
- })
24
- .transform(({ blobsHash, inHash, outHash }) => new ContentCommitment(blobsHash, inHash, outHash));
25
- }
26
-
27
- static getFields(fields: FieldsOf<ContentCommitment>) {
28
- return [fields.blobsHash, fields.inHash, fields.outHash] as const;
29
- }
30
-
31
- static from(fields: FieldsOf<ContentCommitment>) {
32
- return new ContentCommitment(...ContentCommitment.getFields(fields));
33
- }
34
-
35
- getSize() {
36
- return this.toBuffer().length;
37
- }
38
-
39
- toBuffer() {
40
- return serializeToBuffer(...ContentCommitment.getFields(this));
41
- }
42
-
43
- static fromBuffer(buffer: Buffer | BufferReader): ContentCommitment {
44
- const reader = BufferReader.asReader(buffer);
45
-
46
- return new ContentCommitment(reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr));
47
- }
48
-
49
- toInspect() {
50
- return {
51
- blobsHash: this.blobsHash.toString(),
52
- inHash: this.inHash.toString(),
53
- outHash: this.outHash.toString(),
54
- };
55
- }
56
-
57
- toViem(): ViemContentCommitment {
58
- return {
59
- blobsHash: this.blobsHash.toString(),
60
- inHash: this.inHash.toString(),
61
- outHash: this.outHash.toString(),
62
- };
63
- }
64
-
65
- static fromViem(contentCommitment: ViemContentCommitment) {
66
- return new ContentCommitment(
67
- Fr.fromString(contentCommitment.blobsHash),
68
- Fr.fromString(contentCommitment.inHash),
69
- Fr.fromString(contentCommitment.outHash),
70
- );
71
- }
72
-
73
- toFields(): Fr[] {
74
- return serializeToFields(...ContentCommitment.getFields(this));
75
- }
76
-
77
- static fromFields(fields: Fr[] | FieldReader): ContentCommitment {
78
- const reader = FieldReader.asReader(fields);
79
- return new ContentCommitment(reader.readField(), reader.readField(), reader.readField());
80
- }
81
-
82
- static random(overrides: Partial<FieldsOf<ContentCommitment>> = {}): ContentCommitment {
83
- return ContentCommitment.from({
84
- blobsHash: Fr.random(),
85
- inHash: Fr.random(),
86
- outHash: Fr.random(),
87
- ...overrides,
88
- });
89
- }
90
-
91
- static empty(): ContentCommitment {
92
- return new ContentCommitment(Fr.zero(), Fr.zero(), Fr.zero());
93
- }
94
-
95
- isEmpty(): boolean {
96
- return this.blobsHash.isZero() && this.inHash.isZero() && this.outHash.isZero();
97
- }
98
-
99
- public toString(): string {
100
- return bufferToHex(this.toBuffer());
101
- }
102
-
103
- static fromString(str: string): ContentCommitment {
104
- const buffer = Buffer.from(str.replace(/^0x/i, ''), 'hex');
105
- return ContentCommitment.fromBuffer(buffer);
106
- }
107
-
108
- public equals(other: this): boolean {
109
- return (
110
- this.blobsHash.equals(other.blobsHash) && this.inHash.equals(other.inHash) && this.outHash.equals(other.outHash)
111
- );
112
- }
113
- }