@aztec/stdlib 3.0.3 → 4.0.0-devnet.1-patch.1

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 (720) hide show
  1. package/dest/abi/abi.d.ts +602 -4
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +7 -7
  4. package/dest/abi/contract_artifact.d.ts +2 -2
  5. package/dest/abi/contract_artifact.d.ts.map +1 -1
  6. package/dest/abi/contract_artifact.js +1 -1
  7. package/dest/abi/function_call.d.ts +47 -9
  8. package/dest/abi/function_call.d.ts.map +1 -1
  9. package/dest/abi/function_call.js +20 -3
  10. package/dest/abi/function_selector.d.ts +2 -1
  11. package/dest/abi/function_selector.d.ts.map +1 -1
  12. package/dest/abi/function_selector.js +7 -0
  13. package/dest/abi/selector.js +3 -1
  14. package/dest/abi/utils.d.ts +7 -1
  15. package/dest/abi/utils.d.ts.map +1 -1
  16. package/dest/abi/utils.js +7 -0
  17. package/dest/auth_witness/auth_witness.d.ts +2 -1
  18. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  19. package/dest/avm/avm.d.ts +62 -62
  20. package/dest/avm/avm.js +1 -1
  21. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  22. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  23. package/dest/avm/avm_accumulated_data.js +5 -2
  24. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  25. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  26. package/dest/avm/avm_proving_request.d.ts +299 -299
  27. package/dest/avm/contract_storage_read.d.ts +13 -1
  28. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  29. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  30. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  31. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  32. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  33. package/dest/avm/public_data_read.d.ts +10 -1
  34. package/dest/avm/public_data_read.d.ts.map +1 -1
  35. package/dest/avm/public_data_update_request.d.ts +10 -1
  36. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  37. package/dest/avm/public_data_update_request.js +3 -1
  38. package/dest/avm/public_data_write.d.ts +7 -1
  39. package/dest/avm/public_data_write.d.ts.map +1 -1
  40. package/dest/avm/public_inner_call_request.d.ts +4 -1
  41. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  42. package/dest/avm/public_inner_call_request.js +3 -1
  43. package/dest/avm/revert_code.d.ts +4 -4
  44. package/dest/avm/revert_code.d.ts.map +1 -1
  45. package/dest/avm/revert_code.js +3 -1
  46. package/dest/aztec-address/index.js +4 -2
  47. package/dest/block/attestation_info.d.ts +5 -5
  48. package/dest/block/attestation_info.d.ts.map +1 -1
  49. package/dest/block/attestation_info.js +4 -4
  50. package/dest/block/block_hash.d.ts +18 -14
  51. package/dest/block/block_hash.d.ts.map +1 -1
  52. package/dest/block/block_hash.js +22 -20
  53. package/dest/block/block_parameter.d.ts +4 -3
  54. package/dest/block/block_parameter.d.ts.map +1 -1
  55. package/dest/block/block_parameter.js +2 -0
  56. package/dest/block/body.d.ts +1 -1
  57. package/dest/block/body.d.ts.map +1 -1
  58. package/dest/block/body.js +5 -2
  59. package/dest/block/checkpointed_l2_block.d.ts +150 -0
  60. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  61. package/dest/block/checkpointed_l2_block.js +46 -0
  62. package/dest/block/in_block.d.ts +9 -9
  63. package/dest/block/in_block.d.ts.map +1 -1
  64. package/dest/block/in_block.js +5 -5
  65. package/dest/block/index.d.ts +2 -4
  66. package/dest/block/index.d.ts.map +1 -1
  67. package/dest/block/index.js +1 -3
  68. package/dest/block/l2_block.d.ts +57 -57
  69. package/dest/block/l2_block.d.ts.map +1 -1
  70. package/dest/block/l2_block.js +64 -108
  71. package/dest/block/l2_block_source.d.ts +344 -90
  72. package/dest/block/l2_block_source.d.ts.map +1 -1
  73. package/dest/block/l2_block_source.js +25 -6
  74. package/dest/block/l2_block_stream/index.d.ts +2 -1
  75. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  76. package/dest/block/l2_block_stream/index.js +1 -0
  77. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  78. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  79. package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -3
  80. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  81. package/dest/block/l2_block_stream/l2_block_stream.js +115 -32
  82. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  83. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  85. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  86. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  87. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  88. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  89. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  90. package/dest/block/test/l2_tips_store_test_suite.js +478 -41
  91. package/dest/block/validate_block_result.d.ts +24 -24
  92. package/dest/block/validate_block_result.d.ts.map +1 -1
  93. package/dest/block/validate_block_result.js +18 -17
  94. package/dest/checkpoint/checkpoint.d.ts +45 -20
  95. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  96. package/dest/checkpoint/checkpoint.js +59 -8
  97. package/dest/checkpoint/checkpoint_info.d.ts +38 -0
  98. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  99. package/dest/checkpoint/checkpoint_info.js +34 -0
  100. package/dest/checkpoint/index.d.ts +2 -1
  101. package/dest/checkpoint/index.d.ts.map +1 -1
  102. package/dest/checkpoint/index.js +1 -0
  103. package/dest/checkpoint/published_checkpoint.d.ts +30 -22
  104. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  105. package/dest/checkpoint/published_checkpoint.js +14 -3
  106. package/dest/config/index.d.ts +2 -1
  107. package/dest/config/index.d.ts.map +1 -1
  108. package/dest/config/index.js +1 -0
  109. package/dest/config/node-rpc-config.js +1 -1
  110. package/dest/config/sequencer-config.d.ts +10 -0
  111. package/dest/config/sequencer-config.d.ts.map +1 -0
  112. package/dest/config/sequencer-config.js +12 -0
  113. package/dest/contract/complete_address.d.ts +4 -1
  114. package/dest/contract/complete_address.d.ts.map +1 -1
  115. package/dest/contract/contract_address.js +1 -1
  116. package/dest/contract/contract_class_id.d.ts +1 -1
  117. package/dest/contract/contract_class_id.js +2 -2
  118. package/dest/contract/contract_deployment_data.d.ts +5 -5
  119. package/dest/contract/index.d.ts +1 -3
  120. package/dest/contract/index.d.ts.map +1 -1
  121. package/dest/contract/index.js +0 -2
  122. package/dest/contract/interfaces/contract_class.d.ts +11 -13
  123. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  124. package/dest/contract/interfaces/contract_class.js +18 -18
  125. package/dest/contract/interfaces/contract_instance.d.ts +28 -29
  126. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  127. package/dest/contract/interfaces/contract_instance.js +5 -5
  128. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -7
  129. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  130. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  131. package/dest/contract/interfaces/node-info.d.ts +3 -1
  132. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  133. package/dest/contract/interfaces/node-info.js +2 -1
  134. package/dest/contract/private_function.d.ts +1 -1
  135. package/dest/contract/private_function.d.ts.map +1 -1
  136. package/dest/contract/private_function.js +2 -3
  137. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  138. package/dest/contract/private_function_membership_proof.js +1 -1
  139. package/dest/database-version/database_version.d.ts +58 -0
  140. package/dest/database-version/database_version.d.ts.map +1 -0
  141. package/dest/database-version/database_version.js +69 -0
  142. package/dest/database-version/version_manager.d.ts +3 -49
  143. package/dest/database-version/version_manager.d.ts.map +1 -1
  144. package/dest/database-version/version_manager.js +1 -64
  145. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  146. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  147. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  148. package/dest/deserialization/index.d.ts +11 -0
  149. package/dest/deserialization/index.d.ts.map +1 -0
  150. package/dest/deserialization/index.js +10 -0
  151. package/dest/epoch-helpers/index.d.ts +7 -1
  152. package/dest/epoch-helpers/index.d.ts.map +1 -1
  153. package/dest/epoch-helpers/index.js +12 -6
  154. package/dest/errors/proving_error.d.ts +2 -2
  155. package/dest/errors/proving_error.d.ts.map +1 -1
  156. package/dest/gas/gas.js +3 -1
  157. package/dest/gas/gas_fees.js +3 -1
  158. package/dest/hash/hash.d.ts +1 -9
  159. package/dest/hash/hash.d.ts.map +1 -1
  160. package/dest/hash/hash.js +2 -14
  161. package/dest/hash/map_slot.d.ts +1 -1
  162. package/dest/hash/map_slot.d.ts.map +1 -1
  163. package/dest/hash/map_slot.js +4 -3
  164. package/dest/interfaces/allowed_element.d.ts +7 -8
  165. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  166. package/dest/interfaces/allowed_element.js +3 -3
  167. package/dest/interfaces/api_limit.d.ts +3 -1
  168. package/dest/interfaces/api_limit.d.ts.map +1 -1
  169. package/dest/interfaces/api_limit.js +2 -0
  170. package/dest/interfaces/archiver.d.ts +6 -6
  171. package/dest/interfaces/archiver.d.ts.map +1 -1
  172. package/dest/interfaces/archiver.js +25 -15
  173. package/dest/interfaces/aztec-node-admin.d.ts +110 -41
  174. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  175. package/dest/interfaces/aztec-node-admin.js +6 -4
  176. package/dest/interfaces/aztec-node.d.ts +77 -79
  177. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  178. package/dest/interfaces/aztec-node.js +16 -17
  179. package/dest/interfaces/block-builder.d.ts +22 -13
  180. package/dest/interfaces/block-builder.d.ts.map +1 -1
  181. package/dest/interfaces/block-builder.js +16 -1
  182. package/dest/interfaces/configs.d.ts +56 -27
  183. package/dest/interfaces/configs.d.ts.map +1 -1
  184. package/dest/interfaces/configs.js +12 -6
  185. package/dest/interfaces/get_logs_response.d.ts +27 -5
  186. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  187. package/dest/interfaces/get_logs_response.js +5 -4
  188. package/dest/interfaces/l2_logs_source.d.ts +21 -8
  189. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  190. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  191. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  192. package/dest/interfaces/p2p.d.ts +7 -9
  193. package/dest/interfaces/p2p.d.ts.map +1 -1
  194. package/dest/interfaces/p2p.js +3 -4
  195. package/dest/interfaces/prover-broker.d.ts +16 -1
  196. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  197. package/dest/interfaces/prover-broker.js +4 -1
  198. package/dest/interfaces/prover-client.d.ts +19 -3
  199. package/dest/interfaces/prover-client.d.ts.map +1 -1
  200. package/dest/interfaces/prover-client.js +16 -4
  201. package/dest/interfaces/proving-job.d.ts +218 -218
  202. package/dest/interfaces/proving-job.d.ts.map +1 -1
  203. package/dest/interfaces/proving-job.js +1 -7
  204. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  205. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  206. package/dest/interfaces/slasher.d.ts +9 -1
  207. package/dest/interfaces/slasher.d.ts.map +1 -1
  208. package/dest/interfaces/slasher.js +5 -3
  209. package/dest/interfaces/tx_provider.d.ts +3 -3
  210. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  211. package/dest/interfaces/validator.d.ts +161 -26
  212. package/dest/interfaces/validator.d.ts.map +1 -1
  213. package/dest/interfaces/validator.js +12 -7
  214. package/dest/interfaces/world_state.d.ts +17 -8
  215. package/dest/interfaces/world_state.d.ts.map +1 -1
  216. package/dest/kernel/claimed_length_array.js +3 -1
  217. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  218. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  219. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  220. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  221. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  222. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  223. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  224. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  225. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  226. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  227. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  228. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  229. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  230. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  231. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  232. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  233. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  234. package/dest/kernel/hints/read_request.d.ts +7 -1
  235. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  236. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  237. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  238. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  239. package/dest/kernel/log_hash.js +3 -1
  240. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  241. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  242. package/dest/kernel/private_call_data.d.ts +25 -1
  243. package/dest/kernel/private_call_data.d.ts.map +1 -1
  244. package/dest/kernel/private_call_request.d.ts +16 -1
  245. package/dest/kernel/private_call_request.d.ts.map +1 -1
  246. package/dest/kernel/private_circuit_public_inputs.d.ts +120 -47
  247. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  248. package/dest/kernel/private_circuit_public_inputs.js +59 -59
  249. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  250. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  251. package/dest/kernel/private_kernel_data.d.ts +7 -1
  252. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  253. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  254. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  255. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  256. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  257. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  258. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  259. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  260. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  261. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  262. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  263. package/dest/kernel/private_log_data.js +5 -2
  264. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  265. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  266. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  267. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  268. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  269. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  270. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  271. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  272. package/dest/kernel/private_validation_requests.d.ts +10 -1
  273. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  274. package/dest/kernel/private_validation_requests.js +3 -1
  275. package/dest/kernel/public_call_request.d.ts +22 -1
  276. package/dest/kernel/public_call_request.d.ts.map +1 -1
  277. package/dest/kernel/public_call_request.js +5 -2
  278. package/dest/kernel/utils/optional_number.d.ts +7 -1
  279. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  280. package/dest/keys/derivation.d.ts +3 -3
  281. package/dest/keys/derivation.js +8 -8
  282. package/dest/keys/key_types.d.ts +1 -1
  283. package/dest/keys/public_keys.d.ts +5 -1
  284. package/dest/keys/public_keys.d.ts.map +1 -1
  285. package/dest/keys/utils.d.ts +1 -1
  286. package/dest/keys/utils.d.ts.map +1 -1
  287. package/dest/keys/utils.js +7 -3
  288. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  289. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  290. package/dest/l1-contracts/slash_factory.js +1 -0
  291. package/dest/logs/contract_class_log.js +3 -1
  292. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  293. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  294. package/dest/logs/extended_public_log.d.ts +17 -3
  295. package/dest/logs/extended_public_log.d.ts.map +1 -1
  296. package/dest/logs/index.d.ts +3 -2
  297. package/dest/logs/index.d.ts.map +1 -1
  298. package/dest/logs/index.js +2 -1
  299. package/dest/logs/log_id.d.ts +22 -7
  300. package/dest/logs/log_id.d.ts.map +1 -1
  301. package/dest/logs/log_id.js +23 -13
  302. package/dest/logs/private_log.d.ts +1 -1
  303. package/dest/logs/private_log.d.ts.map +1 -1
  304. package/dest/logs/private_log.js +5 -2
  305. package/dest/logs/public_log.js +3 -1
  306. package/dest/logs/siloed_tag.d.ts +23 -0
  307. package/dest/logs/siloed_tag.d.ts.map +1 -0
  308. package/dest/logs/siloed_tag.js +31 -0
  309. package/dest/logs/tag.d.ts +21 -0
  310. package/dest/logs/tag.d.ts.map +1 -0
  311. package/dest/logs/tag.js +30 -0
  312. package/dest/logs/tx_scoped_l2_log.d.ts +24 -33
  313. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  314. package/dest/logs/tx_scoped_l2_log.js +37 -43
  315. package/dest/messaging/in_hash.d.ts +4 -2
  316. package/dest/messaging/in_hash.d.ts.map +1 -1
  317. package/dest/messaging/in_hash.js +3 -1
  318. package/dest/messaging/inbox_leaf.d.ts +3 -1
  319. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  320. package/dest/messaging/l1_actor.d.ts +7 -1
  321. package/dest/messaging/l1_actor.d.ts.map +1 -1
  322. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  323. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  324. package/dest/messaging/l2_actor.d.ts +7 -1
  325. package/dest/messaging/l2_actor.d.ts.map +1 -1
  326. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  327. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  328. package/dest/messaging/l2_to_l1_membership.js +160 -42
  329. package/dest/messaging/out_hash.d.ts +41 -3
  330. package/dest/messaging/out_hash.d.ts.map +1 -1
  331. package/dest/messaging/out_hash.js +54 -19
  332. package/dest/note/note_dao.d.ts +36 -5
  333. package/dest/note/note_dao.d.ts.map +1 -1
  334. package/dest/note/note_dao.js +15 -12
  335. package/dest/p2p/attestation_utils.d.ts +3 -3
  336. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  337. package/dest/p2p/attestation_utils.js +1 -1
  338. package/dest/p2p/block_proposal.d.ts +102 -23
  339. package/dest/p2p/block_proposal.d.ts.map +1 -1
  340. package/dest/p2p/block_proposal.js +140 -39
  341. package/dest/p2p/checkpoint_attestation.d.ts +81 -0
  342. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  343. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  344. package/dest/p2p/checkpoint_proposal.d.ts +174 -0
  345. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  346. package/dest/p2p/checkpoint_proposal.js +238 -0
  347. package/dest/p2p/consensus_payload.d.ts +9 -9
  348. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  349. package/dest/p2p/consensus_payload.js +3 -5
  350. package/dest/p2p/constants.d.ts +5 -0
  351. package/dest/p2p/constants.d.ts.map +1 -0
  352. package/dest/p2p/constants.js +3 -0
  353. package/dest/p2p/gossipable.d.ts +4 -3
  354. package/dest/p2p/gossipable.d.ts.map +1 -1
  355. package/dest/p2p/gossipable.js +16 -5
  356. package/dest/p2p/index.d.ts +5 -2
  357. package/dest/p2p/index.d.ts.map +1 -1
  358. package/dest/p2p/index.js +4 -1
  359. package/dest/p2p/message_validator.d.ts +18 -3
  360. package/dest/p2p/message_validator.d.ts.map +1 -1
  361. package/dest/p2p/message_validator.js +2 -1
  362. package/dest/p2p/signature_utils.d.ts +5 -3
  363. package/dest/p2p/signature_utils.d.ts.map +1 -1
  364. package/dest/p2p/signature_utils.js +3 -1
  365. package/dest/p2p/signed_txs.d.ts +42 -0
  366. package/dest/p2p/signed_txs.d.ts.map +1 -0
  367. package/dest/p2p/signed_txs.js +75 -0
  368. package/dest/p2p/topic_type.d.ts +3 -2
  369. package/dest/p2p/topic_type.d.ts.map +1 -1
  370. package/dest/p2p/topic_type.js +10 -3
  371. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  372. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  373. package/dest/parity/parity_public_inputs.d.ts +4 -1
  374. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  375. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  376. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  377. package/dest/proofs/chonk_proof.d.ts +1 -1
  378. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  379. package/dest/proofs/chonk_proof.js +9 -4
  380. package/dest/proofs/proof.d.ts +4 -1
  381. package/dest/proofs/proof.d.ts.map +1 -1
  382. package/dest/proofs/recursive_proof.d.ts +10 -1
  383. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  384. package/dest/rollup/avm_proof_data.d.ts +1 -3
  385. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  386. package/dest/rollup/avm_proof_data.js +1 -9
  387. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  388. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  389. package/dest/rollup/block_constant_data.d.ts +12 -1
  390. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  391. package/dest/rollup/block_headers_hash.js +1 -1
  392. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  393. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  394. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  395. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  396. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  397. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  398. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  399. package/dest/rollup/checkpoint_constant_data.d.ts +11 -1
  400. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  401. package/dest/rollup/checkpoint_constant_data.js +4 -1
  402. package/dest/rollup/checkpoint_header.d.ts +46 -12
  403. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  404. package/dest/rollup/checkpoint_header.js +53 -20
  405. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  406. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  407. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +46 -6
  408. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  409. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
  410. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  411. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  412. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  413. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  414. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  415. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  416. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  417. package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
  418. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  419. package/dest/rollup/root_rollup_public_inputs.js +10 -4
  420. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  421. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  422. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  423. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  424. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  425. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  426. package/dest/schemas/schemas.d.ts +5 -3
  427. package/dest/schemas/schemas.d.ts.map +1 -1
  428. package/dest/schemas/schemas.js +2 -1
  429. package/dest/slashing/empire.d.ts +1 -1
  430. package/dest/slashing/empire.d.ts.map +1 -1
  431. package/dest/slashing/empire.js +2 -0
  432. package/dest/slashing/helpers.d.ts +2 -2
  433. package/dest/slashing/helpers.d.ts.map +1 -1
  434. package/dest/slashing/helpers.js +6 -0
  435. package/dest/slashing/tally.d.ts +2 -1
  436. package/dest/slashing/tally.d.ts.map +1 -1
  437. package/dest/slashing/tally.js +6 -2
  438. package/dest/slashing/types.d.ts +10 -7
  439. package/dest/slashing/types.d.ts.map +1 -1
  440. package/dest/slashing/types.js +18 -6
  441. package/dest/snapshots/types.d.ts +1 -1
  442. package/dest/snapshots/types.d.ts.map +1 -1
  443. package/dest/snapshots/types.js +5 -5
  444. package/dest/stats/stats.d.ts +10 -8
  445. package/dest/stats/stats.d.ts.map +1 -1
  446. package/dest/tests/factories.d.ts +39 -10
  447. package/dest/tests/factories.d.ts.map +1 -1
  448. package/dest/tests/factories.js +81 -26
  449. package/dest/tests/jest.js +1 -1
  450. package/dest/tests/mocks.d.ts +76 -20
  451. package/dest/tests/mocks.d.ts.map +1 -1
  452. package/dest/tests/mocks.js +139 -60
  453. package/dest/timetable/index.d.ts +37 -0
  454. package/dest/timetable/index.d.ts.map +1 -0
  455. package/dest/timetable/index.js +39 -0
  456. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  457. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  458. package/dest/trees/append_only_tree_snapshot.js +3 -1
  459. package/dest/trees/nullifier_leaf.d.ts +13 -1
  460. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  461. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  462. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  463. package/dest/trees/public_data_leaf.d.ts +16 -1
  464. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  465. package/dest/trees/public_data_witness.d.ts +11 -1
  466. package/dest/trees/public_data_witness.d.ts.map +1 -1
  467. package/dest/tx/block_header.d.ts +21 -8
  468. package/dest/tx/block_header.d.ts.map +1 -1
  469. package/dest/tx/block_header.js +12 -2
  470. package/dest/tx/call_context.d.ts +13 -1
  471. package/dest/tx/call_context.d.ts.map +1 -1
  472. package/dest/tx/call_context.js +3 -1
  473. package/dest/tx/capsule.d.ts +4 -1
  474. package/dest/tx/capsule.d.ts.map +1 -1
  475. package/dest/tx/execution_payload.d.ts +9 -1
  476. package/dest/tx/execution_payload.d.ts.map +1 -1
  477. package/dest/tx/function_data.d.ts +4 -2
  478. package/dest/tx/function_data.d.ts.map +1 -1
  479. package/dest/tx/global_variable_builder.d.ts +5 -3
  480. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  481. package/dest/tx/global_variables.d.ts +14 -1
  482. package/dest/tx/global_variables.d.ts.map +1 -1
  483. package/dest/tx/global_variables.js +3 -1
  484. package/dest/tx/hashed_values.d.ts +7 -1
  485. package/dest/tx/hashed_values.d.ts.map +1 -1
  486. package/dest/tx/in_tx.d.ts +4 -4
  487. package/dest/tx/index.d.ts +1 -2
  488. package/dest/tx/index.d.ts.map +1 -1
  489. package/dest/tx/index.js +0 -1
  490. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  491. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  492. package/dest/tx/indexed_tx_effect.js +3 -2
  493. package/dest/tx/partial_state_reference.d.ts +4 -1
  494. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  495. package/dest/tx/private_execution_result.d.ts +24 -7
  496. package/dest/tx/private_execution_result.d.ts.map +1 -1
  497. package/dest/tx/private_execution_result.js +4 -21
  498. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  499. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  500. package/dest/tx/profiling.d.ts +149 -26
  501. package/dest/tx/profiling.d.ts.map +1 -1
  502. package/dest/tx/profiling.js +44 -7
  503. package/dest/tx/protocol_contracts.d.ts +1 -1
  504. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  505. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  506. package/dest/tx/public_call_request_with_calldata.js +3 -1
  507. package/dest/tx/simulated_tx.d.ts +1031 -7
  508. package/dest/tx/simulated_tx.d.ts.map +1 -1
  509. package/dest/tx/state_reference.d.ts +3 -1
  510. package/dest/tx/state_reference.d.ts.map +1 -1
  511. package/dest/tx/state_reference.js +3 -1
  512. package/dest/tx/tree_snapshots.js +3 -1
  513. package/dest/tx/tx.d.ts +33 -3
  514. package/dest/tx/tx.d.ts.map +1 -1
  515. package/dest/tx/tx.js +18 -6
  516. package/dest/tx/tx_context.d.ts +2 -1
  517. package/dest/tx/tx_context.d.ts.map +1 -1
  518. package/dest/tx/tx_effect.d.ts +32 -6
  519. package/dest/tx/tx_effect.d.ts.map +1 -1
  520. package/dest/tx/tx_effect.js +6 -9
  521. package/dest/tx/tx_execution_request.d.ts +30 -1
  522. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  523. package/dest/tx/tx_execution_request.js +6 -2
  524. package/dest/tx/tx_hash.d.ts +2 -1
  525. package/dest/tx/tx_hash.d.ts.map +1 -1
  526. package/dest/tx/tx_receipt.d.ts +47 -13
  527. package/dest/tx/tx_receipt.d.ts.map +1 -1
  528. package/dest/tx/tx_receipt.js +46 -15
  529. package/dest/tx/tx_request.d.ts +6 -1
  530. package/dest/tx/tx_request.d.ts.map +1 -1
  531. package/dest/tx/validator/empty_validator.d.ts +2 -2
  532. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  533. package/dest/tx/validator/error_texts.d.ts +2 -1
  534. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  535. package/dest/tx/validator/error_texts.js +2 -0
  536. package/dest/tx/validator/tx_validator.d.ts +2 -5
  537. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  538. package/dest/tx/validator/tx_validator.js +4 -4
  539. package/dest/types/shared.d.ts +4 -1
  540. package/dest/types/shared.d.ts.map +1 -1
  541. package/dest/validators/schemas.d.ts +9 -9
  542. package/dest/validators/schemas.d.ts.map +1 -1
  543. package/dest/validators/schemas.js +13 -13
  544. package/dest/vks/verification_key.d.ts +22 -1
  545. package/dest/vks/verification_key.d.ts.map +1 -1
  546. package/dest/vks/vk_data.d.ts +7 -1
  547. package/dest/vks/vk_data.d.ts.map +1 -1
  548. package/dest/zkpassport/index.d.ts +3 -4
  549. package/dest/zkpassport/index.d.ts.map +1 -1
  550. package/dest/zkpassport/index.js +9 -9
  551. package/package.json +27 -13
  552. package/src/abi/abi.ts +39 -33
  553. package/src/abi/contract_artifact.ts +10 -10
  554. package/src/abi/function_call.ts +25 -3
  555. package/src/abi/function_selector.ts +8 -0
  556. package/src/abi/utils.ts +17 -0
  557. package/src/avm/avm.ts +1 -1
  558. package/src/block/attestation_info.ts +9 -6
  559. package/src/block/block_hash.ts +26 -25
  560. package/src/block/block_parameter.ts +4 -2
  561. package/src/block/body.ts +2 -1
  562. package/src/block/checkpointed_l2_block.ts +70 -0
  563. package/src/block/in_block.ts +6 -6
  564. package/src/block/index.ts +1 -3
  565. package/src/block/l2_block.ts +102 -149
  566. package/src/block/l2_block_source.ts +175 -68
  567. package/src/block/l2_block_stream/index.ts +1 -0
  568. package/src/block/l2_block_stream/interfaces.ts +15 -4
  569. package/src/block/l2_block_stream/l2_block_stream.ts +139 -39
  570. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  571. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  572. package/src/block/test/l2_tips_store_test_suite.ts +480 -35
  573. package/src/block/validate_block_result.ts +40 -35
  574. package/src/checkpoint/checkpoint.ts +82 -12
  575. package/src/checkpoint/checkpoint_info.ts +52 -0
  576. package/src/checkpoint/index.ts +1 -0
  577. package/src/checkpoint/published_checkpoint.ts +22 -7
  578. package/src/config/index.ts +1 -0
  579. package/src/config/node-rpc-config.ts +1 -1
  580. package/src/config/sequencer-config.ts +19 -0
  581. package/src/contract/contract_address.ts +1 -1
  582. package/src/contract/contract_class_id.ts +2 -2
  583. package/src/contract/index.ts +0 -2
  584. package/src/contract/interfaces/contract_class.ts +59 -46
  585. package/src/contract/interfaces/contract_instance.ts +15 -13
  586. package/src/contract/interfaces/contract_instance_update.ts +11 -9
  587. package/src/contract/interfaces/node-info.ts +3 -0
  588. package/src/contract/private_function.ts +2 -3
  589. package/src/contract/private_function_membership_proof.ts +1 -1
  590. package/src/database-version/database_version.ts +87 -0
  591. package/src/database-version/version_manager.ts +1 -77
  592. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  593. package/src/deserialization/index.ts +21 -0
  594. package/src/epoch-helpers/index.ts +24 -10
  595. package/src/hash/hash.ts +2 -13
  596. package/src/hash/map_slot.ts +3 -2
  597. package/src/interfaces/allowed_element.ts +9 -7
  598. package/src/interfaces/api_limit.ts +2 -0
  599. package/src/interfaces/archiver.ts +33 -23
  600. package/src/interfaces/aztec-node-admin.ts +10 -6
  601. package/src/interfaces/aztec-node.ts +118 -134
  602. package/src/interfaces/block-builder.ts +50 -23
  603. package/src/interfaces/configs.ts +67 -33
  604. package/src/interfaces/get_logs_response.ts +13 -9
  605. package/src/interfaces/l2_logs_source.ts +25 -7
  606. package/src/interfaces/merkle_tree_operations.ts +4 -1
  607. package/src/interfaces/p2p.ts +8 -12
  608. package/src/interfaces/prover-broker.ts +22 -0
  609. package/src/interfaces/prover-client.ts +35 -10
  610. package/src/interfaces/proving-job.ts +2 -11
  611. package/src/interfaces/server_circuit_prover.ts +3 -3
  612. package/src/interfaces/slasher.ts +28 -22
  613. package/src/interfaces/tx_provider.ts +2 -2
  614. package/src/interfaces/validator.ts +92 -31
  615. package/src/interfaces/world_state.ts +16 -9
  616. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  617. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  618. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  619. package/src/kernel/private_circuit_public_inputs.ts +85 -85
  620. package/src/keys/derivation.ts +8 -8
  621. package/src/keys/key_types.ts +1 -1
  622. package/src/keys/utils.ts +7 -3
  623. package/src/l1-contracts/slash_factory.ts +1 -0
  624. package/src/logs/index.ts +2 -1
  625. package/src/logs/log_id.ts +26 -12
  626. package/src/logs/private_log.ts +2 -1
  627. package/src/logs/siloed_tag.ts +45 -0
  628. package/src/logs/tag.ts +42 -0
  629. package/src/logs/tx_scoped_l2_log.ts +45 -43
  630. package/src/messaging/in_hash.ts +3 -1
  631. package/src/messaging/l1_to_l2_message.ts +1 -0
  632. package/src/messaging/l2_to_l1_membership.ts +178 -52
  633. package/src/messaging/out_hash.ts +62 -21
  634. package/src/note/note_dao.ts +18 -13
  635. package/src/p2p/attestation_utils.ts +3 -3
  636. package/src/p2p/block_proposal.ts +213 -46
  637. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  638. package/src/p2p/checkpoint_proposal.ts +365 -0
  639. package/src/p2p/consensus_payload.ts +5 -7
  640. package/src/p2p/constants.ts +6 -0
  641. package/src/p2p/gossipable.ts +14 -4
  642. package/src/p2p/index.ts +4 -1
  643. package/src/p2p/message_validator.ts +14 -2
  644. package/src/p2p/signature_utils.ts +3 -1
  645. package/src/p2p/signed_txs.ts +88 -0
  646. package/src/p2p/topic_type.ts +4 -3
  647. package/src/proofs/chonk_proof.ts +9 -5
  648. package/src/rollup/avm_proof_data.ts +0 -7
  649. package/src/rollup/block_headers_hash.ts +1 -1
  650. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  651. package/src/rollup/checkpoint_constant_data.ts +1 -0
  652. package/src/rollup/checkpoint_header.ts +67 -20
  653. package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
  654. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  655. package/src/rollup/root_rollup_public_inputs.ts +16 -7
  656. package/src/schemas/schemas.ts +4 -0
  657. package/src/slashing/empire.ts +3 -1
  658. package/src/slashing/helpers.ts +8 -0
  659. package/src/slashing/tally.ts +8 -2
  660. package/src/slashing/types.ts +38 -20
  661. package/src/snapshots/types.ts +33 -29
  662. package/src/stats/stats.ts +10 -7
  663. package/src/tests/factories.ts +103 -42
  664. package/src/tests/jest.ts +1 -1
  665. package/src/tests/mocks.ts +226 -92
  666. package/src/timetable/index.ts +66 -0
  667. package/src/tx/block_header.ts +21 -8
  668. package/src/tx/global_variable_builder.ts +9 -2
  669. package/src/tx/global_variables.ts +6 -0
  670. package/src/tx/index.ts +0 -1
  671. package/src/tx/indexed_tx_effect.ts +3 -2
  672. package/src/tx/private_execution_result.ts +2 -17
  673. package/src/tx/profiling.ts +46 -4
  674. package/src/tx/tx.ts +19 -11
  675. package/src/tx/tx_effect.ts +3 -10
  676. package/src/tx/tx_execution_request.ts +2 -0
  677. package/src/tx/tx_receipt.ts +75 -18
  678. package/src/tx/validator/empty_validator.ts +1 -1
  679. package/src/tx/validator/error_texts.ts +3 -0
  680. package/src/tx/validator/tx_validator.ts +9 -7
  681. package/src/validators/schemas.ts +54 -48
  682. package/src/zkpassport/index.ts +11 -12
  683. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  684. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  685. package/dest/block/l2_block_code_to_purge.js +0 -61
  686. package/dest/block/l2_block_header.d.ts +0 -98
  687. package/dest/block/l2_block_header.d.ts.map +0 -1
  688. package/dest/block/l2_block_header.js +0 -153
  689. package/dest/block/l2_block_new.d.ts +0 -130
  690. package/dest/block/l2_block_new.d.ts.map +0 -1
  691. package/dest/block/l2_block_new.js +0 -151
  692. package/dest/block/published_l2_block.d.ts +0 -130
  693. package/dest/block/published_l2_block.d.ts.map +0 -1
  694. package/dest/block/published_l2_block.js +0 -48
  695. package/dest/contract/contract_class_metadata.d.ts +0 -8
  696. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  697. package/dest/contract/contract_class_metadata.js +0 -1
  698. package/dest/contract/contract_metadata.d.ts +0 -7
  699. package/dest/contract/contract_metadata.d.ts.map +0 -1
  700. package/dest/contract/contract_metadata.js +0 -1
  701. package/dest/database-version/index.d.ts +0 -2
  702. package/dest/database-version/index.d.ts.map +0 -1
  703. package/dest/database-version/index.js +0 -1
  704. package/dest/logs/log_with_tx_data.d.ts +0 -19
  705. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  706. package/dest/logs/log_with_tx_data.js +0 -49
  707. package/dest/p2p/block_attestation.d.ts +0 -80
  708. package/dest/p2p/block_attestation.d.ts.map +0 -1
  709. package/dest/tx/content_commitment.d.ts +0 -49
  710. package/dest/tx/content_commitment.d.ts.map +0 -1
  711. package/dest/tx/content_commitment.js +0 -90
  712. package/src/block/l2_block_code_to_purge.ts +0 -88
  713. package/src/block/l2_block_header.ts +0 -246
  714. package/src/block/l2_block_new.ts +0 -197
  715. package/src/block/published_l2_block.ts +0 -65
  716. package/src/contract/contract_class_metadata.ts +0 -8
  717. package/src/contract/contract_metadata.ts +0 -7
  718. package/src/database-version/index.ts +0 -1
  719. package/src/logs/log_with_tx_data.ts +0 -46
  720. package/src/tx/content_commitment.ts +0 -113
