@aztec/stdlib 0.0.1-commit.24de95ac → 0.0.1-commit.5daedc8

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 (808) 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 +8 -2
  222. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  223. package/dest/interfaces/aztec-node.js +2 -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 +62 -29
  310. package/dest/kernel/private_call_data.d.ts.map +1 -1
  311. package/dest/kernel/private_call_data.js +105 -4
  312. package/dest/kernel/private_call_request.d.ts +1 -16
  313. package/dest/kernel/private_call_request.d.ts.map +1 -1
  314. package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
  315. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  316. package/dest/kernel/private_circuit_public_inputs.js +17 -5
  317. package/dest/kernel/private_context_inputs.d.ts +1 -1
  318. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
  320. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  321. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  322. package/dest/kernel/private_kernel_data.d.ts +1 -7
  323. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  324. package/dest/kernel/private_kernel_data.js +0 -2
  325. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
  326. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  327. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
  328. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  329. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  330. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  331. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  332. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  333. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  334. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  336. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  337. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  338. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
  339. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  340. package/dest/kernel/private_log_data.d.ts +1 -1
  341. package/dest/kernel/private_log_data.d.ts.map +1 -1
  342. package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
  343. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  344. package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
  345. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  346. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  347. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
  348. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  349. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
  350. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  351. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
  352. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  353. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
  354. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  355. package/dest/kernel/private_validation_requests.d.ts +2 -24
  356. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  357. package/dest/kernel/private_validation_requests.js +5 -13
  358. package/dest/kernel/public_call_request.d.ts +22 -27
  359. package/dest/kernel/public_call_request.d.ts.map +1 -1
  360. package/dest/kernel/public_call_request.js +18 -0
  361. package/dest/kernel/utils/index.d.ts +1 -1
  362. package/dest/kernel/utils/interfaces.d.ts +1 -1
  363. package/dest/kernel/utils/optional_number.d.ts +1 -7
  364. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  365. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  366. package/dest/keys/derivation.d.ts +1 -1
  367. package/dest/keys/index.d.ts +1 -1
  368. package/dest/keys/key_types.d.ts +1 -1
  369. package/dest/keys/public_key.d.ts +1 -1
  370. package/dest/keys/public_keys.d.ts +9 -5
  371. package/dest/keys/public_keys.d.ts.map +1 -1
  372. package/dest/keys/public_keys.js +12 -0
  373. package/dest/keys/utils.d.ts +1 -1
  374. package/dest/l1-contracts/index.d.ts +1 -1
  375. package/dest/l1-contracts/slash_factory.d.ts +3 -3
  376. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  377. package/dest/logs/contract_class_log.d.ts +20 -4
  378. package/dest/logs/contract_class_log.d.ts.map +1 -1
  379. package/dest/logs/contract_class_log.js +24 -0
  380. package/dest/logs/debug_log.d.ts +10 -2
  381. package/dest/logs/debug_log.d.ts.map +1 -1
  382. package/dest/logs/debug_log.js +13 -0
  383. package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
  384. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  385. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  386. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  387. package/dest/logs/extended_public_log.d.ts +3 -5
  388. package/dest/logs/extended_public_log.d.ts.map +1 -1
  389. package/dest/logs/index.d.ts +1 -1
  390. package/dest/logs/log_filter.d.ts +1 -1
  391. package/dest/logs/log_id.d.ts +1 -4
  392. package/dest/logs/log_id.d.ts.map +1 -1
  393. package/dest/logs/log_with_tx_data.d.ts +1 -1
  394. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  395. package/dest/logs/message_context.d.ts +1 -1
  396. package/dest/logs/message_context.d.ts.map +1 -1
  397. package/dest/logs/pending_tagged_log.d.ts +1 -1
  398. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  399. package/dest/logs/pre_tag.d.ts +1 -1
  400. package/dest/logs/private_log.d.ts +10 -2
  401. package/dest/logs/private_log.d.ts.map +1 -1
  402. package/dest/logs/private_log.js +14 -5
  403. package/dest/logs/public_log.d.ts +9 -1
  404. package/dest/logs/public_log.d.ts.map +1 -1
  405. package/dest/logs/public_log.js +9 -0
  406. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  407. package/dest/logs/tx_scoped_l2_log.d.ts +8 -8
  408. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  409. package/dest/messaging/in_hash.d.ts +4 -0
  410. package/dest/messaging/in_hash.d.ts.map +1 -0
  411. package/dest/messaging/in_hash.js +8 -0
  412. package/dest/messaging/inbox_leaf.d.ts +1 -3
  413. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  414. package/dest/messaging/index.d.ts +3 -1
  415. package/dest/messaging/index.d.ts.map +1 -1
  416. package/dest/messaging/index.js +2 -0
  417. package/dest/messaging/l1_actor.d.ts +1 -7
  418. package/dest/messaging/l1_actor.d.ts.map +1 -1
  419. package/dest/messaging/l1_to_l2_message.d.ts +1 -6
  420. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  421. package/dest/messaging/l1_to_l2_message_source.d.ts +1 -1
  422. package/dest/messaging/l2_actor.d.ts +1 -7
  423. package/dest/messaging/l2_actor.d.ts.map +1 -1
  424. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  425. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  426. package/dest/messaging/l2_to_l1_membership.js +2 -2
  427. package/dest/messaging/l2_to_l1_message.d.ts +17 -1
  428. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  429. package/dest/messaging/l2_to_l1_message.js +18 -0
  430. package/dest/messaging/out_hash.d.ts +5 -0
  431. package/dest/messaging/out_hash.d.ts.map +1 -0
  432. package/dest/messaging/out_hash.js +28 -0
  433. package/dest/noir/index.d.ts +7 -7
  434. package/dest/noir/index.d.ts.map +1 -1
  435. package/dest/noir/index.js +6 -6
  436. package/dest/note/comparator.d.ts +1 -1
  437. package/dest/note/index.d.ts +2 -2
  438. package/dest/note/index.d.ts.map +1 -1
  439. package/dest/note/index.js +1 -1
  440. package/dest/note/note.d.ts +2 -17
  441. package/dest/note/note.d.ts.map +1 -1
  442. package/dest/note/note_dao.d.ts +71 -0
  443. package/dest/note/note_dao.d.ts.map +1 -0
  444. package/dest/note/note_dao.js +101 -0
  445. package/dest/note/note_status.d.ts +1 -1
  446. package/dest/note/notes_filter.d.ts +1 -1
  447. package/dest/p2p/attestation_utils.d.ts +1 -1
  448. package/dest/p2p/block_attestation.d.ts +5 -12
  449. package/dest/p2p/block_attestation.d.ts.map +1 -1
  450. package/dest/p2p/block_proposal.d.ts +3 -6
  451. package/dest/p2p/block_proposal.d.ts.map +1 -1
  452. package/dest/p2p/block_proposal.js +1 -1
  453. package/dest/p2p/client_type.d.ts +1 -1
  454. package/dest/p2p/consensus_payload.d.ts +10 -188
  455. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  456. package/dest/p2p/consensus_payload.js +16 -23
  457. package/dest/p2p/gossipable.d.ts +6 -5
  458. package/dest/p2p/gossipable.d.ts.map +1 -1
  459. package/dest/p2p/gossipable.js +16 -10
  460. package/dest/p2p/index.d.ts +1 -1
  461. package/dest/p2p/interface.d.ts +1 -1
  462. package/dest/p2p/message_validator.d.ts +1 -1
  463. package/dest/p2p/peer_error.d.ts +1 -1
  464. package/dest/p2p/signature_utils.d.ts +1 -1
  465. package/dest/p2p/topic_type.d.ts +1 -1
  466. package/dest/parity/index.d.ts +1 -1
  467. package/dest/parity/parity_base_private_inputs.d.ts +1 -3
  468. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  469. package/dest/parity/parity_public_inputs.d.ts +1 -4
  470. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  471. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  472. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  473. package/dest/proofs/chonk_proof.d.ts +1 -1
  474. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  475. package/dest/proofs/index.d.ts +1 -1
  476. package/dest/proofs/proof.d.ts +1 -4
  477. package/dest/proofs/proof.d.ts.map +1 -1
  478. package/dest/proofs/proof_data.d.ts +1 -1
  479. package/dest/proofs/proof_data.d.ts.map +1 -1
  480. package/dest/proofs/proving_request_type.d.ts +1 -1
  481. package/dest/proofs/recursive_proof.d.ts +2 -26
  482. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  483. package/dest/rollup/avm_proof_data.d.ts +1 -1
  484. package/dest/rollup/base_rollup_hints.d.ts +1 -34
  485. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  486. package/dest/rollup/block_constant_data.d.ts +1 -12
  487. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  488. package/dest/rollup/block_headers_hash.d.ts +4 -0
  489. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  490. package/dest/rollup/block_headers_hash.js +9 -0
  491. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  492. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  493. package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
  494. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  495. package/dest/rollup/block_rollup_public_inputs.js +8 -2
  496. package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
  497. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  498. package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
  499. package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
  500. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  501. package/dest/rollup/checkpoint_constant_data.js +27 -3
  502. package/dest/rollup/checkpoint_header.d.ts +16 -14
  503. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  504. package/dest/rollup/checkpoint_header.js +40 -13
  505. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  506. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  507. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
  508. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  509. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
  510. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  511. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
  512. package/dest/rollup/epoch_constant_data.d.ts +1 -16
  513. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  514. package/dest/rollup/index.d.ts +2 -1
  515. package/dest/rollup/index.d.ts.map +1 -1
  516. package/dest/rollup/index.js +1 -0
  517. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  518. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  519. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
  520. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  521. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
  522. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  523. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  524. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  525. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  526. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  527. package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
  528. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  529. package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
  530. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  531. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  532. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  533. package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
  534. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  535. package/dest/schemas/index.d.ts +1 -1
  536. package/dest/schemas/schemas.d.ts +86 -15
  537. package/dest/schemas/schemas.d.ts.map +1 -1
  538. package/dest/schemas/schemas.js +12 -1
  539. package/dest/slashing/empire.d.ts +1 -1
  540. package/dest/slashing/empire.d.ts.map +1 -1
  541. package/dest/slashing/empire.js +5 -4
  542. package/dest/slashing/helpers.d.ts +7 -6
  543. package/dest/slashing/helpers.d.ts.map +1 -1
  544. package/dest/slashing/helpers.js +8 -6
  545. package/dest/slashing/index.d.ts +1 -1
  546. package/dest/slashing/interfaces.d.ts +3 -2
  547. package/dest/slashing/interfaces.d.ts.map +1 -1
  548. package/dest/slashing/serialization.d.ts +1 -1
  549. package/dest/slashing/tally.d.ts +1 -1
  550. package/dest/slashing/types.d.ts +10 -10
  551. package/dest/snapshots/download.d.ts +1 -1
  552. package/dest/snapshots/index.d.ts +1 -1
  553. package/dest/snapshots/types.d.ts +18 -18
  554. package/dest/snapshots/upload.d.ts +1 -1
  555. package/dest/stats/index.d.ts +1 -1
  556. package/dest/stats/stats.d.ts +1 -1
  557. package/dest/tests/factories.d.ts +34 -29
  558. package/dest/tests/factories.d.ts.map +1 -1
  559. package/dest/tests/factories.js +72 -147
  560. package/dest/tests/fixtures.d.ts +1 -1
  561. package/dest/tests/index.d.ts +1 -1
  562. package/dest/tests/jest.d.ts +1 -1
  563. package/dest/tests/mocks.d.ts +54 -23
  564. package/dest/tests/mocks.d.ts.map +1 -1
  565. package/dest/tests/mocks.js +133 -33
  566. package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
  567. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  568. package/dest/trees/append_only_tree_snapshot.js +9 -9
  569. package/dest/trees/database_public_state_source.d.ts +1 -1
  570. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  571. package/dest/trees/index.d.ts +1 -1
  572. package/dest/trees/merkle_tree_id.d.ts +5 -5
  573. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  574. package/dest/trees/nullifier_leaf.d.ts +17 -13
  575. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  576. package/dest/trees/nullifier_leaf.js +24 -0
  577. package/dest/trees/nullifier_membership_witness.d.ts +4 -37
  578. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  579. package/dest/trees/public_data_leaf.d.ts +28 -27
  580. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  581. package/dest/trees/public_data_leaf.js +24 -0
  582. package/dest/trees/public_data_witness.d.ts +11 -45
  583. package/dest/trees/public_data_witness.d.ts.map +1 -1
  584. package/dest/tx/block_header.d.ts +5 -12
  585. package/dest/tx/block_header.d.ts.map +1 -1
  586. package/dest/tx/block_header.js +13 -2
  587. package/dest/tx/call_context.d.ts +6 -18
  588. package/dest/tx/call_context.d.ts.map +1 -1
  589. package/dest/tx/capsule.d.ts +1 -4
  590. package/dest/tx/capsule.d.ts.map +1 -1
  591. package/dest/tx/content_commitment.d.ts +1 -1
  592. package/dest/tx/content_commitment.d.ts.map +1 -1
  593. package/dest/tx/execution_payload.d.ts +37 -0
  594. package/dest/tx/execution_payload.d.ts.map +1 -0
  595. package/dest/tx/execution_payload.js +40 -0
  596. package/dest/tx/function_data.d.ts +4 -6
  597. package/dest/tx/function_data.d.ts.map +1 -1
  598. package/dest/tx/global_variable_builder.d.ts +3 -2
  599. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  600. package/dest/tx/global_variables.d.ts +43 -24
  601. package/dest/tx/global_variables.d.ts.map +1 -1
  602. package/dest/tx/global_variables.js +48 -8
  603. package/dest/tx/hashed_values.d.ts +1 -7
  604. package/dest/tx/hashed_values.d.ts.map +1 -1
  605. package/dest/tx/index.d.ts +2 -1
  606. package/dest/tx/index.d.ts.map +1 -1
  607. package/dest/tx/index.js +1 -0
  608. package/dest/tx/indexed_tx_effect.d.ts +2 -2
  609. package/dest/tx/indexed_tx_effect.js +3 -1
  610. package/dest/tx/offchain_effect.d.ts +1 -1
  611. package/dest/tx/partial_state_reference.d.ts +4 -7
  612. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  613. package/dest/tx/partial_state_reference.js +10 -10
  614. package/dest/tx/private_execution_result.d.ts +14 -49
  615. package/dest/tx/private_execution_result.d.ts.map +1 -1
  616. package/dest/tx/private_execution_result.js +6 -3
  617. package/dest/tx/private_tx_constant_data.d.ts +1 -16
  618. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  619. package/dest/tx/processed_tx.d.ts +1 -1
  620. package/dest/tx/profiling.d.ts +38 -38
  621. package/dest/tx/profiling.d.ts.map +1 -1
  622. package/dest/tx/profiling.js +5 -4
  623. package/dest/tx/protocol_contracts.d.ts +10 -2
  624. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  625. package/dest/tx/protocol_contracts.js +9 -0
  626. package/dest/tx/proven_tx.d.ts +18 -18
  627. package/dest/tx/proven_tx.d.ts.map +1 -1
  628. package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
  629. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  630. package/dest/tx/public_call_request_with_calldata.js +12 -0
  631. package/dest/tx/public_simulation_output.d.ts +3 -1
  632. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  633. package/dest/tx/public_simulation_output.js +8 -1
  634. package/dest/tx/simulated_tx.d.ts +21 -21
  635. package/dest/tx/simulated_tx.d.ts.map +1 -1
  636. package/dest/tx/state_reference.d.ts +10 -12
  637. package/dest/tx/state_reference.d.ts.map +1 -1
  638. package/dest/tx/state_reference.js +9 -9
  639. package/dest/tx/tree_snapshots.d.ts +15 -7
  640. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  641. package/dest/tx/tree_snapshots.js +9 -0
  642. package/dest/tx/tx.d.ts +4 -18
  643. package/dest/tx/tx.d.ts.map +1 -1
  644. package/dest/tx/tx.js +6 -4
  645. package/dest/tx/tx_constant_data.d.ts +1 -1
  646. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  647. package/dest/tx/tx_context.d.ts +1 -2
  648. package/dest/tx/tx_context.d.ts.map +1 -1
  649. package/dest/tx/tx_effect.d.ts +20 -42
  650. package/dest/tx/tx_effect.d.ts.map +1 -1
  651. package/dest/tx/tx_effect.js +54 -59
  652. package/dest/tx/tx_execution_request.d.ts +1 -30
  653. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  654. package/dest/tx/tx_hash.d.ts +1 -2
  655. package/dest/tx/tx_hash.d.ts.map +1 -1
  656. package/dest/tx/tx_receipt.d.ts +1 -7
  657. package/dest/tx/tx_receipt.d.ts.map +1 -1
  658. package/dest/tx/tx_request.d.ts +1 -6
  659. package/dest/tx/tx_request.d.ts.map +1 -1
  660. package/dest/tx/validator/empty_validator.d.ts +1 -1
  661. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  662. package/dest/tx/validator/error_texts.d.ts +1 -1
  663. package/dest/tx/validator/tx_validator.d.ts +5 -5
  664. package/dest/types/index.d.ts +1 -1
  665. package/dest/types/shared.d.ts +1 -4
  666. package/dest/types/shared.d.ts.map +1 -1
  667. package/dest/update-checker/index.d.ts +1 -1
  668. package/dest/update-checker/update-checker.d.ts +2 -3
  669. package/dest/update-checker/update-checker.d.ts.map +1 -1
  670. package/dest/validators/errors.d.ts +6 -7
  671. package/dest/validators/errors.d.ts.map +1 -1
  672. package/dest/validators/errors.js +2 -4
  673. package/dest/validators/index.d.ts +1 -1
  674. package/dest/validators/schemas.d.ts +266 -208
  675. package/dest/validators/schemas.d.ts.map +1 -1
  676. package/dest/validators/schemas.js +7 -7
  677. package/dest/validators/types.d.ts +10 -9
  678. package/dest/validators/types.d.ts.map +1 -1
  679. package/dest/versioning/index.d.ts +1 -1
  680. package/dest/versioning/versioning.d.ts +1 -1
  681. package/dest/versioning/versioning.d.ts.map +1 -1
  682. package/dest/vks/index.d.ts +1 -1
  683. package/dest/vks/verification_key.d.ts +10 -22
  684. package/dest/vks/verification_key.d.ts.map +1 -1
  685. package/dest/vks/verification_key.js +20 -0
  686. package/dest/vks/vk_data.d.ts +1 -7
  687. package/dest/vks/vk_data.d.ts.map +1 -1
  688. package/dest/world-state/index.d.ts +1 -1
  689. package/dest/world-state/world_state_revision.d.ts +34 -2
  690. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  691. package/dest/world-state/world_state_revision.js +24 -1
  692. package/dest/zkpassport/index.d.ts +1 -1
  693. package/dest/zkpassport/index.d.ts.map +1 -1
  694. package/package.json +12 -11
  695. package/src/abi/abi.ts +4 -4
  696. package/src/abi/contract_artifact.ts +3 -3
  697. package/src/avm/avm.ts +562 -6
  698. package/src/avm/avm_accumulated_data.ts +40 -0
  699. package/src/avm/avm_circuit_public_inputs.ts +40 -0
  700. package/src/avm/message_pack.ts +4 -1
  701. package/src/avm/public_data_write.ts +12 -1
  702. package/src/avm/revert_code.ts +29 -9
  703. package/src/aztec-address/index.ts +26 -2
  704. package/src/block/attestation_info.ts +8 -1
  705. package/src/block/body.ts +16 -39
  706. package/src/block/index.ts +1 -0
  707. package/src/block/l2_block.ts +62 -4
  708. package/src/block/l2_block_code_to_purge.ts +4 -2
  709. package/src/block/l2_block_header.ts +19 -5
  710. package/src/block/l2_block_new.ts +171 -0
  711. package/src/block/l2_block_source.ts +9 -8
  712. package/src/block/proposal/attestations_and_signers.ts +20 -1
  713. package/src/block/published_l2_block.ts +14 -31
  714. package/src/block/validate_block_result.ts +9 -7
  715. package/src/checkpoint/checkpoint.ts +88 -0
  716. package/src/checkpoint/index.ts +2 -1
  717. package/src/checkpoint/published_checkpoint.ts +91 -0
  718. package/src/contract/contract_deployment_data.ts +125 -0
  719. package/src/contract/index.ts +1 -0
  720. package/src/contract/private_function_membership_proof.ts +1 -1
  721. package/src/epoch-helpers/index.ts +28 -21
  722. package/src/file-store/http.ts +6 -3
  723. package/src/file-store/s3.ts +3 -7
  724. package/src/gas/gas.ts +14 -0
  725. package/src/gas/gas_fees.ts +14 -0
  726. package/src/gas/gas_settings.ts +19 -0
  727. package/src/gas/gas_used.ts +22 -1
  728. package/src/hash/hash.ts +13 -2
  729. package/src/interfaces/archiver.ts +10 -5
  730. package/src/interfaces/aztec-node.ts +12 -3
  731. package/src/interfaces/configs.ts +6 -0
  732. package/src/interfaces/epoch-prover.ts +3 -4
  733. package/src/interfaces/merkle_tree_operations.ts +2 -2
  734. package/src/interfaces/p2p.ts +4 -2
  735. package/src/interfaces/proving-job.ts +14 -5
  736. package/src/interfaces/validator.ts +5 -2
  737. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  738. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  739. package/src/kernel/private_call_data.ts +130 -3
  740. package/src/kernel/private_circuit_public_inputs.ts +29 -9
  741. package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
  742. package/src/kernel/private_kernel_data.ts +0 -2
  743. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
  744. package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
  745. package/src/kernel/private_validation_requests.ts +1 -13
  746. package/src/kernel/public_call_request.ts +27 -0
  747. package/src/keys/public_keys.ts +19 -0
  748. package/src/logs/contract_class_log.ts +32 -0
  749. package/src/logs/debug_log.ts +20 -1
  750. package/src/logs/private_log.ts +19 -3
  751. package/src/logs/public_log.ts +14 -0
  752. package/src/messaging/in_hash.ts +10 -0
  753. package/src/messaging/index.ts +2 -0
  754. package/src/messaging/l2_to_l1_membership.ts +2 -2
  755. package/src/messaging/l2_to_l1_message.ts +25 -0
  756. package/src/messaging/out_hash.ts +36 -0
  757. package/src/noir/index.ts +6 -6
  758. package/src/note/index.ts +1 -1
  759. package/src/note/note_dao.ts +151 -0
  760. package/src/p2p/block_attestation.ts +2 -1
  761. package/src/p2p/block_proposal.ts +3 -2
  762. package/src/p2p/consensus_payload.ts +16 -26
  763. package/src/p2p/gossipable.ts +17 -8
  764. package/src/rollup/block_headers_hash.ts +12 -0
  765. package/src/rollup/block_rollup_public_inputs.ts +8 -0
  766. package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
  767. package/src/rollup/checkpoint_constant_data.ts +43 -4
  768. package/src/rollup/checkpoint_header.ts +46 -22
  769. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
  770. package/src/rollup/index.ts +1 -0
  771. package/src/schemas/schemas.ts +18 -0
  772. package/src/slashing/empire.ts +6 -4
  773. package/src/slashing/helpers.ts +17 -12
  774. package/src/slashing/interfaces.ts +3 -1
  775. package/src/tests/factories.ts +211 -227
  776. package/src/tests/mocks.ts +228 -50
  777. package/src/trees/append_only_tree_snapshot.ts +11 -12
  778. package/src/trees/nullifier_leaf.ts +32 -0
  779. package/src/trees/public_data_leaf.ts +32 -0
  780. package/src/tx/block_header.ts +16 -3
  781. package/src/tx/execution_payload.ts +60 -0
  782. package/src/tx/global_variable_builder.ts +2 -1
  783. package/src/tx/global_variables.ts +63 -9
  784. package/src/tx/index.ts +1 -0
  785. package/src/tx/indexed_tx_effect.ts +1 -1
  786. package/src/tx/partial_state_reference.ts +9 -17
  787. package/src/tx/private_execution_result.ts +5 -2
  788. package/src/tx/profiling.ts +4 -6
  789. package/src/tx/protocol_contracts.ts +16 -0
  790. package/src/tx/public_call_request_with_calldata.ts +17 -0
  791. package/src/tx/public_simulation_output.ts +18 -1
  792. package/src/tx/state_reference.ts +9 -15
  793. package/src/tx/tree_snapshots.ts +16 -0
  794. package/src/tx/tx.ts +7 -6
  795. package/src/tx/tx_effect.ts +84 -90
  796. package/src/validators/errors.ts +3 -4
  797. package/src/validators/schemas.ts +7 -7
  798. package/src/validators/types.ts +9 -8
  799. package/src/vks/verification_key.ts +25 -0
  800. package/src/world-state/world_state_revision.ts +47 -5
  801. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  802. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  803. package/dest/checkpoint/checkpoint_body.js +0 -9
  804. package/dest/note/unique_note.d.ts +0 -43
  805. package/dest/note/unique_note.d.ts.map +0 -1
  806. package/dest/note/unique_note.js +0 -67
  807. package/src/checkpoint/checkpoint_body.ts +0 -10
  808. package/src/note/unique_note.ts +0 -88
