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

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 (1135) hide show
  1. package/dest/abi/abi.d.ts +693 -110
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +9 -9
  4. package/dest/abi/authorization_selector.d.ts +2 -2
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/authorization_selector.js +2 -1
  7. package/dest/abi/buffer.d.ts +2 -2
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/buffer.js +1 -1
  10. package/dest/abi/contract_artifact.d.ts +1 -1
  11. package/dest/abi/contract_artifact.js +3 -3
  12. package/dest/abi/decoder.d.ts +2 -2
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.d.ts +2 -2
  15. package/dest/abi/encoder.d.ts.map +1 -1
  16. package/dest/abi/encoder.js +1 -1
  17. package/dest/abi/event_metadata_definition.d.ts +1 -1
  18. package/dest/abi/event_selector.d.ts +2 -2
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/event_selector.js +2 -1
  21. package/dest/abi/function_call.d.ts +2 -10
  22. package/dest/abi/function_call.d.ts.map +1 -1
  23. package/dest/abi/function_selector.d.ts +3 -2
  24. package/dest/abi/function_selector.d.ts.map +1 -1
  25. package/dest/abi/function_selector.js +9 -1
  26. package/dest/abi/index.d.ts +1 -1
  27. package/dest/abi/mocked_keys.d.ts +1 -1
  28. package/dest/abi/note_selector.d.ts +2 -2
  29. package/dest/abi/note_selector.d.ts.map +1 -1
  30. package/dest/abi/note_selector.js +2 -2
  31. package/dest/abi/selector.d.ts +2 -2
  32. package/dest/abi/selector.d.ts.map +1 -1
  33. package/dest/abi/selector.js +1 -1
  34. package/dest/abi/utils.d.ts +1 -1
  35. package/dest/auth_witness/auth_witness.d.ts +2 -3
  36. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  37. package/dest/auth_witness/auth_witness.js +2 -2
  38. package/dest/auth_witness/index.d.ts +1 -1
  39. package/dest/avm/avm.d.ts +4253 -1909
  40. package/dest/avm/avm.d.ts.map +1 -1
  41. package/dest/avm/avm.js +591 -16
  42. package/dest/avm/avm_accumulated_data.d.ts +26 -37
  43. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  44. package/dest/avm/avm_accumulated_data.js +19 -1
  45. package/dest/avm/avm_circuit_public_inputs.d.ts +161 -149
  46. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.js +10 -1
  48. package/dest/avm/avm_proving_request.d.ts +2031 -1507
  49. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  50. package/dest/avm/contract_storage_read.d.ts +2 -14
  51. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  52. package/dest/avm/contract_storage_read.js +1 -1
  53. package/dest/avm/contract_storage_update_request.d.ts +2 -14
  54. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  55. package/dest/avm/contract_storage_update_request.js +1 -1
  56. package/dest/avm/index.d.ts +1 -1
  57. package/dest/avm/message_pack.d.ts +2 -2
  58. package/dest/avm/message_pack.d.ts.map +1 -1
  59. package/dest/avm/message_pack.js +5 -1
  60. package/dest/avm/public_call_stack_item_compressed.d.ts +2 -4
  61. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  62. package/dest/avm/public_call_stack_item_compressed.js +1 -1
  63. package/dest/avm/public_data_read.d.ts +2 -11
  64. package/dest/avm/public_data_read.d.ts.map +1 -1
  65. package/dest/avm/public_data_read.js +1 -1
  66. package/dest/avm/public_data_update_request.d.ts +2 -11
  67. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  68. package/dest/avm/public_data_update_request.js +1 -1
  69. package/dest/avm/public_data_write.d.ts +14 -12
  70. package/dest/avm/public_data_write.d.ts.map +1 -1
  71. package/dest/avm/public_data_write.js +10 -1
  72. package/dest/avm/public_inner_call_request.d.ts +2 -5
  73. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  74. package/dest/avm/revert_code.d.ts +17 -8
  75. package/dest/avm/revert_code.d.ts.map +1 -1
  76. package/dest/avm/revert_code.js +25 -9
  77. package/dest/aztec-address/index.d.ts +12 -2
  78. package/dest/aztec-address/index.d.ts.map +1 -1
  79. package/dest/aztec-address/index.js +26 -3
  80. package/dest/block/attestation_info.d.ts +3 -1
  81. package/dest/block/attestation_info.d.ts.map +1 -1
  82. package/dest/block/attestation_info.js +5 -2
  83. package/dest/block/block_hash.d.ts +2 -2
  84. package/dest/block/block_hash.d.ts.map +1 -1
  85. package/dest/block/block_hash.js +1 -1
  86. package/dest/block/block_parameter.d.ts +5 -0
  87. package/dest/block/block_parameter.d.ts.map +1 -0
  88. package/dest/block/block_parameter.js +6 -0
  89. package/dest/block/body.d.ts +8 -8
  90. package/dest/block/body.d.ts.map +1 -1
  91. package/dest/block/body.js +11 -27
  92. package/dest/block/checkpointed_l2_block.d.ts +267 -0
  93. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  94. package/dest/block/checkpointed_l2_block.js +84 -0
  95. package/dest/block/in_block.d.ts +30 -19
  96. package/dest/block/in_block.d.ts.map +1 -1
  97. package/dest/block/in_block.js +17 -8
  98. package/dest/block/index.d.ts +4 -3
  99. package/dest/block/index.d.ts.map +1 -1
  100. package/dest/block/index.js +3 -2
  101. package/dest/block/l2_block.d.ts +19 -11
  102. package/dest/block/l2_block.d.ts.map +1 -1
  103. package/dest/block/l2_block.js +58 -5
  104. package/dest/block/l2_block_code_to_purge.d.ts +2 -2
  105. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  106. package/dest/block/l2_block_code_to_purge.js +7 -6
  107. package/dest/block/l2_block_header.d.ts +13 -15
  108. package/dest/block/l2_block_header.d.ts.map +1 -1
  109. package/dest/block/l2_block_header.js +19 -12
  110. package/dest/block/l2_block_info.d.ts +22 -17
  111. package/dest/block/l2_block_info.d.ts.map +1 -1
  112. package/dest/block/l2_block_info.js +8 -7
  113. package/dest/block/l2_block_new.d.ts +135 -0
  114. package/dest/block/l2_block_new.d.ts.map +1 -0
  115. package/dest/block/l2_block_new.js +152 -0
  116. package/dest/block/l2_block_source.d.ts +121 -130
  117. package/dest/block/l2_block_source.d.ts.map +1 -1
  118. package/dest/block/l2_block_source.js +5 -11
  119. package/dest/block/l2_block_stream/index.d.ts +1 -1
  120. package/dest/block/l2_block_stream/interfaces.d.ts +2 -2
  121. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  122. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -6
  123. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  124. package/dest/block/l2_block_stream/l2_block_stream.js +13 -4
  125. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
  126. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  127. package/dest/block/l2_block_stream/l2_tips_memory_store.js +4 -2
  128. package/dest/block/proposal/attestations_and_signers.d.ts +17 -6
  129. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  130. package/dest/block/proposal/attestations_and_signers.js +14 -0
  131. package/dest/block/proposal/committee_attestation.d.ts +2 -2
  132. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  133. package/dest/block/proposal/index.d.ts +1 -1
  134. package/dest/block/test/index.d.ts +1 -1
  135. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  136. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  137. package/dest/block/test/l2_tips_store_test_suite.js +9 -10
  138. package/dest/block/validate_block_result.d.ts +6 -178
  139. package/dest/block/validate_block_result.d.ts.map +1 -1
  140. package/dest/block/validate_block_result.js +4 -3
  141. package/dest/checkpoint/checkpoint.d.ts +153 -0
  142. package/dest/checkpoint/checkpoint.d.ts.map +1 -0
  143. package/dest/checkpoint/checkpoint.js +100 -0
  144. package/dest/checkpoint/checkpoint_info.d.ts +9 -0
  145. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  146. package/dest/checkpoint/checkpoint_info.js +1 -0
  147. package/dest/checkpoint/index.d.ts +3 -2
  148. package/dest/checkpoint/index.d.ts.map +1 -1
  149. package/dest/checkpoint/index.js +2 -1
  150. package/dest/checkpoint/published_checkpoint.d.ts +238 -0
  151. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
  152. package/dest/{block/published_l2_block.js → checkpoint/published_checkpoint.js} +34 -16
  153. package/dest/config/chain-config.d.ts +1 -1
  154. package/dest/config/index.d.ts +1 -1
  155. package/dest/config/node-rpc-config.d.ts +1 -1
  156. package/dest/contract/artifact_hash.d.ts +3 -3
  157. package/dest/contract/artifact_hash.d.ts.map +1 -1
  158. package/dest/contract/artifact_hash.js +2 -2
  159. package/dest/contract/complete_address.d.ts +2 -5
  160. package/dest/contract/complete_address.d.ts.map +1 -1
  161. package/dest/contract/complete_address.js +1 -1
  162. package/dest/contract/contract_address.d.ts +2 -2
  163. package/dest/contract/contract_address.d.ts.map +1 -1
  164. package/dest/contract/contract_address.js +2 -2
  165. package/dest/contract/contract_class.d.ts +2 -2
  166. package/dest/contract/contract_class.d.ts.map +1 -1
  167. package/dest/contract/contract_class.js +1 -1
  168. package/dest/contract/contract_class_id.d.ts +2 -2
  169. package/dest/contract/contract_class_id.d.ts.map +1 -1
  170. package/dest/contract/contract_class_id.js +3 -3
  171. package/dest/contract/contract_class_metadata.d.ts +1 -1
  172. package/dest/contract/contract_deployment_data.d.ts +119 -0
  173. package/dest/contract/contract_deployment_data.d.ts.map +1 -0
  174. package/dest/contract/contract_deployment_data.js +99 -0
  175. package/dest/contract/contract_function_dao.d.ts +1 -1
  176. package/dest/contract/contract_instance.d.ts +2 -2
  177. package/dest/contract/contract_instance.d.ts.map +1 -1
  178. package/dest/contract/contract_instance.js +1 -1
  179. package/dest/contract/contract_instance_update.d.ts +2 -2
  180. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  181. package/dest/contract/contract_instance_update.js +1 -1
  182. package/dest/contract/contract_metadata.d.ts +1 -1
  183. package/dest/contract/deployment_info.d.ts +2 -2
  184. package/dest/contract/deployment_info.d.ts.map +1 -1
  185. package/dest/contract/index.d.ts +2 -1
  186. package/dest/contract/index.d.ts.map +1 -1
  187. package/dest/contract/index.js +1 -0
  188. package/dest/contract/interfaces/contract_class.d.ts +54 -130
  189. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  190. package/dest/contract/interfaces/contract_class.js +35 -18
  191. package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
  192. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  193. package/dest/contract/interfaces/contract_instance.d.ts +50 -41
  194. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  195. package/dest/contract/interfaces/contract_instance.js +30 -5
  196. package/dest/contract/interfaces/contract_instance_update.d.ts +9 -10
  197. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  198. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  199. package/dest/contract/interfaces/index.d.ts +1 -1
  200. package/dest/contract/interfaces/node-info.d.ts +1 -1
  201. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
  202. package/dest/contract/partial_address.d.ts +2 -2
  203. package/dest/contract/partial_address.d.ts.map +1 -1
  204. package/dest/contract/private_function.d.ts +2 -2
  205. package/dest/contract/private_function.d.ts.map +1 -1
  206. package/dest/contract/private_function.js +3 -2
  207. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  208. package/dest/contract/private_function_membership_proof.js +3 -3
  209. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  210. package/dest/contract/utility_function_membership_proof.js +1 -1
  211. package/dest/database-version/index.d.ts +1 -1
  212. package/dest/database-version/version_manager.d.ts +6 -8
  213. package/dest/database-version/version_manager.d.ts.map +1 -1
  214. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  215. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  216. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +2 -2
  217. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
  218. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
  219. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
  220. package/dest/delayed_public_mutable/index.d.ts +1 -1
  221. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
  222. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
  223. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
  224. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  225. package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
  226. package/dest/epoch-helpers/index.d.ts +12 -11
  227. package/dest/epoch-helpers/index.d.ts.map +1 -1
  228. package/dest/epoch-helpers/index.js +13 -12
  229. package/dest/errors/index.d.ts +1 -1
  230. package/dest/errors/proving_error.d.ts +2 -2
  231. package/dest/errors/proving_error.d.ts.map +1 -1
  232. package/dest/errors/simulation_error.d.ts +2 -2
  233. package/dest/errors/simulation_error.d.ts.map +1 -1
  234. package/dest/fees/index.d.ts +1 -1
  235. package/dest/fees/transaction_fee.d.ts +2 -2
  236. package/dest/fees/transaction_fee.d.ts.map +1 -1
  237. package/dest/file-store/factory.d.ts +1 -1
  238. package/dest/file-store/gcs.d.ts +1 -1
  239. package/dest/file-store/gcs.d.ts.map +1 -1
  240. package/dest/file-store/http.d.ts +1 -1
  241. package/dest/file-store/http.d.ts.map +1 -1
  242. package/dest/file-store/http.js +8 -3
  243. package/dest/file-store/index.d.ts +1 -1
  244. package/dest/file-store/interface.d.ts +1 -1
  245. package/dest/file-store/local.d.ts +1 -1
  246. package/dest/file-store/local.d.ts.map +1 -1
  247. package/dest/file-store/s3.d.ts +1 -1
  248. package/dest/file-store/s3.d.ts.map +1 -1
  249. package/dest/file-store/s3.js +3 -7
  250. package/dest/gas/gas.d.ts +10 -2
  251. package/dest/gas/gas.d.ts.map +1 -1
  252. package/dest/gas/gas.js +13 -1
  253. package/dest/gas/gas_fees.d.ts +10 -2
  254. package/dest/gas/gas_fees.d.ts.map +1 -1
  255. package/dest/gas/gas_fees.js +12 -0
  256. package/dest/gas/gas_settings.d.ts +10 -2
  257. package/dest/gas/gas_settings.d.ts.map +1 -1
  258. package/dest/gas/gas_settings.js +13 -1
  259. package/dest/gas/gas_used.d.ts +13 -2
  260. package/dest/gas/gas_used.d.ts.map +1 -1
  261. package/dest/gas/gas_used.js +19 -1
  262. package/dest/gas/index.d.ts +1 -1
  263. package/dest/hash/hash.d.ts +10 -10
  264. package/dest/hash/hash.d.ts.map +1 -1
  265. package/dest/hash/hash.js +12 -13
  266. package/dest/hash/index.d.ts +1 -1
  267. package/dest/hash/map_slot.d.ts +2 -2
  268. package/dest/hash/map_slot.d.ts.map +1 -1
  269. package/dest/hash/map_slot.js +1 -1
  270. package/dest/interfaces/allowed_element.d.ts +12 -13
  271. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  272. package/dest/interfaces/allowed_element.js +3 -3
  273. package/dest/interfaces/api_limit.d.ts +1 -1
  274. package/dest/interfaces/archiver.d.ts +12 -2
  275. package/dest/interfaces/archiver.d.ts.map +1 -1
  276. package/dest/interfaces/archiver.js +28 -17
  277. package/dest/interfaces/aztec-node-admin.d.ts +117 -91
  278. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  279. package/dest/interfaces/aztec-node-admin.js +1 -1
  280. package/dest/interfaces/aztec-node.d.ts +39 -41
  281. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  282. package/dest/interfaces/aztec-node.js +30 -30
  283. package/dest/interfaces/block-builder.d.ts +6 -4
  284. package/dest/interfaces/block-builder.d.ts.map +1 -1
  285. package/dest/interfaces/block-builder.js +9 -1
  286. package/dest/interfaces/client.d.ts +1 -1
  287. package/dest/interfaces/configs.d.ts +75 -41
  288. package/dest/interfaces/configs.d.ts.map +1 -1
  289. package/dest/interfaces/configs.js +13 -6
  290. package/dest/interfaces/epoch-prover.d.ts +8 -8
  291. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  292. package/dest/interfaces/get_logs_response.d.ts +24 -7
  293. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  294. package/dest/interfaces/get_logs_response.js +5 -4
  295. package/dest/interfaces/l2_logs_source.d.ts +12 -15
  296. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  297. package/dest/interfaces/merkle_tree_operations.d.ts +7 -6
  298. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  299. package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
  300. package/dest/interfaces/p2p.d.ts +3 -2
  301. package/dest/interfaces/p2p.d.ts.map +1 -1
  302. package/dest/interfaces/p2p.js +1 -1
  303. package/dest/interfaces/private_kernel_prover.d.ts +1 -1
  304. package/dest/interfaces/processed-tx-handler.d.ts +1 -1
  305. package/dest/interfaces/prover-agent.d.ts +1 -1
  306. package/dest/interfaces/prover-broker.d.ts +1 -1
  307. package/dest/interfaces/prover-client.d.ts +9 -7
  308. package/dest/interfaces/prover-client.d.ts.map +1 -1
  309. package/dest/interfaces/prover-client.js +5 -4
  310. package/dest/interfaces/prover-coordination.d.ts +1 -1
  311. package/dest/interfaces/prover-node.d.ts +1 -1
  312. package/dest/interfaces/proving-job-source.d.ts +1 -1
  313. package/dest/interfaces/proving-job.d.ts +1682 -1165
  314. package/dest/interfaces/proving-job.d.ts.map +1 -1
  315. package/dest/interfaces/proving-job.js +3 -2
  316. package/dest/interfaces/public_state_source.d.ts +2 -2
  317. package/dest/interfaces/public_state_source.d.ts.map +1 -1
  318. package/dest/interfaces/server.d.ts +1 -1
  319. package/dest/interfaces/server_circuit_prover.d.ts +2 -3
  320. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  321. package/dest/interfaces/service.d.ts +1 -1
  322. package/dest/interfaces/slasher.d.ts +3 -3
  323. package/dest/interfaces/slasher.d.ts.map +1 -1
  324. package/dest/interfaces/slasher.js +3 -3
  325. package/dest/interfaces/tx_provider.d.ts +3 -3
  326. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  327. package/dest/interfaces/validator.d.ts +34 -27
  328. package/dest/interfaces/validator.d.ts.map +1 -1
  329. package/dest/interfaces/validator.js +7 -6
  330. package/dest/interfaces/world_state.d.ts +23 -31
  331. package/dest/interfaces/world_state.d.ts.map +1 -1
  332. package/dest/interfaces/world_state.js +4 -3
  333. package/dest/kernel/claimed_length_array.d.ts +2 -2
  334. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  335. package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
  336. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
  337. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  338. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +2 -2
  339. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  340. package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
  341. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  342. package/dest/kernel/hints/build_transient_data_hints.js +2 -2
  343. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  344. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  345. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  346. package/dest/kernel/hints/index.d.ts +1 -1
  347. package/dest/kernel/hints/key_validation_hint.d.ts +2 -3
  348. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  349. package/dest/kernel/hints/key_validation_hint.js +1 -1
  350. package/dest/kernel/hints/key_validation_request.d.ts +4 -4
  351. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  352. package/dest/kernel/hints/key_validation_request.js +2 -1
  353. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -7
  354. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  355. package/dest/kernel/hints/key_validation_request_and_generator.js +1 -1
  356. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
  357. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  358. package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
  359. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
  360. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  361. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
  362. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  363. package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
  364. package/dest/kernel/hints/read_request.d.ts +2 -8
  365. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  366. package/dest/kernel/hints/read_request.js +1 -1
  367. package/dest/kernel/hints/read_request_hints.d.ts +1 -7
  368. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  369. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +2 -2
  370. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  371. package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
  372. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  373. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
  374. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  375. package/dest/kernel/hints/transient_data_squashing_hint.js +1 -1
  376. package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
  377. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  378. package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
  379. package/dest/kernel/index.d.ts +1 -1
  380. package/dest/kernel/log_hash.d.ts +2 -2
  381. package/dest/kernel/log_hash.d.ts.map +1 -1
  382. package/dest/kernel/log_hash.js +1 -1
  383. package/dest/kernel/note_hash.d.ts +2 -2
  384. package/dest/kernel/note_hash.d.ts.map +1 -1
  385. package/dest/kernel/note_hash.js +1 -1
  386. package/dest/kernel/nullifier.d.ts +2 -2
  387. package/dest/kernel/nullifier.d.ts.map +1 -1
  388. package/dest/kernel/nullifier.js +1 -1
  389. package/dest/kernel/padded_side_effects.d.ts +2 -2
  390. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  391. package/dest/kernel/padded_side_effects.js +1 -1
  392. package/dest/kernel/private_accumulated_data.d.ts +1 -23
  393. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  394. package/dest/kernel/private_call_data.d.ts +2 -26
  395. package/dest/kernel/private_call_data.d.ts.map +1 -1
  396. package/dest/kernel/private_call_data.js +1 -1
  397. package/dest/kernel/private_call_request.d.ts +2 -17
  398. package/dest/kernel/private_call_request.d.ts.map +1 -1
  399. package/dest/kernel/private_call_request.js +1 -1
  400. package/dest/kernel/private_circuit_public_inputs.d.ts +51 -108
  401. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  402. package/dest/kernel/private_circuit_public_inputs.js +61 -49
  403. package/dest/kernel/private_context_inputs.d.ts +2 -2
  404. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  405. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -30
  406. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  407. package/dest/kernel/private_kernel_circuit_public_inputs.js +9 -5
  408. package/dest/kernel/private_kernel_data.d.ts +1 -7
  409. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  410. package/dest/kernel/private_kernel_data.js +0 -2
  411. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +8 -21
  412. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  413. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +8 -4
  414. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
  415. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
  417. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
  418. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  419. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
  420. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  421. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
  422. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
  423. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  424. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -24
  425. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  426. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
  427. package/dest/kernel/private_log_data.d.ts +2 -2
  428. package/dest/kernel/private_log_data.d.ts.map +1 -1
  429. package/dest/kernel/private_to_avm_accumulated_data.d.ts +18 -2
  430. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  431. package/dest/kernel/private_to_avm_accumulated_data.js +19 -1
  432. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -2
  433. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  434. package/dest/kernel/private_to_public_accumulated_data.js +1 -1
  435. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
  436. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  437. package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
  438. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -2
  439. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  440. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +1 -1
  441. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +2 -18
  442. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  443. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  444. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -17
  445. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  446. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +1 -1
  447. package/dest/kernel/private_validation_requests.d.ts +2 -24
  448. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  449. package/dest/kernel/private_validation_requests.js +5 -13
  450. package/dest/kernel/public_call_request.d.ts +23 -28
  451. package/dest/kernel/public_call_request.d.ts.map +1 -1
  452. package/dest/kernel/public_call_request.js +19 -1
  453. package/dest/kernel/utils/index.d.ts +1 -1
  454. package/dest/kernel/utils/interfaces.d.ts +1 -1
  455. package/dest/kernel/utils/optional_number.d.ts +2 -8
  456. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  457. package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
  458. package/dest/keys/derivation.d.ts +4 -3
  459. package/dest/keys/derivation.d.ts.map +1 -1
  460. package/dest/keys/derivation.js +5 -2
  461. package/dest/keys/index.d.ts +1 -1
  462. package/dest/keys/key_types.d.ts +1 -1
  463. package/dest/keys/public_key.d.ts +2 -2
  464. package/dest/keys/public_key.d.ts.map +1 -1
  465. package/dest/keys/public_keys.d.ts +11 -6
  466. package/dest/keys/public_keys.d.ts.map +1 -1
  467. package/dest/keys/public_keys.js +15 -2
  468. package/dest/keys/utils.d.ts +1 -1
  469. package/dest/l1-contracts/index.d.ts +1 -1
  470. package/dest/l1-contracts/slash_factory.d.ts +5 -4
  471. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  472. package/dest/l1-contracts/slash_factory.js +1 -1
  473. package/dest/logs/contract_class_log.d.ts +21 -5
  474. package/dest/logs/contract_class_log.d.ts.map +1 -1
  475. package/dest/logs/contract_class_log.js +26 -2
  476. package/dest/logs/debug_log.d.ts +10 -2
  477. package/dest/logs/debug_log.d.ts.map +1 -1
  478. package/dest/logs/debug_log.js +13 -0
  479. package/dest/logs/directional_app_tagging_secret.d.ts +2 -2
  480. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  481. package/dest/logs/directional_app_tagging_secret.js +3 -2
  482. package/dest/logs/extended_contract_class_log.d.ts +1 -3
  483. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  484. package/dest/logs/extended_public_log.d.ts +13 -7
  485. package/dest/logs/extended_public_log.d.ts.map +1 -1
  486. package/dest/logs/index.d.ts +3 -2
  487. package/dest/logs/index.d.ts.map +1 -1
  488. package/dest/logs/index.js +2 -1
  489. package/dest/logs/log_filter.d.ts +1 -1
  490. package/dest/logs/log_id.d.ts +16 -8
  491. package/dest/logs/log_id.d.ts.map +1 -1
  492. package/dest/logs/log_id.js +19 -11
  493. package/dest/logs/message_context.d.ts +2 -2
  494. package/dest/logs/message_context.d.ts.map +1 -1
  495. package/dest/logs/message_context.js +1 -1
  496. package/dest/logs/pending_tagged_log.d.ts +2 -2
  497. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  498. package/dest/logs/pending_tagged_log.js +1 -1
  499. package/dest/logs/pre_tag.d.ts +1 -1
  500. package/dest/logs/private_log.d.ts +11 -3
  501. package/dest/logs/private_log.d.ts.map +1 -1
  502. package/dest/logs/private_log.js +17 -7
  503. package/dest/logs/public_log.d.ts +11 -2
  504. package/dest/logs/public_log.d.ts.map +1 -1
  505. package/dest/logs/public_log.js +13 -1
  506. package/dest/logs/shared_secret_derivation.d.ts +2 -2
  507. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  508. package/dest/logs/shared_secret_derivation.js +1 -1
  509. package/dest/logs/siloed_tag.d.ts +23 -0
  510. package/dest/logs/siloed_tag.d.ts.map +1 -0
  511. package/dest/logs/siloed_tag.js +30 -0
  512. package/dest/logs/tag.d.ts +21 -0
  513. package/dest/logs/tag.d.ts.map +1 -0
  514. package/dest/logs/tag.js +30 -0
  515. package/dest/logs/tx_scoped_l2_log.d.ts +32 -38
  516. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  517. package/dest/logs/tx_scoped_l2_log.js +40 -45
  518. package/dest/messaging/in_hash.d.ts +4 -0
  519. package/dest/messaging/in_hash.d.ts.map +1 -0
  520. package/dest/messaging/in_hash.js +8 -0
  521. package/dest/messaging/inbox_leaf.d.ts +8 -9
  522. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  523. package/dest/messaging/inbox_leaf.js +10 -9
  524. package/dest/messaging/index.d.ts +3 -1
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +2 -0
  527. package/dest/messaging/l1_actor.d.ts +2 -8
  528. package/dest/messaging/l1_actor.d.ts.map +1 -1
  529. package/dest/messaging/l1_actor.js +2 -2
  530. package/dest/messaging/l1_to_l2_message.d.ts +2 -7
  531. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  532. package/dest/messaging/l1_to_l2_message.js +2 -2
  533. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
  534. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  535. package/dest/messaging/l2_actor.d.ts +2 -8
  536. package/dest/messaging/l2_actor.d.ts.map +1 -1
  537. package/dest/messaging/l2_actor.js +2 -2
  538. package/dest/messaging/l2_to_l1_membership.d.ts +5 -4
  539. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  540. package/dest/messaging/l2_to_l1_membership.js +3 -3
  541. package/dest/messaging/l2_to_l1_message.d.ts +19 -2
  542. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  543. package/dest/messaging/l2_to_l1_message.js +22 -1
  544. package/dest/messaging/out_hash.d.ts +5 -0
  545. package/dest/messaging/out_hash.d.ts.map +1 -0
  546. package/dest/messaging/out_hash.js +28 -0
  547. package/dest/noir/index.d.ts +7 -7
  548. package/dest/noir/index.d.ts.map +1 -1
  549. package/dest/noir/index.js +6 -6
  550. package/dest/note/comparator.d.ts +1 -1
  551. package/dest/note/index.d.ts +2 -2
  552. package/dest/note/index.d.ts.map +1 -1
  553. package/dest/note/index.js +1 -1
  554. package/dest/note/note.d.ts +3 -18
  555. package/dest/note/note.d.ts.map +1 -1
  556. package/dest/note/note.js +5 -2
  557. package/dest/note/note_dao.d.ts +79 -0
  558. package/dest/note/note_dao.d.ts.map +1 -0
  559. package/dest/note/note_dao.js +112 -0
  560. package/dest/note/note_status.d.ts +1 -1
  561. package/dest/note/notes_filter.d.ts +4 -2
  562. package/dest/note/notes_filter.d.ts.map +1 -1
  563. package/dest/note/notes_filter.js +1 -0
  564. package/dest/p2p/attestation_utils.d.ts +1 -1
  565. package/dest/p2p/block_attestation.d.ts +6 -13
  566. package/dest/p2p/block_attestation.d.ts.map +1 -1
  567. package/dest/p2p/block_attestation.js +2 -1
  568. package/dest/p2p/block_proposal.d.ts +4 -7
  569. package/dest/p2p/block_proposal.d.ts.map +1 -1
  570. package/dest/p2p/block_proposal.js +3 -2
  571. package/dest/p2p/client_type.d.ts +1 -1
  572. package/dest/p2p/consensus_payload.d.ts +11 -189
  573. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  574. package/dest/p2p/consensus_payload.js +17 -24
  575. package/dest/p2p/gossipable.d.ts +6 -5
  576. package/dest/p2p/gossipable.d.ts.map +1 -1
  577. package/dest/p2p/gossipable.js +16 -10
  578. package/dest/p2p/index.d.ts +1 -1
  579. package/dest/p2p/interface.d.ts +1 -1
  580. package/dest/p2p/message_validator.d.ts +1 -1
  581. package/dest/p2p/peer_error.d.ts +1 -1
  582. package/dest/p2p/signature_utils.d.ts +1 -1
  583. package/dest/p2p/signature_utils.d.ts.map +1 -1
  584. package/dest/p2p/signature_utils.js +2 -1
  585. package/dest/p2p/topic_type.d.ts +1 -1
  586. package/dest/parity/index.d.ts +1 -1
  587. package/dest/parity/parity_base_private_inputs.d.ts +2 -4
  588. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  589. package/dest/parity/parity_base_private_inputs.js +1 -1
  590. package/dest/parity/parity_public_inputs.d.ts +2 -5
  591. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  592. package/dest/parity/parity_public_inputs.js +1 -1
  593. package/dest/parity/parity_root_private_inputs.d.ts +1 -2
  594. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  595. package/dest/proofs/chonk_proof.d.ts +2 -2
  596. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  597. package/dest/proofs/chonk_proof.js +2 -2
  598. package/dest/proofs/index.d.ts +1 -1
  599. package/dest/proofs/proof.d.ts +2 -5
  600. package/dest/proofs/proof.d.ts.map +1 -1
  601. package/dest/proofs/proof.js +1 -1
  602. package/dest/proofs/proof_data.d.ts +13 -1
  603. package/dest/proofs/proof_data.d.ts.map +1 -1
  604. package/dest/proofs/proof_data.js +17 -0
  605. package/dest/proofs/proving_request_type.d.ts +1 -1
  606. package/dest/proofs/recursive_proof.d.ts +3 -27
  607. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  608. package/dest/proofs/recursive_proof.js +1 -1
  609. package/dest/rollup/avm_proof_data.d.ts +3 -5
  610. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  611. package/dest/rollup/avm_proof_data.js +1 -9
  612. package/dest/rollup/base_rollup_hints.d.ts +2 -35
  613. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  614. package/dest/rollup/base_rollup_hints.js +1 -1
  615. package/dest/rollup/block_constant_data.d.ts +2 -13
  616. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  617. package/dest/rollup/block_constant_data.js +1 -1
  618. package/dest/rollup/block_headers_hash.d.ts +4 -0
  619. package/dest/rollup/block_headers_hash.d.ts.map +1 -0
  620. package/dest/rollup/block_headers_hash.js +9 -0
  621. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
  622. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  623. package/dest/rollup/block_rollup_public_inputs.d.ts +9 -41
  624. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  625. package/dest/rollup/block_rollup_public_inputs.js +9 -3
  626. package/dest/rollup/block_root_rollup_private_inputs.d.ts +3 -77
  627. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  628. package/dest/rollup/block_root_rollup_private_inputs.js +2 -10
  629. package/dest/rollup/checkpoint_constant_data.d.ts +28 -14
  630. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  631. package/dest/rollup/checkpoint_constant_data.js +29 -4
  632. package/dest/rollup/checkpoint_header.d.ts +22 -16
  633. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  634. package/dest/rollup/checkpoint_header.js +46 -16
  635. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
  636. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  637. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +2 -26
  638. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  639. package/dest/rollup/checkpoint_rollup_public_inputs.js +1 -1
  640. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +7 -30
  641. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  642. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +6 -5
  643. package/dest/rollup/epoch_constant_data.d.ts +2 -17
  644. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  645. package/dest/rollup/epoch_constant_data.js +1 -1
  646. package/dest/rollup/index.d.ts +2 -1
  647. package/dest/rollup/index.d.ts.map +1 -1
  648. package/dest/rollup/index.js +1 -0
  649. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
  650. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  651. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  652. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  653. package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
  654. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  655. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  656. package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
  657. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  658. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  659. package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
  660. package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
  661. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  662. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -4
  663. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  664. package/dest/rollup/root_rollup_public_inputs.js +1 -1
  665. package/dest/rollup/tree_snapshot_diff_hints.d.ts +2 -25
  666. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  667. package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
  668. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
  669. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  670. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -30
  671. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  672. package/dest/rollup/tx_rollup_public_inputs.js +1 -1
  673. package/dest/schemas/index.d.ts +1 -1
  674. package/dest/schemas/schemas.d.ts +91 -17
  675. package/dest/schemas/schemas.d.ts.map +1 -1
  676. package/dest/schemas/schemas.js +14 -2
  677. package/dest/slashing/empire.d.ts +1 -1
  678. package/dest/slashing/empire.d.ts.map +1 -1
  679. package/dest/slashing/empire.js +5 -4
  680. package/dest/slashing/helpers.d.ts +7 -6
  681. package/dest/slashing/helpers.d.ts.map +1 -1
  682. package/dest/slashing/helpers.js +8 -6
  683. package/dest/slashing/index.d.ts +1 -1
  684. package/dest/slashing/interfaces.d.ts +3 -2
  685. package/dest/slashing/interfaces.d.ts.map +1 -1
  686. package/dest/slashing/serialization.d.ts +1 -1
  687. package/dest/slashing/tally.d.ts +1 -1
  688. package/dest/slashing/types.d.ts +13 -14
  689. package/dest/slashing/types.d.ts.map +1 -1
  690. package/dest/slashing/types.js +5 -5
  691. package/dest/snapshots/download.d.ts +1 -1
  692. package/dest/snapshots/index.d.ts +1 -1
  693. package/dest/snapshots/types.d.ts +18 -18
  694. package/dest/snapshots/types.d.ts.map +1 -1
  695. package/dest/snapshots/types.js +5 -5
  696. package/dest/snapshots/upload.d.ts +1 -1
  697. package/dest/stats/index.d.ts +1 -1
  698. package/dest/stats/stats.d.ts +10 -6
  699. package/dest/stats/stats.d.ts.map +1 -1
  700. package/dest/tests/factories.d.ts +60 -31
  701. package/dest/tests/factories.d.ts.map +1 -1
  702. package/dest/tests/factories.js +113 -156
  703. package/dest/tests/fixtures.d.ts +1 -1
  704. package/dest/tests/index.d.ts +1 -1
  705. package/dest/tests/jest.d.ts +1 -1
  706. package/dest/tests/mocks.d.ts +71 -27
  707. package/dest/tests/mocks.d.ts.map +1 -1
  708. package/dest/tests/mocks.js +196 -37
  709. package/dest/trees/append_only_tree_snapshot.d.ts +10 -17
  710. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  711. package/dest/trees/append_only_tree_snapshot.js +10 -10
  712. package/dest/trees/database_public_state_source.d.ts +2 -2
  713. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  714. package/dest/trees/database_public_state_source.js +1 -1
  715. package/dest/trees/index.d.ts +1 -1
  716. package/dest/trees/merkle_tree_id.d.ts +5 -5
  717. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  718. package/dest/trees/nullifier_leaf.d.ts +18 -14
  719. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  720. package/dest/trees/nullifier_leaf.js +25 -1
  721. package/dest/trees/nullifier_membership_witness.d.ts +5 -38
  722. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  723. package/dest/trees/nullifier_membership_witness.js +1 -1
  724. package/dest/trees/public_data_leaf.d.ts +29 -28
  725. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  726. package/dest/trees/public_data_leaf.js +25 -1
  727. package/dest/trees/public_data_witness.d.ts +12 -46
  728. package/dest/trees/public_data_witness.d.ts.map +1 -1
  729. package/dest/trees/public_data_witness.js +1 -1
  730. package/dest/tx/block_header.d.ts +15 -21
  731. package/dest/tx/block_header.d.ts.map +1 -1
  732. package/dest/tx/block_header.js +20 -4
  733. package/dest/tx/call_context.d.ts +7 -19
  734. package/dest/tx/call_context.d.ts.map +1 -1
  735. package/dest/tx/capsule.d.ts +2 -5
  736. package/dest/tx/capsule.d.ts.map +1 -1
  737. package/dest/tx/capsule.js +1 -1
  738. package/dest/tx/content_commitment.d.ts +5 -4
  739. package/dest/tx/content_commitment.d.ts.map +1 -1
  740. package/dest/tx/content_commitment.js +11 -3
  741. package/dest/tx/execution_payload.d.ts +37 -0
  742. package/dest/tx/execution_payload.d.ts.map +1 -0
  743. package/dest/tx/execution_payload.js +40 -0
  744. package/dest/tx/function_data.d.ts +5 -7
  745. package/dest/tx/function_data.d.ts.map +1 -1
  746. package/dest/tx/function_data.js +1 -1
  747. package/dest/tx/global_variable_builder.d.ts +6 -3
  748. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  749. package/dest/tx/global_variables.d.ts +58 -32
  750. package/dest/tx/global_variables.d.ts.map +1 -1
  751. package/dest/tx/global_variables.js +51 -11
  752. package/dest/tx/hashed_values.d.ts +2 -8
  753. package/dest/tx/hashed_values.d.ts.map +1 -1
  754. package/dest/tx/hashed_values.js +1 -1
  755. package/dest/tx/in_tx.d.ts +26 -0
  756. package/dest/tx/in_tx.d.ts.map +1 -0
  757. package/dest/tx/in_tx.js +14 -0
  758. package/dest/tx/index.d.ts +3 -1
  759. package/dest/tx/index.d.ts.map +1 -1
  760. package/dest/tx/index.js +2 -0
  761. package/dest/tx/indexed_tx_effect.d.ts +12 -8
  762. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  763. package/dest/tx/indexed_tx_effect.js +7 -4
  764. package/dest/tx/offchain_effect.d.ts +2 -2
  765. package/dest/tx/offchain_effect.d.ts.map +1 -1
  766. package/dest/tx/offchain_effect.js +1 -1
  767. package/dest/tx/partial_state_reference.d.ts +5 -8
  768. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  769. package/dest/tx/partial_state_reference.js +10 -10
  770. package/dest/tx/private_execution_result.d.ts +18 -53
  771. package/dest/tx/private_execution_result.d.ts.map +1 -1
  772. package/dest/tx/private_execution_result.js +9 -6
  773. package/dest/tx/private_tx_constant_data.d.ts +2 -17
  774. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  775. package/dest/tx/private_tx_constant_data.js +1 -1
  776. package/dest/tx/processed_tx.d.ts +5 -4
  777. package/dest/tx/processed_tx.d.ts.map +1 -1
  778. package/dest/tx/processed_tx.js +8 -7
  779. package/dest/tx/profiling.d.ts +38 -38
  780. package/dest/tx/profiling.d.ts.map +1 -1
  781. package/dest/tx/profiling.js +6 -5
  782. package/dest/tx/protocol_contracts.d.ts +11 -3
  783. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  784. package/dest/tx/protocol_contracts.js +10 -1
  785. package/dest/tx/proven_tx.d.ts +18 -18
  786. package/dest/tx/proven_tx.d.ts.map +1 -1
  787. package/dest/tx/public_call_request_with_calldata.d.ts +10 -8
  788. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  789. package/dest/tx/public_call_request_with_calldata.js +13 -1
  790. package/dest/tx/public_simulation_output.d.ts +4 -2
  791. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  792. package/dest/tx/public_simulation_output.js +9 -2
  793. package/dest/tx/simulated_tx.d.ts +1051 -27
  794. package/dest/tx/simulated_tx.d.ts.map +1 -1
  795. package/dest/tx/state_reference.d.ts +11 -13
  796. package/dest/tx/state_reference.d.ts.map +1 -1
  797. package/dest/tx/state_reference.js +9 -9
  798. package/dest/tx/tree_snapshots.d.ts +16 -8
  799. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  800. package/dest/tx/tree_snapshots.js +9 -0
  801. package/dest/tx/tx.d.ts +14 -21
  802. package/dest/tx/tx.d.ts.map +1 -1
  803. package/dest/tx/tx.js +16 -7
  804. package/dest/tx/tx_constant_data.d.ts +2 -2
  805. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  806. package/dest/tx/tx_constant_data.js +1 -1
  807. package/dest/tx/tx_context.d.ts +2 -3
  808. package/dest/tx/tx_context.d.ts.map +1 -1
  809. package/dest/tx/tx_context.js +1 -1
  810. package/dest/tx/tx_effect.d.ts +21 -43
  811. package/dest/tx/tx_effect.d.ts.map +1 -1
  812. package/dest/tx/tx_effect.js +57 -60
  813. package/dest/tx/tx_execution_request.d.ts +2 -31
  814. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  815. package/dest/tx/tx_execution_request.js +1 -1
  816. package/dest/tx/tx_hash.d.ts +2 -3
  817. package/dest/tx/tx_hash.d.ts.map +1 -1
  818. package/dest/tx/tx_hash.js +1 -1
  819. package/dest/tx/tx_receipt.d.ts +4 -9
  820. package/dest/tx/tx_receipt.d.ts.map +1 -1
  821. package/dest/tx/tx_receipt.js +2 -1
  822. package/dest/tx/tx_request.d.ts +2 -7
  823. package/dest/tx/tx_request.d.ts.map +1 -1
  824. package/dest/tx/tx_request.js +2 -2
  825. package/dest/tx/validator/empty_validator.d.ts +1 -1
  826. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  827. package/dest/tx/validator/error_texts.d.ts +1 -1
  828. package/dest/tx/validator/tx_validator.d.ts +5 -8
  829. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  830. package/dest/tx/validator/tx_validator.js +4 -4
  831. package/dest/types/index.d.ts +1 -1
  832. package/dest/types/shared.d.ts +1 -4
  833. package/dest/types/shared.d.ts.map +1 -1
  834. package/dest/update-checker/index.d.ts +1 -1
  835. package/dest/update-checker/update-checker.d.ts +3 -4
  836. package/dest/update-checker/update-checker.d.ts.map +1 -1
  837. package/dest/update-checker/update-checker.js +1 -1
  838. package/dest/validators/errors.d.ts +7 -8
  839. package/dest/validators/errors.d.ts.map +1 -1
  840. package/dest/validators/errors.js +2 -4
  841. package/dest/validators/index.d.ts +1 -1
  842. package/dest/validators/schemas.d.ts +266 -208
  843. package/dest/validators/schemas.d.ts.map +1 -1
  844. package/dest/validators/schemas.js +20 -20
  845. package/dest/validators/types.d.ts +10 -9
  846. package/dest/validators/types.d.ts.map +1 -1
  847. package/dest/versioning/index.d.ts +1 -1
  848. package/dest/versioning/versioning.d.ts +2 -2
  849. package/dest/versioning/versioning.d.ts.map +1 -1
  850. package/dest/vks/index.d.ts +1 -1
  851. package/dest/vks/verification_key.d.ts +11 -23
  852. package/dest/vks/verification_key.d.ts.map +1 -1
  853. package/dest/vks/verification_key.js +21 -1
  854. package/dest/vks/vk_data.d.ts +2 -8
  855. package/dest/vks/vk_data.d.ts.map +1 -1
  856. package/dest/vks/vk_data.js +1 -1
  857. package/dest/world-state/index.d.ts +1 -1
  858. package/dest/world-state/world_state_revision.d.ts +34 -2
  859. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  860. package/dest/world-state/world_state_revision.js +24 -1
  861. package/dest/zkpassport/index.d.ts +2 -2
  862. package/dest/zkpassport/index.d.ts.map +1 -1
  863. package/dest/zkpassport/index.js +2 -2
  864. package/package.json +17 -11
  865. package/src/abi/abi.ts +44 -38
  866. package/src/abi/authorization_selector.ts +3 -2
  867. package/src/abi/buffer.ts +1 -1
  868. package/src/abi/contract_artifact.ts +3 -3
  869. package/src/abi/decoder.ts +1 -1
  870. package/src/abi/encoder.ts +1 -1
  871. package/src/abi/event_selector.ts +3 -2
  872. package/src/abi/function_call.ts +1 -1
  873. package/src/abi/function_selector.ts +11 -2
  874. package/src/abi/note_selector.ts +2 -2
  875. package/src/abi/selector.ts +1 -1
  876. package/src/auth_witness/auth_witness.ts +2 -2
  877. package/src/avm/avm.ts +881 -7
  878. package/src/avm/avm_accumulated_data.ts +41 -1
  879. package/src/avm/avm_circuit_public_inputs.ts +41 -1
  880. package/src/avm/contract_storage_read.ts +1 -1
  881. package/src/avm/contract_storage_update_request.ts +1 -1
  882. package/src/avm/message_pack.ts +6 -2
  883. package/src/avm/public_call_stack_item_compressed.ts +1 -1
  884. package/src/avm/public_data_read.ts +1 -1
  885. package/src/avm/public_data_update_request.ts +1 -1
  886. package/src/avm/public_data_write.ts +13 -2
  887. package/src/avm/public_inner_call_request.ts +1 -1
  888. package/src/avm/revert_code.ts +30 -10
  889. package/src/aztec-address/index.ts +28 -3
  890. package/src/block/attestation_info.ts +9 -2
  891. package/src/block/block_hash.ts +1 -1
  892. package/src/block/block_parameter.ts +8 -0
  893. package/src/block/body.ts +16 -39
  894. package/src/block/checkpointed_l2_block.ts +120 -0
  895. package/src/block/in_block.ts +25 -12
  896. package/src/block/index.ts +3 -2
  897. package/src/block/l2_block.ts +79 -8
  898. package/src/block/l2_block_code_to_purge.ts +7 -5
  899. package/src/block/l2_block_header.ts +20 -6
  900. package/src/block/l2_block_info.ts +11 -10
  901. package/src/block/l2_block_new.ts +207 -0
  902. package/src/block/l2_block_source.ts +105 -58
  903. package/src/block/l2_block_stream/interfaces.ts +1 -1
  904. package/src/block/l2_block_stream/l2_block_stream.ts +19 -5
  905. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
  906. package/src/block/proposal/attestations_and_signers.ts +21 -2
  907. package/src/block/proposal/committee_attestation.ts +1 -1
  908. package/src/block/test/l2_tips_store_test_suite.ts +11 -5
  909. package/src/block/validate_block_result.ts +9 -7
  910. package/src/checkpoint/checkpoint.ts +135 -0
  911. package/src/checkpoint/checkpoint_info.ts +9 -0
  912. package/src/checkpoint/index.ts +2 -1
  913. package/src/{block/published_l2_block.ts → checkpoint/published_checkpoint.ts} +43 -20
  914. package/src/contract/artifact_hash.ts +2 -2
  915. package/src/contract/complete_address.ts +1 -1
  916. package/src/contract/contract_address.ts +2 -2
  917. package/src/contract/contract_class.ts +2 -2
  918. package/src/contract/contract_class_id.ts +3 -3
  919. package/src/contract/contract_deployment_data.ts +125 -0
  920. package/src/contract/contract_instance.ts +1 -1
  921. package/src/contract/contract_instance_update.ts +1 -1
  922. package/src/contract/deployment_info.ts +1 -1
  923. package/src/contract/index.ts +1 -0
  924. package/src/contract/interfaces/contract_class.ts +78 -47
  925. package/src/contract/interfaces/contract_data_source.ts +3 -2
  926. package/src/contract/interfaces/contract_instance.ts +48 -16
  927. package/src/contract/interfaces/contract_instance_update.ts +12 -10
  928. package/src/contract/partial_address.ts +1 -1
  929. package/src/contract/private_function.ts +3 -2
  930. package/src/contract/private_function_membership_proof.ts +3 -3
  931. package/src/contract/utility_function_membership_proof.ts +1 -1
  932. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +2 -2
  933. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
  934. package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
  935. package/src/epoch-helpers/index.ts +39 -30
  936. package/src/errors/simulation_error.ts +1 -1
  937. package/src/fees/transaction_fee.ts +1 -1
  938. package/src/file-store/http.ts +6 -3
  939. package/src/file-store/s3.ts +3 -7
  940. package/src/gas/gas.ts +15 -1
  941. package/src/gas/gas_fees.ts +15 -1
  942. package/src/gas/gas_settings.ts +20 -1
  943. package/src/gas/gas_used.ts +22 -1
  944. package/src/hash/hash.ts +12 -11
  945. package/src/hash/map_slot.ts +2 -2
  946. package/src/interfaces/allowed_element.ts +10 -8
  947. package/src/interfaces/archiver.ts +41 -18
  948. package/src/interfaces/aztec-node-admin.ts +2 -2
  949. package/src/interfaces/aztec-node.ts +82 -77
  950. package/src/interfaces/block-builder.ts +14 -3
  951. package/src/interfaces/configs.ts +68 -31
  952. package/src/interfaces/epoch-prover.ts +6 -7
  953. package/src/interfaces/get_logs_response.ts +13 -9
  954. package/src/interfaces/l2_logs_source.ts +11 -14
  955. package/src/interfaces/merkle_tree_operations.ts +9 -5
  956. package/src/interfaces/p2p.ts +4 -2
  957. package/src/interfaces/prover-client.ts +13 -10
  958. package/src/interfaces/proving-job.ts +14 -5
  959. package/src/interfaces/public_state_source.ts +1 -1
  960. package/src/interfaces/server_circuit_prover.ts +0 -1
  961. package/src/interfaces/slasher.ts +24 -22
  962. package/src/interfaces/tx_provider.ts +2 -2
  963. package/src/interfaces/validator.ts +27 -20
  964. package/src/interfaces/world_state.ts +26 -18
  965. package/src/kernel/claimed_length_array.ts +1 -1
  966. package/src/kernel/hints/build_nullifier_read_request_hints.ts +1 -1
  967. package/src/kernel/hints/build_transient_data_hints.ts +2 -2
  968. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  969. package/src/kernel/hints/key_validation_hint.ts +1 -1
  970. package/src/kernel/hints/key_validation_request.ts +2 -1
  971. package/src/kernel/hints/key_validation_request_and_generator.ts +1 -1
  972. package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
  973. package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
  974. package/src/kernel/hints/read_request.ts +1 -1
  975. package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +1 -1
  976. package/src/kernel/hints/scoped_value_cache.ts +1 -1
  977. package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
  978. package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
  979. package/src/kernel/log_hash.ts +1 -1
  980. package/src/kernel/note_hash.ts +1 -1
  981. package/src/kernel/nullifier.ts +1 -1
  982. package/src/kernel/padded_side_effects.ts +1 -1
  983. package/src/kernel/private_call_data.ts +1 -1
  984. package/src/kernel/private_call_request.ts +1 -1
  985. package/src/kernel/private_circuit_public_inputs.ts +95 -75
  986. package/src/kernel/private_context_inputs.ts +1 -1
  987. package/src/kernel/private_kernel_circuit_public_inputs.ts +8 -1
  988. package/src/kernel/private_kernel_data.ts +0 -2
  989. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +7 -1
  990. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
  991. package/src/kernel/private_log_data.ts +1 -1
  992. package/src/kernel/private_to_avm_accumulated_data.ts +36 -1
  993. package/src/kernel/private_to_public_accumulated_data.ts +1 -1
  994. package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
  995. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
  996. package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
  997. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  998. package/src/kernel/private_validation_requests.ts +1 -13
  999. package/src/kernel/public_call_request.ts +28 -1
  1000. package/src/kernel/utils/optional_number.ts +1 -1
  1001. package/src/keys/derivation.ts +5 -2
  1002. package/src/keys/public_key.ts +1 -1
  1003. package/src/keys/public_keys.ts +22 -2
  1004. package/src/l1-contracts/slash_factory.ts +3 -1
  1005. package/src/logs/contract_class_log.ts +34 -2
  1006. package/src/logs/debug_log.ts +20 -1
  1007. package/src/logs/directional_app_tagging_secret.ts +4 -2
  1008. package/src/logs/index.ts +2 -1
  1009. package/src/logs/log_id.ts +22 -11
  1010. package/src/logs/message_context.ts +1 -1
  1011. package/src/logs/pending_tagged_log.ts +1 -1
  1012. package/src/logs/private_log.ts +22 -5
  1013. package/src/logs/public_log.ts +22 -1
  1014. package/src/logs/shared_secret_derivation.ts +2 -2
  1015. package/src/logs/siloed_tag.ts +44 -0
  1016. package/src/logs/tag.ts +42 -0
  1017. package/src/logs/tx_scoped_l2_log.ts +48 -45
  1018. package/src/messaging/in_hash.ts +10 -0
  1019. package/src/messaging/inbox_leaf.ts +11 -10
  1020. package/src/messaging/index.ts +2 -0
  1021. package/src/messaging/l1_actor.ts +2 -2
  1022. package/src/messaging/l1_to_l2_message.ts +3 -2
  1023. package/src/messaging/l1_to_l2_message_source.ts +5 -10
  1024. package/src/messaging/l2_actor.ts +2 -2
  1025. package/src/messaging/l2_to_l1_membership.ts +6 -5
  1026. package/src/messaging/l2_to_l1_message.ts +30 -1
  1027. package/src/messaging/out_hash.ts +36 -0
  1028. package/src/noir/index.ts +6 -6
  1029. package/src/note/index.ts +1 -1
  1030. package/src/note/note.ts +5 -2
  1031. package/src/note/note_dao.ts +182 -0
  1032. package/src/note/notes_filter.ts +4 -1
  1033. package/src/p2p/block_attestation.ts +5 -3
  1034. package/src/p2p/block_proposal.ts +6 -4
  1035. package/src/p2p/consensus_payload.ts +17 -27
  1036. package/src/p2p/gossipable.ts +17 -8
  1037. package/src/p2p/signature_utils.ts +2 -1
  1038. package/src/parity/parity_base_private_inputs.ts +1 -1
  1039. package/src/parity/parity_public_inputs.ts +1 -1
  1040. package/src/proofs/chonk_proof.ts +2 -2
  1041. package/src/proofs/proof.ts +1 -1
  1042. package/src/proofs/proof_data.ts +24 -0
  1043. package/src/proofs/recursive_proof.ts +1 -1
  1044. package/src/rollup/avm_proof_data.ts +2 -9
  1045. package/src/rollup/base_rollup_hints.ts +1 -1
  1046. package/src/rollup/block_constant_data.ts +1 -1
  1047. package/src/rollup/block_headers_hash.ts +12 -0
  1048. package/src/rollup/block_rollup_public_inputs.ts +9 -1
  1049. package/src/rollup/block_root_rollup_private_inputs.ts +1 -10
  1050. package/src/rollup/checkpoint_constant_data.ts +45 -5
  1051. package/src/rollup/checkpoint_header.ts +55 -25
  1052. package/src/rollup/checkpoint_rollup_public_inputs.ts +1 -1
  1053. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +7 -6
  1054. package/src/rollup/epoch_constant_data.ts +1 -1
  1055. package/src/rollup/index.ts +1 -0
  1056. package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
  1057. package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
  1058. package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
  1059. package/src/rollup/root_rollup_public_inputs.ts +1 -1
  1060. package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
  1061. package/src/rollup/tx_rollup_public_inputs.ts +1 -1
  1062. package/src/schemas/schemas.ts +24 -1
  1063. package/src/slashing/empire.ts +6 -4
  1064. package/src/slashing/helpers.ts +17 -12
  1065. package/src/slashing/interfaces.ts +3 -1
  1066. package/src/slashing/types.ts +24 -20
  1067. package/src/snapshots/types.ts +33 -29
  1068. package/src/stats/stats.ts +10 -5
  1069. package/src/tests/factories.ts +283 -233
  1070. package/src/tests/mocks.ts +308 -54
  1071. package/src/trees/append_only_tree_snapshot.ts +12 -13
  1072. package/src/trees/database_public_state_source.ts +1 -1
  1073. package/src/trees/nullifier_leaf.ts +33 -1
  1074. package/src/trees/nullifier_membership_witness.ts +1 -1
  1075. package/src/trees/public_data_leaf.ts +33 -1
  1076. package/src/trees/public_data_witness.ts +1 -1
  1077. package/src/tx/block_header.ts +31 -12
  1078. package/src/tx/call_context.ts +1 -1
  1079. package/src/tx/capsule.ts +1 -1
  1080. package/src/tx/content_commitment.ts +13 -4
  1081. package/src/tx/execution_payload.ts +60 -0
  1082. package/src/tx/function_data.ts +1 -1
  1083. package/src/tx/global_variable_builder.ts +10 -2
  1084. package/src/tx/global_variables.ts +76 -16
  1085. package/src/tx/hashed_values.ts +1 -1
  1086. package/src/tx/in_tx.ts +24 -0
  1087. package/src/tx/index.ts +2 -0
  1088. package/src/tx/indexed_tx_effect.ts +6 -5
  1089. package/src/tx/offchain_effect.ts +1 -1
  1090. package/src/tx/partial_state_reference.ts +10 -18
  1091. package/src/tx/private_execution_result.ts +10 -7
  1092. package/src/tx/private_tx_constant_data.ts +1 -1
  1093. package/src/tx/processed_tx.ts +19 -16
  1094. package/src/tx/profiling.ts +5 -7
  1095. package/src/tx/protocol_contracts.ts +18 -2
  1096. package/src/tx/public_call_request_with_calldata.ts +18 -1
  1097. package/src/tx/public_simulation_output.ts +19 -2
  1098. package/src/tx/state_reference.ts +10 -16
  1099. package/src/tx/tree_snapshots.ts +17 -1
  1100. package/src/tx/tx.ts +17 -9
  1101. package/src/tx/tx_constant_data.ts +1 -1
  1102. package/src/tx/tx_context.ts +1 -1
  1103. package/src/tx/tx_effect.ts +87 -91
  1104. package/src/tx/tx_execution_request.ts +1 -1
  1105. package/src/tx/tx_hash.ts +1 -1
  1106. package/src/tx/tx_receipt.ts +3 -2
  1107. package/src/tx/tx_request.ts +2 -2
  1108. package/src/tx/validator/tx_validator.ts +8 -6
  1109. package/src/update-checker/update-checker.ts +2 -1
  1110. package/src/validators/errors.ts +4 -5
  1111. package/src/validators/schemas.ts +55 -49
  1112. package/src/validators/types.ts +9 -8
  1113. package/src/versioning/versioning.ts +1 -1
  1114. package/src/vks/verification_key.ts +26 -1
  1115. package/src/vks/vk_data.ts +1 -1
  1116. package/src/world-state/world_state_revision.ts +47 -5
  1117. package/src/zkpassport/index.ts +2 -2
  1118. package/dest/block/l2_block_number.d.ts +0 -5
  1119. package/dest/block/l2_block_number.d.ts.map +0 -1
  1120. package/dest/block/l2_block_number.js +0 -6
  1121. package/dest/block/published_l2_block.d.ts +0 -143
  1122. package/dest/block/published_l2_block.d.ts.map +0 -1
  1123. package/dest/checkpoint/checkpoint_body.d.ts +0 -4
  1124. package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
  1125. package/dest/checkpoint/checkpoint_body.js +0 -9
  1126. package/dest/logs/log_with_tx_data.d.ts +0 -19
  1127. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  1128. package/dest/logs/log_with_tx_data.js +0 -49
  1129. package/dest/note/unique_note.d.ts +0 -43
  1130. package/dest/note/unique_note.d.ts.map +0 -1
  1131. package/dest/note/unique_note.js +0 -67
  1132. package/src/block/l2_block_number.ts +0 -8
  1133. package/src/checkpoint/checkpoint_body.ts +0 -10
  1134. package/src/logs/log_with_tx_data.ts +0 -46
  1135. package/src/note/unique_note.ts +0 -88
