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

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 (855) 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 +4356 -2061
  30. package/dest/avm/avm.d.ts.map +1 -1
  31. package/dest/avm/avm.js +529 -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 +160 -148
  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 +2031 -1507
  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/block_parameter.d.ts +5 -0
  71. package/dest/block/block_parameter.d.ts.map +1 -0
  72. package/dest/block/block_parameter.js +6 -0
  73. package/dest/block/body.d.ts +8 -8
  74. package/dest/block/body.d.ts.map +1 -1
  75. package/dest/block/body.js +11 -27
  76. package/dest/block/in_block.d.ts +14 -19
  77. package/dest/block/in_block.d.ts.map +1 -1
  78. package/dest/block/in_block.js +3 -3
  79. package/dest/block/index.d.ts +3 -2
  80. package/dest/block/index.d.ts.map +1 -1
  81. package/dest/block/index.js +2 -1
  82. package/dest/block/l2_block.d.ts +18 -10
  83. package/dest/block/l2_block.d.ts.map +1 -1
  84. package/dest/block/l2_block.js +56 -5
  85. package/dest/block/l2_block_code_to_purge.d.ts +1 -1
  86. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  87. package/dest/block/l2_block_code_to_purge.js +6 -5
  88. package/dest/block/l2_block_header.d.ts +12 -14
  89. package/dest/block/l2_block_header.d.ts.map +1 -1
  90. package/dest/block/l2_block_header.js +18 -11
  91. package/dest/block/l2_block_info.d.ts +21 -16
  92. package/dest/block/l2_block_info.d.ts.map +1 -1
  93. package/dest/block/l2_block_info.js +7 -6
  94. package/dest/block/l2_block_new.d.ts +110 -0
  95. package/dest/block/l2_block_new.d.ts.map +1 -0
  96. package/dest/block/l2_block_new.js +138 -0
  97. package/dest/block/l2_block_source.d.ts +71 -104
  98. package/dest/block/l2_block_source.d.ts.map +1 -1
  99. package/dest/block/l2_block_source.js +5 -11
  100. package/dest/block/l2_block_stream/index.d.ts +1 -1
  101. package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
  103. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_block_stream.js +4 -3
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_memory_store.js +4 -2
  108. package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
  109. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  110. package/dest/block/proposal/attestations_and_signers.js +14 -0
  111. package/dest/block/proposal/committee_attestation.d.ts +1 -1
  112. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  113. package/dest/block/proposal/index.d.ts +1 -1
  114. package/dest/block/published_l2_block.d.ts +15 -28
  115. package/dest/block/published_l2_block.d.ts.map +1 -1
  116. package/dest/block/published_l2_block.js +12 -27
  117. package/dest/block/test/index.d.ts +1 -1
  118. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  119. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  120. package/dest/block/test/l2_tips_store_test_suite.js +6 -4
  121. package/dest/block/validate_block_result.d.ts +6 -178
  122. package/dest/block/validate_block_result.d.ts.map +1 -1
  123. package/dest/block/validate_block_result.js +4 -3
  124. package/dest/checkpoint/checkpoint.d.ts +124 -0
  125. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  126. package/dest/checkpoint/checkpoint.js +62 -0
  127. package/dest/checkpoint/index.d.ts +3 -2
  128. package/dest/checkpoint/index.d.ts.map +1 -1
  129. package/dest/checkpoint/index.js +2 -1
  130. package/dest/checkpoint/published_checkpoint.d.ts +214 -0
  131. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  132. package/dest/checkpoint/published_checkpoint.js +71 -0
  133. package/dest/config/chain-config.d.ts +1 -1
  134. package/dest/config/index.d.ts +1 -1
  135. package/dest/config/node-rpc-config.d.ts +1 -1
  136. package/dest/contract/artifact_hash.d.ts +2 -2
  137. package/dest/contract/artifact_hash.d.ts.map +1 -1
  138. package/dest/contract/complete_address.d.ts +1 -4
  139. package/dest/contract/complete_address.d.ts.map +1 -1
  140. package/dest/contract/contract_address.d.ts +1 -1
  141. package/dest/contract/contract_class.d.ts +1 -1
  142. package/dest/contract/contract_class_id.d.ts +1 -1
  143. package/dest/contract/contract_class_metadata.d.ts +1 -1
  144. package/dest/contract/contract_deployment_data.d.ts +119 -0
  145. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  146. package/dest/contract/contract_deployment_data.js +99 -0
  147. package/dest/contract/contract_function_dao.d.ts +1 -1
  148. package/dest/contract/contract_instance.d.ts +1 -1
  149. package/dest/contract/contract_instance.d.ts.map +1 -1
  150. package/dest/contract/contract_instance_update.d.ts +1 -1
  151. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  152. package/dest/contract/contract_metadata.d.ts +1 -1
  153. package/dest/contract/deployment_info.d.ts +1 -1
  154. package/dest/contract/index.d.ts +2 -1
  155. package/dest/contract/index.d.ts.map +1 -1
  156. package/dest/contract/index.js +1 -0
  157. package/dest/contract/interfaces/contract_class.d.ts +41 -122
  158. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  159. package/dest/contract/interfaces/contract_data_source.d.ts +3 -2
  160. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  161. package/dest/contract/interfaces/contract_instance.d.ts +11 -11
  162. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
  164. package/dest/contract/interfaces/index.d.ts +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +1 -1
  166. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  167. package/dest/contract/partial_address.d.ts +1 -1
  168. package/dest/contract/private_function.d.ts +1 -1
  169. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  170. package/dest/contract/private_function_membership_proof.js +1 -1
  171. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  172. package/dest/database-version/index.d.ts +1 -1
  173. package/dest/database-version/version_manager.d.ts +6 -8
  174. package/dest/database-version/version_manager.d.ts.map +1 -1
  175. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
  176. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  177. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
  178. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  179. package/dest/delayed_public_mutable/index.d.ts +1 -1
  180. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  181. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  182. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
  183. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  184. package/dest/epoch-helpers/index.d.ts +12 -11
  185. package/dest/epoch-helpers/index.d.ts.map +1 -1
  186. package/dest/epoch-helpers/index.js +10 -9
  187. package/dest/errors/index.d.ts +1 -1
  188. package/dest/errors/proving_error.d.ts +2 -2
  189. package/dest/errors/proving_error.d.ts.map +1 -1
  190. package/dest/errors/simulation_error.d.ts +1 -1
  191. package/dest/errors/simulation_error.d.ts.map +1 -1
  192. package/dest/fees/index.d.ts +1 -1
  193. package/dest/fees/transaction_fee.d.ts +1 -1
  194. package/dest/file-store/factory.d.ts +1 -1
  195. package/dest/file-store/gcs.d.ts +1 -1
  196. package/dest/file-store/gcs.d.ts.map +1 -1
  197. package/dest/file-store/http.d.ts +1 -1
  198. package/dest/file-store/http.d.ts.map +1 -1
  199. package/dest/file-store/http.js +8 -3
  200. package/dest/file-store/index.d.ts +1 -1
  201. package/dest/file-store/interface.d.ts +1 -1
  202. package/dest/file-store/local.d.ts +1 -1
  203. package/dest/file-store/local.d.ts.map +1 -1
  204. package/dest/file-store/s3.d.ts +1 -1
  205. package/dest/file-store/s3.d.ts.map +1 -1
  206. package/dest/file-store/s3.js +3 -7
  207. package/dest/gas/gas.d.ts +9 -1
  208. package/dest/gas/gas.d.ts.map +1 -1
  209. package/dest/gas/gas.js +12 -0
  210. package/dest/gas/gas_fees.d.ts +9 -1
  211. package/dest/gas/gas_fees.d.ts.map +1 -1
  212. package/dest/gas/gas_fees.js +12 -0
  213. package/dest/gas/gas_settings.d.ts +9 -1
  214. package/dest/gas/gas_settings.d.ts.map +1 -1
  215. package/dest/gas/gas_settings.js +12 -0
  216. package/dest/gas/gas_used.d.ts +13 -2
  217. package/dest/gas/gas_used.d.ts.map +1 -1
  218. package/dest/gas/gas_used.js +19 -1
  219. package/dest/gas/index.d.ts +1 -1
  220. package/dest/hash/hash.d.ts +11 -3
  221. package/dest/hash/hash.d.ts.map +1 -1
  222. package/dest/hash/hash.js +11 -1
  223. package/dest/hash/index.d.ts +1 -1
  224. package/dest/hash/map_slot.d.ts +1 -1
  225. package/dest/interfaces/allowed_element.d.ts +5 -5
  226. package/dest/interfaces/api_limit.d.ts +1 -1
  227. package/dest/interfaces/archiver.d.ts +6 -1
  228. package/dest/interfaces/archiver.d.ts.map +1 -1
  229. package/dest/interfaces/archiver.js +22 -14
  230. package/dest/interfaces/aztec-node-admin.d.ts +92 -85
  231. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  232. package/dest/interfaces/aztec-node.d.ts +30 -24
  233. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node.js +26 -24
  235. package/dest/interfaces/block-builder.d.ts +3 -2
  236. package/dest/interfaces/block-builder.d.ts.map +1 -1
  237. package/dest/interfaces/client.d.ts +1 -1
  238. package/dest/interfaces/configs.d.ts +31 -21
  239. package/dest/interfaces/configs.d.ts.map +1 -1
  240. package/dest/interfaces/configs.js +3 -1
  241. package/dest/interfaces/epoch-prover.d.ts +7 -7
  242. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  243. package/dest/interfaces/get_logs_response.d.ts +6 -4
  244. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  245. package/dest/interfaces/l2_logs_source.d.ts +4 -3
  246. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  247. package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
  248. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  249. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  250. package/dest/interfaces/p2p.d.ts +3 -2
  251. package/dest/interfaces/p2p.d.ts.map +1 -1
  252. package/dest/interfaces/p2p.js +1 -1
  253. package/dest/interfaces/private_kernel_prover.d.ts +1 -1
  254. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  255. package/dest/interfaces/prover-agent.d.ts +1 -1
  256. package/dest/interfaces/prover-broker.d.ts +1 -1
  257. package/dest/interfaces/prover-client.d.ts +5 -5
  258. package/dest/interfaces/prover-client.d.ts.map +1 -1
  259. package/dest/interfaces/prover-coordination.d.ts +1 -1
  260. package/dest/interfaces/prover-node.d.ts +1 -1
  261. package/dest/interfaces/proving-job-source.d.ts +1 -1
  262. package/dest/interfaces/proving-job.d.ts +1680 -1163
  263. package/dest/interfaces/proving-job.d.ts.map +1 -1
  264. package/dest/interfaces/proving-job.js +3 -2
  265. package/dest/interfaces/public_state_source.d.ts +1 -1
  266. package/dest/interfaces/server.d.ts +1 -1
  267. package/dest/interfaces/server_circuit_prover.d.ts +2 -3
  268. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  269. package/dest/interfaces/service.d.ts +1 -1
  270. package/dest/interfaces/slasher.d.ts +3 -3
  271. package/dest/interfaces/tx_provider.d.ts +3 -3
  272. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  273. package/dest/interfaces/validator.d.ts +27 -19
  274. package/dest/interfaces/validator.d.ts.map +1 -1
  275. package/dest/interfaces/validator.js +2 -1
  276. package/dest/interfaces/world_state.d.ts +9 -26
  277. package/dest/interfaces/world_state.d.ts.map +1 -1
  278. package/dest/interfaces/world_state.js +4 -3
  279. package/dest/kernel/claimed_length_array.d.ts +1 -1
  280. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  281. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  282. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  283. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  284. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
  285. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  286. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  287. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  288. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  289. package/dest/kernel/hints/index.d.ts +1 -1
  290. package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
  291. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  292. package/dest/kernel/hints/key_validation_request.d.ts +1 -2
  293. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  294. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
  295. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  296. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
  297. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  298. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
  299. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  300. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  301. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  302. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  303. package/dest/kernel/hints/read_request.d.ts +1 -7
  304. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  305. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  306. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  307. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
  308. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  309. package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
  310. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  311. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
  312. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  313. package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
  314. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  315. package/dest/kernel/index.d.ts +1 -1
  316. package/dest/kernel/log_hash.d.ts +1 -1
  317. package/dest/kernel/log_hash.d.ts.map +1 -1
  318. package/dest/kernel/note_hash.d.ts +1 -1
  319. package/dest/kernel/note_hash.d.ts.map +1 -1
  320. package/dest/kernel/nullifier.d.ts +1 -1
  321. package/dest/kernel/nullifier.d.ts.map +1 -1
  322. package/dest/kernel/padded_side_effects.d.ts +1 -1
  323. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  324. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  325. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  326. package/dest/kernel/private_call_data.d.ts +1 -25
  327. package/dest/kernel/private_call_data.d.ts.map +1 -1
  328. package/dest/kernel/private_call_request.d.ts +1 -16
  329. package/dest/kernel/private_call_request.d.ts.map +1 -1
  330. package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
  331. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  332. package/dest/kernel/private_circuit_public_inputs.js +17 -5
  333. package/dest/kernel/private_context_inputs.d.ts +1 -1
  334. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
  336. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  338. package/dest/kernel/private_kernel_data.d.ts +1 -7
  339. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  340. package/dest/kernel/private_kernel_data.js +0 -2
  341. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
  342. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
  344. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  345. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  347. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  348. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  349. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  350. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  351. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  352. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  353. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
  355. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  356. package/dest/kernel/private_log_data.d.ts +1 -1
  357. package/dest/kernel/private_log_data.d.ts.map +1 -1
  358. package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
  359. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  360. package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
  361. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  362. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  363. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
  364. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  365. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
  366. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  367. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
  368. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  369. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
  370. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  371. package/dest/kernel/private_validation_requests.d.ts +2 -24
  372. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  373. package/dest/kernel/private_validation_requests.js +5 -13
  374. package/dest/kernel/public_call_request.d.ts +22 -27
  375. package/dest/kernel/public_call_request.d.ts.map +1 -1
  376. package/dest/kernel/public_call_request.js +18 -0
  377. package/dest/kernel/utils/index.d.ts +1 -1
  378. package/dest/kernel/utils/interfaces.d.ts +1 -1
  379. package/dest/kernel/utils/optional_number.d.ts +1 -7
  380. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  381. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  382. package/dest/keys/derivation.d.ts +1 -1
  383. package/dest/keys/index.d.ts +1 -1
  384. package/dest/keys/key_types.d.ts +1 -1
  385. package/dest/keys/public_key.d.ts +1 -1
  386. package/dest/keys/public_keys.d.ts +9 -5
  387. package/dest/keys/public_keys.d.ts.map +1 -1
  388. package/dest/keys/public_keys.js +12 -0
  389. package/dest/keys/utils.d.ts +1 -1
  390. package/dest/l1-contracts/index.d.ts +1 -1
  391. package/dest/l1-contracts/slash_factory.d.ts +3 -3
  392. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  393. package/dest/logs/contract_class_log.d.ts +20 -4
  394. package/dest/logs/contract_class_log.d.ts.map +1 -1
  395. package/dest/logs/contract_class_log.js +24 -0
  396. package/dest/logs/debug_log.d.ts +10 -2
  397. package/dest/logs/debug_log.d.ts.map +1 -1
  398. package/dest/logs/debug_log.js +13 -0
  399. package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
  400. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  401. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  402. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  403. package/dest/logs/extended_public_log.d.ts +7 -7
  404. package/dest/logs/extended_public_log.d.ts.map +1 -1
  405. package/dest/logs/index.d.ts +1 -1
  406. package/dest/logs/log_filter.d.ts +1 -1
  407. package/dest/logs/log_id.d.ts +8 -8
  408. package/dest/logs/log_id.d.ts.map +1 -1
  409. package/dest/logs/log_id.js +5 -4
  410. package/dest/logs/log_with_tx_data.d.ts +1 -1
  411. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  412. package/dest/logs/message_context.d.ts +1 -1
  413. package/dest/logs/message_context.d.ts.map +1 -1
  414. package/dest/logs/pending_tagged_log.d.ts +1 -1
  415. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  416. package/dest/logs/pre_tag.d.ts +1 -1
  417. package/dest/logs/private_log.d.ts +10 -2
  418. package/dest/logs/private_log.d.ts.map +1 -1
  419. package/dest/logs/private_log.js +14 -5
  420. package/dest/logs/public_log.d.ts +9 -1
  421. package/dest/logs/public_log.d.ts.map +1 -1
  422. package/dest/logs/public_log.js +9 -0
  423. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  424. package/dest/logs/tx_scoped_l2_log.d.ts +14 -11
  425. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  426. package/dest/logs/tx_scoped_l2_log.js +4 -3
  427. package/dest/messaging/in_hash.d.ts +4 -0
  428. package/dest/messaging/in_hash.d.ts.map +1 -0
  429. package/dest/messaging/in_hash.js +8 -0
  430. package/dest/messaging/inbox_leaf.d.ts +1 -3
  431. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  432. package/dest/messaging/index.d.ts +3 -1
  433. package/dest/messaging/index.d.ts.map +1 -1
  434. package/dest/messaging/index.js +2 -0
  435. package/dest/messaging/l1_actor.d.ts +1 -7
  436. package/dest/messaging/l1_actor.d.ts.map +1 -1
  437. package/dest/messaging/l1_to_l2_message.d.ts +1 -6
  438. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  439. package/dest/messaging/l1_to_l2_message_source.d.ts +10 -3
  440. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  441. package/dest/messaging/l2_actor.d.ts +1 -7
  442. package/dest/messaging/l2_actor.d.ts.map +1 -1
  443. package/dest/messaging/l2_to_l1_membership.d.ts +4 -3
  444. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  445. package/dest/messaging/l2_to_l1_membership.js +2 -2
  446. package/dest/messaging/l2_to_l1_message.d.ts +17 -1
  447. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  448. package/dest/messaging/l2_to_l1_message.js +18 -0
  449. package/dest/messaging/out_hash.d.ts +5 -0
  450. package/dest/messaging/out_hash.d.ts.map +1 -0
  451. package/dest/messaging/out_hash.js +28 -0
  452. package/dest/noir/index.d.ts +7 -7
  453. package/dest/noir/index.d.ts.map +1 -1
  454. package/dest/noir/index.js +6 -6
  455. package/dest/note/comparator.d.ts +1 -1
  456. package/dest/note/index.d.ts +2 -2
  457. package/dest/note/index.d.ts.map +1 -1
  458. package/dest/note/index.js +1 -1
  459. package/dest/note/note.d.ts +2 -17
  460. package/dest/note/note.d.ts.map +1 -1
  461. package/dest/note/note_dao.d.ts +75 -0
  462. package/dest/note/note_dao.d.ts.map +1 -0
  463. package/dest/note/note_dao.js +106 -0
  464. package/dest/note/note_status.d.ts +1 -1
  465. package/dest/note/notes_filter.d.ts +3 -1
  466. package/dest/note/notes_filter.d.ts.map +1 -1
  467. package/dest/note/notes_filter.js +1 -0
  468. package/dest/p2p/attestation_utils.d.ts +1 -1
  469. package/dest/p2p/block_attestation.d.ts +5 -12
  470. package/dest/p2p/block_attestation.d.ts.map +1 -1
  471. package/dest/p2p/block_proposal.d.ts +3 -6
  472. package/dest/p2p/block_proposal.d.ts.map +1 -1
  473. package/dest/p2p/block_proposal.js +1 -1
  474. package/dest/p2p/client_type.d.ts +1 -1
  475. package/dest/p2p/consensus_payload.d.ts +10 -188
  476. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  477. package/dest/p2p/consensus_payload.js +16 -23
  478. package/dest/p2p/gossipable.d.ts +6 -5
  479. package/dest/p2p/gossipable.d.ts.map +1 -1
  480. package/dest/p2p/gossipable.js +16 -10
  481. package/dest/p2p/index.d.ts +1 -1
  482. package/dest/p2p/interface.d.ts +1 -1
  483. package/dest/p2p/message_validator.d.ts +1 -1
  484. package/dest/p2p/peer_error.d.ts +1 -1
  485. package/dest/p2p/signature_utils.d.ts +1 -1
  486. package/dest/p2p/topic_type.d.ts +1 -1
  487. package/dest/parity/index.d.ts +1 -1
  488. package/dest/parity/parity_base_private_inputs.d.ts +1 -3
  489. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  490. package/dest/parity/parity_public_inputs.d.ts +1 -4
  491. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  492. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  493. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  494. package/dest/proofs/chonk_proof.d.ts +1 -1
  495. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  496. package/dest/proofs/index.d.ts +1 -1
  497. package/dest/proofs/proof.d.ts +1 -4
  498. package/dest/proofs/proof.d.ts.map +1 -1
  499. package/dest/proofs/proof_data.d.ts +1 -1
  500. package/dest/proofs/proof_data.d.ts.map +1 -1
  501. package/dest/proofs/proving_request_type.d.ts +1 -1
  502. package/dest/proofs/recursive_proof.d.ts +2 -26
  503. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  504. package/dest/rollup/avm_proof_data.d.ts +1 -1
  505. package/dest/rollup/base_rollup_hints.d.ts +1 -34
  506. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  507. package/dest/rollup/block_constant_data.d.ts +1 -12
  508. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  509. package/dest/rollup/block_headers_hash.d.ts +4 -0
  510. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  511. package/dest/rollup/block_headers_hash.js +9 -0
  512. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  513. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  514. package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
  515. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  516. package/dest/rollup/block_rollup_public_inputs.js +8 -2
  517. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
  518. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  519. package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
  520. package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
  521. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  522. package/dest/rollup/checkpoint_constant_data.js +27 -3
  523. package/dest/rollup/checkpoint_header.d.ts +16 -14
  524. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  525. package/dest/rollup/checkpoint_header.js +40 -13
  526. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  527. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  528. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
  529. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  530. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
  531. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  532. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
  533. package/dest/rollup/epoch_constant_data.d.ts +1 -16
  534. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  535. package/dest/rollup/index.d.ts +2 -1
  536. package/dest/rollup/index.d.ts.map +1 -1
  537. package/dest/rollup/index.js +1 -0
  538. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  539. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  540. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
  541. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
  543. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  544. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  545. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  546. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  547. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  548. package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
  549. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  550. package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
  551. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  552. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  553. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
  555. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  556. package/dest/schemas/index.d.ts +1 -1
  557. package/dest/schemas/schemas.d.ts +86 -15
  558. package/dest/schemas/schemas.d.ts.map +1 -1
  559. package/dest/schemas/schemas.js +12 -1
  560. package/dest/slashing/empire.d.ts +1 -1
  561. package/dest/slashing/empire.d.ts.map +1 -1
  562. package/dest/slashing/empire.js +5 -4
  563. package/dest/slashing/helpers.d.ts +7 -6
  564. package/dest/slashing/helpers.d.ts.map +1 -1
  565. package/dest/slashing/helpers.js +8 -6
  566. package/dest/slashing/index.d.ts +1 -1
  567. package/dest/slashing/interfaces.d.ts +3 -2
  568. package/dest/slashing/interfaces.d.ts.map +1 -1
  569. package/dest/slashing/serialization.d.ts +1 -1
  570. package/dest/slashing/tally.d.ts +1 -1
  571. package/dest/slashing/types.d.ts +10 -10
  572. package/dest/snapshots/download.d.ts +1 -1
  573. package/dest/snapshots/index.d.ts +1 -1
  574. package/dest/snapshots/types.d.ts +18 -18
  575. package/dest/snapshots/upload.d.ts +1 -1
  576. package/dest/stats/index.d.ts +1 -1
  577. package/dest/stats/stats.d.ts +1 -1
  578. package/dest/tests/factories.d.ts +34 -29
  579. package/dest/tests/factories.d.ts.map +1 -1
  580. package/dest/tests/factories.js +76 -151
  581. package/dest/tests/fixtures.d.ts +1 -1
  582. package/dest/tests/index.d.ts +1 -1
  583. package/dest/tests/jest.d.ts +1 -1
  584. package/dest/tests/mocks.d.ts +54 -23
  585. package/dest/tests/mocks.d.ts.map +1 -1
  586. package/dest/tests/mocks.js +135 -34
  587. package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
  588. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  589. package/dest/trees/append_only_tree_snapshot.js +9 -9
  590. package/dest/trees/database_public_state_source.d.ts +1 -1
  591. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  592. package/dest/trees/index.d.ts +1 -1
  593. package/dest/trees/merkle_tree_id.d.ts +5 -5
  594. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  595. package/dest/trees/nullifier_leaf.d.ts +17 -13
  596. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  597. package/dest/trees/nullifier_leaf.js +24 -0
  598. package/dest/trees/nullifier_membership_witness.d.ts +4 -37
  599. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  600. package/dest/trees/public_data_leaf.d.ts +28 -27
  601. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  602. package/dest/trees/public_data_leaf.js +24 -0
  603. package/dest/trees/public_data_witness.d.ts +11 -45
  604. package/dest/trees/public_data_witness.d.ts.map +1 -1
  605. package/dest/tx/block_header.d.ts +7 -14
  606. package/dest/tx/block_header.d.ts.map +1 -1
  607. package/dest/tx/block_header.js +13 -2
  608. package/dest/tx/call_context.d.ts +6 -18
  609. package/dest/tx/call_context.d.ts.map +1 -1
  610. package/dest/tx/capsule.d.ts +1 -4
  611. package/dest/tx/capsule.d.ts.map +1 -1
  612. package/dest/tx/content_commitment.d.ts +3 -2
  613. package/dest/tx/content_commitment.d.ts.map +1 -1
  614. package/dest/tx/content_commitment.js +10 -2
  615. package/dest/tx/execution_payload.d.ts +37 -0
  616. package/dest/tx/execution_payload.d.ts.map +1 -0
  617. package/dest/tx/execution_payload.js +40 -0
  618. package/dest/tx/function_data.d.ts +4 -6
  619. package/dest/tx/function_data.d.ts.map +1 -1
  620. package/dest/tx/global_variable_builder.d.ts +3 -2
  621. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  622. package/dest/tx/global_variables.d.ts +52 -31
  623. package/dest/tx/global_variables.d.ts.map +1 -1
  624. package/dest/tx/global_variables.js +50 -10
  625. package/dest/tx/hashed_values.d.ts +1 -7
  626. package/dest/tx/hashed_values.d.ts.map +1 -1
  627. package/dest/tx/index.d.ts +2 -1
  628. package/dest/tx/index.d.ts.map +1 -1
  629. package/dest/tx/index.js +1 -0
  630. package/dest/tx/indexed_tx_effect.d.ts +9 -6
  631. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  632. package/dest/tx/indexed_tx_effect.js +5 -2
  633. package/dest/tx/offchain_effect.d.ts +1 -1
  634. package/dest/tx/partial_state_reference.d.ts +4 -7
  635. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  636. package/dest/tx/partial_state_reference.js +10 -10
  637. package/dest/tx/private_execution_result.d.ts +16 -51
  638. package/dest/tx/private_execution_result.d.ts.map +1 -1
  639. package/dest/tx/private_execution_result.js +6 -3
  640. package/dest/tx/private_tx_constant_data.d.ts +1 -16
  641. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  642. package/dest/tx/processed_tx.d.ts +2 -2
  643. package/dest/tx/processed_tx.d.ts.map +1 -1
  644. package/dest/tx/processed_tx.js +4 -1
  645. package/dest/tx/profiling.d.ts +38 -38
  646. package/dest/tx/profiling.d.ts.map +1 -1
  647. package/dest/tx/profiling.js +5 -4
  648. package/dest/tx/protocol_contracts.d.ts +10 -2
  649. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  650. package/dest/tx/protocol_contracts.js +9 -0
  651. package/dest/tx/proven_tx.d.ts +18 -18
  652. package/dest/tx/proven_tx.d.ts.map +1 -1
  653. package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
  654. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  655. package/dest/tx/public_call_request_with_calldata.js +12 -0
  656. package/dest/tx/public_simulation_output.d.ts +3 -1
  657. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  658. package/dest/tx/public_simulation_output.js +8 -1
  659. package/dest/tx/simulated_tx.d.ts +21 -21
  660. package/dest/tx/simulated_tx.d.ts.map +1 -1
  661. package/dest/tx/state_reference.d.ts +10 -12
  662. package/dest/tx/state_reference.d.ts.map +1 -1
  663. package/dest/tx/state_reference.js +9 -9
  664. package/dest/tx/tree_snapshots.d.ts +15 -7
  665. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  666. package/dest/tx/tree_snapshots.js +9 -0
  667. package/dest/tx/tx.d.ts +4 -18
  668. package/dest/tx/tx.d.ts.map +1 -1
  669. package/dest/tx/tx.js +6 -4
  670. package/dest/tx/tx_constant_data.d.ts +1 -1
  671. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  672. package/dest/tx/tx_context.d.ts +1 -2
  673. package/dest/tx/tx_context.d.ts.map +1 -1
  674. package/dest/tx/tx_effect.d.ts +20 -42
  675. package/dest/tx/tx_effect.d.ts.map +1 -1
  676. package/dest/tx/tx_effect.js +54 -59
  677. package/dest/tx/tx_execution_request.d.ts +1 -30
  678. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  679. package/dest/tx/tx_hash.d.ts +1 -2
  680. package/dest/tx/tx_hash.d.ts.map +1 -1
  681. package/dest/tx/tx_receipt.d.ts +4 -9
  682. package/dest/tx/tx_receipt.d.ts.map +1 -1
  683. package/dest/tx/tx_receipt.js +2 -1
  684. package/dest/tx/tx_request.d.ts +1 -6
  685. package/dest/tx/tx_request.d.ts.map +1 -1
  686. package/dest/tx/validator/empty_validator.d.ts +1 -1
  687. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  688. package/dest/tx/validator/error_texts.d.ts +1 -1
  689. package/dest/tx/validator/tx_validator.d.ts +5 -5
  690. package/dest/types/index.d.ts +1 -1
  691. package/dest/types/shared.d.ts +1 -4
  692. package/dest/types/shared.d.ts.map +1 -1
  693. package/dest/update-checker/index.d.ts +1 -1
  694. package/dest/update-checker/update-checker.d.ts +2 -3
  695. package/dest/update-checker/update-checker.d.ts.map +1 -1
  696. package/dest/validators/errors.d.ts +6 -7
  697. package/dest/validators/errors.d.ts.map +1 -1
  698. package/dest/validators/errors.js +2 -4
  699. package/dest/validators/index.d.ts +1 -1
  700. package/dest/validators/schemas.d.ts +266 -208
  701. package/dest/validators/schemas.d.ts.map +1 -1
  702. package/dest/validators/schemas.js +7 -7
  703. package/dest/validators/types.d.ts +10 -9
  704. package/dest/validators/types.d.ts.map +1 -1
  705. package/dest/versioning/index.d.ts +1 -1
  706. package/dest/versioning/versioning.d.ts +1 -1
  707. package/dest/versioning/versioning.d.ts.map +1 -1
  708. package/dest/vks/index.d.ts +1 -1
  709. package/dest/vks/verification_key.d.ts +10 -22
  710. package/dest/vks/verification_key.d.ts.map +1 -1
  711. package/dest/vks/verification_key.js +20 -0
  712. package/dest/vks/vk_data.d.ts +1 -7
  713. package/dest/vks/vk_data.d.ts.map +1 -1
  714. package/dest/world-state/index.d.ts +1 -1
  715. package/dest/world-state/world_state_revision.d.ts +34 -2
  716. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  717. package/dest/world-state/world_state_revision.js +24 -1
  718. package/dest/zkpassport/index.d.ts +1 -1
  719. package/dest/zkpassport/index.d.ts.map +1 -1
  720. package/package.json +12 -11
  721. package/src/abi/abi.ts +4 -4
  722. package/src/abi/contract_artifact.ts +3 -3
  723. package/src/avm/avm.ts +777 -6
  724. package/src/avm/avm_accumulated_data.ts +40 -0
  725. package/src/avm/avm_circuit_public_inputs.ts +40 -0
  726. package/src/avm/message_pack.ts +4 -1
  727. package/src/avm/public_data_write.ts +12 -1
  728. package/src/avm/revert_code.ts +29 -9
  729. package/src/aztec-address/index.ts +26 -2
  730. package/src/block/attestation_info.ts +8 -1
  731. package/src/block/block_parameter.ts +8 -0
  732. package/src/block/body.ts +16 -39
  733. package/src/block/in_block.ts +13 -9
  734. package/src/block/index.ts +2 -1
  735. package/src/block/l2_block.ts +70 -7
  736. package/src/block/l2_block_code_to_purge.ts +6 -4
  737. package/src/block/l2_block_header.ts +19 -5
  738. package/src/block/l2_block_info.ts +10 -9
  739. package/src/block/l2_block_new.ts +176 -0
  740. package/src/block/l2_block_source.ts +48 -29
  741. package/src/block/l2_block_stream/l2_block_stream.ts +10 -5
  742. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
  743. package/src/block/proposal/attestations_and_signers.ts +20 -1
  744. package/src/block/published_l2_block.ts +14 -31
  745. package/src/block/test/l2_tips_store_test_suite.ts +8 -3
  746. package/src/block/validate_block_result.ts +9 -7
  747. package/src/checkpoint/checkpoint.ts +88 -0
  748. package/src/checkpoint/index.ts +2 -1
  749. package/src/checkpoint/published_checkpoint.ts +91 -0
  750. package/src/contract/contract_deployment_data.ts +125 -0
  751. package/src/contract/index.ts +1 -0
  752. package/src/contract/interfaces/contract_data_source.ts +2 -1
  753. package/src/contract/private_function_membership_proof.ts +1 -1
  754. package/src/epoch-helpers/index.ts +28 -21
  755. package/src/file-store/http.ts +6 -3
  756. package/src/file-store/s3.ts +3 -7
  757. package/src/gas/gas.ts +14 -0
  758. package/src/gas/gas_fees.ts +14 -0
  759. package/src/gas/gas_settings.ts +19 -0
  760. package/src/gas/gas_used.ts +22 -1
  761. package/src/hash/hash.ts +13 -2
  762. package/src/interfaces/archiver.ts +27 -13
  763. package/src/interfaces/aztec-node.ts +64 -48
  764. package/src/interfaces/block-builder.ts +2 -1
  765. package/src/interfaces/configs.ts +6 -0
  766. package/src/interfaces/epoch-prover.ts +5 -6
  767. package/src/interfaces/l2_logs_source.ts +3 -2
  768. package/src/interfaces/merkle_tree_operations.ts +4 -3
  769. package/src/interfaces/p2p.ts +4 -2
  770. package/src/interfaces/proving-job.ts +14 -5
  771. package/src/interfaces/tx_provider.ts +2 -2
  772. package/src/interfaces/validator.ts +5 -2
  773. package/src/interfaces/world_state.ts +12 -11
  774. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  775. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  776. package/src/kernel/private_circuit_public_inputs.ts +29 -9
  777. package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
  778. package/src/kernel/private_kernel_data.ts +0 -2
  779. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
  780. package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
  781. package/src/kernel/private_validation_requests.ts +1 -13
  782. package/src/kernel/public_call_request.ts +27 -0
  783. package/src/keys/public_keys.ts +19 -0
  784. package/src/logs/contract_class_log.ts +32 -0
  785. package/src/logs/debug_log.ts +20 -1
  786. package/src/logs/log_id.ts +6 -5
  787. package/src/logs/private_log.ts +19 -3
  788. package/src/logs/public_log.ts +14 -0
  789. package/src/logs/tx_scoped_l2_log.ts +5 -4
  790. package/src/messaging/in_hash.ts +10 -0
  791. package/src/messaging/index.ts +2 -0
  792. package/src/messaging/l1_to_l2_message_source.ts +10 -2
  793. package/src/messaging/l2_to_l1_membership.ts +5 -4
  794. package/src/messaging/l2_to_l1_message.ts +25 -0
  795. package/src/messaging/out_hash.ts +36 -0
  796. package/src/noir/index.ts +6 -6
  797. package/src/note/index.ts +1 -1
  798. package/src/note/note_dao.ts +161 -0
  799. package/src/note/notes_filter.ts +3 -0
  800. package/src/p2p/block_attestation.ts +2 -1
  801. package/src/p2p/block_proposal.ts +3 -2
  802. package/src/p2p/consensus_payload.ts +16 -26
  803. package/src/p2p/gossipable.ts +17 -8
  804. package/src/rollup/block_headers_hash.ts +12 -0
  805. package/src/rollup/block_rollup_public_inputs.ts +8 -0
  806. package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
  807. package/src/rollup/checkpoint_constant_data.ts +43 -4
  808. package/src/rollup/checkpoint_header.ts +48 -22
  809. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
  810. package/src/rollup/index.ts +1 -0
  811. package/src/schemas/schemas.ts +18 -0
  812. package/src/slashing/empire.ts +6 -4
  813. package/src/slashing/helpers.ts +17 -12
  814. package/src/slashing/interfaces.ts +3 -1
  815. package/src/tests/factories.ts +213 -229
  816. package/src/tests/mocks.ts +230 -51
  817. package/src/trees/append_only_tree_snapshot.ts +11 -12
  818. package/src/trees/nullifier_leaf.ts +32 -0
  819. package/src/trees/public_data_leaf.ts +32 -0
  820. package/src/tx/block_header.ts +17 -4
  821. package/src/tx/content_commitment.ts +11 -2
  822. package/src/tx/execution_payload.ts +60 -0
  823. package/src/tx/global_variable_builder.ts +2 -1
  824. package/src/tx/global_variables.ts +69 -15
  825. package/src/tx/index.ts +1 -0
  826. package/src/tx/indexed_tx_effect.ts +5 -4
  827. package/src/tx/partial_state_reference.ts +9 -17
  828. package/src/tx/private_execution_result.ts +7 -4
  829. package/src/tx/processed_tx.ts +8 -2
  830. package/src/tx/profiling.ts +4 -6
  831. package/src/tx/protocol_contracts.ts +16 -0
  832. package/src/tx/public_call_request_with_calldata.ts +17 -0
  833. package/src/tx/public_simulation_output.ts +18 -1
  834. package/src/tx/state_reference.ts +9 -15
  835. package/src/tx/tree_snapshots.ts +16 -0
  836. package/src/tx/tx.ts +7 -6
  837. package/src/tx/tx_effect.ts +84 -90
  838. package/src/tx/tx_receipt.ts +3 -2
  839. package/src/validators/errors.ts +3 -4
  840. package/src/validators/schemas.ts +7 -7
  841. package/src/validators/types.ts +9 -8
  842. package/src/vks/verification_key.ts +25 -0
  843. package/src/world-state/world_state_revision.ts +47 -5
  844. package/dest/block/l2_block_number.d.ts +0 -5
  845. package/dest/block/l2_block_number.d.ts.map +0 -1
  846. package/dest/block/l2_block_number.js +0 -6
  847. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  848. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  849. package/dest/checkpoint/checkpoint_body.js +0 -9
  850. package/dest/note/unique_note.d.ts +0 -43
  851. package/dest/note/unique_note.d.ts.map +0 -1
  852. package/dest/note/unique_note.js +0 -67
  853. package/src/block/l2_block_number.ts +0 -8
  854. package/src/checkpoint/checkpoint_body.ts +0 -10
  855. package/src/note/unique_note.ts +0 -88