@@ -5,57 +5,62 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
 
6
6
  import { z } from 'zod';
7
7
 
8
- import { BlockInfoSchema, type L2BlockInfo, deserializeBlockInfo, serializeBlockInfo } from './l2_block_info.js';
8
+ import {
9
+ type CheckpointInfo,
10
+ CheckpointInfoSchema,
11
+ deserializeCheckpointInfo,
12
+ serializeCheckpointInfo,
13
+ } from '../checkpoint/checkpoint_info.js';
14
+ import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
9
15
  import { CommitteeAttestation } from './proposal/committee_attestation.js';
10
16
 
11
- /** Subtype for invalid block validation results */
12
- export type ValidateBlockNegativeResult =
17
+ /** Subtype for invalid checkpoint validation results */
18
+ export type ValidateCheckpointNegativeResult =
13
19
  | {
14
20
  valid: false;
15
- /** Identifiers from the invalid block */
16
- block: L2BlockInfo;
17
- /** Committee members at the epoch this block was proposed */
21
+ /** Identifiers from the invalid checkpoint */
22
+ checkpoint: CheckpointInfo;
23
+ /** Committee members at the epoch this checkpoint was proposed */
18
24
  committee: EthAddress[];
19
- /** Epoch in which this block was proposed */
25
+ /** Epoch in which this checkpoint was proposed */
20
26
  epoch: EpochNumber;
21
27
  /** Proposer selection seed for the epoch */
22
28
  seed: bigint;
23
- /** List of committee members who signed this block proposal */
29
+ /** List of committee members who signed this checkpoint proposal */
24
30
  attestors: EthAddress[];
25
- /** Committee attestations for this block as they were posted to L1 */
31
+ /** Committee attestations for this checkpoint as they were posted to L1 */
26
32
  attestations: CommitteeAttestation[];
27
- /** Reason for the block being invalid: not enough attestations were posted */
33
+ /** Reason for the checkpoint being invalid: not enough attestations were posted */
28
34
  reason: 'insufficient-attestations';
29
35
  }