@@ -50,6 +50,12 @@ export class BlockRollupPublicInputs {
50
50
  * Timestamp of the last block in this block range.
51
51
  */
52
52
  public endTimestamp: UInt64,
53
+ /**
54
+ * Hash of the headers of all blocks in this block range. It will be combined with the `blockHeadersHash` from
55
+ * other blocks in the same checkpoint to form a wonky tree. The root of that tree becomes the final hash stored in
56
+ * the checkpoint header, enabling validation of the blocks included in a checkpoint given their headers.
57
+ */
58
+ public blockHeadersHash: Fr,
53
59
  /**
54
60
  * SHA256 hash of l1 to l2 messages.
55
61
  */
@@ -84,6 +90,7 @@ export class BlockRollupPublicInputs {
84
90
  Fr.fromBuffer(reader),
85
91
  Fr.fromBuffer(reader),
86
92
  Fr.fromBuffer(reader),
93
+ Fr.fromBuffer(reader),
87
94
  );
88
95
  }
89
96
 
@@ -98,6 +105,7 @@ export class BlockRollupPublicInputs {
98
105
  this.endSpongeBlob,
99
106
  bigintToUInt64BE(this.startTimestamp),
100
107
  bigintToUInt64BE(this.endTimestamp),
108
+ this.blockHeadersHash,
101
109
  this.inHash,
102
110
  this.outHash,
103
111
  this.accumulatedFees,
@@ -1,4 +1,3 @@
1
- import { SpongeBlob } from '@aztec/blob-lib/types';
2
1
  import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
3
2
  import { Fr } from '@aztec/foundation/fields';
4
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
@@ -157,11 +156,6 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
157
156
  * The constants of the checkpoint.
158
157
  */
159
158
  public constants: CheckpointConstantData,
160
- /**
161
- * The start sponge blob of this block. No data has been absorbed into it yet, since it's the first block. But the
162
- * number of expected fields must be set to the total number of fields in the entire checkpoint.
163
- */
164
- public startSpongeBlob: SpongeBlob,
165
159
  /**
166
160
  * The timestamp of this block.
167
161
  */
@@ -186,7 +180,6 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
186
180
  fields.previousArchive,
187
181
  fields.previousState,
188
182
  fields.constants,
189
- fields.startSpongeBlob,
190
183
  fields.timestamp,
191
184
  fields.newL1ToL2MessageSubtreeRootSiblingPath,
192
185
  fields.newArchiveSiblingPath,
@@ -199,7 +192,6 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
199
192
  this.previousArchive,
200
193
  this.previousState,
201
194
  this.constants,
202
- this.startSpongeBlob,
203
195
  bigintToUInt64BE(this.timestamp),
204
196
  this.newL1ToL2MessageSubtreeRootSiblingPath,
205
197
  this.newArchiveSiblingPath,
@@ -213,7 +205,6 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
213
205
  AppendOnlyTreeSnapshot.fromBuffer(reader),
214
206
  StateReference.fromBuffer(reader),
215
207
  CheckpointConstantData.fromBuffer(reader),
216
- SpongeBlob.fromBuffer(reader),
217
208
  reader.readUInt64(),
218
209
  reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
219
210
  reader.readArray(ARCHIVE_HEIGHT, Fr),
@@ -1,8 +1,11 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Fr } from '@aztec/foundation/fields';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import type { FieldsOf } from '@aztec/foundation/types';
5
6
 
