@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f

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 (806) hide show
  1. package/dest/abi/abi.d.ts +92 -107
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +2 -2
  4. package/dest/abi/authorization_selector.d.ts +1 -1
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts +1 -1
  8. package/dest/abi/contract_artifact.js +3 -3
  9. package/dest/abi/decoder.d.ts +1 -1
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/encoder.d.ts +1 -1
  12. package/dest/abi/event_metadata_definition.d.ts +1 -1
  13. package/dest/abi/event_selector.d.ts +1 -1
  14. package/dest/abi/event_selector.d.ts.map +1 -1
  15. package/dest/abi/function_call.d.ts +1 -9
  16. package/dest/abi/function_call.d.ts.map +1 -1
  17. package/dest/abi/function_selector.d.ts +1 -1
  18. package/dest/abi/function_selector.d.ts.map +1 -1
  19. package/dest/abi/index.d.ts +1 -1
  20. package/dest/abi/mocked_keys.d.ts +1 -1
  21. package/dest/abi/note_selector.d.ts +1 -1
  22. package/dest/abi/note_selector.d.ts.map +1 -1
  23. package/dest/abi/selector.d.ts +1 -1
  24. package/dest/abi/selector.d.ts.map +1 -1
  25. package/dest/abi/utils.d.ts +1 -1
  26. package/dest/auth_witness/auth_witness.d.ts +1 -2
  27. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  28. package/dest/auth_witness/index.d.ts +1 -1
  29. package/dest/avm/avm.d.ts +4189 -2057
  30. package/dest/avm/avm.d.ts.map +1 -1
  31. package/dest/avm/avm.js +375 -16
  32. package/dest/avm/avm_accumulated_data.d.ts +25 -36
  33. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  34. package/dest/avm/avm_accumulated_data.js +18 -0
  35. package/dest/avm/avm_circuit_public_inputs.d.ts +156 -146
  36. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  37. package/dest/avm/avm_circuit_public_inputs.js +9 -0
  38. package/dest/avm/avm_proving_request.d.ts +2023 -1503
  39. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  40. package/dest/avm/contract_storage_read.d.ts +1 -13
  41. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  42. package/dest/avm/contract_storage_update_request.d.ts +1 -13
  43. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  44. package/dest/avm/index.d.ts +1 -1
  45. package/dest/avm/message_pack.d.ts +2 -2
  46. package/dest/avm/message_pack.d.ts.map +1 -1
  47. package/dest/avm/message_pack.js +3 -0
  48. package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
  49. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  50. package/dest/avm/public_data_read.d.ts +1 -10
  51. package/dest/avm/public_data_read.d.ts.map +1 -1
  52. package/dest/avm/public_data_update_request.d.ts +1 -10
  53. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  54. package/dest/avm/public_data_write.d.ts +13 -11
  55. package/dest/avm/public_data_write.d.ts.map +1 -1
  56. package/dest/avm/public_data_write.js +9 -0
  57. package/dest/avm/public_inner_call_request.d.ts +1 -4
  58. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +16 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +24 -8
  62. package/dest/aztec-address/index.d.ts +10 -1
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +24 -2
  65. package/dest/block/attestation_info.d.ts +3 -1
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +4 -1
  68. package/dest/block/block_hash.d.ts +1 -1
  69. package/dest/block/block_hash.d.ts.map +1 -1
  70. package/dest/block/body.d.ts +8 -8
  71. package/dest/block/body.d.ts.map +1 -1
  72. package/dest/block/body.js +11 -27
  73. package/dest/block/in_block.d.ts +3 -11
  74. package/dest/block/in_block.d.ts.map +1 -1
  75. package/dest/block/index.d.ts +2 -1
  76. package/dest/block/index.d.ts.map +1 -1
  77. package/dest/block/index.js +1 -0
  78. package/dest/block/l2_block.d.ts +15 -7
  79. package/dest/block/l2_block.d.ts.map +1 -1
  80. package/dest/block/l2_block.js +54 -4
  81. package/dest/block/l2_block_code_to_purge.d.ts +1 -1
  82. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  83. package/dest/block/l2_block_code_to_purge.js +4 -3
  84. package/dest/block/l2_block_header.d.ts +10 -12
  85. package/dest/block/l2_block_header.d.ts.map +1 -1
  86. package/dest/block/l2_block_header.js +18 -11
  87. package/dest/block/l2_block_info.d.ts +9 -9
  88. package/dest/block/l2_block_new.d.ts +108 -0
  89. package/dest/block/l2_block_new.d.ts.map +1 -0
  90. package/dest/block/l2_block_new.js +135 -0
  91. package/dest/block/l2_block_number.d.ts +1 -1
  92. package/dest/block/l2_block_source.d.ts +10 -9
  93. package/dest/block/l2_block_source.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/index.d.ts +1 -1
  95. package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
  96. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
  97. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  100. package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
  101. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  102. package/dest/block/proposal/attestations_and_signers.js +14 -0
  103. package/dest/block/proposal/committee_attestation.d.ts +1 -1
  104. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  105. package/dest/block/proposal/index.d.ts +1 -1
  106. package/dest/block/published_l2_block.d.ts +15 -28
  107. package/dest/block/published_l2_block.d.ts.map +1 -1
  108. package/dest/block/published_l2_block.js +12 -27
  109. package/dest/block/test/index.d.ts +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  111. package/dest/block/validate_block_result.d.ts +6 -178
  112. package/dest/block/validate_block_result.d.ts.map +1 -1
  113. package/dest/block/validate_block_result.js +4 -3
  114. package/dest/checkpoint/checkpoint.d.ts +121 -0
  115. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  116. package/dest/checkpoint/checkpoint.js +62 -0
  117. package/dest/checkpoint/index.d.ts +3 -2
  118. package/dest/checkpoint/index.d.ts.map +1 -1
  119. package/dest/checkpoint/index.js +2 -1
  120. package/dest/checkpoint/published_checkpoint.d.ts +212 -0
  121. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  122. package/dest/checkpoint/published_checkpoint.js +71 -0
  123. package/dest/config/chain-config.d.ts +1 -1
  124. package/dest/config/index.d.ts +1 -1
  125. package/dest/config/node-rpc-config.d.ts +1 -1
  126. package/dest/contract/artifact_hash.d.ts +2 -2
  127. package/dest/contract/artifact_hash.d.ts.map +1 -1
  128. package/dest/contract/complete_address.d.ts +1 -4
  129. package/dest/contract/complete_address.d.ts.map +1 -1
  130. package/dest/contract/contract_address.d.ts +1 -1
  131. package/dest/contract/contract_class.d.ts +1 -1
  132. package/dest/contract/contract_class_id.d.ts +1 -1
  133. package/dest/contract/contract_class_metadata.d.ts +1 -1
  134. package/dest/contract/contract_deployment_data.d.ts +119 -0
  135. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  136. package/dest/contract/contract_deployment_data.js +99 -0
  137. package/dest/contract/contract_function_dao.d.ts +1 -1
  138. package/dest/contract/contract_instance.d.ts +1 -1
  139. package/dest/contract/contract_instance.d.ts.map +1 -1
  140. package/dest/contract/contract_instance_update.d.ts +1 -1
  141. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  142. package/dest/contract/contract_metadata.d.ts +1 -1
  143. package/dest/contract/deployment_info.d.ts +1 -1
  144. package/dest/contract/index.d.ts +2 -1
  145. package/dest/contract/index.d.ts.map +1 -1
  146. package/dest/contract/index.js +1 -0
  147. package/dest/contract/interfaces/contract_class.d.ts +41 -122
  148. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  149. package/dest/contract/interfaces/contract_data_source.d.ts +1 -1
  150. package/dest/contract/interfaces/contract_instance.d.ts +11 -11
  151. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  152. package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
  153. package/dest/contract/interfaces/index.d.ts +1 -1
  154. package/dest/contract/interfaces/node-info.d.ts +1 -1
  155. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  156. package/dest/contract/partial_address.d.ts +1 -1
  157. package/dest/contract/private_function.d.ts +1 -1
  158. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  159. package/dest/contract/private_function_membership_proof.js +1 -1
  160. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  161. package/dest/database-version/index.d.ts +1 -1
  162. package/dest/database-version/version_manager.d.ts +6 -8
  163. package/dest/database-version/version_manager.d.ts.map +1 -1
  164. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
  165. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  166. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
  167. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  168. package/dest/delayed_public_mutable/index.d.ts +1 -1
  169. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  170. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  171. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
  172. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  173. package/dest/epoch-helpers/index.d.ts +12 -11
  174. package/dest/epoch-helpers/index.d.ts.map +1 -1
  175. package/dest/epoch-helpers/index.js +10 -9
  176. package/dest/errors/index.d.ts +1 -1
  177. package/dest/errors/proving_error.d.ts +2 -2
  178. package/dest/errors/proving_error.d.ts.map +1 -1
  179. package/dest/errors/simulation_error.d.ts +1 -1
  180. package/dest/errors/simulation_error.d.ts.map +1 -1
  181. package/dest/fees/index.d.ts +1 -1
  182. package/dest/fees/transaction_fee.d.ts +1 -1
  183. package/dest/file-store/factory.d.ts +1 -1
  184. package/dest/file-store/gcs.d.ts +1 -1
  185. package/dest/file-store/gcs.d.ts.map +1 -1
  186. package/dest/file-store/http.d.ts +1 -1
  187. package/dest/file-store/http.d.ts.map +1 -1
  188. package/dest/file-store/http.js +8 -3
  189. package/dest/file-store/index.d.ts +1 -1
  190. package/dest/file-store/interface.d.ts +1 -1
  191. package/dest/file-store/local.d.ts +1 -1
  192. package/dest/file-store/local.d.ts.map +1 -1
  193. package/dest/file-store/s3.d.ts +1 -1
  194. package/dest/file-store/s3.d.ts.map +1 -1
  195. package/dest/file-store/s3.js +3 -7
  196. package/dest/gas/gas.d.ts +9 -1
  197. package/dest/gas/gas.d.ts.map +1 -1
  198. package/dest/gas/gas.js +12 -0
  199. package/dest/gas/gas_fees.d.ts +9 -1
  200. package/dest/gas/gas_fees.d.ts.map +1 -1
  201. package/dest/gas/gas_fees.js +12 -0
  202. package/dest/gas/gas_settings.d.ts +9 -1
  203. package/dest/gas/gas_settings.d.ts.map +1 -1
  204. package/dest/gas/gas_settings.js +12 -0
  205. package/dest/gas/gas_used.d.ts +13 -2
  206. package/dest/gas/gas_used.d.ts.map +1 -1
  207. package/dest/gas/gas_used.js +19 -1
  208. package/dest/gas/index.d.ts +1 -1
  209. package/dest/hash/hash.d.ts +11 -3
  210. package/dest/hash/hash.d.ts.map +1 -1
  211. package/dest/hash/hash.js +11 -1
  212. package/dest/hash/index.d.ts +1 -1
  213. package/dest/hash/map_slot.d.ts +1 -1
  214. package/dest/interfaces/allowed_element.d.ts +5 -5
  215. package/dest/interfaces/api_limit.d.ts +1 -1
  216. package/dest/interfaces/archiver.d.ts +6 -1
  217. package/dest/interfaces/archiver.d.ts.map +1 -1
  218. package/dest/interfaces/archiver.js +8 -6
  219. package/dest/interfaces/aztec-node-admin.d.ts +92 -85
  220. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  221. package/dest/interfaces/aztec-node.d.ts +3 -2
  222. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  223. package/dest/interfaces/aztec-node.js +1 -1
  224. package/dest/interfaces/block-builder.d.ts +1 -1
  225. package/dest/interfaces/client.d.ts +1 -1
  226. package/dest/interfaces/configs.d.ts +31 -21
  227. package/dest/interfaces/configs.d.ts.map +1 -1
  228. package/dest/interfaces/configs.js +3 -1
  229. package/dest/interfaces/epoch-prover.d.ts +5 -5
  230. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  231. package/dest/interfaces/get_logs_response.d.ts +2 -2
  232. package/dest/interfaces/l2_logs_source.d.ts +1 -1
  233. package/dest/interfaces/merkle_tree_operations.d.ts +3 -3
  234. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  235. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  236. package/dest/interfaces/p2p.d.ts +3 -2
  237. package/dest/interfaces/p2p.d.ts.map +1 -1
  238. package/dest/interfaces/p2p.js +1 -1
  239. package/dest/interfaces/private_kernel_prover.d.ts +1 -1
  240. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  241. package/dest/interfaces/prover-agent.d.ts +1 -1
  242. package/dest/interfaces/prover-broker.d.ts +1 -1
  243. package/dest/interfaces/prover-client.d.ts +5 -5
  244. package/dest/interfaces/prover-client.d.ts.map +1 -1
  245. package/dest/interfaces/prover-coordination.d.ts +1 -1
  246. package/dest/interfaces/prover-node.d.ts +1 -1
  247. package/dest/interfaces/proving-job-source.d.ts +1 -1
  248. package/dest/interfaces/proving-job.d.ts +1672 -1159
  249. package/dest/interfaces/proving-job.d.ts.map +1 -1
  250. package/dest/interfaces/proving-job.js +3 -2
  251. package/dest/interfaces/public_state_source.d.ts +1 -1
  252. package/dest/interfaces/server.d.ts +1 -1
  253. package/dest/interfaces/server_circuit_prover.d.ts +2 -3
  254. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  255. package/dest/interfaces/service.d.ts +1 -1
  256. package/dest/interfaces/slasher.d.ts +3 -3
  257. package/dest/interfaces/tx_provider.d.ts +1 -1
  258. package/dest/interfaces/validator.d.ts +27 -19
  259. package/dest/interfaces/validator.d.ts.map +1 -1
  260. package/dest/interfaces/validator.js +2 -1
  261. package/dest/interfaces/world_state.d.ts +1 -1
  262. package/dest/kernel/claimed_length_array.d.ts +1 -1
  263. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  264. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  265. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  266. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  267. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
  268. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  269. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  270. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  271. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  272. package/dest/kernel/hints/index.d.ts +1 -1
  273. package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
  274. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  275. package/dest/kernel/hints/key_validation_request.d.ts +1 -2
  276. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  277. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
  278. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  279. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
  280. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  281. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
  282. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  283. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  284. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  285. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  286. package/dest/kernel/hints/read_request.d.ts +1 -7
  287. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  288. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  289. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  290. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
  291. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  292. package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
  293. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  294. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
  295. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  296. package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
  297. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  298. package/dest/kernel/index.d.ts +1 -1
  299. package/dest/kernel/log_hash.d.ts +1 -1
  300. package/dest/kernel/log_hash.d.ts.map +1 -1
  301. package/dest/kernel/note_hash.d.ts +1 -1
  302. package/dest/kernel/note_hash.d.ts.map +1 -1
  303. package/dest/kernel/nullifier.d.ts +1 -1
  304. package/dest/kernel/nullifier.d.ts.map +1 -1
  305. package/dest/kernel/padded_side_effects.d.ts +1 -1
  306. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  307. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  308. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  309. package/dest/kernel/private_call_data.d.ts +1 -25
  310. package/dest/kernel/private_call_data.d.ts.map +1 -1
  311. package/dest/kernel/private_call_request.d.ts +1 -16
  312. package/dest/kernel/private_call_request.d.ts.map +1 -1
  313. package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
  314. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  315. package/dest/kernel/private_circuit_public_inputs.js +17 -5
  316. package/dest/kernel/private_context_inputs.d.ts +1 -1
  317. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  318. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  320. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  321. package/dest/kernel/private_kernel_data.d.ts +1 -7
  322. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  323. package/dest/kernel/private_kernel_data.js +0 -2
  324. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
  325. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  326. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
  327. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  328. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  329. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  330. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  331. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  332. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  333. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  334. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  335. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  336. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
  338. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  339. package/dest/kernel/private_log_data.d.ts +1 -1
  340. package/dest/kernel/private_log_data.d.ts.map +1 -1
  341. package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
  342. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  343. package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
  344. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  345. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  346. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
  347. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  348. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
  349. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  350. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
  351. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  352. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
  353. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_validation_requests.d.ts +2 -24
  355. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  356. package/dest/kernel/private_validation_requests.js +5 -13
  357. package/dest/kernel/public_call_request.d.ts +22 -27
  358. package/dest/kernel/public_call_request.d.ts.map +1 -1
  359. package/dest/kernel/public_call_request.js +18 -0
  360. package/dest/kernel/utils/index.d.ts +1 -1
  361. package/dest/kernel/utils/interfaces.d.ts +1 -1
  362. package/dest/kernel/utils/optional_number.d.ts +1 -7
  363. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  364. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  365. package/dest/keys/derivation.d.ts +1 -1
  366. package/dest/keys/index.d.ts +1 -1
  367. package/dest/keys/key_types.d.ts +1 -1
  368. package/dest/keys/public_key.d.ts +1 -1
  369. package/dest/keys/public_keys.d.ts +9 -5
  370. package/dest/keys/public_keys.d.ts.map +1 -1
  371. package/dest/keys/public_keys.js +12 -0
  372. package/dest/keys/utils.d.ts +1 -1
  373. package/dest/l1-contracts/index.d.ts +1 -1
  374. package/dest/l1-contracts/slash_factory.d.ts +3 -3
  375. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  376. package/dest/logs/contract_class_log.d.ts +20 -4
  377. package/dest/logs/contract_class_log.d.ts.map +1 -1
  378. package/dest/logs/contract_class_log.js +24 -0
  379. package/dest/logs/debug_log.d.ts +10 -2
  380. package/dest/logs/debug_log.d.ts.map +1 -1
  381. package/dest/logs/debug_log.js +13 -0
  382. package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
  383. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  384. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  385. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  386. package/dest/logs/extended_public_log.d.ts +3 -5
  387. package/dest/logs/extended_public_log.d.ts.map +1 -1
  388. package/dest/logs/index.d.ts +1 -1
  389. package/dest/logs/log_filter.d.ts +1 -1
  390. package/dest/logs/log_id.d.ts +1 -4
  391. package/dest/logs/log_id.d.ts.map +1 -1
  392. package/dest/logs/log_with_tx_data.d.ts +1 -1
  393. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  394. package/dest/logs/message_context.d.ts +1 -1
  395. package/dest/logs/message_context.d.ts.map +1 -1
  396. package/dest/logs/pending_tagged_log.d.ts +1 -1
  397. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  398. package/dest/logs/pre_tag.d.ts +1 -1
  399. package/dest/logs/private_log.d.ts +10 -2
  400. package/dest/logs/private_log.d.ts.map +1 -1
  401. package/dest/logs/private_log.js +14 -5
  402. package/dest/logs/public_log.d.ts +9 -1
  403. package/dest/logs/public_log.d.ts.map +1 -1
  404. package/dest/logs/public_log.js +9 -0
  405. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  406. package/dest/logs/tx_scoped_l2_log.d.ts +8 -8
  407. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  408. package/dest/messaging/in_hash.d.ts +4 -0
  409. package/dest/messaging/in_hash.d.ts.map +1 -0
  410. package/dest/messaging/in_hash.js +8 -0
  411. package/dest/messaging/inbox_leaf.d.ts +1 -3
  412. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  413. package/dest/messaging/index.d.ts +3 -1
  414. package/dest/messaging/index.d.ts.map +1 -1
  415. package/dest/messaging/index.js +2 -0
  416. package/dest/messaging/l1_actor.d.ts +1 -7
  417. package/dest/messaging/l1_actor.d.ts.map +1 -1
  418. package/dest/messaging/l1_to_l2_message.d.ts +1 -6
  419. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  420. package/dest/messaging/l1_to_l2_message_source.d.ts +1 -1
  421. package/dest/messaging/l2_actor.d.ts +1 -7
  422. package/dest/messaging/l2_actor.d.ts.map +1 -1
  423. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  424. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  425. package/dest/messaging/l2_to_l1_membership.js +2 -2
  426. package/dest/messaging/l2_to_l1_message.d.ts +17 -1
  427. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  428. package/dest/messaging/l2_to_l1_message.js +18 -0
  429. package/dest/messaging/out_hash.d.ts +5 -0
  430. package/dest/messaging/out_hash.d.ts.map +1 -0
  431. package/dest/messaging/out_hash.js +28 -0
  432. package/dest/noir/index.d.ts +7 -7
  433. package/dest/noir/index.d.ts.map +1 -1
  434. package/dest/noir/index.js +6 -6
  435. package/dest/note/comparator.d.ts +1 -1
  436. package/dest/note/index.d.ts +2 -2
  437. package/dest/note/index.d.ts.map +1 -1
  438. package/dest/note/index.js +1 -1
  439. package/dest/note/note.d.ts +2 -17
  440. package/dest/note/note.d.ts.map +1 -1
  441. package/dest/note/note_dao.d.ts +71 -0
  442. package/dest/note/note_dao.d.ts.map +1 -0
  443. package/dest/note/note_dao.js +101 -0
  444. package/dest/note/note_status.d.ts +1 -1
  445. package/dest/note/notes_filter.d.ts +1 -1
  446. package/dest/p2p/attestation_utils.d.ts +1 -1
  447. package/dest/p2p/block_attestation.d.ts +5 -12
  448. package/dest/p2p/block_attestation.d.ts.map +1 -1
  449. package/dest/p2p/block_proposal.d.ts +3 -6
  450. package/dest/p2p/block_proposal.d.ts.map +1 -1
  451. package/dest/p2p/block_proposal.js +1 -1
  452. package/dest/p2p/client_type.d.ts +1 -1
  453. package/dest/p2p/consensus_payload.d.ts +10 -188
  454. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  455. package/dest/p2p/consensus_payload.js +16 -23
  456. package/dest/p2p/gossipable.d.ts +6 -5
  457. package/dest/p2p/gossipable.d.ts.map +1 -1
  458. package/dest/p2p/gossipable.js +16 -10
  459. package/dest/p2p/index.d.ts +1 -1
  460. package/dest/p2p/interface.d.ts +1 -1
  461. package/dest/p2p/message_validator.d.ts +1 -1
  462. package/dest/p2p/peer_error.d.ts +1 -1
  463. package/dest/p2p/signature_utils.d.ts +1 -1
  464. package/dest/p2p/topic_type.d.ts +1 -1
  465. package/dest/parity/index.d.ts +1 -1
  466. package/dest/parity/parity_base_private_inputs.d.ts +1 -3
  467. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  468. package/dest/parity/parity_public_inputs.d.ts +1 -4
  469. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  470. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  471. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  472. package/dest/proofs/chonk_proof.d.ts +1 -1
  473. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  474. package/dest/proofs/index.d.ts +1 -1
  475. package/dest/proofs/proof.d.ts +1 -4
  476. package/dest/proofs/proof.d.ts.map +1 -1
  477. package/dest/proofs/proof_data.d.ts +1 -1
  478. package/dest/proofs/proof_data.d.ts.map +1 -1
  479. package/dest/proofs/proving_request_type.d.ts +1 -1
  480. package/dest/proofs/recursive_proof.d.ts +2 -26
  481. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  482. package/dest/rollup/avm_proof_data.d.ts +1 -1
  483. package/dest/rollup/base_rollup_hints.d.ts +1 -34
  484. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  485. package/dest/rollup/block_constant_data.d.ts +1 -12
  486. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  487. package/dest/rollup/block_headers_hash.d.ts +4 -0
  488. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  489. package/dest/rollup/block_headers_hash.js +9 -0
  490. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  491. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  492. package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
  493. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  494. package/dest/rollup/block_rollup_public_inputs.js +8 -2
  495. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
  496. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  497. package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
  498. package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
  499. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  500. package/dest/rollup/checkpoint_constant_data.js +27 -3
  501. package/dest/rollup/checkpoint_header.d.ts +16 -14
  502. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  503. package/dest/rollup/checkpoint_header.js +40 -13
  504. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  505. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  506. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
  507. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  508. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
  509. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  510. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
  511. package/dest/rollup/epoch_constant_data.d.ts +1 -16
  512. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  513. package/dest/rollup/index.d.ts +2 -1
  514. package/dest/rollup/index.d.ts.map +1 -1
  515. package/dest/rollup/index.js +1 -0
  516. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  517. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  518. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
  519. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  520. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
  521. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  522. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  523. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  524. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  525. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  526. package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
  527. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  528. package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
  529. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  530. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  531. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  532. package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
  533. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  534. package/dest/schemas/index.d.ts +1 -1
  535. package/dest/schemas/schemas.d.ts +86 -15
  536. package/dest/schemas/schemas.d.ts.map +1 -1
  537. package/dest/schemas/schemas.js +12 -1
  538. package/dest/slashing/empire.d.ts +1 -1
  539. package/dest/slashing/empire.d.ts.map +1 -1
  540. package/dest/slashing/empire.js +5 -4
  541. package/dest/slashing/helpers.d.ts +7 -6
  542. package/dest/slashing/helpers.d.ts.map +1 -1
  543. package/dest/slashing/helpers.js +8 -6
  544. package/dest/slashing/index.d.ts +1 -1
  545. package/dest/slashing/interfaces.d.ts +3 -2
  546. package/dest/slashing/interfaces.d.ts.map +1 -1
  547. package/dest/slashing/serialization.d.ts +1 -1
  548. package/dest/slashing/tally.d.ts +1 -1
  549. package/dest/slashing/types.d.ts +10 -10
  550. package/dest/snapshots/download.d.ts +1 -1
  551. package/dest/snapshots/index.d.ts +1 -1
  552. package/dest/snapshots/types.d.ts +18 -18
  553. package/dest/snapshots/upload.d.ts +1 -1
  554. package/dest/stats/index.d.ts +1 -1
  555. package/dest/stats/stats.d.ts +1 -1
  556. package/dest/tests/factories.d.ts +34 -29
  557. package/dest/tests/factories.d.ts.map +1 -1
  558. package/dest/tests/factories.js +72 -147
  559. package/dest/tests/fixtures.d.ts +1 -1
  560. package/dest/tests/index.d.ts +1 -1
  561. package/dest/tests/jest.d.ts +1 -1
  562. package/dest/tests/mocks.d.ts +54 -23
  563. package/dest/tests/mocks.d.ts.map +1 -1
  564. package/dest/tests/mocks.js +133 -33
  565. package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
  566. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  567. package/dest/trees/append_only_tree_snapshot.js +9 -9
  568. package/dest/trees/database_public_state_source.d.ts +1 -1
  569. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  570. package/dest/trees/index.d.ts +1 -1
  571. package/dest/trees/merkle_tree_id.d.ts +5 -5
  572. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  573. package/dest/trees/nullifier_leaf.d.ts +17 -13
  574. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  575. package/dest/trees/nullifier_leaf.js +24 -0
  576. package/dest/trees/nullifier_membership_witness.d.ts +4 -37
  577. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  578. package/dest/trees/public_data_leaf.d.ts +28 -27
  579. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  580. package/dest/trees/public_data_leaf.js +24 -0
  581. package/dest/trees/public_data_witness.d.ts +11 -45
  582. package/dest/trees/public_data_witness.d.ts.map +1 -1
  583. package/dest/tx/block_header.d.ts +5 -12
  584. package/dest/tx/block_header.d.ts.map +1 -1
  585. package/dest/tx/block_header.js +13 -2
  586. package/dest/tx/call_context.d.ts +6 -18
  587. package/dest/tx/call_context.d.ts.map +1 -1
  588. package/dest/tx/capsule.d.ts +1 -4
  589. package/dest/tx/capsule.d.ts.map +1 -1
  590. package/dest/tx/content_commitment.d.ts +1 -1
  591. package/dest/tx/content_commitment.d.ts.map +1 -1
  592. package/dest/tx/execution_payload.d.ts +37 -0
  593. package/dest/tx/execution_payload.d.ts.map +1 -0
  594. package/dest/tx/execution_payload.js +40 -0
  595. package/dest/tx/function_data.d.ts +4 -6
  596. package/dest/tx/function_data.d.ts.map +1 -1
  597. package/dest/tx/global_variable_builder.d.ts +3 -2
  598. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  599. package/dest/tx/global_variables.d.ts +43 -24
  600. package/dest/tx/global_variables.d.ts.map +1 -1
  601. package/dest/tx/global_variables.js +48 -8
  602. package/dest/tx/hashed_values.d.ts +1 -7
  603. package/dest/tx/hashed_values.d.ts.map +1 -1
  604. package/dest/tx/index.d.ts +2 -1
  605. package/dest/tx/index.d.ts.map +1 -1
  606. package/dest/tx/index.js +1 -0
  607. package/dest/tx/indexed_tx_effect.d.ts +2 -2
  608. package/dest/tx/indexed_tx_effect.js +3 -1
  609. package/dest/tx/offchain_effect.d.ts +1 -1
  610. package/dest/tx/partial_state_reference.d.ts +4 -7
  611. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  612. package/dest/tx/partial_state_reference.js +10 -10
  613. package/dest/tx/private_execution_result.d.ts +14 -49
  614. package/dest/tx/private_execution_result.d.ts.map +1 -1
  615. package/dest/tx/private_execution_result.js +6 -3
  616. package/dest/tx/private_tx_constant_data.d.ts +1 -16
  617. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  618. package/dest/tx/processed_tx.d.ts +1 -1
  619. package/dest/tx/profiling.d.ts +38 -38
  620. package/dest/tx/profiling.d.ts.map +1 -1
  621. package/dest/tx/profiling.js +5 -4
  622. package/dest/tx/protocol_contracts.d.ts +10 -2
  623. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  624. package/dest/tx/protocol_contracts.js +9 -0
  625. package/dest/tx/proven_tx.d.ts +18 -18
  626. package/dest/tx/proven_tx.d.ts.map +1 -1
  627. package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
  628. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  629. package/dest/tx/public_call_request_with_calldata.js +12 -0
  630. package/dest/tx/public_simulation_output.d.ts +3 -1
  631. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  632. package/dest/tx/public_simulation_output.js +8 -1
  633. package/dest/tx/simulated_tx.d.ts +21 -21
  634. package/dest/tx/simulated_tx.d.ts.map +1 -1
  635. package/dest/tx/state_reference.d.ts +10 -12
  636. package/dest/tx/state_reference.d.ts.map +1 -1
  637. package/dest/tx/state_reference.js +9 -9
  638. package/dest/tx/tree_snapshots.d.ts +15 -7
  639. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  640. package/dest/tx/tree_snapshots.js +9 -0
  641. package/dest/tx/tx.d.ts +3 -17
  642. package/dest/tx/tx.d.ts.map +1 -1
  643. package/dest/tx/tx.js +5 -4
  644. package/dest/tx/tx_constant_data.d.ts +1 -1
  645. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  646. package/dest/tx/tx_context.d.ts +1 -2
  647. package/dest/tx/tx_context.d.ts.map +1 -1
  648. package/dest/tx/tx_effect.d.ts +20 -42
  649. package/dest/tx/tx_effect.d.ts.map +1 -1
  650. package/dest/tx/tx_effect.js +54 -59
  651. package/dest/tx/tx_execution_request.d.ts +1 -30
  652. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  653. package/dest/tx/tx_hash.d.ts +1 -2
  654. package/dest/tx/tx_hash.d.ts.map +1 -1
  655. package/dest/tx/tx_receipt.d.ts +1 -7
  656. package/dest/tx/tx_receipt.d.ts.map +1 -1
  657. package/dest/tx/tx_request.d.ts +1 -6
  658. package/dest/tx/tx_request.d.ts.map +1 -1
  659. package/dest/tx/validator/empty_validator.d.ts +1 -1
  660. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  661. package/dest/tx/validator/error_texts.d.ts +1 -1
  662. package/dest/tx/validator/tx_validator.d.ts +5 -5
  663. package/dest/types/index.d.ts +1 -1
  664. package/dest/types/shared.d.ts +1 -4
  665. package/dest/types/shared.d.ts.map +1 -1
  666. package/dest/update-checker/index.d.ts +1 -1
  667. package/dest/update-checker/update-checker.d.ts +2 -3
  668. package/dest/update-checker/update-checker.d.ts.map +1 -1
  669. package/dest/validators/errors.d.ts +6 -7
  670. package/dest/validators/errors.d.ts.map +1 -1
  671. package/dest/validators/errors.js +2 -4
  672. package/dest/validators/index.d.ts +1 -1
  673. package/dest/validators/schemas.d.ts +266 -208
  674. package/dest/validators/schemas.d.ts.map +1 -1
  675. package/dest/validators/schemas.js +7 -7
  676. package/dest/validators/types.d.ts +10 -9
  677. package/dest/validators/types.d.ts.map +1 -1
  678. package/dest/versioning/index.d.ts +1 -1
  679. package/dest/versioning/versioning.d.ts +1 -1
  680. package/dest/versioning/versioning.d.ts.map +1 -1
  681. package/dest/vks/index.d.ts +1 -1
  682. package/dest/vks/verification_key.d.ts +10 -22
  683. package/dest/vks/verification_key.d.ts.map +1 -1
  684. package/dest/vks/verification_key.js +20 -0
  685. package/dest/vks/vk_data.d.ts +1 -7
  686. package/dest/vks/vk_data.d.ts.map +1 -1
  687. package/dest/world-state/index.d.ts +1 -1
  688. package/dest/world-state/world_state_revision.d.ts +34 -2
  689. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  690. package/dest/world-state/world_state_revision.js +24 -1
  691. package/dest/zkpassport/index.d.ts +1 -1
  692. package/dest/zkpassport/index.d.ts.map +1 -1
  693. package/package.json +12 -11
  694. package/src/abi/abi.ts +4 -4
  695. package/src/abi/contract_artifact.ts +3 -3
  696. package/src/avm/avm.ts +562 -6
  697. package/src/avm/avm_accumulated_data.ts +40 -0
  698. package/src/avm/avm_circuit_public_inputs.ts +40 -0
  699. package/src/avm/message_pack.ts +4 -1
  700. package/src/avm/public_data_write.ts +12 -1
  701. package/src/avm/revert_code.ts +29 -9
  702. package/src/aztec-address/index.ts +26 -2
  703. package/src/block/attestation_info.ts +8 -1
  704. package/src/block/body.ts +16 -39
  705. package/src/block/index.ts +1 -0
  706. package/src/block/l2_block.ts +62 -4
  707. package/src/block/l2_block_code_to_purge.ts +4 -2
  708. package/src/block/l2_block_header.ts +19 -5
  709. package/src/block/l2_block_new.ts +171 -0
  710. package/src/block/l2_block_source.ts +9 -8
  711. package/src/block/proposal/attestations_and_signers.ts +20 -1
  712. package/src/block/published_l2_block.ts +14 -31
  713. package/src/block/validate_block_result.ts +9 -7
  714. package/src/checkpoint/checkpoint.ts +88 -0
  715. package/src/checkpoint/index.ts +2 -1
  716. package/src/checkpoint/published_checkpoint.ts +91 -0
  717. package/src/contract/contract_deployment_data.ts +125 -0
  718. package/src/contract/index.ts +1 -0
  719. package/src/contract/private_function_membership_proof.ts +1 -1
  720. package/src/epoch-helpers/index.ts +28 -21
  721. package/src/file-store/http.ts +6 -3
  722. package/src/file-store/s3.ts +3 -7
  723. package/src/gas/gas.ts +14 -0
  724. package/src/gas/gas_fees.ts +14 -0
  725. package/src/gas/gas_settings.ts +19 -0
  726. package/src/gas/gas_used.ts +22 -1
  727. package/src/hash/hash.ts +13 -2
  728. package/src/interfaces/archiver.ts +10 -5
  729. package/src/interfaces/aztec-node.ts +4 -3
  730. package/src/interfaces/configs.ts +6 -0
  731. package/src/interfaces/epoch-prover.ts +3 -4
  732. package/src/interfaces/merkle_tree_operations.ts +2 -2
  733. package/src/interfaces/p2p.ts +4 -2
  734. package/src/interfaces/proving-job.ts +14 -5
  735. package/src/interfaces/validator.ts +5 -2
  736. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  737. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  738. package/src/kernel/private_circuit_public_inputs.ts +29 -9
  739. package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
  740. package/src/kernel/private_kernel_data.ts +0 -2
  741. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
  742. package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
  743. package/src/kernel/private_validation_requests.ts +1 -13
  744. package/src/kernel/public_call_request.ts +27 -0
  745. package/src/keys/public_keys.ts +19 -0
  746. package/src/logs/contract_class_log.ts +32 -0
  747. package/src/logs/debug_log.ts +20 -1
  748. package/src/logs/private_log.ts +19 -3
  749. package/src/logs/public_log.ts +14 -0
  750. package/src/messaging/in_hash.ts +10 -0
  751. package/src/messaging/index.ts +2 -0
  752. package/src/messaging/l2_to_l1_membership.ts +2 -2
  753. package/src/messaging/l2_to_l1_message.ts +25 -0
  754. package/src/messaging/out_hash.ts +36 -0
  755. package/src/noir/index.ts +6 -6
  756. package/src/note/index.ts +1 -1
  757. package/src/note/note_dao.ts +151 -0
  758. package/src/p2p/block_attestation.ts +2 -1
  759. package/src/p2p/block_proposal.ts +3 -2
  760. package/src/p2p/consensus_payload.ts +16 -26
  761. package/src/p2p/gossipable.ts +17 -8
  762. package/src/rollup/block_headers_hash.ts +12 -0
  763. package/src/rollup/block_rollup_public_inputs.ts +8 -0
  764. package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
  765. package/src/rollup/checkpoint_constant_data.ts +43 -4
  766. package/src/rollup/checkpoint_header.ts +46 -22
  767. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
  768. package/src/rollup/index.ts +1 -0
  769. package/src/schemas/schemas.ts +18 -0
  770. package/src/slashing/empire.ts +6 -4
  771. package/src/slashing/helpers.ts +17 -12
  772. package/src/slashing/interfaces.ts +3 -1
  773. package/src/tests/factories.ts +211 -227
  774. package/src/tests/mocks.ts +228 -50
  775. package/src/trees/append_only_tree_snapshot.ts +11 -12
  776. package/src/trees/nullifier_leaf.ts +32 -0
  777. package/src/trees/public_data_leaf.ts +32 -0
  778. package/src/tx/block_header.ts +16 -3
  779. package/src/tx/execution_payload.ts +60 -0
  780. package/src/tx/global_variable_builder.ts +2 -1
  781. package/src/tx/global_variables.ts +63 -9
  782. package/src/tx/index.ts +1 -0
  783. package/src/tx/indexed_tx_effect.ts +1 -1
  784. package/src/tx/partial_state_reference.ts +9 -17
  785. package/src/tx/private_execution_result.ts +5 -2
  786. package/src/tx/profiling.ts +4 -6
  787. package/src/tx/protocol_contracts.ts +16 -0
  788. package/src/tx/public_call_request_with_calldata.ts +17 -0
  789. package/src/tx/public_simulation_output.ts +18 -1
  790. package/src/tx/state_reference.ts +9 -15
  791. package/src/tx/tree_snapshots.ts +16 -0
  792. package/src/tx/tx.ts +5 -5
  793. package/src/tx/tx_effect.ts +84 -90
  794. package/src/validators/errors.ts +3 -4
  795. package/src/validators/schemas.ts +7 -7
  796. package/src/validators/types.ts +9 -8
  797. package/src/vks/verification_key.ts +25 -0
  798. package/src/world-state/world_state_revision.ts +47 -5
  799. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  800. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  801. package/dest/checkpoint/checkpoint_body.js +0 -9
  802. package/dest/note/unique_note.d.ts +0 -43
  803. package/dest/note/unique_note.d.ts.map +0 -1
  804. package/dest/note/unique_note.js +0 -67
  805. package/src/checkpoint/checkpoint_body.ts +0 -10
  806. package/src/note/unique_note.ts +0 -88