@@ -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
  }
@@ -1,3 +1,4 @@
1
+ import { BlockNumber, BlockNumberSchema, SlotNumber, SlotNumberSchema } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -8,19 +9,19 @@ export type L2BlockInfo = {
8
9
  blockHash?: Fr;
9
10
  archive: Fr;
10
11
  lastArchive: Fr;
11
- blockNumber: number;
12
- slotNumber: number;
12
+ blockNumber: BlockNumber;
13
+ slotNumber: SlotNumber;
13
14
  txCount: number;
14
15
  timestamp: bigint;
15
16
  };
16
17
 
17
- export function randomBlockInfo(blockNumber?: number): L2BlockInfo {
18
+ export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo {
18
19
  return {
19
20
  blockHash: Fr.random(),
20
21
  archive: Fr.random(),
21
22
  lastArchive: Fr.random(),
22
- blockNumber: blockNumber ?? Math.floor(Math.random() * 100000) + 1,
23
- slotNumber: Math.floor(Math.random() * 100000) + 1,
23
+ blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
24
+ slotNumber: SlotNumber(Math.floor(Math.random() * 100000) + 1),
24
25
  txCount: Math.floor(Math.random() * 100),
25
26
  timestamp: BigInt(Math.floor(Date.now() / 1000)),
26
27
  };
@@ -30,8 +31,8 @@ export const BlockInfoSchema = z.object({
30
31
  blockHash: schemas.Fr.optional(),
31
32
  archive: schemas.Fr,
32
33
  lastArchive: schemas.Fr,
33
- blockNumber: z.number(),
34
- slotNumber: z.number(),
34
+ blockNumber: BlockNumberSchema,
35
+ slotNumber: SlotNumberSchema,
35
36
  txCount: z.number(),
36
37
  timestamp: schemas.BigInt,
37
38
  });
@@ -55,8 +56,8 @@ export function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo
55
56
  blockHash: blockHash.equals(Fr.ZERO) ? undefined : blockHash,
56
57
  archive: reader.readObject(Fr),
57
58
  lastArchive: reader.readObject(Fr),
58
- blockNumber: reader.readNumber(),
59
- slotNumber: reader.readNumber(),
59
+ blockNumber: BlockNumber(reader.readNumber()),
60
+ slotNumber: SlotNumber(reader.readNumber()),
60
61
  txCount: reader.readNumber(),
61
62
  timestamp: reader.readBigInt(),
62
63
  };
@@ -0,0 +1,176 @@
1
+ import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
+
6
+ import { z } from 'zod';
7
+
8
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
+ import { BlockHeader } from '../tx/block_header.js';
10
+ import { Body } from './body.js';
11
+ import type { L2BlockInfo } from './l2_block_info.js';
12
+
13
+ /**
14
+ * An L2 block with a header and a body.
15
+ * TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
16
+ */
17
+ export class L2BlockNew {
18
+ constructor(
19
+ /** Snapshot of archive tree after the block is applied. */
20
+ public archive: AppendOnlyTreeSnapshot,
21
+ /** Header of the block. */
22
+ public header: BlockHeader,
23
+ /** L2 block body. */
24
+ public body: Body,
25
+ private blockHash: Fr | undefined = undefined,
26
+ ) {}
27
+
28
+ get number(): BlockNumber {
29
+ return this.header.globalVariables.blockNumber;
30
+ }
31
+
32
+ get timestamp(): bigint {
33
+ return this.header.globalVariables.timestamp;
34
+ }
35
+
36
+ static get schema() {
37
+ return z
38
+ .object({
39
+ archive: AppendOnlyTreeSnapshot.schema,
40
+ header: BlockHeader.schema,
41
+ body: Body.schema,
42
+ })
43
+ .transform(({ archive, header, body }) => new L2BlockNew(archive, header, body));
44
+ }
45
+
46
+ /**
47
+ * Deserializes a block from a buffer
48
+ * @returns A deserialized L2 block.
49
+ */
50
+ static fromBuffer(buf: Buffer | BufferReader) {
51
+ const reader = BufferReader.asReader(buf);
52
+ const header = reader.readObject(BlockHeader);
53
+ const archive = reader.readObject(AppendOnlyTreeSnapshot);
54
+ const body = reader.readObject(Body);
55
+
56
+ return new L2BlockNew(archive, header, body);
57
+ }
58
+
59
+ /**
60
+ * Serializes a block
61
+ * @returns A serialized L2 block as a Buffer.
62
+ */
63
+ toBuffer() {
64
+ return serializeToBuffer(this.header, this.archive, this.body);
65
+ }
66
+
67
+ /**
68
+ * Returns the block's hash (hash of block header).
69
+ * @returns The block's hash.
70
+ */
71
+ public async hash(): Promise<Fr> {
72
+ if (this.blockHash === undefined) {
73
+ this.blockHash = await this.header.hash();
74
+ }
75
+ return this.blockHash;
76
+ }
77
+
78
+ public toBlobFields(isFirstBlock: boolean): Fr[] {
79
+ const blockBlobData = this.toBlockBlobData(isFirstBlock);
80
+ return encodeBlockBlobData(blockBlobData);
81
+ }
82
+
83
+ public toBlockBlobData(isFirstBlock: boolean): BlockBlobData {
84
+ return {
85
+ blockEndMarker: {
86
+ numTxs: this.body.txEffects.length,
87
+ timestamp: this.header.globalVariables.timestamp,
88
+ blockNumber: this.number,
89
+ },
90
+ blockEndStateField: {
91
+ l1ToL2MessageNextAvailableLeafIndex: this.header.state.l1ToL2MessageTree.nextAvailableLeafIndex,
92
+ noteHashNextAvailableLeafIndex: this.header.state.partial.noteHashTree.nextAvailableLeafIndex,
93
+ nullifierNextAvailableLeafIndex: this.header.state.partial.nullifierTree.nextAvailableLeafIndex,
94
+ publicDataNextAvailableLeafIndex: this.header.state.partial.publicDataTree.nextAvailableLeafIndex,
95
+ totalManaUsed: this.header.totalManaUsed.toBigInt(),
96
+ },
97
+ lastArchiveRoot: this.header.lastArchive.root,
98
+ noteHashRoot: this.header.state.partial.noteHashTree.root,
99
+ nullifierRoot: this.header.state.partial.nullifierTree.root,
100
+ publicDataRoot: this.header.state.partial.publicDataTree.root,
101
+ l1ToL2MessageRoot: isFirstBlock ? this.header.state.l1ToL2MessageTree.root : undefined,
102
+ txs: this.body.toTxBlobData(),
103
+ };
104
+ }
105
+
106
+ static empty() {
107
+ return new L2BlockNew(AppendOnlyTreeSnapshot.empty(), BlockHeader.empty(), Body.empty());
108
+ }
109
+
110
+ /**
111
+ * Creates an L2 block containing random data.
112
+ * @param l2BlockNum - The number of the L2 block.
113
+ * @param txsPerBlock - The number of transactions to include in the block.
114
+ * @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
115
+ * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
116
+ * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
117
+ * @returns The L2 block.
118
+ */
119
+ static async random(
120
+ blockNumber: BlockNumber,
121
+ {
122
+ txsPerBlock = 1,
123
+ txOptions = {},
124
+ makeTxOptions,
125
+ ...blockHeaderOverrides
126
+ }: {
127
+ txsPerBlock?: number;
128
+ txOptions?: Partial<Parameters<typeof Body.random>[0]>;
129
+ makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
130
+ } & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
131
+ ): Promise<L2BlockNew> {
132
+ const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
133
+ const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
134
+ const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
135
+ return new L2BlockNew(archive, header, body);
136
+ }
137
+
138
+ /**
139
+ * Returns stats used for logging.
140
+ * @returns Stats on tx count, number, and log size and count.
141
+ */
142
+ getStats() {
143
+ const logsStats = {
144
+ privateLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.privateLogs.length, 0),
145
+ publicLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.publicLogs.length, 0),
146
+ contractClassLogCount: this.body.txEffects.reduce(
147
+ (logCount, txEffect) => logCount + txEffect.contractClassLogs.length,
148
+ 0,
149
+ ),
150
+ contractClassLogSize: this.body.txEffects.reduce(
151
+ (totalLogSize, txEffect) =>
152
+ totalLogSize + txEffect.contractClassLogs.reduce((acc, log) => acc + log.emittedLength, 0),
153
+ 0,
154
+ ),
155
+ };
156
+
157
+ return {
158
+ txCount: this.body.txEffects.length,
159
+ blockNumber: this.number,
160
+ blockTimestamp: Number(this.header.globalVariables.timestamp),
161
+ ...logsStats,
162
+ };
163
+ }
164
+
165
+ toBlockInfo(): L2BlockInfo {
166
+ return {
167
+ blockHash: this.blockHash,
168
+ archive: this.archive.root,
169
+ lastArchive: this.header.lastArchive.root,
170
+ blockNumber: this.number,
171
+ slotNumber: this.header.getSlot(),
172
+ txCount: this.body.txEffects.length,
173
+ timestamp: this.header.globalVariables.timestamp,
174
+ };
175
+ }
176
+ }
@@ -1,9 +1,18 @@
1
+ import {
2
+ BlockNumber,
3
+ BlockNumberSchema,
4
+ type CheckpointNumber,
5
+ type EpochNumber,
6
+ type SlotNumber,
7
+ } from '@aztec/foundation/branded-types';
1
8
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
9
  import type { Fr } from '@aztec/foundation/fields';