7
+ import { inspect } from 'util';
8
+
6
9
  import { AztecAddress } from '../aztec-address/index.js';
7
10
  import { GasFees } from '../gas/gas_fees.js';
8
11
 
@@ -22,7 +25,7 @@ export class CheckpointConstantData {
22
25
  /** Identifier of the prover. */
23
26
  public proverId: Fr,
24
27
  /** Slot number of the checkpoint. */
25
- public slotNumber: Fr,
28
+ public slotNumber: SlotNumber,
26
29
  /** Coinbase address of the rollup. */
27
30
  public coinbase: EthAddress,
28
31
  /** Address to receive fees. */
@@ -56,7 +59,7 @@ export class CheckpointConstantData {
56
59
  Fr.ZERO,
57
60
  Fr.ZERO,
58
61
  Fr.ZERO,
59
- Fr.ZERO,
62
+ SlotNumber.ZERO,
60
63
  EthAddress.ZERO,
61
64
  AztecAddress.ZERO,
62
65
  GasFees.empty(),
@@ -64,7 +67,17 @@ export class CheckpointConstantData {
64
67
  }
65
68
 
66
69
  toBuffer() {
67
- return serializeToBuffer(...CheckpointConstantData.getFields(this));
70
+ return serializeToBuffer(
71
+ this.chainId,
72
+ this.version,
73
+ this.vkTreeRoot,
74
+ this.protocolContractsHash,
75
+ this.proverId,
76
+ new Fr(this.slotNumber),
77
+ this.coinbase,
78
+ this.feeRecipient,
79
+ this.gasFees,
80
+ );
68
81
  }
69
82
 
70
83
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -75,10 +88,36 @@ export class CheckpointConstantData {
75
88
  Fr.fromBuffer(reader),
76
89
  Fr.fromBuffer(reader),
77
90
  Fr.fromBuffer(reader),
78
- Fr.fromBuffer(reader),
91
+ SlotNumber(Fr.fromBuffer(reader).toNumber()),
79
92
  reader.readObject(EthAddress),
80
93
  reader.readObject(AztecAddress),
81
94
  reader.readObject(GasFees),
82
95
  );
83
96
  }
97
+
98
+ /**
99
+ * Returns the slot number as a SlotNumber branded type.
100
+ * @deprecated Use slotNumber directly instead.
101
+ */
102
+ getSlotNumber(): SlotNumber {
103
+ return this.slotNumber;
104
+ }
105
+
106
+ toInspect() {
107
+ return {
108
+ chainId: this.chainId.toNumber(),
109
+ version: this.version.toNumber(),
110
+ vkTreeRoot: this.vkTreeRoot.toString(),
111
+ protocolContractsHash: this.protocolContractsHash.toString(),
112
+ proverId: this.proverId.toString(),
113
+ slotNumber: this.slotNumber,
114
+ coinbase: this.coinbase.toString(),
115
+ feeRecipient: this.feeRecipient.toString(),
116
+ gasFees: this.gasFees.toInspect(),
117
+ };
118
+ }
119
+
120
+ [inspect.custom]() {
121
+ return `CheckpointConstantData ${inspect(this.toInspect())}`;
122
+ }
84
123
  }