30
36
  | {
31
37
  valid: false;
32
- /** Identifiers from the invalid block */
33
- block: L2BlockInfo;
34
- /** Committee members at the epoch this block was proposed */
38
+ /** Identifiers from the invalid checkpoint */
39
+ checkpoint: CheckpointInfo;
40
+ /** Committee members at the epoch this checkpoint was proposed */
35
41
  committee: EthAddress[];
36
- /** Epoch in which this block was proposed */
42
+ /** Epoch in which this checkpoint was proposed */
37
43
  epoch: EpochNumber;
38
44
  /** Proposer selection seed for the epoch */
39
45
  seed: bigint;
40
- /** List of committee members who signed this block proposal */
46
+ /** List of committee members who signed this checkpoint proposal */
41
47
  attestors: EthAddress[];
42
- /** Committee attestations for this block as they were posted to L1 */
48
+ /** Committee attestations for this checkpoint as they were posted to L1 */
43
49
  attestations: CommitteeAttestation[];
44
- /** Reason for the block being invalid: an invalid attestation was posted */
50
+ /** Reason for the checkpoint being invalid: an invalid attestation was posted */
45
51
  reason: 'invalid-attestation';
46
52
  /** Index in the attestations array of the invalid attestation posted */
47
53
  invalidIndex: number;
48
54
  };