@@ -1,16 +1,26 @@
1
+ import {
2
+ BlockNumber,
3
+ BlockNumberSchema,
4
+ CheckpointNumber,
5
+ type EpochNumber,
6
+ type SlotNumber,
7
+ } from '@aztec/foundation/branded-types';
8
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
9
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
- 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';
10
19
  import type { TxHash } from '../tx/tx_hash.js';
11
20
  import type { TxReceipt } from '../tx/tx_receipt.js';
21
+ import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
12
22
  import type { L2Block } from './l2_block.js';
13
- import { PublishedL2Block } from './published_l2_block.js';
23
+ import type { L2BlockNew } from './l2_block_new.js';
14
24
  import type { ValidateBlockNegativeResult, ValidateBlockResult } from './validate_block_result.js';
15
25
 
16
26
  /**
@@ -33,53 +43,42 @@ export interface L2BlockSource {
33
43
  * Gets the number of the latest L2 block processed by the block source implementation.
34
44
  * @returns The number of the latest L2 block processed by the block source implementation.
35
45
  */
36
- getBlockNumber(): Promise<number>;
46
+ getBlockNumber(): Promise<BlockNumber>;
37
47
 
38
48
  /**
39
49
  * Gets the number of the latest L2 block proven seen by the block source implementation.
40
50
  * @returns The number of the latest L2 block proven seen by the block source implementation.
41
51
  */