@@ -149,6 +149,35 @@ export class AvmAccumulatedData {
149
149
  );
150
150
  }
151
151
 
152
+ /**
153
+ * Creates an AvmAccumulatedData instance from a plain object without Zod validation.
154
+ * This method is optimized for performance and skips validation, making it suitable
155
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
156
+ * @param obj - Plain object containing AvmAccumulatedData fields
157
+ * @returns An AvmAccumulatedData instance
158
+ */
159
+ static fromPlainObject(obj: any): AvmAccumulatedData {
160
+ return new AvmAccumulatedData(
161
+ assertLength(
162
+ obj.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
163
+ MAX_NOTE_HASHES_PER_TX,
164
+ ),
165
+ assertLength(
166
+ obj.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
167
+ MAX_NULLIFIERS_PER_TX,
168
+ ),
169
+ assertLength(
170
+ obj.l2ToL1Msgs.map((m: any) => ScopedL2ToL1Message.fromPlainObject(m)),
171
+ MAX_L2_TO_L1_MSGS_PER_TX,
172
+ ),
173
+ FlatPublicLogs.fromPlainObject(obj.publicLogs),
174
+ assertLength(
175
+ obj.publicDataWrites.map((w: any) => PublicDataWrite.fromPlainObject(w)),
176
+ MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
177
+ ),
178
+ );
179
+ }
180
+
152
181
  isEmpty(): boolean {
153
182
  return (
154
183
  this.noteHashes.every(x => x.isZero()) &&
@@ -265,6 +294,17 @@ export class AvmAccumulatedDataArrayLengths {
265
294
  return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0);
266
295
  }
267
296
 
297
+ /**
298
+ * Creates an AvmAccumulatedDataArrayLengths instance from a plain object without Zod validation.
299
+ * This method is optimized for performance and skips validation, making it suitable
300
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
301
+ * @param obj - Plain object containing AvmAccumulatedDataArrayLengths fields
302
+ * @returns An AvmAccumulatedDataArrayLengths instance
303
+ */
304
+ static fromPlainObject(obj: any): AvmAccumulatedDataArrayLengths {
305
+ return new AvmAccumulatedDataArrayLengths(obj.noteHashes, obj.nullifiers, obj.l2ToL1Msgs, obj.publicDataWrites);
306
+ }
307
+
268
308
  [inspect.custom]() {
269
309
  return `AvmAccumulatedDataArrayLengths {
270
310
  noteHashes: ${this.noteHashes},
@@ -276,6 +276,46 @@ export class AvmCircuitPublicInputs {
276
276
  );
277
277
  }
278
278
 
279
+ /**
280
+ * Creates an AvmCircuitPublicInputs instance from a plain object without Zod validation.
281
+ * This method is optimized for performance and skips validation, making it suitable
282
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
283
+ * @param obj - Plain object containing AvmCircuitPublicInputs fields
284
+ * @returns An AvmCircuitPublicInputs instance
285
+ */
286
+ static fromPlainObject(obj: any): AvmCircuitPublicInputs {
287
+ return new AvmCircuitPublicInputs(
288
+ GlobalVariables.fromPlainObject(obj.globalVariables),
289
+ ProtocolContracts.fromPlainObject(obj.protocolContracts),
290
+ TreeSnapshots.fromPlainObject(obj.startTreeSnapshots),
291
+ Gas.fromPlainObject(obj.startGasUsed),
292
+ GasSettings.fromPlainObject(obj.gasSettings),
293
+ GasFees.fromPlainObject(obj.effectiveGasFees),
294
+ AztecAddress.fromPlainObject(obj.feePayer),
295
+ Fr.fromPlainObject(obj.proverId),
296
+ PublicCallRequestArrayLengths.fromPlainObject(obj.publicCallRequestArrayLengths),
297
+ assertLength(
298
+ obj.publicSetupCallRequests.map((r: any) => PublicCallRequest.fromPlainObject(r)),
299
+ MAX_ENQUEUED_CALLS_PER_TX,
300
+ ),
301
+ assertLength(
302
+ obj.publicAppLogicCallRequests.map((r: any) => PublicCallRequest.fromPlainObject(r)),
303
+ MAX_ENQUEUED_CALLS_PER_TX,
304
+ ),
305
+ PublicCallRequest.fromPlainObject(obj.publicTeardownCallRequest),
306
+ PrivateToAvmAccumulatedDataArrayLengths.fromPlainObject(obj.previousNonRevertibleAccumulatedDataArrayLengths),
307
+ PrivateToAvmAccumulatedDataArrayLengths.fromPlainObject(obj.previousRevertibleAccumulatedDataArrayLengths),
308
+ PrivateToAvmAccumulatedData.fromPlainObject(obj.previousNonRevertibleAccumulatedData),
309
+ PrivateToAvmAccumulatedData.fromPlainObject(obj.previousRevertibleAccumulatedData),
310
+ TreeSnapshots.fromPlainObject(obj.endTreeSnapshots),
311
+ Gas.fromPlainObject(obj.endGasUsed),
312
+ AvmAccumulatedDataArrayLengths.fromPlainObject(obj.accumulatedDataArrayLengths),
313
+ AvmAccumulatedData.fromPlainObject(obj.accumulatedData),
314
+ Fr.fromPlainObject(obj.transactionFee),
315
+ obj.reverted,
316
+ );
317
+ }
318
+
279
319
  public serializeWithMessagePack(): Buffer {
280
320
  return serializeWithMessagePack(this);
281
321
  }
@@ -18,7 +18,10 @@ export function serializeWithMessagePack(obj: any): Buffer {
18
18
  return encoder.encode(obj);
19
19
  }
20
20
 
21
- export function deserializeFromMessagePack<T>(buffer: Buffer): T {
21
+ // This deserializes into a JS object. If you want a specific
22
+ // class, you need to use zod to parse it into the specific class.
23
+ // You can use T.schema.parse() for that.
24
+ export function deserializeFromMessagePack(buffer: Buffer): any {
22
25
  setUpMessagePackExtensions();
23
26
  const decoder = new Decoder({
24
27
  useRecords: false,
@@ -61,7 +61,7 @@ export class PublicDataWrite {
61
61
  return new PublicDataWrite(reader.readField(), reader.readField());
62
62
  }
63
63
 
64
- toBlobFields(): Fr[] {
64
+ toBlobFields(): [Fr, Fr] {
65
65
  return [this.leafSlot, this.value];
66
66
  }
67
67
 
@@ -86,6 +86,17 @@ export class PublicDataWrite {
86
86
  return new PublicDataWrite(Fr.ZERO, Fr.ZERO);
87
87
  }
88
88
 
89
+ /**
90
+ * Creates a PublicDataWrite instance from a plain object without Zod validation.
91
+ * This method is optimized for performance and skips validation, making it suitable
92
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
93
+ * @param obj - Plain object containing PublicDataWrite fields
94
+ * @returns A PublicDataWrite instance
95
+ */
96
+ static fromPlainObject(obj: any): PublicDataWrite {
97
+ return new PublicDataWrite(Fr.fromPlainObject(obj.leafSlot), Fr.fromPlainObject(obj.value));
98
+ }
99
+
89
100
  static random() {
90
101
  return new PublicDataWrite(Fr.random(), Fr.random());
91
102
  }
@@ -1,4 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
+ import type { ZodFor } from '@aztec/foundation/schemas';
2
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
3
4
 
4
5
  import { inspect } from 'util';
@@ -64,10 +65,28 @@ export class RevertCode {
64
65
  return this.code;
65
66
  }
66
67
 
67
- static get schema() {
68
+ static get schema(): ZodFor<RevertCode> {
68
69
  return z.nativeEnum(RevertCodeEnum).transform(value => new RevertCode(value));
69
70
  }
70
71
 
72
+ /**
73
+ * Creates a RevertCode from a plain object without Zod validation.
74
+ * This method is optimized for performance and skips validation, making it suitable
75
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
76
+ * @param obj - Plain object, number, or RevertCode instance
77
+ * @returns A RevertCode instance
78
+ */
79
+ static fromPlainObject(obj: any): RevertCode {
80
+ if (obj instanceof RevertCode) {
81
+ return obj;
82
+ }
83
+ const code = typeof obj === 'number' ? obj : (obj.code ?? obj);
84
+ if (!isRevertCodeEnum(code)) {
85
+ throw new Error(`Invalid RevertCode: ${code}`);
86
+ }
87
+ return new RevertCode(code);
88
+ }
89
+
71
90
  /**
72
91
  * Having different serialization methods allows for
73
92
  * decoupling the serialization for producing the content commitment hash
@@ -96,11 +115,15 @@ export class RevertCode {
96
115
  return this.toBuffer().length;
97
116
  }
98
117
 
99
- public static fromField(fr: Fr): RevertCode {
100
- if (!isRevertCodeEnum(fr.toNumber())) {
101
- throw new Error(`Invalid RevertCode: ${fr.toNumber()}`);
118
+ public static fromNumber(code: number): RevertCode {
119
+ if (!isRevertCodeEnum(code)) {
120
+ throw new Error(`Invalid RevertCode: ${code}`);
102
121
  }
103
- return new RevertCode(fr.toNumber());
122
+ return new RevertCode(code);
123
+ }
124
+
125
+ public static fromField(field: Fr): RevertCode {
126
+ return RevertCode.fromNumber(field.toNumber());
104
127
  }
105
128
 
106
129
  public static fromFields(fields: Fr[] | FieldReader): RevertCode {
@@ -111,10 +134,7 @@ export class RevertCode {
111
134
  public static fromBuffer(buffer: Buffer | BufferReader): RevertCode {
112
135
  const reader = BufferReader.asReader(buffer);
113
136
  const code = reader.readBytes(RevertCode.PACKED_SIZE_IN_BYTES).readUInt8(0);
114
- if (!isRevertCodeEnum(code)) {
115
- throw new Error(`Invalid RevertCode: ${code}`);
116
- }
117
- return new RevertCode(code);
137
+ return RevertCode.fromNumber(code);
118
138
  }
119
139
 
120
140
  private static readonly NUM_OPTIONS = 4;
@@ -1,10 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
2
2
  import { Fr, Point, fromBuffer } from '@aztec/foundation/fields';
3
- import { type ZodFor, hexSchemaFor } from '@aztec/foundation/schemas';
3
+ import { type ZodFor, bufferSchemaFor, hexSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { type BufferReader, FieldReader, TypeRegistry } from '@aztec/foundation/serialize';
5
5
  import { hexToBuffer } from '@aztec/foundation/string';
6
6
 
7
7
  import { inspect } from 'util';
8
+ import { z } from 'zod';
8
9
 
9
10
  /** Branding to ensure fields are not interchangeable types. */
10
11
  export interface AztecAddress {
@@ -71,6 +72,24 @@ export class AztecAddress {
71
72
  return new AztecAddress(hexToBuffer(buf));
72
73
  }
73
74
 
75
+ /**
76
+ * Creates an AztecAddress from a plain object without Zod validation.
77
+ * This method is optimized for performance and skips validation, making it suitable
78
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
79
+ * Handles buffers, strings, or existing instances.
80
+ * @param obj - Plain object, buffer, string, or AztecAddress instance
81
+ * @returns An AztecAddress instance
82
+ */
83
+ static fromPlainObject(obj: any): AztecAddress {
84
+ if (obj instanceof AztecAddress) {
85
+ return obj;
86
+ }
87
+ if (obj instanceof Buffer || Buffer.isBuffer(obj)) {
88
+ return new AztecAddress(obj);
89
+ }
90
+ return AztecAddress.fromString(obj);
91
+ }
92
+
74
93
  /**
75
94
  * @returns a random valid address (i.e. one that can be encrypted to).
76
95
  */
@@ -137,7 +156,12 @@ export class AztecAddress {
137
156
  }
138
157
 
139
158
  static get schema(): ZodFor<AztecAddress> {
140
- return hexSchemaFor(AztecAddress, AztecAddress.isAddress);
159
+ return z.union([
160
+ // Serialization from hex string.
161
+ hexSchemaFor(AztecAddress, AztecAddress.isAddress),
162
+ // Serialization from buffer.
163
+ bufferSchemaFor(AztecAddress, buf => buf.length === 32),
164
+ ]);
141
165
  }
142
166
  }
143
167
 
@@ -37,9 +37,16 @@ export function getAttestationInfoFromPublishedL2Block(block: {
37
37
  block: L2Block;
38
38
  }): AttestationInfo[] {
39
39
  const payload = ConsensusPayload.fromBlock(block.block);
40
+ return getAttestationInfoFromPayload(payload, block.attestations);
41
+ }
42
+
43
+ export function getAttestationInfoFromPayload(
44
+ payload: ConsensusPayload,
45
+ attestations: CommitteeAttestation[],
46
+ ): AttestationInfo[] {
40
47
  const hashedPayload = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
41
48
 
42
- return block.attestations.map(attestation => {
49
+ return attestations.map(attestation => {
43
50
  // If signature is empty, check if we have an address directly
44
51
  if (attestation.signature.isEmpty()) {
45
52
  if (attestation.address.isZero()) {
package/src/block/body.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { createBlockEndMarker, getNumTxsFromBlockEndMarker, isBlockEndMarker } from '@aztec/blob-lib/encoding';
1
+ import type { TxBlobData } from '@aztec/blob-lib/encoding';
2
2
  import { timesParallel } from '@aztec/foundation/collection';
3
- import { Fr } from '@aztec/foundation/fields';
4
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
 
6
5
  import { inspect } from 'util';
7
6
  import { z } from 'zod';
@@ -9,14 +8,6 @@ import { z } from 'zod';
9
8
  import type { ZodFor } from '../schemas/index.js';
10
9
  import { TxEffect } from '../tx/tx_effect.js';
11
10
 
12
- export { createBlockEndMarker };
13
-
14
- export function getBlockBlobFields(txEffects: TxEffect[]) {
15
- const blobFields = txEffects.flatMap(txEffect => txEffect.toBlobFields());
16
- blobFields.push(createBlockEndMarker(txEffects.length));
17
- return blobFields;
18
- }
19
-
20
11
  export class Body {
21
12
  constructor(public txEffects: TxEffect[]) {}
22
13
 
@@ -55,32 +46,16 @@ export class Body {
55
46
  /**
56
47
  * Returns a flat packed array of fields of all tx effects - used for blobs.
57
48
  */
58
- toBlobFields() {
59
- return getBlockBlobFields(this.txEffects);
49
+ toTxBlobData(): TxBlobData[] {
50
+ return this.txEffects.map(txEffect => txEffect.toTxBlobData());
60
51
  }
61
52
 
62
53
  /**
63
54
  * Decodes a block from blob fields.
64
55
  */
65
- static fromBlobFields(fields: Fr[]) {
66
- const txEffects: TxEffect[] = [];
67
- const reader = new FieldReader(fields.slice(0, -1));
68
- while (!reader.isFinished()) {
69
- txEffects.push(TxEffect.fromBlobFields(reader));
70
- }
71
-
72
- // If the fields are from a proven block, or are constructed by calling `toBlobFields`, the following errors should never throw.
73
-
74
- if (!isBlockEndMarker(fields[fields.length - 1])) {
75
- throw new Error('Block end marker not found');
76
- }
77
-
78
- const numTxs = getNumTxsFromBlockEndMarker(fields[fields.length - 1]);
79
- if (numTxs !== txEffects.length) {
80
- throw new Error(`Expected ${numTxs} txs, but got ${txEffects.length}`);
81
- }
82
-
83
- return new this(txEffects);
56
+ static fromTxBlobData(txBlobData: TxBlobData[]): Body {
57
+ const txEffects = txBlobData.map(data => TxEffect.fromTxBlobData(data));
58
+ return new Body(txEffects);
84
59
  }
85
60
 
86
61
  [inspect.custom]() {
@@ -89,14 +64,16 @@ export class Body {
89
64
  }`;
90
65
  }
91
66
 
92
- static async random(
67
+ static async random({
93
68
  txsPerBlock = 4,
94
- numPublicCallsPerTx = 3,
95
- numPublicLogsPerCall = 1,
96
- maxEffects: number | undefined = undefined,
97
- ) {
98
- const txEffects = await timesParallel(txsPerBlock, () =>
99
- TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall, maxEffects),
69
+ makeTxOptions = () => ({}),
70
+ ...txEffectOptions
71
+ }: {
72
+ txsPerBlock?: number;
73
+ makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof TxEffect.random>[0]>;
74
+ } & Partial<Parameters<typeof TxEffect.random>[0]> = {}) {
75
+ const txEffects = await timesParallel(txsPerBlock, txIndex =>
76
+ TxEffect.random({ ...makeTxOptions(txIndex), ...txEffectOptions }),
100
77
  );
101
78
 
102
79
  return new Body(txEffects);
@@ -1,4 +1,5 @@
1
1
  export * from './l2_block.js';
2
+ export * from './l2_block_new.js';
2
3
  export * from './l2_block_header.js';
3
4
  export * from './l2_block_stream/index.js';
4
5
  export * from './in_block.js';
@@ -1,19 +1,24 @@
1
+ import { type BlockBlobData, encodeBlockBlobData, encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
3
  import { Fr } from '@aztec/foundation/fields';
2
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
6
 
5
7
  import { z } from 'zod';
6
8
 
7
- import { getCheckpointBlobFields } from '../checkpoint/checkpoint_body.js';
9
+ import { Checkpoint } from '../checkpoint/checkpoint.js';
8
10
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
11
  import type { BlockHeader } from '../tx/block_header.js';
10
12
  import { Body } from './body.js';
11
13
  import { makeAppendOnlyTreeSnapshot, makeL2BlockHeader } from './l2_block_code_to_purge.js';
12
14
  import { L2BlockHeader } from './l2_block_header.js';
13
15
  import type { L2BlockInfo } from './l2_block_info.js';
16
+ import { L2BlockNew } from './l2_block_new.js';
14
17
 
15
18
  /**
16
19
  * The data that makes up the rollup proof, with encoder decoder functions.
20
+ *
21
+ * @deprecated Use `L2BlockNew` instead.
17
22
  */
18
23
  export class L2Block {
19
24
  constructor(
@@ -92,7 +97,7 @@ export class L2Block {
92
97
  slotNumber: number | undefined = undefined,
93
98
  maxEffects: number | undefined = undefined,
94
99
  ): Promise<L2Block> {
95
- const body = await Body.random(txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall, maxEffects);
100
+ const body = await Body.random({ txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall, maxEffects });
96
101
 
97
102
  return new L2Block(
98
103
  makeAppendOnlyTreeSnapshot(l2BlockNum + 1),
@@ -113,7 +118,7 @@ export class L2Block {
113
118
  return this.header.getBlockNumber();
114
119
  }
115
120
 
116
- get slot(): bigint {
121
+ get slot(): SlotNumber {
117
122
  return this.header.getSlot();
118
123
  }
119
124
 
@@ -146,13 +151,66 @@ export class L2Block {
146
151
  return this.header.toBlockHeader();
147
152
  }
148
153
 
154
+ public toL2Block() {
155
+ return new L2BlockNew(this.archive, this.getBlockHeader(), this.body);
156
+ }
157
+
158
+ public toCheckpoint() {
159
+ return new Checkpoint(this.archive, this.getCheckpointHeader(), [this.toL2Block()], this.number);
160
+ }
161
+
162
+ static fromCheckpoint(checkpoint: Checkpoint) {
163
+ const checkpointHeader = checkpoint.header;
164
+ const block = checkpoint.blocks.at(-1)!;
165
+ const header = new L2BlockHeader(
166
+ new AppendOnlyTreeSnapshot(checkpointHeader.lastArchiveRoot, block.number),
167
+ checkpointHeader.contentCommitment,
168
+ block.header.state,
169
+ block.header.globalVariables,
170
+ block.header.totalFees,
171
+ checkpointHeader.totalManaUsed,
172
+ block.header.spongeBlobHash,
173
+ checkpointHeader.blockHeadersHash,
174
+ );
175
+ return new L2Block(checkpoint.archive, header, block.body);
176
+ }
177
+
149
178
  /**
150
179
  * @deprecated
151
180
  * This only works when there's one block per checkpoint.
152
181
  * TODO(#17027): Remove this method from L2Block and create a dedicated Checkpoint class.
153
182
  */
154
183
  public getCheckpointBlobFields() {
155
- return getCheckpointBlobFields([this.body.txEffects]);
184
+ const blockBlobData = this.toBlockBlobData(true);
185
+ return encodeCheckpointBlobDataFromBlocks([blockBlobData]);
186
+ }
187
+
188
+ public toBlobFields(isFirstBlock: boolean): Fr[] {
189
+ const blockBlobData = this.toBlockBlobData(isFirstBlock);
190
+ return encodeBlockBlobData(blockBlobData);
191
+ }
192
+
193
+ public toBlockBlobData(isFirstBlock: boolean): BlockBlobData {
194
+ return {
195
+ blockEndMarker: {
196
+ numTxs: this.body.txEffects.length,
197
+ timestamp: this.header.globalVariables.timestamp,
198
+ blockNumber: this.number,
199
+ },
200
+ blockEndStateField: {
201
+ l1ToL2MessageNextAvailableLeafIndex: this.header.state.l1ToL2MessageTree.nextAvailableLeafIndex,
202
+ noteHashNextAvailableLeafIndex: this.header.state.partial.noteHashTree.nextAvailableLeafIndex,
203
+ nullifierNextAvailableLeafIndex: this.header.state.partial.nullifierTree.nextAvailableLeafIndex,
204
+ publicDataNextAvailableLeafIndex: this.header.state.partial.publicDataTree.nextAvailableLeafIndex,
205
+ totalManaUsed: this.header.totalManaUsed.toBigInt(),
206
+ },
207
+ lastArchiveRoot: this.header.lastArchive.root,
208
+ noteHashRoot: this.header.state.partial.noteHashTree.root,
209
+ nullifierRoot: this.header.state.partial.nullifierTree.root,
210
+ publicDataRoot: this.header.state.partial.publicDataTree.root,
211
+ l1ToL2MessageRoot: isFirstBlock ? this.header.state.l1ToL2MessageTree.root : undefined,
212
+ txs: this.body.toTxBlobData(),
213
+ };
156
214
  }
157
215
 
158
216
  /**
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { compact } from '@aztec/foundation/collection';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import { Fr } from '@aztec/foundation/fields';
@@ -25,8 +26,9 @@ export function makeL2BlockHeader(
25
26
  overrides?.state ?? makeStateReference(seed + 0x600),
26
27
  makeGlobalVariables((seed += 0x700), {
27
28
  ...(blockNumber ? { blockNumber } : {}),
28
- ...(slotNumber ? { slotNumber: new Fr(slotNumber) } : {}),
29
+ ...(slotNumber ? { slotNumber: SlotNumber(slotNumber) } : {}),
29
30
  }),
31
+ new Fr(seed + 0x300),
30
32
  new Fr(seed + 0x800),
31
33
  new Fr(seed + 0x900),
32
34
  new Fr(seed + 0xa00),
@@ -76,7 +78,7 @@ function makeGlobalVariables(seed = 1, overrides: Partial<FieldsOf<GlobalVariabl
76
78
  chainId: new Fr(seed),
77
79
  version: new Fr(seed + 1),
78
80
  blockNumber: seed + 2,
79
- slotNumber: new Fr(seed + 3),
81
+ slotNumber: SlotNumber(seed + 3),
80
82
  timestamp: BigInt(seed + 4),
81
83
  coinbase: EthAddress.fromField(new Fr(seed + 5)),
82
84
  feeRecipient: AztecAddress.fromField(new Fr(seed + 6)),
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
@@ -36,6 +37,8 @@ export class L2BlockHeader {
36
37
  public totalManaUsed: Fr,
37
38
  /** Hash of the sponge blob of the block. */
38
39
  public spongeBlobHash: Fr,
40
+ /** Hash of the block headers in the checkpoint. */
41
+ public blockHeadersHash: Fr,
39
42
  ) {}
40
43
 
41
44
  static get schema(): ZodFor<L2BlockHeader> {
@@ -48,6 +51,7 @@ export class L2BlockHeader {
48
51
  totalFees: schemas.Fr,
49
52
  totalManaUsed: schemas.Fr,
50
53
  spongeBlobHash: schemas.Fr,
54
+ blockHeadersHash: schemas.Fr,
51
55
  })
52
56
  .transform(L2BlockHeader.from);
53
57
  }
@@ -61,6 +65,7 @@ export class L2BlockHeader {
61
65
  fields.totalFees,
62
66
  fields.totalManaUsed,
63
67
  fields.spongeBlobHash,
68
+ fields.blockHeadersHash,
64
69
  ] as const;
65
70
  }
66
71
 
@@ -68,8 +73,8 @@ export class L2BlockHeader {
68
73
  return new L2BlockHeader(...L2BlockHeader.getFields(fields));
69
74
  }
70
75
 
71
- getSlot() {
72
- return this.globalVariables.slotNumber.toBigInt();
76
+ getSlot(): SlotNumber {
77
+ return this.globalVariables.slotNumber;
73
78
  }
74
79
 
75
80
  getBlockNumber() {
@@ -84,7 +89,8 @@ export class L2BlockHeader {
84
89
  this.globalVariables.getSize() +
85
90
  this.totalFees.size +
86
91
  this.totalManaUsed.size +
87
- this.spongeBlobHash.size
92
+ this.spongeBlobHash.size +
93
+ this.blockHeadersHash.size
88
94
  );
89
95
  }
90
96
 
@@ -111,6 +117,7 @@ export class L2BlockHeader {
111
117
  reader.readObject(Fr),
112
118
  reader.readObject(Fr),
113
119
  reader.readObject(Fr),
120
+ reader.readObject(Fr),
114
121
  );
115
122
  }
116
123
 
@@ -125,6 +132,7 @@ export class L2BlockHeader {
125
132
  reader.readField(),
126
133
  reader.readField(),
127
134
  reader.readField(),
135
+ reader.readField(),
128
136
  );
129
137
  }
130
138
 
@@ -137,6 +145,7 @@ export class L2BlockHeader {
137
145
  totalFees: Fr.ZERO,
138
146
  totalManaUsed: Fr.ZERO,
139
147
  spongeBlobHash: Fr.ZERO,
148
+ blockHeadersHash: Fr.ZERO,
140
149
  ...fields,
141
150
  });
142
151
  }
@@ -149,7 +158,8 @@ export class L2BlockHeader {
149
158
  this.globalVariables.isEmpty() &&
150
159
  this.totalFees.isZero() &&
151
160
  this.totalManaUsed.isZero() &&
152
- this.spongeBlobHash.isZero()
161
+ this.spongeBlobHash.isZero() &&
162
+ this.blockHeadersHash.isZero()
153
163
  );
154
164
  }
155
165
 
@@ -168,6 +178,7 @@ export class L2BlockHeader {
168
178
  toCheckpointHeader() {
169
179
  return new CheckpointHeader(
170
180
  this.lastArchive.root,
181
+ this.blockHeadersHash,
171
182
  this.contentCommitment,
172
183
  this.globalVariables.slotNumber,
173
184
  this.globalVariables.timestamp,
@@ -198,6 +209,7 @@ export class L2BlockHeader {
198
209
  totalFees: this.totalFees.toBigInt(),
199
210
  totalManaUsed: this.totalManaUsed.toBigInt(),
200
211
  spongeBlobHash: this.spongeBlobHash.toString(),
212
+ blockHeadersHash: this.blockHeadersHash.toString(),
201
213
  };
202
214
  }
203
215
 
@@ -215,6 +227,7 @@ export class L2BlockHeader {
215
227
  totalFees: ${this.totalFees},
216
228
  totalManaUsed: ${this.totalManaUsed},
217
229
  spongeBlobHash: ${this.spongeBlobHash},
230
+ blockHeadersHash: ${this.blockHeadersHash},
218
231
  }`;
219
232
  }
220
233
 
@@ -226,7 +239,8 @@ export class L2BlockHeader {
226
239
  this.totalFees.equals(other.totalFees) &&
227
240
  this.totalManaUsed.equals(other.totalManaUsed) &&
228
241
  this.lastArchive.equals(other.lastArchive) &&
229
- this.spongeBlobHash.equals(other.spongeBlobHash)
242
+ this.spongeBlobHash.equals(other.spongeBlobHash) &&
243
+ this.blockHeadersHash.equals(other.blockHeadersHash)
230
244
  );
231
245
  }
232
246
  }