49
55
 
50
- // TODO: Rename to ValidateAttestationsResult
51
- /** Result type for validating a block attestations */
52
- export type ValidateBlockResult = { valid: true } | ValidateBlockNegativeResult;
56
+ /** Result type for validating checkpoint attestations */
57
+ export type ValidateCheckpointResult = { valid: true } | ValidateCheckpointNegativeResult;
53
58
 
54
- export const ValidateBlockResultSchema: ZodFor<ValidateBlockResult> = z.union([
59
+ export const ValidateCheckpointResultSchema: ZodFor<ValidateCheckpointResult> = z.union([
55
60
  z.object({ valid: z.literal(true) }),
56
61
  z.object({
57
62
  valid: z.literal(false),
58
- block: BlockInfoSchema,
63
+ checkpoint: CheckpointInfoSchema,
59
64
  committee: z.array(schemas.EthAddress),
60
65
  epoch: EpochNumberSchema,
61
66
  seed: schemas.BigInt,
@@ -65,7 +70,7 @@ export const ValidateBlockResultSchema: ZodFor<ValidateBlockResult> = z.union([
65
70
  }),
66
71
  z.object({
67
72
  valid: z.literal(false),
68
- block: BlockInfoSchema,
73
+ checkpoint: CheckpointInfoSchema,
69
74
  committee: z.array(schemas.EthAddress),
70
75
  epoch: EpochNumberSchema,
71
76
  seed: schemas.BigInt,
@@ -76,17 +81,17 @@ export const ValidateBlockResultSchema: ZodFor<ValidateBlockResult> = z.union([
76
81
  }),
77
82
  ]);
78
83
 
79
- export function serializeValidateBlockResult(result: ValidateBlockResult): Buffer {
84
+ export function serializeValidateCheckpointResult(result: ValidateCheckpointResult): Buffer {
80
85
  if (result.valid) {
81
86
  return serializeToBuffer(true);
82
87
  }
83
88
 
84
- const l2Block = serializeBlockInfo(result.block);
89
+ const checkpointBuffer = serializeCheckpointInfo(result.checkpoint);
85
90
  return serializeToBuffer(
86
91
  result.valid,
87
92
  result.reason,
88
- l2Block.length,
89
- l2Block,
93
+ checkpointBuffer.length,
94
+ checkpointBuffer,
90
95
  result.committee.length,
91
96
  result.committee,
92
97
  result.epoch,
@@ -99,24 +104,24 @@ export function serializeValidateBlockResult(result: ValidateBlockResult): Buffe
99
104
  );
100
105
  }
101
106
 
102
- export function deserializeValidateBlockResult(bufferOrReader: Buffer | BufferReader): ValidateBlockResult {
107
+ export function deserializeValidateCheckpointResult(bufferOrReader: Buffer | BufferReader): ValidateCheckpointResult {
103
108
  const reader = BufferReader.asReader(bufferOrReader);
104
109
  const valid = reader.readBoolean();
105
110
  if (valid) {
106
111
  return { valid };
107
112
  }
108
- const reason = reader.readString() as 'insufficient-attestations' | 'invalid-attestation';
109
- const block = deserializeBlockInfo(reader.readBuffer());
110
- const committee = reader.readVector(EthAddress);
113
+ const reason = reader.readString(64) as 'insufficient-attestations' | 'invalid-attestation';
114
+ const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
115
+ const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
111
116
  const epoch = EpochNumber(reader.readNumber());
112
117
  const seed = reader.readBigInt();
113
- const attestors = reader.readVector(EthAddress);
114
- const attestations = reader.readVector(CommitteeAttestation);
118
+ const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
119
+ const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
115
120
  const invalidIndex = reader.readNumber();
116
121
  if (reason === 'insufficient-attestations') {
117
- return { valid, reason, block, committee, epoch, seed, attestors, attestations: attestations };
122
+ return { valid, reason, checkpoint, committee, epoch, seed, attestors, attestations };
118
123
  } else if (reason === 'invalid-attestation') {
119
- return { valid, reason, block, committee, epoch, seed, attestors, invalidIndex, attestations: attestations };
124
+ return { valid, reason, checkpoint, committee, epoch, seed, attestors, invalidIndex, attestations };
120
125
  } else {
121
126
  const _: never = reason;
122
127
  throw new Error(`Unknown reason: ${reason}`);
@@ -1,14 +1,26 @@
1
1
  import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
2
+ import {
3
+ BlockNumber,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ IndexWithinCheckpoint,
7
+ SlotNumber,
8
+ } from '@aztec/foundation/branded-types';
9
+ import { sum } from '@aztec/foundation/collection';
3
10
  import { Fr } from '@aztec/foundation/curves/bn254';
4
11
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
12
  import type { FieldsOf } from '@aztec/foundation/types';
6
13
 
7
14
  import { z } from 'zod';
8
15
 
9
- import { L2BlockNew } from '../block/l2_block_new.js';
16
+ import { L2Block } from '../block/l2_block.js';
17
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
18
+ import { computeCheckpointOutHash } from '../messaging/out_hash.js';
10
19
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
11
20
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
21
+ import type { CheckpointInfo } from './checkpoint_info.js';
22
+
23
+ type FieldsOfCheckpoint = Omit<FieldsOf<Checkpoint>, 'slot'>;
12
24
 
13
25
  export class Checkpoint {
14
26
  constructor(
@@ -17,27 +29,31 @@ export class Checkpoint {
17
29
  /** Header of the checkpoint. */
18
30
  public header: CheckpointHeader,
19
31
  /** L2 blocks in the checkpoint. */
20
- public blocks: L2BlockNew[],
32
+ public blocks: L2Block[],
21
33
  /** Number of the checkpoint. */
22
34
  public number: CheckpointNumber,
23
35
  ) {}
24
36
 
37
+ get slot(): SlotNumber {
38
+ return this.header.slotNumber;
39
+ }
40
+
25
41
  static get schema() {
26
42
  return z
27
43
  .object({
28
44
  archive: AppendOnlyTreeSnapshot.schema,
29
45
  header: CheckpointHeader.schema,
30
- blocks: z.array(L2BlockNew.schema),
46
+ blocks: z.array(L2Block.schema),
31
47
  number: CheckpointNumberSchema,
32
48
  })
33
49
  .transform(({ archive, header, blocks, number }) => new Checkpoint(archive, header, blocks, number));
34
50
  }
35
51
 
36
- static from(fields: FieldsOf<Checkpoint>) {
52
+ static from(fields: FieldsOfCheckpoint) {
37
53
  return new Checkpoint(...Checkpoint.getFields(fields));
38
54
  }
39
55
 
40
- static getFields(fields: FieldsOf<Checkpoint>) {
56
+ static getFields(fields: FieldsOfCheckpoint) {
41
57
  return [fields.archive, fields.header, fields.blocks, fields.number] as const;
42
58
  }
43
59
 
@@ -46,7 +62,7 @@ export class Checkpoint {
46
62
  return new Checkpoint(
47
63
  reader.readObject(AppendOnlyTreeSnapshot),
48
64
  reader.readObject(CheckpointHeader),
49
- reader.readVector(L2BlockNew),
65
+ reader.readVector(L2Block, MAX_BLOCKS_PER_CHECKPOINT),
50
66
  CheckpointNumber(reader.readNumber()),
51
67
  );
52
68
  }
@@ -64,24 +80,78 @@ export class Checkpoint {
64
80
  return this.header.hash();
65
81
  }
66
82
 
83
+ // Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
84
+ // Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
85
+ // checkpoints up to and including this one in the epoch.
86
+ public getCheckpointOutHash(): Fr {
87
+ const msgs = this.blocks.map(block => block.body.txEffects.map(txEffect => txEffect.l2ToL1Msgs));
88
+ return computeCheckpointOutHash(msgs);
89
+ }
90
+
67
91
  public getState() {
68
92
  return this.blocks.at(-1)!.header.state;
69
93
  }
70
94
 
95
+ public toCheckpointInfo(): CheckpointInfo {
96
+ return {
97
+ archive: this.archive.root,
98
+ lastArchive: this.header.lastArchiveRoot,
99
+ slotNumber: this.header.slotNumber,
100
+ checkpointNumber: this.number,
101
+ timestamp: this.header.timestamp,
102
+ };
103
+ }
104
+
105
+ /** Returns stats used for logging */
106
+ public getStats() {
107
+ const txEffects = this.blocks.flatMap(block => block.body.txEffects);
108
+
109
+ const logsStats = {
110
+ privateLogCount: sum(txEffects.map(tx => tx.privateLogs.length)),
111
+ publicLogCount: sum(txEffects.map(tx => tx.publicLogs.length)),
112
+ contractClassLogCount: sum(txEffects.map(tx => tx.contractClassLogs.length)),
113
+ contractClassLogSize: sum(txEffects.map(tx => sum(tx.contractClassLogs.map(log => log.emittedLength)))),
114
+ };
115
+
116
+ return {
117
+ txCount: txEffects.length,
118
+ blockCount: this.blocks.length,
119
+ slotNumber: this.header.slotNumber,
120
+ checkpointNumber: this.number,
121
+ timestamp: this.header.timestamp,
122
+ ...logsStats,
123
+ };
124
+ }
125
+
71
126
  static async random(
72
127
  checkpointNumber = CheckpointNumber(1),
73
128
  {
74
129
  numBlocks = 1,
75
130
  startBlockNumber = 1,
131
+ previousArchive,
76
132
  ...options
77
- }: { numBlocks?: number; startBlockNumber?: number } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
78
- Partial<Parameters<typeof L2BlockNew.random>[1]> = {},
133
+ }: {
134
+ numBlocks?: number;
135
+ startBlockNumber?: number;
136
+ previousArchive?: AppendOnlyTreeSnapshot;
137
+ } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
138
+ Partial<Parameters<typeof L2Block.random>[1]> = {},
79
139
  ) {
80
140
  const header = CheckpointHeader.random(options);
81
141
 
82
- const blocks = await Promise.all(
83
- Array.from({ length: numBlocks }, (_, i) => L2BlockNew.random(BlockNumber(startBlockNumber + i), options)),
84
- );
142
+ // Create blocks sequentially to chain archive roots properly.
143
+ // Each block's header.lastArchive must equal the previous block's archive.
144
+ const blocks: L2Block[] = [];
145
+ let lastArchive = previousArchive;
146
+ for (let i = 0; i < numBlocks; i++) {
147
+ const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
148
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
149
+ ...options,
150
+ ...(lastArchive ? { lastArchive } : {}),
151
+ });
152
+ lastArchive = block.archive;
153
+ blocks.push(block);
154
+ }
85
155
 
86
156
  return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber);
87
157
  }
@@ -0,0 +1,52 @@
1
+ import {
2
+ CheckpointNumber,
3
+ CheckpointNumberSchema,
4
+ SlotNumber,
5
+ SlotNumberSchema,
6
+ } from '@aztec/foundation/branded-types';
7
+ import { Fr } from '@aztec/foundation/curves/bn254';
8
+ import { schemas } from '@aztec/foundation/schemas';
9
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
10
+
11
+ import { z } from 'zod';
12
+
13
+ export type CheckpointInfo = {
14
+ archive: Fr;
15
+ lastArchive: Fr;
16
+ slotNumber: SlotNumber;
17
+ checkpointNumber: CheckpointNumber;
18
+ timestamp: bigint;
19
+ };
20
+
21
+ export function randomCheckpointInfo(checkpointNumber?: CheckpointNumber | number): CheckpointInfo {
22
+ return {
23
+ archive: Fr.random(),
24
+ lastArchive: Fr.random(),
25
+ slotNumber: SlotNumber(Math.floor(Math.random() * 100000) + 1),
26
+ checkpointNumber: CheckpointNumber(checkpointNumber ?? Math.floor(Math.random() * 100000) + 1),
27
+ timestamp: BigInt(Math.floor(Date.now() / 1000)),
28
+ };
29
+ }
30
+
31
+ export const CheckpointInfoSchema = z.object({
32
+ archive: schemas.Fr,
33
+ lastArchive: schemas.Fr,
34
+ slotNumber: SlotNumberSchema,
35
+ checkpointNumber: CheckpointNumberSchema,
36
+ timestamp: schemas.BigInt,
37
+ });
38
+
39
+ export function serializeCheckpointInfo(info: CheckpointInfo): Buffer {
40
+ return serializeToBuffer(info.archive, info.lastArchive, info.slotNumber, info.checkpointNumber, info.timestamp);
41
+ }
42
+
43
+ export function deserializeCheckpointInfo(buffer: Buffer | BufferReader): CheckpointInfo {
44
+ const reader = BufferReader.asReader(buffer);
45
+ return {
46
+ archive: reader.readObject(Fr),
47
+ lastArchive: reader.readObject(Fr),
48
+ slotNumber: SlotNumber(reader.readNumber()),
49
+ checkpointNumber: CheckpointNumber(reader.readNumber()),
50
+ timestamp: reader.readBigInt(),
51
+ };
52
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './checkpoint.js';
2
+ export * from './checkpoint_info.js';
2
3
  export * from './published_checkpoint.js';
@@ -8,6 +8,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
8
8
  import { z } from 'zod';
9
9
 
10
10
  import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
11
+ import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
11
12
  import { Checkpoint } from './checkpoint.js';
12
13
 
13
14
  export class L1PublishedData {
@@ -18,11 +19,13 @@ export class L1PublishedData {
18
19
  ) {}
19
20
 
20
21
  static get schema() {
21
- return z.object({
22
- blockNumber: schemas.BigInt,
23
- timestamp: schemas.BigInt,
24
- blockHash: z.string(),
25
- });
22
+ return z
23
+ .object({
24
+ blockNumber: schemas.BigInt,
25
+ timestamp: schemas.BigInt,
26
+ blockHash: z.string(),
27
+ })
28
+ .transform(obj => L1PublishedData.fromFields(obj));
26
29
  }
27
30
 
28
31
  static random() {
@@ -36,6 +39,18 @@ export class L1PublishedData {
36
39
  static fromFields(fields: FieldsOf<L1PublishedData>) {
37
40
  return new L1PublishedData(fields.blockNumber, fields.timestamp, fields.blockHash);
38
41
  }
42
+
43
+ static fromBuffer(bufferOrReader: Buffer | BufferReader): L1PublishedData {
44
+ const reader = BufferReader.asReader(bufferOrReader);
45
+ const l1BlockNumber = reader.readBigInt();
46
+ const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
47
+ const l1Timestamp = reader.readBigInt();
48
+ return new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash);
49
+ }
50
+
51
+ public toBuffer(): Buffer {
52
+ return serializeToBuffer(this.blockNumber, this.blockHash, this.timestamp);
53
+ }
39
54
  }
40
55
 
41
56
  export class PublishedCheckpoint {
@@ -68,9 +83,9 @@ export class PublishedCheckpoint {
68
83
  const reader = BufferReader.asReader(bufferOrReader);
69
84
  const checkpoint = reader.readObject(Checkpoint);
70
85
  const l1BlockNumber = reader.readBigInt();
71
- const l1BlockHash = reader.readString();
86
+ const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
72
87
  const l1Timestamp = reader.readBigInt();
73
- const attestations = reader.readVector(CommitteeAttestation);
88
+ const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
74
89
  return new PublishedCheckpoint(
75
90
  checkpoint,
76
91
  new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash),
@@ -1,2 +1,3 @@
1
1
  export * from './chain-config.js';
2
2
  export * from './node-rpc-config.js';
3
+ export * from './sequencer-config.js';
@@ -21,7 +21,7 @@ export const nodeRpcConfigMappings: ConfigMappingsType<NodeRPCConfig> = {
21
21
  rpcMaxBodySize: {
22
22
  env: 'RPC_MAX_BODY_SIZE',
23
23
  description: 'Maximum allowed batch size for JSON RPC batch requests.',
24
- defaultValue: '50mb',
24
+ defaultValue: '1mb',
25
25
  },
26
26
  };
27
27
 
@@ -0,0 +1,19 @@
1
+ import type { ConfigMappingsType } from '@aztec/foundation/config';
2
+
3
+ import type { SequencerConfig } from '../interfaces/configs.js';
4
+
5
+ /**
6
+ * Partial sequencer config mappings for fields that need to be shared across packages.
7
+ * The full sequencer config mappings remain in sequencer-client, but shared fields
8
+ * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
9
+ * to avoid duplication.
10
+ */
11
+ export const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs'>> = {
12
+ blockDurationMs: {
13
+ env: 'SEQ_BLOCK_DURATION_MS',
14
+ description:
15
+ 'Duration per block in milliseconds when building multiple blocks per slot. ' +
16
+ 'If undefined (default), builds a single block per slot using the full slot duration.',
17
+ parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
18
+ },
19
+ };
@@ -87,5 +87,5 @@ export async function computeInitializationHashFromEncodedArgs(
87
87
  encodedArgs: Fr[],
88
88
  ): Promise<Fr> {
89
89
  const argsHash = await computeVarArgsHash(encodedArgs);
90
- return poseidon2HashWithSeparator([initFn, argsHash], GeneratorIndex.CONSTRUCTOR);
90
+ return poseidon2HashWithSeparator([initFn, argsHash], GeneratorIndex.INITIALIZER);
91
91
  }
@@ -13,7 +13,7 @@ import { computePrivateFunctionsRoot } from './private_function.js';
13
13
  *
14
14
  * ```
15
15
  * version = 1
16
- * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__FUNCTION_LEAF))
16
+ * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__PRIVATE_FUNCTION_LEAF))
17
17
  * private_functions_root = merkleize(private_function_leaves)
18
18
  * bytecode_commitment = calculate_commitment(packed_bytecode)
19
19
  * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER)
@@ -40,7 +40,7 @@ export async function computeContractClassIdWithPreimage(
40
40
  : await computePublicBytecodeCommitment(contractClass.packedBytecode);
41
41
  const id = await poseidon2HashWithSeparator(
42
42
  [artifactHash, privateFunctionsRoot, publicBytecodeCommitment],
43
- GeneratorIndex.CONTRACT_LEAF, // TODO(@spalladino): Review all generator indices in this file
43
+ GeneratorIndex.CONTRACT_CLASS_ID,
44
44
  );
45
45
  return { id, artifactHash, privateFunctionsRoot, publicBytecodeCommitment };
46
46
  }
@@ -1,11 +1,9 @@
1
1
  export * from './artifact_hash.js';
2
2
  export * from './contract_address.js';
3
3
  export * from './contract_class.js';
4
- export * from './contract_class_metadata.js';
5
4
  export * from './contract_class_id.js';
6
5
  export * from './contract_deployment_data.js';
7
6
  export * from './contract_instance.js';
8
- export * from './contract_metadata.js';
9
7
  export * from './contract_instance_update.js';
10
8
  export * from './private_function.js';
11
9
  export * from './private_function_membership_proof.js';
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { type ZodFor, schemas } from '@aztec/foundation/schemas';
2
+ import { schemas, zodFor } from '@aztec/foundation/schemas';
3
3
 
4
4
  import { z } from 'zod';
5
5
 
@@ -35,10 +35,12 @@ export interface PrivateFunction {
35
35
  vkHash: Fr;
36
36
  }
37
37
 
38
- const PrivateFunctionSchema = z.object({
39
- selector: FunctionSelector.schema,
40
- vkHash: schemas.Fr,
41
- }) satisfies ZodFor<PrivateFunction>;
38
+ const PrivateFunctionSchema = zodFor<PrivateFunction>()(
39
+ z.object({
40
+ selector: FunctionSelector.schema,
41
+ vkHash: schemas.Fr,
42
+ }),
43
+ );
42
44
 
43
45
  /** Private function definition with executable bytecode. */
44
46
  export interface ExecutablePrivateFunction extends PrivateFunction {
@@ -46,9 +48,9 @@ export interface ExecutablePrivateFunction extends PrivateFunction {
46
48
  bytecode: Buffer;
47
49
  }
48
50
 
49
- const ExecutablePrivateFunctionSchema = PrivateFunctionSchema.and(
50
- z.object({ bytecode: schemas.Buffer }),
51
- ) satisfies ZodFor<ExecutablePrivateFunction>;
51
+ const ExecutablePrivateFunctionSchema = zodFor<ExecutablePrivateFunction>()(
52
+ PrivateFunctionSchema.and(z.object({ bytecode: schemas.Buffer })),
53
+ );
52
54
 
53
55
  /** Utility function definition. */
54
56
  export interface UtilityFunction {
@@ -58,11 +60,12 @@ export interface UtilityFunction {
58
60
  bytecode: Buffer;
59
61
  }
60
62
 
61
- const UtilityFunctionSchema = z.object({
62
- /** lala */
63
- selector: FunctionSelector.schema,
64
- bytecode: schemas.Buffer,
65
- }) satisfies ZodFor<UtilityFunction>;
63
+ const UtilityFunctionSchema = zodFor<UtilityFunction>()(
64
+ z.object({
65
+ selector: FunctionSelector.schema,
66
+ bytecode: schemas.Buffer,
67
+ }),
68
+ );
66
69
 
67
70
  /** Sibling paths and sibling commitments for proving membership of a private function within a contract class. */
68
71
  export type PrivateFunctionMembershipProof = {
@@ -75,15 +78,17 @@ export type PrivateFunctionMembershipProof = {
75
78
  artifactTreeLeafIndex: number;
76
79
  };
77
80
 
78
- const PrivateFunctionMembershipProofSchema = z.object({
79
- artifactMetadataHash: schemas.Fr,
80
- functionMetadataHash: schemas.Fr,
81
- utilityFunctionsTreeRoot: schemas.Fr,
82
- privateFunctionTreeSiblingPath: z.array(schemas.Fr),
83
- privateFunctionTreeLeafIndex: schemas.Integer,
84
- artifactTreeSiblingPath: z.array(schemas.Fr),
85
- artifactTreeLeafIndex: schemas.Integer,
86
- }) satisfies ZodFor<PrivateFunctionMembershipProof>;
81
+ const PrivateFunctionMembershipProofSchema = zodFor<PrivateFunctionMembershipProof>()(
82
+ z.object({
83
+ artifactMetadataHash: schemas.Fr,
84
+ functionMetadataHash: schemas.Fr,
85
+ utilityFunctionsTreeRoot: schemas.Fr,
86
+ privateFunctionTreeSiblingPath: z.array(schemas.Fr),
87
+ privateFunctionTreeLeafIndex: schemas.Integer,
88
+ artifactTreeSiblingPath: z.array(schemas.Fr),
89
+ artifactTreeLeafIndex: schemas.Integer,
90
+ }),
91
+ );
87
92
 
88
93
  /** A private function with a membership proof. */
89
94
  export type ExecutablePrivateFunctionWithMembershipProof = ExecutablePrivateFunction & PrivateFunctionMembershipProof;
@@ -97,23 +102,27 @@ export type UtilityFunctionMembershipProof = {
97
102
  artifactTreeLeafIndex: number;
98
103
  };
99
104
 
100
- const UtilityFunctionMembershipProofSchema = z.object({
101
- artifactMetadataHash: schemas.Fr,
102
- functionMetadataHash: schemas.Fr,
103
- privateFunctionsArtifactTreeRoot: schemas.Fr,
104
- artifactTreeSiblingPath: z.array(schemas.Fr),
105
- artifactTreeLeafIndex: schemas.Integer,
106
- }) satisfies ZodFor<UtilityFunctionMembershipProof>;
105
+ const UtilityFunctionMembershipProofSchema = zodFor<UtilityFunctionMembershipProof>()(
106
+ z.object({
107
+ artifactMetadataHash: schemas.Fr,
108
+ functionMetadataHash: schemas.Fr,
109
+ privateFunctionsArtifactTreeRoot: schemas.Fr,
110
+ artifactTreeSiblingPath: z.array(schemas.Fr),
111
+ artifactTreeLeafIndex: schemas.Integer,
112
+ }),
113
+ );
107
114
 
108
115
  /** A utility function with a membership proof. */
109
116
  export type UtilityFunctionWithMembershipProof = UtilityFunction & UtilityFunctionMembershipProof;
110
117
 
111
- export const ContractClassSchema = z.object({
112
- version: z.literal(VERSION),
113
- artifactHash: schemas.Fr,
114
- privateFunctions: z.array(PrivateFunctionSchema),
115
- packedBytecode: schemas.Buffer,
116
- }) satisfies ZodFor<ContractClass>;
118
+ export const ContractClassSchema = zodFor<ContractClass>()(
119
+ z.object({
120
+ version: z.literal(VERSION),
121
+ artifactHash: schemas.Fr,
122
+ privateFunctions: z.array(PrivateFunctionSchema),
123
+ packedBytecode: schemas.Buffer,
124
+ }),
125
+ );
117
126
 
118
127
  /** Commitments to fields of a contract class. */
119
128
  interface ContractClassCommitments {
@@ -128,9 +137,11 @@ interface ContractClassCommitments {
128
137
  /** A contract class with its precomputed id. */
129
138
  export type ContractClassWithId = ContractClass & Pick<ContractClassCommitments, 'id'>;
130
139
 
131
- export const ContractClassWithIdSchema = ContractClassSchema.extend({
132
- id: schemas.Fr,
133
- }) satisfies ZodFor<ContractClassWithId>;
140
+ export const ContractClassWithIdSchema = zodFor<ContractClassWithId>()(
141
+ ContractClassSchema.extend({
142
+ id: schemas.Fr,
143
+ }),
144
+ );
134
145
 
135
146
  /** A contract class with public bytecode information, and optional private and utility functions. */
136
147
  export type ContractClassPublic = {
@@ -142,14 +153,16 @@ export type ContractClassPublic = {
142
153
  export type ContractClassPublicWithCommitment = ContractClassPublic &
143
154
  Pick<ContractClassCommitments, 'publicBytecodeCommitment'>;
144
155
 
145
- export const ContractClassPublicSchema = z
146
- .object({
147
- id: schemas.Fr,
148
- privateFunctionsRoot: schemas.Fr,
149
- privateFunctions: z.array(ExecutablePrivateFunctionSchema.and(PrivateFunctionMembershipProofSchema)),
150
- utilityFunctions: z.array(UtilityFunctionSchema.and(UtilityFunctionMembershipProofSchema)),
151
- })
152
- .and(ContractClassSchema.omit({ privateFunctions: true })) satisfies ZodFor<ContractClassPublic>;
156
+ export const ContractClassPublicSchema = zodFor<ContractClassPublic>()(
157
+ z
158
+ .object({
159
+ id: schemas.Fr,
160
+ privateFunctionsRoot: schemas.Fr,
161
+ privateFunctions: z.array(ExecutablePrivateFunctionSchema.and(PrivateFunctionMembershipProofSchema)),
162
+ utilityFunctions: z.array(UtilityFunctionSchema.and(UtilityFunctionMembershipProofSchema)),
163
+ })
164
+ .and(ContractClassSchema.omit({ privateFunctions: true })),
165
+ );
153
166
 
154
167
  /** The contract class with the block it was initially deployed at */
155
168
  export type ContractClassPublicWithBlockNumber = { l2BlockNumber: number } & ContractClassPublic;