42
- getProvenBlockNumber(): Promise<number>;
43
-
44
- /**
45
- * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
46
- * @param number - The block number to return (inclusive).
47
- * @returns The requested L2 block.
48
- */
49
- getBlock(number: number): Promise<L2Block | undefined>;
52
+ getProvenBlockNumber(): Promise<BlockNumber>;
50
53
 
51
54
  /**
52
55
  * Gets an l2 block header.
53
56
  * @param number - The block number to return or 'latest' for the most recent one.
54
57
  * @returns The requested L2 block header.
55
58
  */
56
- getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
59
+ getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
57
60
 
58
61
  /**
59
- * Gets up to `limit` amount of L2 blocks starting from `from`.
60
- * @param from - Number of the first block to return (inclusive).
61
- * @param limit - The maximum number of blocks to return.
62
- * @param proven - If true, only return blocks that have been proven.
63
- * @returns The requested L2 blocks.
62
+ * Gets a checkpointed L2 block by block number.
63
+ * Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
64
+ * @param number - The block number to retrieve.
65
+ * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
64
66
  */
65
- getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
66
-
67
- /** Equivalent to getBlocks but includes publish data. */
68
- getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
67
+ getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
69
68
 
70
69
  /**
71
- * Gets a published block by its hash.
72
- * @param blockHash - The block hash to retrieve.
73
- * @returns The requested published block (or undefined if not found).
70
+ * Retrieves a collection of published checkpoints
71
+ * @param checkpointNumber The first checkpoint to be retrieved
72
+ * @param limit The number of checkpoints to be retrieved
73
+ * @returns The collection of complete checkpoints
74
74
  */