@@ -1,4 +1,5 @@
1
1
  import type { ViemHeader } from '@aztec/ethereum';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
2
3
  import { sha256ToField } from '@aztec/foundation/crypto';
3
4
  import { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import { Fr } from '@aztec/foundation/fields';
@@ -20,10 +21,12 @@ export class CheckpointHeader {
20
21
  constructor(
21
22
  /** Root of the archive tree before this block is added. */
22
23
  public lastArchiveRoot: Fr,
24
+ /** Hash of the headers of all blocks in this checkpoint. */
25
+ public blockHeadersHash: Fr,
23
26
  /** Content commitment of the L2 block. */
24
27
  public contentCommitment: ContentCommitment,
25
28
  /** Slot number of the L2 block */
26
- public slotNumber: Fr,
29
+ public slotNumber: SlotNumber,
27
30
  /** Timestamp of the L2 block. */
28
31
  public timestamp: UInt64,
29
32
  /** Recipient of block reward. */
@@ -40,8 +43,9 @@ export class CheckpointHeader {
40
43
  return z
41
44
  .object({
42
45
  lastArchiveRoot: schemas.Fr,
46
+ blockHeadersHash: schemas.Fr,
43
47
  contentCommitment: ContentCommitment.schema,
44
- slotNumber: schemas.Fr,
48
+ slotNumber: schemas.SlotNumber,
45
49
  timestamp: schemas.BigInt,
46
50
  coinbase: schemas.EthAddress,
47
51
  feeRecipient: schemas.AztecAddress,
@@ -54,6 +58,7 @@ export class CheckpointHeader {
54
58
  static getFields(fields: FieldsOf<CheckpointHeader>) {
55
59
  return [
56
60
  fields.lastArchiveRoot,
61
+ fields.blockHeadersHash,
57
62
  fields.contentCommitment,
58
63
  fields.slotNumber,
59
64
  fields.timestamp,
@@ -72,9 +77,10 @@ export class CheckpointHeader {
72
77
  const reader = BufferReader.asReader(buffer);
73
78
 
74
79
  return new CheckpointHeader(
80
+ reader.readObject(Fr),
75
81
  reader.readObject(Fr),
76
82
  reader.readObject(ContentCommitment),
77
- Fr.fromBuffer(reader),
83
+ SlotNumber(Fr.fromBuffer(reader).toNumber()),
78
84
  reader.readUInt64(),
79
85
  reader.readObject(EthAddress),
80
86
  reader.readObject(AztecAddress),
@@ -86,8 +92,9 @@ export class CheckpointHeader {
86
92
  equals(other: CheckpointHeader) {
87
93
  return (
88
94
  this.lastArchiveRoot.equals(other.lastArchiveRoot) &&
95
+ this.blockHeadersHash.equals(other.blockHeadersHash) &&
89
96
  this.contentCommitment.equals(other.contentCommitment) &&
90
- this.slotNumber.equals(other.slotNumber) &&
97
+ this.slotNumber === other.slotNumber &&
91
98
  this.timestamp === other.timestamp &&
92
99
  this.coinbase.equals(other.coinbase) &&
93
100
  this.feeRecipient.equals(other.feeRecipient) &&
@@ -100,8 +107,9 @@ export class CheckpointHeader {
100
107
  // Note: The order here must match the order in the ProposedHeaderLib solidity library.
101
108
  return serializeToBuffer([
102
109
  this.lastArchiveRoot,
110
+ this.blockHeadersHash,
103
111
  this.contentCommitment,
104
- this.slotNumber,
112
+ new Fr(this.slotNumber),
105
113
  bigintToUInt64BE(this.timestamp),
106
114
  this.coinbase,
107
115
  this.feeRecipient,
@@ -117,8 +125,9 @@ export class CheckpointHeader {
117
125
  static empty(fields: Partial<FieldsOf<CheckpointHeader>> = {}) {
118
126
  return CheckpointHeader.from({
119
127
  lastArchiveRoot: Fr.ZERO,
128
+ blockHeadersHash: Fr.ZERO,
120
129
  contentCommitment: ContentCommitment.empty(),
121
- slotNumber: Fr.ZERO,
130
+ slotNumber: SlotNumber.ZERO,
122
131
  timestamp: 0n,
123
132
  coinbase: EthAddress.ZERO,
124
133
  feeRecipient: AztecAddress.ZERO,
@@ -128,24 +137,27 @@ export class CheckpointHeader {
128
137
  });
129
138
  }
130
139
 
131
- static random(): CheckpointHeader {
132
- return new CheckpointHeader(
133
- Fr.random(),
134
- ContentCommitment.random(),
135
- new Fr(BigInt(Math.floor(Math.random() * 1000) + 1)),
136
- BigInt(Math.floor(Date.now() / 1000)),
137
- EthAddress.random(),
138
- new AztecAddress(Fr.random()),
139
- GasFees.random(),
140
- new Fr(BigInt(Math.floor(Math.random() * 1000000))),
141
- );
140
+ static random(overrides: Partial<FieldsOf<CheckpointHeader>> = {}): CheckpointHeader {
141
+ return CheckpointHeader.from({
142
+ lastArchiveRoot: Fr.random(),
143
+ blockHeadersHash: Fr.random(),
144
+ contentCommitment: ContentCommitment.random(),
145
+ slotNumber: SlotNumber(Math.floor(Math.random() * 1000) + 1),
146
+ timestamp: BigInt(Math.floor(Date.now() / 1000)),
147
+ coinbase: EthAddress.random(),
148
+ feeRecipient: new AztecAddress(Fr.random()),
149
+ gasFees: GasFees.random(),
150
+ totalManaUsed: new Fr(BigInt(Math.floor(Math.random() * 1000000))),
151
+ ...overrides,
152
+ });
142
153
  }
143
154
 
144
155
  isEmpty(): boolean {
145
156
  return (
146
157
  this.lastArchiveRoot.isZero() &&
158
+ this.blockHeadersHash.isZero() &&
147
159
  this.contentCommitment.isEmpty() &&
148
- this.slotNumber.isZero() &&
160
+ this.slotNumber === 0 &&
149
161
  this.timestamp === 0n &&
150
162
  this.coinbase.isZero() &&
151
163
  this.feeRecipient.isZero() &&
@@ -169,8 +181,9 @@ export class CheckpointHeader {
169
181
  static fromViem(header: ViemHeader) {
170
182
  return new CheckpointHeader(
171
183
  Fr.fromString(header.lastArchiveRoot),
184
+ Fr.fromString(header.blockHeadersHash),
172
185
  ContentCommitment.fromViem(header.contentCommitment),
173
- new Fr(header.slotNumber),
186
+ SlotNumber.fromBigInt(header.slotNumber),
174
187
  header.timestamp,
175
188
  new EthAddress(hexToBuffer(header.coinbase)),
176
189
  new AztecAddress(hexToBuffer(header.feeRecipient)),
@@ -179,11 +192,20 @@ export class CheckpointHeader {
179
192
  );
180
193
  }
181
194
 
195
+ /**
196
+ * Returns the slot number as a SlotNumber branded type.
197
+ * @deprecated Use slotNumber directly instead.
198
+ */
199
+ getSlotNumber(): SlotNumber {
200
+ return this.slotNumber;
201
+ }
202
+
182
203
  toViem(): ViemHeader {
183
204
  return {
184
205
  lastArchiveRoot: this.lastArchiveRoot.toString(),
206
+ blockHeadersHash: this.blockHeadersHash.toString(),
185
207
  contentCommitment: this.contentCommitment.toViem(),
186
- slotNumber: this.slotNumber.toBigInt(),
208
+ slotNumber: BigInt(this.slotNumber),
187
209
  timestamp: this.timestamp,
188
210
  coinbase: this.coinbase.toString(),
189
211
  feeRecipient: `0x${this.feeRecipient.toBuffer().toString('hex').padStart(64, '0')}`,
@@ -198,8 +220,9 @@ export class CheckpointHeader {
198
220
  toInspect() {
199
221
  return {
200
222
  lastArchive: this.lastArchiveRoot.toString(),
223
+ blockHeadersHash: this.blockHeadersHash.toString(),
201
224
  contentCommitment: this.contentCommitment.toInspect(),
202
- slotNumber: this.slotNumber.toBigInt(),
225
+ slotNumber: this.slotNumber,
203
226
  timestamp: this.timestamp,
204
227
  coinbase: this.coinbase.toString(),
205
228
  feeRecipient: this.feeRecipient.toString(),
@@ -212,8 +235,9 @@ export class CheckpointHeader {
212
235
  const gasfees = `da:${this.gasFees.feePerDaGas}, l2:${this.gasFees.feePerL2Gas}`;
213
236
  return `Header {
214
237
  lastArchiveRoot: ${this.lastArchiveRoot.toString()},
238
+ blockHeadersHash: ${this.blockHeadersHash.toString()},
215
239
  contentCommitment: ${inspect(this.contentCommitment)},
216
- slotNumber: ${this.slotNumber.toBigInt()},
240
+ slotNumber: ${this.slotNumber},
217
241
  timestamp: ${this.timestamp},
218
242
  coinbase: ${this.coinbase.toString()},
219
243
  feeRecipient: ${this.feeRecipient.toString()},
@@ -1,5 +1,5 @@
1
1
  import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
- import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK, FIELDS_PER_BLOB } from '@aztec/constants';
2
+ import { ARCHIVE_HEIGHT, BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB } from '@aztec/constants';
3
3
  import { BLS12Point, Fr } from '@aztec/foundation/fields';
4
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
5
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -31,13 +31,13 @@ export class CheckpointRootRollupHints {
31
31
  /**
32
32
  * Flat list of all tx effects which will be added to the blob.
33
33
  * Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
34
- * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
34
+ * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_CHECKPOINT>
35
35
  */
36
36
  public blobFields: Fr[],
37
37
  /**
38
38
  * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
39
39
  */
40
- public blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_BLOCK>,
40
+ public blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_CHECKPOINT>,
41
41
  /**
42
42
  * The hash of eth blob hashes for this block
43
43
  * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
@@ -74,8 +74,8 @@ export class CheckpointRootRollupHints {
74
74
  reader.readObject(FinalBlobBatchingChallenges),
75
75
  // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
76
76
  // reader.readArray(FIELDS_PER_BLOB, Fr),
77
- Array.from({ length: FIELDS_PER_BLOB * BLOBS_PER_BLOCK }, () => Fr.fromBuffer(reader)),
78
- reader.readArray(BLOBS_PER_BLOCK, BLS12Point),
77
+ Array.from({ length: FIELDS_PER_BLOB * BLOBS_PER_CHECKPOINT }, () => Fr.fromBuffer(reader)),
78
+ reader.readArray(BLOBS_PER_CHECKPOINT, BLS12Point),
79
79
  Fr.fromBuffer(reader),
80
80
  );
81
81
  }
@@ -1,6 +1,7 @@
1
1
  export * from './avm_proof_data.js';
2
2
  export * from './base_rollup_hints.js';
3
3
  export * from './block_constant_data.js';
4
+ export * from './block_headers_hash.js';
4
5
  export * from './block_merge_rollup_private_inputs.js';
5
6
  export * from './block_rollup_public_inputs.js';
6
7
  export * from './block_root_rollup_private_inputs.js';
@@ -1,3 +1,4 @@
1
+ import type { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import type { Buffer32 } from '@aztec/foundation/buffer';
2
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import type { Fq, Fr, Point } from '@aztec/foundation/fields';
@@ -10,6 +11,7 @@ import { EventSelector } from '../abi/event_selector.js';
10
11
  import { FunctionSelector } from '../abi/function_selector.js';
11
12
  import { NoteSelector } from '../abi/note_selector.js';
12
13
  import { AztecAddress } from '../aztec-address/index.js';
14
+ import { Gas } from '../gas/gas.js';
13
15
 
14
16
  /**
15
17
  * Validation schemas for common types. Every schema must match its toJSON.
@@ -63,6 +65,19 @@ export const schemas = {
63
65
 
64
66
  /** Accepts a hex string. */
65
67
  EventSelector: EventSelector.schema,
68
+
69
+ /** Accepts a number, bigint, or string and coerces to SlotNumber. */
70
+ SlotNumber: foundationSchemas.SlotNumber as ZodFor<SlotNumber>,
71
+
72
+ /** Accepts a number, bigint, or string and coerces to EpochNumber. */
73
+ EpochNumber: foundationSchemas.EpochNumber as ZodFor<EpochNumber>,
74
+
75
+ GasUsed: z.object({
76
+ totalGas: Gas.schema,
77
+ teardownGas: Gas.schema,
78
+ publicGas: Gas.schema,
79
+ billedGas: Gas.schema,
80
+ }),
66
81
  };
67
82
 
68
83
  export const AbiDecodedSchema: ZodFor<AbiDecoded> = z.union([
@@ -73,6 +88,9 @@ export const AbiDecodedSchema: ZodFor<AbiDecoded> = z.union([
73
88
  z.record(z.lazy(() => AbiDecodedSchema)),
74
89
  ]);
75
90
 
91
+ // C++ only supports null values, which we want to convert to undefined.
92
+ export const NullishToUndefined = (schema: ZodFor<any>) => schema.nullish().transform(x => x ?? undefined);
93
+
76
94
  export {
77
95
  type ZodFor,
78
96
  bufferSchema,
@@ -1,3 +1,5 @@
1
+ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import { getRoundForSlot, getRoundsForEpoch } from './helpers.js';
2
4
  import type { Offense, OffenseIdentifier, SlashPayload, SlashPayloadRound, ValidatorSlash } from './types.js';
3
5
  import { OffenseType } from './types.js';
@@ -66,7 +68,7 @@ export function getFirstEligibleRoundForOffense(
66
68
  // Inactivity is detected at the end of the epoch, so we flag it as detected in the first fresh round for the next epoch
67
69
  case OffenseType.INACTIVITY: {
68
70
  const epoch = offense.epochOrSlot;
69
- const detectedEpoch = epoch + 1n;
71
+ const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
70
72
  return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
71
73
  }
72
74
  // These offenses are detected once an epoch is pruned, which happens after the proof submission window
@@ -74,7 +76,7 @@ export function getFirstEligibleRoundForOffense(
74
76
  case OffenseType.DATA_WITHHOLDING: {
75
77
  // TODO(palla/slash): Check for off-by-ones especially here
76
78
  const epoch = offense.epochOrSlot;
77
- const detectedEpoch = epoch + BigInt(constants.proofSubmissionEpochs);
79
+ const detectedEpoch = EpochNumber.fromBigInt(epoch + BigInt(constants.proofSubmissionEpochs));
78
80
  return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
79
81
  }
80
82
  // These offenses are detected immediately in the slot they occur, so we assume they are detected in the first round for the following slot
@@ -83,13 +85,13 @@ export function getFirstEligibleRoundForOffense(
83
85
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
84
86
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL: {
85
87
  const slot = offense.epochOrSlot;
86
- const detectedSlot = slot + 1n;
88
+ const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
87
89
  return getRoundForSlot(detectedSlot, constants).round + 1n;
88
90
  }
89
91
  // Assume these are epoch-based offenses, even though we should never have to process these
90
92
  case OffenseType.UNKNOWN: {
91
93
  const epoch = offense.epochOrSlot;
92
- const detectedEpoch = epoch + 1n;
94
+ const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
93
95
  return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
94
96
  }
95
97
  default: {
@@ -1,21 +1,24 @@
1
+ import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import { type L1RollupConstants, getEpochAtSlot, getSlotRangeForEpoch } from '../epoch-helpers/index.js';
2
4
  import type { SlasherConfig } from '../interfaces/slasher.js';
3
5
  import { type Offense, OffenseType } from './types.js';
4
6
 
5
7
  /** Returns the voting round number and voting slot within the round for a given L2 slot. */
6
8
  export function getRoundForSlot(
7
- slot: bigint,
9
+ slot: SlotNumber,
8
10
  constants: { slashingRoundSize: number },
9
- ): { round: bigint; votingSlot: bigint } {
11
+ ): { round: bigint; votingSlot: SlotNumber } {
10
12
  const roundSize = BigInt(constants.slashingRoundSize);
11
- const round = slot / roundSize;
12
- const votingSlot = slot % roundSize;
13
+ const slotBigInt = BigInt(slot);
14
+ const round = slotBigInt / roundSize;
15
+ const votingSlot = SlotNumber.fromBigInt(slotBigInt % roundSize);
13
16
  return { round, votingSlot };
14
17
  }
15
18
 
16
19
  /** Returns the voting round(s) lower and upper bounds (inclusive) covered by the given epoch */
17
20
  export function getRoundsForEpoch(
18
- epoch: bigint,
21
+ epoch: EpochNumber,
19
22
  constants: { slashingRoundSize: number; epochDuration: number },
20
23
  ): [bigint, bigint] {
21
24
  const [start, end] = getSlotRangeForEpoch(epoch, constants);
@@ -28,13 +31,13 @@ export function getRoundsForEpoch(
28
31
  export function getEpochsForRound(
29
32
  round: bigint,
30
33
  constants: { slashingRoundSize: number; epochDuration: number },
31
- ): bigint[] {
32
- const epochs: bigint[] = [];
33
- const firstSlot = round * BigInt(constants.slashingRoundSize);
34
- const lastSlot = firstSlot + BigInt(constants.slashingRoundSize) - 1n;
34
+ ): EpochNumber[] {
35
+ const epochs: EpochNumber[] = [];
36
+ const firstSlot = SlotNumber.fromBigInt(round * BigInt(constants.slashingRoundSize));
37
+ const lastSlot = SlotNumber(firstSlot + constants.slashingRoundSize - 1);
35
38
  const startEpoch = getEpochAtSlot(firstSlot, constants);
36
39
  const endEpoch = getEpochAtSlot(lastSlot, constants);
37
- for (let epoch = startEpoch; epoch <= endEpoch; epoch++) {
40
+ for (let epoch = startEpoch; epoch <= endEpoch; epoch = EpochNumber(epoch + 1)) {
38
41
  epochs.push(epoch);
39
42
  }
40
43
  return epochs;
@@ -101,9 +104,11 @@ export function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot' {
101
104
  export function getSlotForOffense(
102
105
  offense: Pick<Offense, 'epochOrSlot' | 'offenseType'>,
103
106
  constants: Pick<L1RollupConstants, 'epochDuration'>,
104
- ): bigint {
107
+ ): SlotNumber {
105
108
  const { epochOrSlot, offenseType } = offense;
106
- return getTimeUnitForOffense(offenseType) === 'epoch' ? epochOrSlot * BigInt(constants.epochDuration) : epochOrSlot;
109
+ return getTimeUnitForOffense(offenseType) === 'epoch'
110
+ ? SlotNumber.fromBigInt(epochOrSlot * BigInt(constants.epochDuration))
111
+ : SlotNumber.fromBigInt(epochOrSlot);
107
112
  }
108
113
 
109
114
  /** Returns the epoch for a given offense. If the offense type or epoch is not defined, returns undefined. */
@@ -1,3 +1,5 @@
1
+ import type { SlotNumber } from '@aztec/foundation/branded-types';
2
+
1
3
  import type { ProposerSlashAction } from './types.js';
2
4
 
3
5
  export interface ProposerSlashActionProvider {
@@ -7,5 +9,5 @@ export interface ProposerSlashActionProvider {
7
9
  * @param slotNumber - The current slot number
8
10
  * @returns The actions to take
9
11
  */
10
- getProposerActions(slotNumber: bigint): Promise<ProposerSlashAction[]>;
12
+ getProposerActions(slotNumber: SlotNumber): Promise<ProposerSlashAction[]>;
11
13
  }