3
10
  import type { TypedEventEmitter } from '@aztec/foundation/types';
4
11
 
5
12
  import { z } from 'zod';
6
13
 
14
+ import type { Checkpoint } from '../checkpoint/checkpoint.js';
15
+ import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
7
16
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
8
17
  import type { BlockHeader } from '../tx/block_header.js';
9
18
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
@@ -33,27 +42,27 @@ export interface L2BlockSource {
33
42
  * Gets the number of the latest L2 block processed by the block source implementation.
34
43
  * @returns The number of the latest L2 block processed by the block source implementation.
35
44
  */
36
- getBlockNumber(): Promise<number>;
45
+ getBlockNumber(): Promise<BlockNumber>;
37
46
 
38
47
  /**
39
48
  * Gets the number of the latest L2 block proven seen by the block source implementation.
40
49
  * @returns The number of the latest L2 block proven seen by the block source implementation.
41
50
  */
42
- getProvenBlockNumber(): Promise<number>;
51
+ getProvenBlockNumber(): Promise<BlockNumber>;
43
52
 
44
53
  /**
45
54
  * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
46
55
  * @param number - The block number to return (inclusive).
47
56
  * @returns The requested L2 block.
48
57
  */
49
- getBlock(number: number): Promise<L2Block | undefined>;
58
+ getBlock(number: BlockNumber): Promise<L2Block | undefined>;
50
59
 
51
60
  /**
52
61
  * Gets an l2 block header.
53
62
  * @param number - The block number to return or 'latest' for the most recent one.
54
63
  * @returns The requested L2 block header.
55
64
  */
56
- getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
65
+ getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
57
66
 
58
67
  /**
59
68
  * Gets up to `limit` amount of L2 blocks starting from `from`.
@@ -62,10 +71,20 @@ export interface L2BlockSource {
62
71
  * @param proven - If true, only return blocks that have been proven.
63
72
  * @returns The requested L2 blocks.
64
73
  */
65
- getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
74
+ getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
75
+
76
+ getPublishedCheckpoints(from: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
77
+
78
+ /**
79
+ * Gets a checkpoint by the archive root, which should be the root of the archive tree after the requested checkpoint
80
+ * is applied.
81
+ * @param archive - The new archive root of the checkpoint.
82
+ * @returns The requested checkpoint (or undefined if not found).
83
+ */
84
+ getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
66
85
 
67
86
  /** Equivalent to getBlocks but includes publish data. */
68
- getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
87
+ getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
69
88
 
70
89
  /**
71
90
  * Gets a published block by its hash.
@@ -112,32 +131,39 @@ export interface L2BlockSource {
112
131
  /**
113
132
  * Returns the current L2 slot number based on the currently synced L1 timestamp.
114
133
  */
115
- getL2SlotNumber(): Promise<bigint | undefined>;
134
+ getL2SlotNumber(): Promise<SlotNumber | undefined>;
116
135
 
117
136
  /**
118
137
  * Returns the current L2 epoch number based on the currently synced L1 timestamp.
119
138
  */
120
- getL2EpochNumber(): Promise<bigint | undefined>;
139
+ getL2EpochNumber(): Promise<EpochNumber | undefined>;
140
+
141
+ /**
142
+ * Returns all checkpoints for a given epoch.
143
+ * @dev Use this method only with recent epochs, since it walks the checkpoint list backwards.
144
+ * @param epochNumber - The epoch number to return checkpoints for.
145
+ */
146
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
121
147
 
122
148
  /**
123
149
  * Returns all blocks for a given epoch.
124
150
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
125
151
  * @param epochNumber - The epoch number to return blocks for.
126
152
  */
127
- getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
153
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
128
154
 
129
155
  /**
130
156
  * Returns all block headers for a given epoch.
131
157
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
132
158
  * @param epochNumber - The epoch number to return headers for.
133
159
  */
134
- getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
160
+ getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
135
161
 
136
162
  /**
137
163
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
138
164
  * @param epochNumber - The epoch number to check.
139
165
  */
140
- isEpochComplete(epochNumber: bigint): Promise<boolean>;
166
+ isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
141
167
 
142
168
  /**
143
169
  * Returns the tips of the L2 chain.
@@ -194,33 +220,26 @@ export type L2BlockTag = 'latest' | 'proven' | 'finalized';
194
220
  export type L2Tips = Record<L2BlockTag, L2BlockId>;
195
221
 
196
222
  /** Identifies a block by number and hash. */
197
- export type L2BlockId = z.infer<typeof L2BlockIdSchema>;
223
+ export type L2BlockId = { number: BlockNumber; hash: string };
198
224
 
199
225
  /** Creates an L2 block id */
200
- export function makeL2BlockId(number: number, hash?: string): L2BlockId {
226
+ export function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId {
201
227
  if (number !== 0 && !hash) {
202
228
  throw new Error(`Hash is required for non-genesis blocks (got block number ${number})`);
203
229
  }
204
230
  return { number, hash: hash! };
205
231
  }
206
232
 
207
- // TODO(palla/schemas): This package should know what is the block hash of the genesis block 0.
208
- const L2BlockIdSchema = z.union([
209
- z.object({
210
- number: z.literal(0),
211
- hash: z.undefined(),
212
- }),
213
- z.object({
214
- number: z.number(),
215
- hash: z.string(),
216
- }),
217
- ]);
233
+ const L2BlockIdSchema = z.object({
234
+ number: BlockNumberSchema,
235
+ hash: z.string(),
236
+ });
218
237
 
219
238
  export const L2TipsSchema = z.object({
220
239
  latest: L2BlockIdSchema,
221
240
  proven: L2BlockIdSchema,
222
241
  finalized: L2BlockIdSchema,
223
- }) satisfies z.ZodType<L2Tips>;
242
+ });
224
243
 
225
244
  export enum L2BlockSourceEvents {
226
245
  L2PruneDetected = 'l2PruneDetected',
@@ -230,14 +249,14 @@ export enum L2BlockSourceEvents {
230
249
 
231
250
  export type L2BlockProvenEvent = {
232
251
  type: 'l2BlockProven';
233
- blockNumber: bigint;
234
- slotNumber: bigint;
235
- epochNumber: bigint;
252
+ blockNumber: BlockNumber;
253
+ slotNumber: SlotNumber;
254
+ epochNumber: EpochNumber;
236
255
  };
237
256
 
238
257
  export type L2BlockPruneEvent = {
239
258
  type: 'l2PruneDetected';
240
- epochNumber: bigint;
259
+ epochNumber: EpochNumber;
241
260
  blocks: L2Block[];
242
261
  };
243
262
 
@@ -1,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { AbortError } from '@aztec/foundation/error';
2
3
  import { createLogger } from '@aztec/foundation/log';
3
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
@@ -74,7 +75,7 @@ export class L2BlockStream {
74
75
  }
75
76
 
76
77
  if (latestBlockNumber < localTips.latest.number) {
77
- latestBlockNumber = Math.min(latestBlockNumber, sourceTips.latest.number); // see #13471
78
+ latestBlockNumber = BlockNumber(Math.min(latestBlockNumber, sourceTips.latest.number)); // see #13471
78
79
  const hash = sourceCache.get(latestBlockNumber) ?? (await this.getBlockHashFromSource(latestBlockNumber));
79
80
  if (latestBlockNumber !== 0 && !hash) {
80
81
  throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
@@ -85,7 +86,7 @@ export class L2BlockStream {
85
86
 
86
87
  // If we are just starting, use the starting block number from the options.
87
88
  if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
88
- latestBlockNumber = Math.max(this.opts.startingBlock - 1, 0);
89
+ latestBlockNumber = BlockNumber(Math.max(this.opts.startingBlock - 1, 0));
89
90
  }
90
91
 
91
92
  // Only log this entry once (for sanity)
@@ -108,7 +109,11 @@ export class L2BlockStream {
108
109
  while (nextBlockNumber <= sourceTips.latest.number) {
109
110
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.latest.number - nextBlockNumber + 1);
110
111
  this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
111
- const blocks = await this.l2BlockSource.getPublishedBlocks(nextBlockNumber, limit, this.opts.proven);
112
+ const blocks = await this.l2BlockSource.getPublishedBlocks(
113
+ BlockNumber(nextBlockNumber),
114
+ limit,
115
+ this.opts.proven,
116
+ );
112
117
  if (blocks.length === 0) {
113
118
  break;
114
119
  }
@@ -139,7 +144,7 @@ export class L2BlockStream {
139
144
  * @param blockNumber - The block number to test.
140
145
  * @param args - A cache of data already requested from source, to avoid re-requesting it.
141
146
  */
142
- private async areBlockHashesEqualAt(blockNumber: number, args: { sourceCache: BlockHashCache }) {
147
+ private async areBlockHashesEqualAt(blockNumber: BlockNumber, args: { sourceCache: BlockHashCache }) {
143
148
  if (blockNumber === 0) {
144
149
  return true;
145
150
  }
@@ -163,7 +168,7 @@ export class L2BlockStream {
163
168
  return localBlockHash === sourceBlockHash;
164
169
  }
165
170
 
166
- private getBlockHashFromSource(blockNumber: number) {
171
+ private getBlockHashFromSource(blockNumber: BlockNumber) {
167
172
  return this.l2BlockSource
168
173
  .getBlockHeader(blockNumber)
169
174
  .then(h => h?.hash())
@@ -1,3 +1,6 @@
1
+ import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+
1
4
  import type { L2Block } from '../l2_block.js';
2
5
  import type { L2BlockId, L2BlockTag, L2Tips } from '../l2_block_source.js';
3
6
  import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
@@ -7,7 +10,7 @@ import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalD
7
10
  * @dev tests in kv-store/src/stores/l2_tips_memory_store.test.ts
8
11
  */
9
12
  export class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
10
- protected readonly l2TipsStore: Map<L2BlockTag, number> = new Map();
13
+ protected readonly l2TipsStore: Map<L2BlockTag, BlockNumber> = new Map();
11
14
  protected readonly l2BlockHashesStore: Map<number, string> = new Map();
12
15
 
13
16
  public getL2BlockHash(number: number): Promise<string | undefined> {
@@ -25,7 +28,7 @@ export class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStre
25
28
  private getL2Tip(tag: L2BlockTag): L2BlockId {
26
29
  const blockNumber = this.l2TipsStore.get(tag);
27
30
  if (blockNumber === undefined || blockNumber === 0) {
28
- return { number: 0, hash: undefined };
31
+ return { number: BlockNumber.ZERO, hash: GENESIS_BLOCK_HEADER_HASH.toString() };
29
32
  }
30
33
  const blockHash = this.l2BlockHashesStore.get(blockNumber);
31
34
  if (!blockHash) {
@@ -5,7 +5,7 @@ import { encodeAbiParameters, parseAbiParameters } from 'viem';
5
5
  import { z } from 'zod';
6
6
 
7
7
  import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js';
8
- import { CommitteeAttestation } from './committee_attestation.js';
8
+ import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
9
9
 
10
10
  export class CommitteeAttestationsAndSigners implements Signable {
11
11
  constructor(public attestations: CommitteeAttestation[]) {}
@@ -119,3 +119,22 @@ export class CommitteeAttestationsAndSigners implements Signable {
119
119
  };
120
120
  }
121
121
  }
122
+
123
+ /**
124
+ * Malicious extension of CommitteeAttestationsAndSigners that keeps separate attestations and
125
+ * signers. Used for tricking the L1 contract into accepting attestations by reconstructing
126
+ * the correct committee commitment (which relies on the signers, ignoring the signatures)
127
+ * with an invalid set of attestation signatures.
128
+ */
129
+ export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
130
+ constructor(
131
+ attestations: CommitteeAttestation[],
132
+ private signers: EthAddress[],
133
+ ) {
134
+ super(attestations);
135
+ }
136
+
137
+ override getSigners(): EthAddress[] {
138
+ return this.signers;
139
+ }
140
+ }