75
- getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
75
+ getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
76
76
 
77
77
  /**
78
- * Gets a published block by its archive root.
79
- * @param archive - The archive root to retrieve.
80
- * @returns The requested published block (or undefined if not found).
78
+ * Gets the checkpoints for a given epoch
79
+ * @param epochNumber - Epoch for which we want checkpoint data
81
80
  */
82
- getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
81
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
83
82
 
84
83
  /**
85
84
  * Gets a block header by its hash.
@@ -95,6 +94,13 @@ export interface L2BlockSource {
95
94
  */
96
95
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
97
96
 
97
+ /**
98
+ * Gets an L2 block by block number.
99
+ * @param number - The block number to return.
100
+ * @returns The requested L2 block (or undefined if not found).
101
+ */
102
+ getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
103
+
98
104
  /**
99
105
  * Gets a tx effect.
100
106
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -112,32 +118,25 @@ export interface L2BlockSource {
112
118
  /**
113
119
  * Returns the current L2 slot number based on the currently synced L1 timestamp.
114
120
  */
115
- getL2SlotNumber(): Promise<bigint | undefined>;
121
+ getL2SlotNumber(): Promise<SlotNumber | undefined>;
116
122
 
117
123
  /**
118
124
  * Returns the current L2 epoch number based on the currently synced L1 timestamp.
119
125
  */
120
- getL2EpochNumber(): Promise<bigint | undefined>;
121
-
122
- /**
123
- * Returns all blocks for a given epoch.
124
- * @dev Use this method only with recent epochs, since it walks the block list backwards.
125
- * @param epochNumber - The epoch number to return blocks for.
126
- */
127
- getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
126
+ getL2EpochNumber(): Promise<EpochNumber | undefined>;
128
127
 
129
128
  /**
130
129
  * Returns all block headers for a given epoch.
131
130
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
132
131
  * @param epochNumber - The epoch number to return headers for.
133
132
  */
134
- getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
133
+ getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
135
134
 
136
135
  /**
137
136
  * Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
138
137
  * @param epochNumber - The epoch number to check.
139
138
  */
140
- isEpochComplete(epochNumber: bigint): Promise<boolean>;
139
+ isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
141
140
 
142
141
  /**
143
142
  * Returns the tips of the L2 chain.
@@ -169,6 +168,61 @@ export interface L2BlockSource {
169
168
 
170
169
  /** Force a sync. */
171
170
  syncImmediate(): Promise<void>;
171
+
172
+ /* Legacy APIS */
173
+
174
+ /**
175
+ * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
176
+ * @param number - The block number to return (inclusive).
177
+ * @returns The requested L2 block.
178
+ * @deprecated Use getL2BlockNew instead.
179
+ */
180
+ getBlock(number: BlockNumber): Promise<L2Block | undefined>;
181
+
182
+ /**
183
+ * Returns all blocks for a given epoch.
184
+ * @dev Use this method only with recent epochs, since it walks the block list backwards.
185
+ * @param epochNumber - The epoch number to return blocks for.
186
+ */
187
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
188
+
189
+ /**
190
+ * Gets a published block by its block hash.
191
+ * @param blockHash - The block hash to retrieve.
192
+ * @returns The requested block (or undefined if not found).
193
+ */
194
+ getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
195
+
196
+ /**
197
+ * Gets a published block by its archive root.
198
+ * @param archive - The archive root to retrieve.
199
+ * @returns The requested block (or undefined if not found).
200
+ */
201
+ getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
202
+
203
+ /**
204
+ * Gets up to `limit` amount of L2 blocks starting from `from`.
205
+ * @param from - Number of the first block to return (inclusive).
206
+ * @param limit - The maximum number of blocks to return.
207
+ * @param proven - If true, only return blocks that have been proven.
208
+ * @returns The requested L2 blocks.
209
+ */
210
+ getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
211
+
212
+ /** Equivalent to getBlocks but includes publish data. */
213
+ getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
214
+ }
215
+
216
+ /**
217
+ * Interface for classes that can receive and store L2 blocks.
218
+ */
219
+ export interface L2BlockSink {
220
+ /**
221
+ * Adds a block to the store.
222
+ * @param block - The L2 block to add.
223
+ * @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
224
+ */
225
+ addBlock(block: L2BlockNew): Promise<void>;
172
226
  }
173
227
 
174
228
  /**
@@ -194,33 +248,26 @@ export type L2BlockTag = 'latest' | 'proven' | 'finalized';
194
248
  export type L2Tips = Record<L2BlockTag, L2BlockId>;
195
249
 
196
250
  /** Identifies a block by number and hash. */
197
- export type L2BlockId = z.infer<typeof L2BlockIdSchema>;
251
+ export type L2BlockId = { number: BlockNumber; hash: string };
198
252
 
199
253
  /** Creates an L2 block id */
200
- export function makeL2BlockId(number: number, hash?: string): L2BlockId {
254
+ export function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId {
201
255
  if (number !== 0 && !hash) {
202
256
  throw new Error(`Hash is required for non-genesis blocks (got block number ${number})`);
203
257
  }
204
258
  return { number, hash: hash! };
205
259
  }
206
260
 
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
- ]);
261
+ const L2BlockIdSchema = z.object({
262
+ number: BlockNumberSchema,
263
+ hash: z.string(),
264
+ });
218
265
 
219
266
  export const L2TipsSchema = z.object({
220
267
  latest: L2BlockIdSchema,
221
268
  proven: L2BlockIdSchema,
222
269
  finalized: L2BlockIdSchema,
223
- }) satisfies z.ZodType<L2Tips>;
270
+ });
224
271
 
225
272
  export enum L2BlockSourceEvents {
226
273
  L2PruneDetected = 'l2PruneDetected',
@@ -230,14 +277,14 @@ export enum L2BlockSourceEvents {
230
277
 
231
278
  export type L2BlockProvenEvent = {
232
279
  type: 'l2BlockProven';
233
- blockNumber: bigint;
234
- slotNumber: bigint;
235
- epochNumber: bigint;
280
+ blockNumber: BlockNumber;
281
+ slotNumber: SlotNumber;
282
+ epochNumber: EpochNumber;
236
283
  };
237
284
 
238
285
  export type L2BlockPruneEvent = {
239
286
  type: 'l2PruneDetected';
240
- epochNumber: bigint;
287
+ epochNumber: EpochNumber;
241
288
  blocks: L2Block[];
242
289
  };
243
290
 
@@ -1,5 +1,5 @@
1
+ import type { PublishedL2Block } from '../checkpointed_l2_block.js';
1
2
  import type { L2BlockId, L2Tips } from '../l2_block_source.js';
2
- import type { PublishedL2Block } from '../published_l2_block.js';
3
3
 
4
4
  /** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
5
5
  export interface L2BlockStreamLocalDataProvider {
@@ -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';
@@ -25,6 +26,10 @@ export class L2BlockStream {
25
26
  skipFinalized?: boolean;
26
27
  } = {},
27
28
  ) {
29
+ // Note that RunningPromise is in stopped state by default. This promise won't run until someone invokes `start`,
30
+ // which makes it run periodically, or `sync`, which triggers it once.
31
+ // Users of L2BlockStream decide what mode to run it in (_periodically_ vs _manually triggered_).
32
+ // The default is _manually triggered_.
28
33
  this.runningPromise = new RunningPromise(() => this.work(), log, this.opts.pollIntervalMS ?? 1000);
29
34
  }
30
35
 
@@ -41,6 +46,11 @@ export class L2BlockStream {
41
46
  return this.runningPromise.isRunning();
42
47
  }
43
48
 
49
+ /**
50
+ * Runs the synchronization process once.
51
+ *
52
+ * If you want to run this process continuously use `start` and `stop` instead.
53
+ */
44
54
  public async sync() {
45
55
  this.isSyncing = true;
46
56
  await this.runningPromise.trigger();
@@ -74,7 +84,7 @@ export class L2BlockStream {
74
84
  }
75
85
 
76
86
  if (latestBlockNumber < localTips.latest.number) {
77
- latestBlockNumber = Math.min(latestBlockNumber, sourceTips.latest.number); // see #13471
87
+ latestBlockNumber = BlockNumber(Math.min(latestBlockNumber, sourceTips.latest.number)); // see #13471
78
88
  const hash = sourceCache.get(latestBlockNumber) ?? (await this.getBlockHashFromSource(latestBlockNumber));
79
89
  if (latestBlockNumber !== 0 && !hash) {
80
90
  throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
@@ -85,7 +95,7 @@ export class L2BlockStream {
85
95
 
86
96
  // If we are just starting, use the starting block number from the options.
87
97
  if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
88
- latestBlockNumber = Math.max(this.opts.startingBlock - 1, 0);
98
+ latestBlockNumber = BlockNumber(Math.max(this.opts.startingBlock - 1, 0));
89
99
  }
90
100
 
91
101
  // Only log this entry once (for sanity)
@@ -108,7 +118,11 @@ export class L2BlockStream {
108
118
  while (nextBlockNumber <= sourceTips.latest.number) {
109
119
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.latest.number - nextBlockNumber + 1);
110
120
  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);
121
+ const blocks = await this.l2BlockSource.getPublishedBlocks(
122
+ BlockNumber(nextBlockNumber),
123
+ limit,
124
+ this.opts.proven,
125
+ );
112
126
  if (blocks.length === 0) {
113
127
  break;
114
128
  }
@@ -139,7 +153,7 @@ export class L2BlockStream {
139
153
  * @param blockNumber - The block number to test.
140
154
  * @param args - A cache of data already requested from source, to avoid re-requesting it.
141
155
  */
142
- private async areBlockHashesEqualAt(blockNumber: number, args: { sourceCache: BlockHashCache }) {
156
+ private async areBlockHashesEqualAt(blockNumber: BlockNumber, args: { sourceCache: BlockHashCache }) {
143
157
  if (blockNumber === 0) {
144
158
  return true;
145
159
  }
@@ -163,7 +177,7 @@ export class L2BlockStream {
163
177
  return localBlockHash === sourceBlockHash;
164
178
  }
165
179
 
166
- private getBlockHashFromSource(blockNumber: number) {
180
+ private getBlockHashFromSource(blockNumber: BlockNumber) {
167
181
  return this.l2BlockSource
168
182
  .getBlockHeader(blockNumber)
169
183
  .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) {
@@ -1,11 +1,11 @@
1
- import type { ViemCommitteeAttestations } from '@aztec/ethereum';
1
+ import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
2
2
  import { hexToBuffer } from '@aztec/foundation/string';
3
3
 
4
4
  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
+ }
@@ -1,4 +1,4 @@
1
- import type { ViemCommitteeAttestation, ViemCommitteeAttestations } from '@aztec/ethereum';
1
+ import type { ViemCommitteeAttestation, ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import { Signature } from '@aztec/foundation/eth-signature';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -1,6 +1,9 @@
1
+ import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
3
  import { times } from '@aztec/foundation/collection';
2
- import { Fr } from '@aztec/foundation/fields';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
5
  import { type L2Block, type L2BlockId, PublishedL2Block } from '@aztec/stdlib/block';
6
+ import { L1PublishedData } from '@aztec/stdlib/checkpoint';
4
7
 
5
8
  import { jestExpect as expect } from '@jest/expect';
6
9
 
@@ -15,17 +18,20 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
15
18
 
16
19
  const makeBlock = (number: number): PublishedL2Block =>
17
20
  PublishedL2Block.fromFields({
18
- block: { number, hash: () => Promise.resolve(new Fr(number)) } as L2Block,
19
- l1: { blockNumber: BigInt(number), blockHash: `0x${number}`, timestamp: BigInt(number) },
21
+ block: { number: BlockNumber(number), hash: () => Promise.resolve(new Fr(number)) } as L2Block,
22
+ l1: new L1PublishedData(BigInt(number), BigInt(number), `0x${number}`),
20
23
  attestations: [],
21
24
  });
22
25
 
23
26
  const makeBlockId = (number: number): L2BlockId => ({
24
- number,
27
+ number: BlockNumber(number),
25
28
  hash: new Fr(number).toString(),
26
29
  });
27
30
 
28
- const makeTip = (number: number) => ({ number, hash: number === 0 ? undefined : new Fr(number).toString() });
31
+ const makeTip = (number: number): L2BlockId => ({
32
+ number: BlockNumber(number),
33
+ hash: number === 0 ? GENESIS_BLOCK_HEADER_HASH.toString() : new Fr(number).toString(),
34
+ });
29
35
 
30
36
  const makeTips = (latest: number, proven: number, finalized: number) => ({
31
37
  latest: makeTip(latest),
@@ -1,3 +1,4 @@
1
+ import { EpochNumber, EpochNumberSchema } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -16,7 +17,7 @@ export type ValidateBlockNegativeResult =
16
17
  /** Committee members at the epoch this block was proposed */
17
18
  committee: EthAddress[];
18
19
  /** Epoch in which this block was proposed */
19
- epoch: bigint;
20
+ epoch: EpochNumber;
20
21
  /** Proposer selection seed for the epoch */
21
22
  seed: bigint;
22
23
  /** List of committee members who signed this block proposal */
@@ -33,7 +34,7 @@ export type ValidateBlockNegativeResult =
33
34
  /** Committee members at the epoch this block was proposed */
34
35
  committee: EthAddress[];
35
36
  /** Epoch in which this block was proposed */
36
- epoch: bigint;
37
+ epoch: EpochNumber;
37
38
  /** Proposer selection seed for the epoch */
38
39
  seed: bigint;
39
40
  /** List of committee members who signed this block proposal */
@@ -46,16 +47,17 @@ export type ValidateBlockNegativeResult =
46
47
  invalidIndex: number;
47
48
  };
48
49
 
50
+ // TODO: Rename to ValidateAttestationsResult
49
51
  /** Result type for validating a block attestations */
50
52
  export type ValidateBlockResult = { valid: true } | ValidateBlockNegativeResult;
51
53
 
52
- export const ValidateBlockResultSchema = z.union([
54
+ export const ValidateBlockResultSchema: ZodFor<ValidateBlockResult> = z.union([
53
55
  z.object({ valid: z.literal(true) }),
54
56
  z.object({
55
57
  valid: z.literal(false),
56
58
  block: BlockInfoSchema,
57
59
  committee: z.array(schemas.EthAddress),
58
- epoch: schemas.BigInt,
60
+ epoch: EpochNumberSchema,
59
61
  seed: schemas.BigInt,
60
62
  attestors: z.array(schemas.EthAddress),
61
63
  attestations: z.array(CommitteeAttestation.schema),
@@ -65,14 +67,14 @@ export const ValidateBlockResultSchema = z.union([
65
67
  valid: z.literal(false),
66
68
  block: BlockInfoSchema,
67
69
  committee: z.array(schemas.EthAddress),
68
- epoch: schemas.BigInt,
70
+ epoch: EpochNumberSchema,
69
71
  seed: schemas.BigInt,
70
72
  attestors: z.array(schemas.EthAddress),
71
73
  attestations: z.array(CommitteeAttestation.schema),
72
74
  reason: z.literal('invalid-attestation'),
73
75
  invalidIndex: z.number(),
74
76
  }),
75
- ]) satisfies ZodFor<ValidateBlockResult>;
77
+ ]);
76
78
 
77
79
  export function serializeValidateBlockResult(result: ValidateBlockResult): Buffer {
78
80
  if (result.valid) {
@@ -106,7 +108,7 @@ export function deserializeValidateBlockResult(bufferOrReader: Buffer | BufferRe
106
108
  const reason = reader.readString() as 'insufficient-attestations' | 'invalid-attestation';
107
109
  const block = deserializeBlockInfo(reader.readBuffer());
108
110
  const committee = reader.readVector(EthAddress);
109
- const epoch = reader.readBigInt();
111
+ const epoch = EpochNumber(reader.readNumber());
110
112
  const seed = reader.readBigInt();
111
113
  const attestors = reader.readVector(EthAddress);
112
114
  const attestations = reader.readVector(CommitteeAttestation);
@@ -0,0 +1,135 @@
1
+ import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
+ import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
3
+ import { sum } from '@aztec/foundation/collection';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
+ import type { FieldsOf } from '@aztec/foundation/types';
7
+
8
+ import { z } from 'zod';
9
+
10
+ import { L2BlockNew } from '../block/l2_block_new.js';
11
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
12
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
13
+ import type { CheckpointInfo } from './checkpoint_info.js';
14
+
15
+ export class Checkpoint {
16
+ constructor(
17
+ /** Snapshot of archive tree after the checkpoint is added. */
18
+ public archive: AppendOnlyTreeSnapshot,
19
+ /** Header of the checkpoint. */
20
+ public header: CheckpointHeader,
21
+ /** L2 blocks in the checkpoint. */
22
+ public blocks: L2BlockNew[],
23
+ /** Number of the checkpoint. */
24
+ public number: CheckpointNumber,
25
+ ) {}
26
+
27
+ static get schema() {
28
+ return z
29
+ .object({
30
+ archive: AppendOnlyTreeSnapshot.schema,
31
+ header: CheckpointHeader.schema,
32
+ blocks: z.array(L2BlockNew.schema),
33
+ number: CheckpointNumberSchema,
34
+ })
35
+ .transform(({ archive, header, blocks, number }) => new Checkpoint(archive, header, blocks, number));
36
+ }
37
+
38
+ static from(fields: FieldsOf<Checkpoint>) {
39
+ return new Checkpoint(...Checkpoint.getFields(fields));
40
+ }
41
+
42
+ static getFields(fields: FieldsOf<Checkpoint>) {
43
+ return [fields.archive, fields.header, fields.blocks, fields.number] as const;
44
+ }
45
+
46
+ static fromBuffer(buf: Buffer | BufferReader) {
47
+ const reader = BufferReader.asReader(buf);
48
+ return new Checkpoint(
49
+ reader.readObject(AppendOnlyTreeSnapshot),
50
+ reader.readObject(CheckpointHeader),
51
+ reader.readVector(L2BlockNew),
52
+ CheckpointNumber(reader.readNumber()),
53
+ );
54
+ }
55
+
56
+ public toBuffer() {
57
+ return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
58
+ }
59
+
60
+ public toBlobFields(): Fr[] {
61
+ const blocks = this.blocks.map(block => block.toBlockBlobData());
62
+ return encodeCheckpointBlobDataFromBlocks(blocks);
63
+ }
64
+
65
+ public hash(): Fr {
66
+ return this.header.hash();
67
+ }
68
+
69
+ public getState() {
70
+ return this.blocks.at(-1)!.header.state;
71
+ }
72
+
73
+ public toCheckpointInfo(): CheckpointInfo {
74
+ return {
75
+ archive: this.archive.root,
76
+ slotNumber: this.header.slotNumber,
77
+ checkpointNumber: this.number,
78
+ timestamp: this.header.timestamp,
79
+ };
80
+ }
81
+
82
+ /** Returns stats used for logging */
83
+ public getStats() {
84
+ const txEffects = this.blocks.flatMap(block => block.body.txEffects);
85
+
86
+ const logsStats = {
87
+ privateLogCount: sum(txEffects.map(tx => tx.privateLogs.length)),
88
+ publicLogCount: sum(txEffects.map(tx => tx.publicLogs.length)),
89
+ contractClassLogCount: sum(txEffects.map(tx => tx.contractClassLogs.length)),
90
+ contractClassLogSize: sum(txEffects.map(tx => sum(tx.contractClassLogs.map(log => log.emittedLength)))),
91
+ };
92
+
93
+ return {
94
+ txCount: txEffects.length,
95
+ blockCount: this.blocks.length,
96
+ slotNumber: this.header.slotNumber,
97
+ checkpointNumber: this.number,
98
+ timestamp: this.header.timestamp,
99
+ ...logsStats,
100
+ };
101
+ }
102
+
103
+ static async random(
104
+ checkpointNumber = CheckpointNumber(1),
105
+ {
106
+ numBlocks = 1,
107
+ startBlockNumber = 1,
108
+ previousArchive,
109
+ ...options
110
+ }: {
111
+ numBlocks?: number;
112
+ startBlockNumber?: number;
113
+ previousArchive?: AppendOnlyTreeSnapshot;
114
+ } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
115
+ Partial<Parameters<typeof L2BlockNew.random>[1]> = {},
116
+ ) {
117
+ const header = CheckpointHeader.random(options);
118
+
119
+ // Create blocks sequentially to chain archive roots properly.
120
+ // Each block's header.lastArchive must equal the previous block's archive.
121
+ const blocks: L2BlockNew[] = [];
122
+ let lastArchive = previousArchive;
123
+ for (let i = 0; i < numBlocks; i++) {
124
+ const block = await L2BlockNew.random(BlockNumber(startBlockNumber + i), {
125
+ indexWithinCheckpoint: i,
126
+ ...options,
127
+ ...(lastArchive ? { lastArchive } : {}),
128
+ });
129
+ lastArchive = block.archive;
130
+ blocks.push(block);
131
+ }
132
+
133
+ return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber);
134
+ }
135
+ }
@@ -0,0 +1,9 @@
1
+ import type { CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr, SlotNumber } from '@aztec/foundation/schemas';
3
+
4
+ export type CheckpointInfo = {
5
+ archive: Fr;
6
+ slotNumber: SlotNumber;
7
+ checkpointNumber: CheckpointNumber;
8
+ timestamp: bigint;
9
+ };