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

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 (1132) hide show
  1. package/dest/abi/abi.d.ts +603 -5
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +7 -7
  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 +2 -2
  11. package/dest/abi/contract_artifact.d.ts.map +1 -1
  12. package/dest/abi/contract_artifact.js +1 -1
  13. package/dest/abi/decoder.d.ts +2 -2
  14. package/dest/abi/decoder.d.ts.map +1 -1
  15. package/dest/abi/encoder.d.ts +2 -2
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +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 +48 -10
  22. package/dest/abi/function_call.d.ts.map +1 -1
  23. package/dest/abi/function_call.js +20 -3
  24. package/dest/abi/function_selector.d.ts +3 -2
  25. package/dest/abi/function_selector.d.ts.map +1 -1
  26. package/dest/abi/function_selector.js +9 -1
  27. package/dest/abi/note_selector.d.ts +2 -2
  28. package/dest/abi/note_selector.d.ts.map +1 -1
  29. package/dest/abi/note_selector.js +2 -2
  30. package/dest/abi/selector.d.ts +2 -2
  31. package/dest/abi/selector.d.ts.map +1 -1
  32. package/dest/abi/selector.js +4 -2
  33. package/dest/abi/utils.d.ts +7 -1
  34. package/dest/abi/utils.d.ts.map +1 -1
  35. package/dest/abi/utils.js +7 -0
  36. package/dest/auth_witness/auth_witness.d.ts +3 -2
  37. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  38. package/dest/auth_witness/auth_witness.js +5 -5
  39. package/dest/avm/avm.d.ts +598 -386
  40. package/dest/avm/avm.d.ts.map +1 -1
  41. package/dest/avm/avm.js +238 -22
  42. package/dest/avm/avm_accumulated_data.d.ts +31 -4
  43. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  44. package/dest/avm/avm_accumulated_data.js +6 -3
  45. package/dest/avm/avm_circuit_public_inputs.d.ts +14 -12
  46. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.js +4 -2
  48. package/dest/avm/avm_proving_request.d.ts +306 -302
  49. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  50. package/dest/avm/contract_storage_read.d.ts +14 -2
  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 +14 -2
  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/message_pack.d.ts +1 -1
  57. package/dest/avm/message_pack.d.ts.map +1 -1
  58. package/dest/avm/message_pack.js +2 -1
  59. package/dest/avm/public_call_stack_item_compressed.d.ts +4 -2
  60. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  61. package/dest/avm/public_call_stack_item_compressed.js +1 -1
  62. package/dest/avm/public_data_read.d.ts +11 -2
  63. package/dest/avm/public_data_read.d.ts.map +1 -1
  64. package/dest/avm/public_data_read.js +1 -1
  65. package/dest/avm/public_data_update_request.d.ts +11 -2
  66. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  67. package/dest/avm/public_data_update_request.js +4 -2
  68. package/dest/avm/public_data_write.d.ts +8 -2
  69. package/dest/avm/public_data_write.d.ts.map +1 -1
  70. package/dest/avm/public_data_write.js +1 -1
  71. package/dest/avm/public_inner_call_request.d.ts +5 -2
  72. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  73. package/dest/avm/public_inner_call_request.js +3 -1
  74. package/dest/avm/revert_code.d.ts +5 -5
  75. package/dest/avm/revert_code.d.ts.map +1 -1
  76. package/dest/avm/revert_code.js +4 -2
  77. package/dest/aztec-address/index.d.ts +3 -2
  78. package/dest/aztec-address/index.d.ts.map +1 -1
  79. package/dest/aztec-address/index.js +5 -2
  80. package/dest/block/attestation_info.d.ts +5 -5
  81. package/dest/block/attestation_info.d.ts.map +1 -1
  82. package/dest/block/attestation_info.js +5 -5
  83. package/dest/block/block_data.d.ts +52 -0
  84. package/dest/block/block_data.d.ts.map +1 -0
  85. package/dest/block/block_data.js +12 -0
  86. package/dest/block/block_hash.d.ts +19 -15
  87. package/dest/block/block_hash.d.ts.map +1 -1
  88. package/dest/block/block_hash.js +23 -21
  89. package/dest/block/block_parameter.d.ts +6 -0
  90. package/dest/block/block_parameter.d.ts.map +1 -0
  91. package/dest/block/block_parameter.js +8 -0
  92. package/dest/block/body.d.ts +1 -1
  93. package/dest/block/body.d.ts.map +1 -1
  94. package/dest/block/body.js +5 -2
  95. package/dest/block/checkpointed_l2_block.d.ts +150 -0
  96. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  97. package/dest/block/checkpointed_l2_block.js +46 -0
  98. package/dest/block/in_block.d.ts +34 -15
  99. package/dest/block/in_block.d.ts.map +1 -1
  100. package/dest/block/in_block.js +21 -12
  101. package/dest/block/index.d.ts +4 -5
  102. package/dest/block/index.d.ts.map +1 -1
  103. package/dest/block/index.js +3 -4
  104. package/dest/block/l2_block.d.ts +59 -59
  105. package/dest/block/l2_block.d.ts.map +1 -1
  106. package/dest/block/l2_block.js +69 -110
  107. package/dest/block/l2_block_info.d.ts +16 -11
  108. package/dest/block/l2_block_info.d.ts.map +1 -1
  109. package/dest/block/l2_block_info.js +8 -7
  110. package/dest/block/l2_block_source.d.ts +390 -151
  111. package/dest/block/l2_block_source.d.ts.map +1 -1
  112. package/dest/block/l2_block_source.js +29 -16
  113. package/dest/block/l2_block_stream/index.d.ts +2 -1
  114. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  115. package/dest/block/l2_block_stream/index.js +1 -0
  116. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  117. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  118. package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -3
  119. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  120. package/dest/block/l2_block_stream/l2_block_stream.js +116 -32
  121. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -15
  122. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  123. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -59
  124. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  125. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  126. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  127. package/dest/block/proposal/attestations_and_signers.d.ts +2 -2
  128. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  129. package/dest/block/proposal/committee_attestation.d.ts +2 -2
  130. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  131. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  132. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  133. package/dest/block/test/l2_tips_store_test_suite.js +482 -43
  134. package/dest/block/validate_block_result.d.ts +24 -24
  135. package/dest/block/validate_block_result.d.ts.map +1 -1
  136. package/dest/block/validate_block_result.js +18 -17
  137. package/dest/checkpoint/checkpoint.d.ts +74 -18
  138. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  139. package/dest/checkpoint/checkpoint.js +78 -16
  140. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  141. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  142. package/dest/checkpoint/checkpoint_data.js +26 -0
  143. package/dest/checkpoint/checkpoint_info.d.ts +38 -0
  144. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  145. package/dest/checkpoint/checkpoint_info.js +34 -0
  146. package/dest/checkpoint/index.d.ts +3 -1
  147. package/dest/checkpoint/index.d.ts.map +1 -1
  148. package/dest/checkpoint/index.js +2 -0
  149. package/dest/checkpoint/published_checkpoint.d.ts +58 -15
  150. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  151. package/dest/checkpoint/published_checkpoint.js +16 -6
  152. package/dest/config/index.d.ts +2 -1
  153. package/dest/config/index.d.ts.map +1 -1
  154. package/dest/config/index.js +1 -0
  155. package/dest/config/node-rpc-config.js +1 -1
  156. package/dest/config/sequencer-config.d.ts +10 -0
  157. package/dest/config/sequencer-config.d.ts.map +1 -0
  158. package/dest/config/sequencer-config.js +18 -0
  159. package/dest/contract/artifact_hash.d.ts +2 -2
  160. package/dest/contract/artifact_hash.d.ts.map +1 -1
  161. package/dest/contract/artifact_hash.js +2 -2
  162. package/dest/contract/complete_address.d.ts +5 -2
  163. package/dest/contract/complete_address.d.ts.map +1 -1
  164. package/dest/contract/complete_address.js +1 -1
  165. package/dest/contract/contract_address.d.ts +2 -2
  166. package/dest/contract/contract_address.d.ts.map +1 -1
  167. package/dest/contract/contract_address.js +6 -6
  168. package/dest/contract/contract_class.d.ts +3 -4
  169. package/dest/contract/contract_class.d.ts.map +1 -1
  170. package/dest/contract/contract_class.js +1 -1
  171. package/dest/contract/contract_class_id.d.ts +3 -3
  172. package/dest/contract/contract_class_id.d.ts.map +1 -1
  173. package/dest/contract/contract_class_id.js +8 -7
  174. package/dest/contract/contract_deployment_data.d.ts +5 -5
  175. package/dest/contract/contract_instance.d.ts +2 -2
  176. package/dest/contract/contract_instance.d.ts.map +1 -1
  177. package/dest/contract/contract_instance.js +1 -1
  178. package/dest/contract/contract_instance_update.d.ts +2 -2
  179. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  180. package/dest/contract/contract_instance_update.js +1 -1
  181. package/dest/contract/deployment_info.d.ts +2 -2
  182. package/dest/contract/deployment_info.d.ts.map +1 -1
  183. package/dest/contract/index.d.ts +1 -3
  184. package/dest/contract/index.d.ts.map +1 -1
  185. package/dest/contract/index.js +0 -2
  186. package/dest/contract/interfaces/contract_class.d.ts +19 -14
  187. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  188. package/dest/contract/interfaces/contract_class.js +35 -18
  189. package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
  190. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  191. package/dest/contract/interfaces/contract_instance.d.ts +40 -31
  192. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  193. package/dest/contract/interfaces/contract_instance.js +30 -5
  194. package/dest/contract/interfaces/contract_instance_update.d.ts +7 -8
  195. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  196. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  197. package/dest/contract/interfaces/node-info.d.ts +3 -1
  198. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  199. package/dest/contract/interfaces/node-info.js +2 -1
  200. package/dest/contract/partial_address.d.ts +2 -2
  201. package/dest/contract/partial_address.d.ts.map +1 -1
  202. package/dest/contract/private_function.d.ts +2 -2
  203. package/dest/contract/private_function.d.ts.map +1 -1
  204. package/dest/contract/private_function.js +5 -5
  205. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  206. package/dest/contract/private_function_membership_proof.js +3 -3
  207. package/dest/contract/utility_function_membership_proof.js +1 -1
  208. package/dest/database-version/database_version.d.ts +58 -0
  209. package/dest/database-version/database_version.d.ts.map +1 -0
  210. package/dest/database-version/database_version.js +69 -0
  211. package/dest/database-version/version_manager.d.ts +3 -49
  212. package/dest/database-version/version_manager.d.ts.map +1 -1
  213. package/dest/database-version/version_manager.js +1 -64
  214. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +3 -3
  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 +9 -12
  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/scheduled_value_change.d.ts +2 -2
  221. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
  222. package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
  223. package/dest/deserialization/index.d.ts +11 -0
  224. package/dest/deserialization/index.d.ts.map +1 -0
  225. package/dest/deserialization/index.js +10 -0
  226. package/dest/epoch-helpers/index.d.ts +7 -1
  227. package/dest/epoch-helpers/index.d.ts.map +1 -1
  228. package/dest/epoch-helpers/index.js +12 -6
  229. package/dest/errors/proving_error.d.ts +2 -2
  230. package/dest/errors/proving_error.d.ts.map +1 -1
  231. package/dest/errors/simulation_error.d.ts +2 -2
  232. package/dest/errors/simulation_error.d.ts.map +1 -1
  233. package/dest/fees/transaction_fee.d.ts +2 -2
  234. package/dest/fees/transaction_fee.d.ts.map +1 -1
  235. package/dest/file-store/local.d.ts +3 -3
  236. package/dest/file-store/local.d.ts.map +1 -1
  237. package/dest/file-store/local.js +13 -4
  238. package/dest/file-store/s3.d.ts +1 -1
  239. package/dest/file-store/s3.d.ts.map +1 -1
  240. package/dest/file-store/s3.js +11 -3
  241. package/dest/gas/gas.d.ts +2 -2
  242. package/dest/gas/gas.d.ts.map +1 -1
  243. package/dest/gas/gas.js +4 -2
  244. package/dest/gas/gas_fees.d.ts +2 -2
  245. package/dest/gas/gas_fees.d.ts.map +1 -1
  246. package/dest/gas/gas_fees.js +3 -1
  247. package/dest/gas/gas_settings.d.ts +2 -2
  248. package/dest/gas/gas_settings.d.ts.map +1 -1
  249. package/dest/gas/gas_settings.js +1 -1
  250. package/dest/ha-signing/config.d.ts +101 -0
  251. package/dest/ha-signing/config.d.ts.map +1 -0
  252. package/dest/ha-signing/config.js +92 -0
  253. package/dest/ha-signing/index.d.ts +3 -0
  254. package/dest/ha-signing/index.d.ts.map +1 -0
  255. package/dest/ha-signing/index.js +2 -0
  256. package/dest/ha-signing/types.d.ts +85 -0
  257. package/dest/ha-signing/types.d.ts.map +1 -0
  258. package/dest/ha-signing/types.js +32 -0
  259. package/dest/hash/hash.d.ts +3 -10
  260. package/dest/hash/hash.d.ts.map +1 -1
  261. package/dest/hash/hash.js +17 -22
  262. package/dest/hash/map_slot.d.ts +2 -2
  263. package/dest/hash/map_slot.d.ts.map +1 -1
  264. package/dest/hash/map_slot.js +4 -3
  265. package/dest/interfaces/allowed_element.d.ts +8 -9
  266. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  267. package/dest/interfaces/allowed_element.js +3 -3
  268. package/dest/interfaces/api_limit.d.ts +3 -1
  269. package/dest/interfaces/api_limit.d.ts.map +1 -1
  270. package/dest/interfaces/api_limit.js +2 -0
  271. package/dest/interfaces/archiver.d.ts +12 -7
  272. package/dest/interfaces/archiver.d.ts.map +1 -1
  273. package/dest/interfaces/archiver.js +40 -21
  274. package/dest/interfaces/aztec-node-admin.d.ts +140 -42
  275. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  276. package/dest/interfaces/aztec-node-admin.js +15 -7
  277. package/dest/interfaces/aztec-node.d.ts +90 -95
  278. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  279. package/dest/interfaces/aztec-node.js +32 -33
  280. package/dest/interfaces/block-builder.d.ts +24 -14
  281. package/dest/interfaces/block-builder.d.ts.map +1 -1
  282. package/dest/interfaces/block-builder.js +16 -1
  283. package/dest/interfaces/configs.d.ts +71 -27
  284. package/dest/interfaces/configs.d.ts.map +1 -1
  285. package/dest/interfaces/configs.js +15 -6
  286. package/dest/interfaces/epoch-prover.d.ts +5 -5
  287. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  288. package/dest/interfaces/get_logs_response.d.ts +30 -6
  289. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  290. package/dest/interfaces/get_logs_response.js +5 -4
  291. package/dest/interfaces/l2_logs_source.d.ts +21 -15
  292. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  293. package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
  294. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  295. package/dest/interfaces/p2p.d.ts +7 -9
  296. package/dest/interfaces/p2p.d.ts.map +1 -1
  297. package/dest/interfaces/p2p.js +3 -4
  298. package/dest/interfaces/prover-broker.d.ts +16 -1
  299. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  300. package/dest/interfaces/prover-broker.js +4 -1
  301. package/dest/interfaces/prover-client.d.ts +19 -3
  302. package/dest/interfaces/prover-client.d.ts.map +1 -1
  303. package/dest/interfaces/prover-client.js +16 -4
  304. package/dest/interfaces/proving-job.d.ts +60 -56
  305. package/dest/interfaces/proving-job.d.ts.map +1 -1
  306. package/dest/interfaces/proving-job.js +1 -7
  307. package/dest/interfaces/public_state_source.d.ts +2 -2
  308. package/dest/interfaces/public_state_source.d.ts.map +1 -1
  309. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  310. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  311. package/dest/interfaces/slasher.d.ts +9 -1
  312. package/dest/interfaces/slasher.d.ts.map +1 -1
  313. package/dest/interfaces/slasher.js +5 -3
  314. package/dest/interfaces/validator.d.ts +162 -27
  315. package/dest/interfaces/validator.d.ts.map +1 -1
  316. package/dest/interfaces/validator.js +12 -7
  317. package/dest/interfaces/world_state.d.ts +23 -31
  318. package/dest/interfaces/world_state.d.ts.map +1 -1
  319. package/dest/interfaces/world_state.js +4 -3
  320. package/dest/kernel/claimed_length_array.d.ts +2 -2
  321. package/dest/kernel/claimed_length_array.d.ts.map +1 -1
  322. package/dest/kernel/claimed_length_array.js +3 -1
  323. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  324. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  325. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  326. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  327. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  328. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  329. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  330. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  331. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  332. package/dest/kernel/hints/index.d.ts +2 -2
  333. package/dest/kernel/hints/index.js +2 -2
  334. package/dest/kernel/hints/key_validation_hint.d.ts +3 -2
  335. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  336. package/dest/kernel/hints/key_validation_hint.js +1 -1
  337. package/dest/kernel/hints/key_validation_request.d.ts +5 -3
  338. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  339. package/dest/kernel/hints/key_validation_request.js +2 -1
  340. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  341. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  342. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +13 -16
  343. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
  344. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  345. package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
  346. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  347. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  348. package/dest/kernel/hints/read_request.d.ts +8 -2
  349. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  350. package/dest/kernel/hints/read_request.js +1 -1
  351. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  352. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  353. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +9 -9
  354. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  355. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  356. package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
  357. package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
  358. package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
  359. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
  360. package/dest/kernel/hints/transient_data_squashing_hint.js +4 -2
  361. package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
  362. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  363. package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
  364. package/dest/kernel/log_hash.d.ts +2 -2
  365. package/dest/kernel/log_hash.d.ts.map +1 -1
  366. package/dest/kernel/log_hash.js +4 -2
  367. package/dest/kernel/note_hash.d.ts +2 -2
  368. package/dest/kernel/note_hash.d.ts.map +1 -1
  369. package/dest/kernel/note_hash.js +1 -1
  370. package/dest/kernel/nullifier.d.ts +2 -2
  371. package/dest/kernel/nullifier.d.ts.map +1 -1
  372. package/dest/kernel/nullifier.js +1 -1
  373. package/dest/kernel/padded_side_effects.d.ts +2 -2
  374. package/dest/kernel/padded_side_effects.d.ts.map +1 -1
  375. package/dest/kernel/padded_side_effects.js +1 -1
  376. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  377. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  378. package/dest/kernel/private_call_data.d.ts +26 -2
  379. package/dest/kernel/private_call_data.d.ts.map +1 -1
  380. package/dest/kernel/private_call_data.js +1 -1
  381. package/dest/kernel/private_call_request.d.ts +17 -2
  382. package/dest/kernel/private_call_request.d.ts.map +1 -1
  383. package/dest/kernel/private_call_request.js +1 -1
  384. package/dest/kernel/private_circuit_public_inputs.d.ts +127 -54
  385. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_circuit_public_inputs.js +72 -72
  387. package/dest/kernel/private_context_inputs.d.ts +2 -2
  388. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  389. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +34 -4
  390. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  391. package/dest/kernel/private_kernel_circuit_public_inputs.js +5 -5
  392. package/dest/kernel/private_kernel_data.d.ts +7 -1
  393. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  394. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +23 -2
  395. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  396. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +1 -1
  397. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  398. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  399. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  400. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  402. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  403. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  404. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +26 -4
  405. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  406. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +8 -8
  407. package/dest/kernel/private_log_data.d.ts +2 -2
  408. package/dest/kernel/private_log_data.d.ts.map +1 -1
  409. package/dest/kernel/private_log_data.js +5 -2
  410. package/dest/kernel/private_to_avm_accumulated_data.d.ts +4 -4
  411. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  412. package/dest/kernel/private_to_avm_accumulated_data.js +6 -3
  413. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -2
  414. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  415. package/dest/kernel/private_to_public_accumulated_data.js +4 -2
  416. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
  417. package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
  418. package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
  419. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -4
  420. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  421. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +8 -8
  422. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +18 -2
  423. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  424. package/dest/kernel/private_to_rollup_accumulated_data.js +4 -2
  425. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +19 -4
  426. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  427. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +8 -8
  428. package/dest/kernel/private_validation_requests.d.ts +13 -4
  429. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  430. package/dest/kernel/private_validation_requests.js +12 -10
  431. package/dest/kernel/public_call_request.d.ts +23 -2
  432. package/dest/kernel/public_call_request.d.ts.map +1 -1
  433. package/dest/kernel/public_call_request.js +6 -3
  434. package/dest/kernel/utils/optional_number.d.ts +8 -2
  435. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  436. package/dest/keys/derivation.d.ts +7 -6
  437. package/dest/keys/derivation.d.ts.map +1 -1
  438. package/dest/keys/derivation.js +20 -17
  439. package/dest/keys/key_types.d.ts +3 -3
  440. package/dest/keys/key_types.d.ts.map +1 -1
  441. package/dest/keys/public_key.d.ts +2 -2
  442. package/dest/keys/public_key.d.ts.map +1 -1
  443. package/dest/keys/public_keys.d.ts +7 -2
  444. package/dest/keys/public_keys.d.ts.map +1 -1
  445. package/dest/keys/public_keys.js +5 -4
  446. package/dest/keys/utils.d.ts +1 -1
  447. package/dest/keys/utils.d.ts.map +1 -1
  448. package/dest/keys/utils.js +8 -4
  449. package/dest/l1-contracts/slash_factory.d.ts +3 -2
  450. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  451. package/dest/l1-contracts/slash_factory.js +2 -1
  452. package/dest/logs/contract_class_log.d.ts +2 -2
  453. package/dest/logs/contract_class_log.d.ts.map +1 -1
  454. package/dest/logs/contract_class_log.js +5 -3
  455. package/dest/logs/debug_log.d.ts +2 -2
  456. package/dest/logs/debug_log.d.ts.map +1 -1
  457. package/dest/logs/debug_log.js +1 -1
  458. package/dest/logs/directional_app_tagging_secret.d.ts +2 -2
  459. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
  460. package/dest/logs/directional_app_tagging_secret.js +3 -2
  461. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  462. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  463. package/dest/logs/extended_public_log.d.ts +20 -4
  464. package/dest/logs/extended_public_log.d.ts.map +1 -1
  465. package/dest/logs/index.d.ts +3 -2
  466. package/dest/logs/index.d.ts.map +1 -1
  467. package/dest/logs/index.js +2 -1
  468. package/dest/logs/log_id.d.ts +29 -11
  469. package/dest/logs/log_id.d.ts.map +1 -1
  470. package/dest/logs/log_id.js +27 -16
  471. package/dest/logs/message_context.d.ts +2 -2
  472. package/dest/logs/message_context.d.ts.map +1 -1
  473. package/dest/logs/message_context.js +1 -1
  474. package/dest/logs/pending_tagged_log.d.ts +2 -2
  475. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  476. package/dest/logs/pending_tagged_log.js +1 -1
  477. package/dest/logs/private_log.d.ts +3 -3
  478. package/dest/logs/private_log.d.ts.map +1 -1
  479. package/dest/logs/private_log.js +6 -3
  480. package/dest/logs/public_log.d.ts +3 -2
  481. package/dest/logs/public_log.d.ts.map +1 -1
  482. package/dest/logs/public_log.js +7 -2
  483. package/dest/logs/shared_secret_derivation.d.ts +2 -2
  484. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  485. package/dest/logs/shared_secret_derivation.js +1 -1
  486. package/dest/logs/siloed_tag.d.ts +23 -0
  487. package/dest/logs/siloed_tag.d.ts.map +1 -0
  488. package/dest/logs/siloed_tag.js +27 -0
  489. package/dest/logs/tag.d.ts +21 -0
  490. package/dest/logs/tag.d.ts.map +1 -0
  491. package/dest/logs/tag.js +30 -0
  492. package/dest/logs/tx_scoped_l2_log.d.ts +32 -38
  493. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  494. package/dest/logs/tx_scoped_l2_log.js +40 -45
  495. package/dest/messaging/in_hash.d.ts +5 -3
  496. package/dest/messaging/in_hash.d.ts.map +1 -1
  497. package/dest/messaging/in_hash.js +4 -2
  498. package/dest/messaging/inbox_leaf.d.ts +10 -7
  499. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  500. package/dest/messaging/inbox_leaf.js +10 -9
  501. package/dest/messaging/l1_actor.d.ts +8 -2
  502. package/dest/messaging/l1_actor.d.ts.map +1 -1
  503. package/dest/messaging/l1_actor.js +2 -2
  504. package/dest/messaging/l1_to_l2_message.d.ts +7 -2
  505. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  506. package/dest/messaging/l1_to_l2_message.js +2 -2
  507. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
  508. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  509. package/dest/messaging/l2_actor.d.ts +8 -2
  510. package/dest/messaging/l2_actor.d.ts.map +1 -1
  511. package/dest/messaging/l2_actor.js +2 -2
  512. package/dest/messaging/l2_to_l1_membership.d.ts +89 -6
  513. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  514. package/dest/messaging/l2_to_l1_membership.js +161 -43
  515. package/dest/messaging/l2_to_l1_message.d.ts +3 -2
  516. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  517. package/dest/messaging/l2_to_l1_message.js +4 -1
  518. package/dest/messaging/out_hash.d.ts +42 -4
  519. package/dest/messaging/out_hash.d.ts.map +1 -1
  520. package/dest/messaging/out_hash.js +55 -20
  521. package/dest/note/index.d.ts +1 -2
  522. package/dest/note/index.d.ts.map +1 -1
  523. package/dest/note/index.js +0 -1
  524. package/dest/note/note.d.ts +2 -2
  525. package/dest/note/note.d.ts.map +1 -1
  526. package/dest/note/note.js +5 -2
  527. package/dest/note/note_dao.d.ts +48 -9
  528. package/dest/note/note_dao.d.ts.map +1 -1
  529. package/dest/note/note_dao.js +29 -15
  530. package/dest/p2p/attestation_utils.d.ts +3 -3
  531. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  532. package/dest/p2p/attestation_utils.js +1 -1
  533. package/dest/p2p/block_proposal.d.ts +103 -24
  534. package/dest/p2p/block_proposal.d.ts.map +1 -1
  535. package/dest/p2p/block_proposal.js +140 -40
  536. package/dest/p2p/checkpoint_attestation.d.ts +82 -0
  537. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  538. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +24 -20
  539. package/dest/p2p/checkpoint_proposal.d.ts +179 -0
  540. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  541. package/dest/p2p/checkpoint_proposal.js +243 -0
  542. package/dest/p2p/consensus_payload.d.ts +21 -12
  543. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  544. package/dest/p2p/consensus_payload.js +25 -20
  545. package/dest/p2p/constants.d.ts +5 -0
  546. package/dest/p2p/constants.d.ts.map +1 -0
  547. package/dest/p2p/constants.js +3 -0
  548. package/dest/p2p/gossipable.d.ts +4 -3
  549. package/dest/p2p/gossipable.d.ts.map +1 -1
  550. package/dest/p2p/gossipable.js +16 -5
  551. package/dest/p2p/index.d.ts +5 -2
  552. package/dest/p2p/index.d.ts.map +1 -1
  553. package/dest/p2p/index.js +4 -1
  554. package/dest/p2p/message_validator.d.ts +18 -3
  555. package/dest/p2p/message_validator.d.ts.map +1 -1
  556. package/dest/p2p/message_validator.js +2 -1
  557. package/dest/p2p/signature_utils.d.ts +5 -3
  558. package/dest/p2p/signature_utils.d.ts.map +1 -1
  559. package/dest/p2p/signature_utils.js +5 -2
  560. package/dest/p2p/signed_txs.d.ts +42 -0
  561. package/dest/p2p/signed_txs.d.ts.map +1 -0
  562. package/dest/p2p/signed_txs.js +75 -0
  563. package/dest/p2p/topic_type.d.ts +3 -2
  564. package/dest/p2p/topic_type.d.ts.map +1 -1
  565. package/dest/p2p/topic_type.js +10 -3
  566. package/dest/parity/parity_base_private_inputs.d.ts +4 -2
  567. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  568. package/dest/parity/parity_base_private_inputs.js +1 -1
  569. package/dest/parity/parity_public_inputs.d.ts +5 -2
  570. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  571. package/dest/parity/parity_public_inputs.js +1 -1
  572. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  573. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  574. package/dest/proofs/chonk_proof.d.ts +2 -2
  575. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  576. package/dest/proofs/chonk_proof.js +11 -6
  577. package/dest/proofs/proof.d.ts +5 -2
  578. package/dest/proofs/proof.d.ts.map +1 -1
  579. package/dest/proofs/proof.js +1 -1
  580. package/dest/proofs/proof_data.d.ts +13 -1
  581. package/dest/proofs/proof_data.d.ts.map +1 -1
  582. package/dest/proofs/proof_data.js +17 -0
  583. package/dest/proofs/recursive_proof.d.ts +11 -2
  584. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  585. package/dest/proofs/recursive_proof.js +1 -1
  586. package/dest/rollup/avm_proof_data.d.ts +3 -5
  587. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  588. package/dest/rollup/avm_proof_data.js +1 -9
  589. package/dest/rollup/base_rollup_hints.d.ts +35 -2
  590. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  591. package/dest/rollup/base_rollup_hints.js +1 -1
  592. package/dest/rollup/block_constant_data.d.ts +13 -2
  593. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  594. package/dest/rollup/block_constant_data.js +1 -1
  595. package/dest/rollup/block_headers_hash.d.ts +2 -2
  596. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  597. package/dest/rollup/block_headers_hash.js +2 -2
  598. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  599. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  600. package/dest/rollup/block_rollup_public_inputs.d.ts +48 -12
  601. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  602. package/dest/rollup/block_rollup_public_inputs.js +9 -13
  603. package/dest/rollup/block_root_rollup_private_inputs.d.ts +65 -2
  604. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  605. package/dest/rollup/block_root_rollup_private_inputs.js +1 -1
  606. package/dest/rollup/checkpoint_constant_data.d.ts +12 -2
  607. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  608. package/dest/rollup/checkpoint_constant_data.js +5 -2
  609. package/dest/rollup/checkpoint_header.d.ts +47 -13
  610. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  611. package/dest/rollup/checkpoint_header.js +55 -22
  612. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  613. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  614. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +47 -7
  615. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  616. package/dest/rollup/checkpoint_rollup_public_inputs.js +12 -4
  617. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +46 -4
  618. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  619. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +15 -3
  620. package/dest/rollup/epoch_constant_data.d.ts +17 -2
  621. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  622. package/dest/rollup/epoch_constant_data.js +1 -1
  623. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  624. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  625. package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
  626. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  627. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  628. package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
  629. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
  630. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  631. package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
  632. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  633. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  634. package/dest/rollup/root_rollup_public_inputs.d.ts +22 -7
  635. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  636. package/dest/rollup/root_rollup_public_inputs.js +11 -5
  637. package/dest/rollup/tree_snapshot_diff_hints.d.ts +25 -2
  638. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  639. package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
  640. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  641. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  642. package/dest/rollup/tx_rollup_public_inputs.d.ts +30 -2
  643. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  644. package/dest/rollup/tx_rollup_public_inputs.js +1 -1
  645. package/dest/schemas/schemas.d.ts +7 -4
  646. package/dest/schemas/schemas.d.ts.map +1 -1
  647. package/dest/schemas/schemas.js +2 -1
  648. package/dest/slashing/empire.d.ts +1 -1
  649. package/dest/slashing/empire.d.ts.map +1 -1
  650. package/dest/slashing/empire.js +2 -0
  651. package/dest/slashing/helpers.d.ts +2 -2
  652. package/dest/slashing/helpers.d.ts.map +1 -1
  653. package/dest/slashing/helpers.js +6 -0
  654. package/dest/slashing/tally.d.ts +2 -1
  655. package/dest/slashing/tally.d.ts.map +1 -1
  656. package/dest/slashing/tally.js +6 -2
  657. package/dest/slashing/types.d.ts +10 -7
  658. package/dest/slashing/types.d.ts.map +1 -1
  659. package/dest/slashing/types.js +18 -6
  660. package/dest/snapshots/types.d.ts +1 -1
  661. package/dest/snapshots/types.d.ts.map +1 -1
  662. package/dest/snapshots/types.js +5 -5
  663. package/dest/stats/stats.d.ts +10 -8
  664. package/dest/stats/stats.d.ts.map +1 -1
  665. package/dest/tests/factories.d.ts +42 -12
  666. package/dest/tests/factories.d.ts.map +1 -1
  667. package/dest/tests/factories.js +110 -43
  668. package/dest/tests/jest.js +1 -1
  669. package/dest/tests/mocks.d.ts +90 -19
  670. package/dest/tests/mocks.d.ts.map +1 -1
  671. package/dest/tests/mocks.js +192 -62
  672. package/dest/timetable/index.d.ts +37 -0
  673. package/dest/timetable/index.d.ts.map +1 -0
  674. package/dest/timetable/index.js +39 -0
  675. package/dest/trees/append_only_tree_snapshot.d.ts +14 -2
  676. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  677. package/dest/trees/append_only_tree_snapshot.js +4 -2
  678. package/dest/trees/database_public_state_source.d.ts +2 -2
  679. package/dest/trees/database_public_state_source.d.ts.map +1 -1
  680. package/dest/trees/database_public_state_source.js +1 -1
  681. package/dest/trees/nullifier_leaf.d.ts +14 -2
  682. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  683. package/dest/trees/nullifier_leaf.js +1 -1
  684. package/dest/trees/nullifier_membership_witness.d.ts +11 -2
  685. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  686. package/dest/trees/nullifier_membership_witness.js +1 -1
  687. package/dest/trees/public_data_leaf.d.ts +18 -2
  688. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  689. package/dest/trees/public_data_leaf.js +8 -7
  690. package/dest/trees/public_data_witness.d.ts +12 -2
  691. package/dest/trees/public_data_witness.d.ts.map +1 -1
  692. package/dest/trees/public_data_witness.js +1 -1
  693. package/dest/tx/block_header.d.ts +25 -12
  694. package/dest/tx/block_header.d.ts.map +1 -1
  695. package/dest/tx/block_header.js +16 -5
  696. package/dest/tx/call_context.d.ts +14 -2
  697. package/dest/tx/call_context.d.ts.map +1 -1
  698. package/dest/tx/call_context.js +3 -1
  699. package/dest/tx/capsule.d.ts +5 -2
  700. package/dest/tx/capsule.d.ts.map +1 -1
  701. package/dest/tx/capsule.js +1 -1
  702. package/dest/tx/execution_payload.d.ts +9 -1
  703. package/dest/tx/execution_payload.d.ts.map +1 -1
  704. package/dest/tx/function_data.d.ts +5 -3
  705. package/dest/tx/function_data.d.ts.map +1 -1
  706. package/dest/tx/function_data.js +1 -1
  707. package/dest/tx/global_variable_builder.d.ts +5 -3
  708. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  709. package/dest/tx/global_variables.d.ts +27 -12
  710. package/dest/tx/global_variables.d.ts.map +1 -1
  711. package/dest/tx/global_variables.js +11 -9
  712. package/dest/tx/hashed_values.d.ts +8 -2
  713. package/dest/tx/hashed_values.d.ts.map +1 -1
  714. package/dest/tx/hashed_values.js +1 -1
  715. package/dest/tx/in_tx.d.ts +26 -0
  716. package/dest/tx/in_tx.d.ts.map +1 -0
  717. package/dest/tx/in_tx.js +14 -0
  718. package/dest/tx/index.d.ts +2 -2
  719. package/dest/tx/index.d.ts.map +1 -1
  720. package/dest/tx/index.js +1 -1
  721. package/dest/tx/indexed_tx_effect.d.ts +14 -10
  722. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  723. package/dest/tx/indexed_tx_effect.js +8 -6
  724. package/dest/tx/offchain_effect.d.ts +2 -2
  725. package/dest/tx/offchain_effect.d.ts.map +1 -1
  726. package/dest/tx/offchain_effect.js +1 -1
  727. package/dest/tx/partial_state_reference.d.ts +5 -2
  728. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  729. package/dest/tx/private_execution_result.d.ts +27 -10
  730. package/dest/tx/private_execution_result.d.ts.map +1 -1
  731. package/dest/tx/private_execution_result.js +6 -23
  732. package/dest/tx/private_tx_constant_data.d.ts +17 -2
  733. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  734. package/dest/tx/private_tx_constant_data.js +1 -1
  735. package/dest/tx/processed_tx.d.ts +5 -4
  736. package/dest/tx/processed_tx.d.ts.map +1 -1
  737. package/dest/tx/processed_tx.js +8 -7
  738. package/dest/tx/profiling.d.ts +153 -30
  739. package/dest/tx/profiling.d.ts.map +1 -1
  740. package/dest/tx/profiling.js +48 -11
  741. package/dest/tx/protocol_contracts.d.ts +3 -3
  742. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  743. package/dest/tx/protocol_contracts.js +3 -3
  744. package/dest/tx/public_call_request_with_calldata.d.ts +8 -2
  745. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  746. package/dest/tx/public_call_request_with_calldata.js +4 -2
  747. package/dest/tx/public_simulation_output.d.ts +5 -3
  748. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  749. package/dest/tx/public_simulation_output.js +8 -4
  750. package/dest/tx/simulated_tx.d.ts +1031 -7
  751. package/dest/tx/simulated_tx.d.ts.map +1 -1
  752. package/dest/tx/state_reference.d.ts +4 -2
  753. package/dest/tx/state_reference.d.ts.map +1 -1
  754. package/dest/tx/state_reference.js +3 -1
  755. package/dest/tx/tree_snapshots.d.ts +2 -2
  756. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  757. package/dest/tx/tree_snapshots.js +3 -1
  758. package/dest/tx/tx.d.ts +35 -5
  759. package/dest/tx/tx.d.ts.map +1 -1
  760. package/dest/tx/tx.js +20 -7
  761. package/dest/tx/tx_constant_data.d.ts +2 -2
  762. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  763. package/dest/tx/tx_constant_data.js +1 -1
  764. package/dest/tx/tx_context.d.ts +3 -2
  765. package/dest/tx/tx_context.d.ts.map +1 -1
  766. package/dest/tx/tx_context.js +1 -1
  767. package/dest/tx/tx_effect.d.ts +33 -7
  768. package/dest/tx/tx_effect.d.ts.map +1 -1
  769. package/dest/tx/tx_effect.js +8 -11
  770. package/dest/tx/tx_execution_request.d.ts +31 -2
  771. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  772. package/dest/tx/tx_execution_request.js +7 -3
  773. package/dest/tx/tx_hash.d.ts +3 -2
  774. package/dest/tx/tx_hash.d.ts.map +1 -1
  775. package/dest/tx/tx_hash.js +1 -1
  776. package/dest/tx/tx_receipt.d.ts +50 -15
  777. package/dest/tx/tx_receipt.d.ts.map +1 -1
  778. package/dest/tx/tx_receipt.js +48 -16
  779. package/dest/tx/tx_request.d.ts +7 -2
  780. package/dest/tx/tx_request.d.ts.map +1 -1
  781. package/dest/tx/tx_request.js +4 -4
  782. package/dest/tx/validator/empty_validator.d.ts +2 -2
  783. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  784. package/dest/tx/validator/error_texts.d.ts +3 -2
  785. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  786. package/dest/tx/validator/error_texts.js +3 -1
  787. package/dest/tx/validator/tx_validator.d.ts +2 -5
  788. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  789. package/dest/tx/validator/tx_validator.js +4 -4
  790. package/dest/types/shared.d.ts +4 -1
  791. package/dest/types/shared.d.ts.map +1 -1
  792. package/dest/update-checker/update-checker.d.ts +2 -2
  793. package/dest/update-checker/update-checker.d.ts.map +1 -1
  794. package/dest/update-checker/update-checker.js +1 -1
  795. package/dest/validators/errors.d.ts +2 -2
  796. package/dest/validators/errors.d.ts.map +1 -1
  797. package/dest/validators/schemas.d.ts +38 -38
  798. package/dest/validators/schemas.d.ts.map +1 -1
  799. package/dest/validators/schemas.js +17 -16
  800. package/dest/validators/types.d.ts +3 -3
  801. package/dest/validators/types.d.ts.map +1 -1
  802. package/dest/versioning/versioning.d.ts +2 -2
  803. package/dest/versioning/versioning.d.ts.map +1 -1
  804. package/dest/vks/verification_key.d.ts +23 -2
  805. package/dest/vks/verification_key.d.ts.map +1 -1
  806. package/dest/vks/verification_key.js +1 -1
  807. package/dest/vks/vk_data.d.ts +8 -2
  808. package/dest/vks/vk_data.d.ts.map +1 -1
  809. package/dest/vks/vk_data.js +1 -1
  810. package/dest/zkpassport/index.d.ts +4 -5
  811. package/dest/zkpassport/index.d.ts.map +1 -1
  812. package/dest/zkpassport/index.js +11 -11
  813. package/package.json +33 -14
  814. package/src/abi/abi.ts +40 -34
  815. package/src/abi/authorization_selector.ts +3 -2
  816. package/src/abi/buffer.ts +1 -1
  817. package/src/abi/contract_artifact.ts +10 -10
  818. package/src/abi/decoder.ts +1 -1
  819. package/src/abi/encoder.ts +1 -1
  820. package/src/abi/event_selector.ts +3 -2
  821. package/src/abi/function_call.ts +26 -4
  822. package/src/abi/function_selector.ts +11 -2
  823. package/src/abi/note_selector.ts +2 -2
  824. package/src/abi/selector.ts +1 -1
  825. package/src/abi/utils.ts +17 -0
  826. package/src/auth_witness/auth_witness.ts +5 -5
  827. package/src/avm/avm.ts +338 -20
  828. package/src/avm/avm_accumulated_data.ts +1 -1
  829. package/src/avm/avm_circuit_public_inputs.ts +1 -1
  830. package/src/avm/contract_storage_read.ts +1 -1
  831. package/src/avm/contract_storage_update_request.ts +1 -1
  832. package/src/avm/message_pack.ts +2 -1
  833. package/src/avm/public_call_stack_item_compressed.ts +1 -1
  834. package/src/avm/public_data_read.ts +1 -1
  835. package/src/avm/public_data_update_request.ts +1 -1
  836. package/src/avm/public_data_write.ts +1 -1
  837. package/src/avm/public_inner_call_request.ts +1 -1
  838. package/src/avm/revert_code.ts +1 -1
  839. package/src/aztec-address/index.ts +2 -1
  840. package/src/block/attestation_info.ts +10 -7
  841. package/src/block/block_data.ts +26 -0
  842. package/src/block/block_hash.ts +27 -26
  843. package/src/block/block_parameter.ts +10 -0
  844. package/src/block/body.ts +2 -1
  845. package/src/block/checkpointed_l2_block.ts +70 -0
  846. package/src/block/in_block.ts +28 -15
  847. package/src/block/index.ts +3 -4
  848. package/src/block/l2_block.ts +107 -141
  849. package/src/block/l2_block_info.ts +11 -10
  850. package/src/block/l2_block_source.ts +218 -71
  851. package/src/block/l2_block_stream/index.ts +1 -0
  852. package/src/block/l2_block_stream/interfaces.ts +15 -4
  853. package/src/block/l2_block_stream/l2_block_stream.ts +142 -37
  854. package/src/block/l2_block_stream/l2_tips_memory_store.ts +63 -54
  855. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  856. package/src/block/proposal/attestations_and_signers.ts +1 -1
  857. package/src/block/proposal/committee_attestation.ts +1 -1
  858. package/src/block/test/l2_tips_store_test_suite.ts +486 -36
  859. package/src/block/validate_block_result.ts +40 -35
  860. package/src/checkpoint/checkpoint.ts +115 -27
  861. package/src/checkpoint/checkpoint_data.ts +51 -0
  862. package/src/checkpoint/checkpoint_info.ts +52 -0
  863. package/src/checkpoint/index.ts +2 -0
  864. package/src/checkpoint/published_checkpoint.ts +26 -9
  865. package/src/config/index.ts +1 -0
  866. package/src/config/node-rpc-config.ts +1 -1
  867. package/src/config/sequencer-config.ts +29 -0
  868. package/src/contract/artifact_hash.ts +2 -2
  869. package/src/contract/complete_address.ts +1 -1
  870. package/src/contract/contract_address.ts +6 -6
  871. package/src/contract/contract_class.ts +5 -5
  872. package/src/contract/contract_class_id.ts +8 -7
  873. package/src/contract/contract_instance.ts +1 -1
  874. package/src/contract/contract_instance_update.ts +1 -1
  875. package/src/contract/deployment_info.ts +1 -1
  876. package/src/contract/index.ts +0 -2
  877. package/src/contract/interfaces/contract_class.ts +78 -47
  878. package/src/contract/interfaces/contract_data_source.ts +3 -2
  879. package/src/contract/interfaces/contract_instance.ts +48 -16
  880. package/src/contract/interfaces/contract_instance_update.ts +12 -10
  881. package/src/contract/interfaces/node-info.ts +3 -0
  882. package/src/contract/partial_address.ts +1 -1
  883. package/src/contract/private_function.ts +5 -5
  884. package/src/contract/private_function_membership_proof.ts +3 -3
  885. package/src/contract/utility_function_membership_proof.ts +1 -1
  886. package/src/database-version/database_version.ts +87 -0
  887. package/src/database-version/version_manager.ts +1 -77
  888. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +11 -12
  889. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
  890. package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
  891. package/src/deserialization/index.ts +21 -0
  892. package/src/epoch-helpers/index.ts +24 -10
  893. package/src/errors/simulation_error.ts +1 -1
  894. package/src/fees/transaction_fee.ts +1 -1
  895. package/src/file-store/local.ts +15 -5
  896. package/src/file-store/s3.ts +12 -3
  897. package/src/gas/gas.ts +1 -1
  898. package/src/gas/gas_fees.ts +1 -1
  899. package/src/gas/gas_settings.ts +1 -1
  900. package/src/ha-signing/config.ts +149 -0
  901. package/src/ha-signing/index.ts +18 -0
  902. package/src/ha-signing/types.ts +112 -0
  903. package/src/hash/hash.ts +15 -21
  904. package/src/hash/map_slot.ts +4 -3
  905. package/src/interfaces/allowed_element.ts +10 -8
  906. package/src/interfaces/api_limit.ts +2 -0
  907. package/src/interfaces/archiver.ts +54 -29
  908. package/src/interfaces/aztec-node-admin.ts +33 -6
  909. package/src/interfaces/aztec-node.ts +159 -174
  910. package/src/interfaces/block-builder.ts +52 -23
  911. package/src/interfaces/configs.ts +78 -33
  912. package/src/interfaces/epoch-prover.ts +4 -4
  913. package/src/interfaces/get_logs_response.ts +13 -9
  914. package/src/interfaces/l2_logs_source.ts +24 -14
  915. package/src/interfaces/merkle_tree_operations.ts +7 -3
  916. package/src/interfaces/p2p.ts +8 -12
  917. package/src/interfaces/prover-broker.ts +22 -0
  918. package/src/interfaces/prover-client.ts +35 -10
  919. package/src/interfaces/proving-job.ts +2 -11
  920. package/src/interfaces/public_state_source.ts +1 -1
  921. package/src/interfaces/server_circuit_prover.ts +3 -3
  922. package/src/interfaces/slasher.ts +28 -22
  923. package/src/interfaces/validator.ts +94 -32
  924. package/src/interfaces/world_state.ts +26 -18
  925. package/src/kernel/claimed_length_array.ts +1 -1
  926. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  927. package/src/kernel/hints/build_nullifier_read_request_hints.ts +18 -15
  928. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  929. package/src/kernel/hints/index.ts +2 -2
  930. package/src/kernel/hints/key_validation_hint.ts +1 -1
  931. package/src/kernel/hints/key_validation_request.ts +2 -1
  932. package/src/kernel/hints/key_validation_request_and_separator.ts +49 -0
  933. package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
  934. package/src/kernel/hints/read_request.ts +1 -1
  935. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +11 -11
  936. package/src/kernel/hints/scoped_value_cache.ts +1 -1
  937. package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
  938. package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
  939. package/src/kernel/log_hash.ts +1 -1
  940. package/src/kernel/note_hash.ts +1 -1
  941. package/src/kernel/nullifier.ts +1 -1
  942. package/src/kernel/padded_side_effects.ts +1 -1
  943. package/src/kernel/private_call_data.ts +1 -1
  944. package/src/kernel/private_call_request.ts +1 -1
  945. package/src/kernel/private_circuit_public_inputs.ts +100 -100
  946. package/src/kernel/private_context_inputs.ts +1 -1
  947. package/src/kernel/private_kernel_circuit_public_inputs.ts +3 -3
  948. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +1 -1
  949. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  950. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +6 -6
  951. package/src/kernel/private_log_data.ts +1 -1
  952. package/src/kernel/private_to_avm_accumulated_data.ts +1 -1
  953. package/src/kernel/private_to_public_accumulated_data.ts +1 -1
  954. package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
  955. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +7 -7
  956. package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
  957. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +7 -7
  958. package/src/kernel/private_validation_requests.ts +8 -8
  959. package/src/kernel/public_call_request.ts +1 -1
  960. package/src/kernel/utils/optional_number.ts +1 -1
  961. package/src/keys/derivation.ts +20 -17
  962. package/src/keys/key_types.ts +6 -2
  963. package/src/keys/public_key.ts +1 -1
  964. package/src/keys/public_keys.ts +5 -4
  965. package/src/keys/utils.ts +8 -4
  966. package/src/l1-contracts/slash_factory.ts +4 -1
  967. package/src/logs/contract_class_log.ts +2 -2
  968. package/src/logs/debug_log.ts +1 -1
  969. package/src/logs/directional_app_tagging_secret.ts +4 -2
  970. package/src/logs/index.ts +2 -1
  971. package/src/logs/log_id.ts +32 -17
  972. package/src/logs/message_context.ts +1 -1
  973. package/src/logs/pending_tagged_log.ts +1 -1
  974. package/src/logs/private_log.ts +3 -2
  975. package/src/logs/public_log.ts +8 -1
  976. package/src/logs/shared_secret_derivation.ts +2 -2
  977. package/src/logs/siloed_tag.ts +44 -0
  978. package/src/logs/tag.ts +42 -0
  979. package/src/logs/tx_scoped_l2_log.ts +48 -45
  980. package/src/messaging/in_hash.ts +4 -2
  981. package/src/messaging/inbox_leaf.ts +11 -10
  982. package/src/messaging/l1_actor.ts +2 -2
  983. package/src/messaging/l1_to_l2_message.ts +3 -2
  984. package/src/messaging/l1_to_l2_message_source.ts +5 -10
  985. package/src/messaging/l2_actor.ts +2 -2
  986. package/src/messaging/l2_to_l1_membership.ts +179 -52
  987. package/src/messaging/l2_to_l1_message.ts +5 -1
  988. package/src/messaging/out_hash.ts +63 -22
  989. package/src/note/index.ts +0 -1
  990. package/src/note/note.ts +5 -2
  991. package/src/note/note_dao.ts +51 -15
  992. package/src/p2p/attestation_utils.ts +3 -3
  993. package/src/p2p/block_proposal.ts +214 -48
  994. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +38 -26
  995. package/src/p2p/checkpoint_proposal.ts +387 -0
  996. package/src/p2p/consensus_payload.ts +30 -19
  997. package/src/p2p/constants.ts +6 -0
  998. package/src/p2p/gossipable.ts +14 -4
  999. package/src/p2p/index.ts +4 -1
  1000. package/src/p2p/message_validator.ts +14 -2
  1001. package/src/p2p/signature_utils.ts +5 -2
  1002. package/src/p2p/signed_txs.ts +88 -0
  1003. package/src/p2p/topic_type.ts +4 -3
  1004. package/src/parity/parity_base_private_inputs.ts +1 -1
  1005. package/src/parity/parity_public_inputs.ts +1 -1
  1006. package/src/proofs/chonk_proof.ts +11 -7
  1007. package/src/proofs/proof.ts +1 -1
  1008. package/src/proofs/proof_data.ts +24 -0
  1009. package/src/proofs/recursive_proof.ts +1 -1
  1010. package/src/rollup/avm_proof_data.ts +2 -9
  1011. package/src/rollup/base_rollup_hints.ts +1 -1
  1012. package/src/rollup/block_constant_data.ts +1 -1
  1013. package/src/rollup/block_headers_hash.ts +2 -2
  1014. package/src/rollup/block_rollup_public_inputs.ts +6 -12
  1015. package/src/rollup/block_root_rollup_private_inputs.ts +1 -1
  1016. package/src/rollup/checkpoint_constant_data.ts +2 -1
  1017. package/src/rollup/checkpoint_header.ts +69 -20
  1018. package/src/rollup/checkpoint_rollup_public_inputs.ts +18 -6
  1019. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +16 -2
  1020. package/src/rollup/epoch_constant_data.ts +1 -1
  1021. package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
  1022. package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
  1023. package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
  1024. package/src/rollup/root_rollup_public_inputs.ts +17 -8
  1025. package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
  1026. package/src/rollup/tx_rollup_public_inputs.ts +1 -1
  1027. package/src/schemas/schemas.ts +6 -1
  1028. package/src/slashing/empire.ts +3 -1
  1029. package/src/slashing/helpers.ts +8 -0
  1030. package/src/slashing/tally.ts +8 -2
  1031. package/src/slashing/types.ts +38 -20
  1032. package/src/snapshots/types.ts +33 -29
  1033. package/src/stats/stats.ts +10 -7
  1034. package/src/tests/factories.ts +143 -61
  1035. package/src/tests/jest.ts +1 -1
  1036. package/src/tests/mocks.ts +295 -86
  1037. package/src/timetable/index.ts +66 -0
  1038. package/src/trees/append_only_tree_snapshot.ts +1 -1
  1039. package/src/trees/database_public_state_source.ts +1 -1
  1040. package/src/trees/nullifier_leaf.ts +1 -1
  1041. package/src/trees/nullifier_membership_witness.ts +1 -1
  1042. package/src/trees/public_data_leaf.ts +12 -6
  1043. package/src/trees/public_data_witness.ts +1 -1
  1044. package/src/tx/block_header.ts +27 -13
  1045. package/src/tx/call_context.ts +1 -1
  1046. package/src/tx/capsule.ts +1 -1
  1047. package/src/tx/function_data.ts +1 -1
  1048. package/src/tx/global_variable_builder.ts +9 -2
  1049. package/src/tx/global_variables.ts +16 -10
  1050. package/src/tx/hashed_values.ts +1 -1
  1051. package/src/tx/in_tx.ts +24 -0
  1052. package/src/tx/index.ts +1 -1
  1053. package/src/tx/indexed_tx_effect.ts +9 -7
  1054. package/src/tx/offchain_effect.ts +1 -1
  1055. package/src/tx/partial_state_reference.ts +1 -1
  1056. package/src/tx/private_execution_result.ts +6 -21
  1057. package/src/tx/private_tx_constant_data.ts +1 -1
  1058. package/src/tx/processed_tx.ts +19 -16
  1059. package/src/tx/profiling.ts +52 -10
  1060. package/src/tx/protocol_contracts.ts +4 -4
  1061. package/src/tx/public_call_request_with_calldata.ts +1 -1
  1062. package/src/tx/public_simulation_output.ts +5 -1
  1063. package/src/tx/state_reference.ts +1 -1
  1064. package/src/tx/tree_snapshots.ts +1 -1
  1065. package/src/tx/tx.ts +22 -13
  1066. package/src/tx/tx_constant_data.ts +1 -1
  1067. package/src/tx/tx_context.ts +1 -1
  1068. package/src/tx/tx_effect.ts +5 -12
  1069. package/src/tx/tx_execution_request.ts +3 -1
  1070. package/src/tx/tx_hash.ts +1 -1
  1071. package/src/tx/tx_receipt.ts +78 -20
  1072. package/src/tx/tx_request.ts +4 -4
  1073. package/src/tx/validator/empty_validator.ts +1 -1
  1074. package/src/tx/validator/error_texts.ts +4 -1
  1075. package/src/tx/validator/tx_validator.ts +9 -7
  1076. package/src/update-checker/update-checker.ts +2 -1
  1077. package/src/validators/errors.ts +1 -1
  1078. package/src/validators/schemas.ts +61 -48
  1079. package/src/validators/types.ts +5 -4
  1080. package/src/versioning/versioning.ts +1 -1
  1081. package/src/vks/verification_key.ts +1 -1
  1082. package/src/vks/vk_data.ts +1 -1
  1083. package/src/zkpassport/index.ts +13 -14
  1084. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  1085. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  1086. package/dest/block/l2_block_code_to_purge.js +0 -61
  1087. package/dest/block/l2_block_header.d.ts +0 -98
  1088. package/dest/block/l2_block_header.d.ts.map +0 -1
  1089. package/dest/block/l2_block_header.js +0 -153
  1090. package/dest/block/l2_block_new.d.ts +0 -108
  1091. package/dest/block/l2_block_new.d.ts.map +0 -1
  1092. package/dest/block/l2_block_new.js +0 -135
  1093. package/dest/block/l2_block_number.d.ts +0 -5
  1094. package/dest/block/l2_block_number.d.ts.map +0 -1
  1095. package/dest/block/l2_block_number.js +0 -6
  1096. package/dest/block/published_l2_block.d.ts +0 -130
  1097. package/dest/block/published_l2_block.d.ts.map +0 -1
  1098. package/dest/block/published_l2_block.js +0 -48
  1099. package/dest/contract/contract_class_metadata.d.ts +0 -8
  1100. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  1101. package/dest/contract/contract_class_metadata.js +0 -1
  1102. package/dest/contract/contract_metadata.d.ts +0 -7
  1103. package/dest/contract/contract_metadata.d.ts.map +0 -1
  1104. package/dest/contract/contract_metadata.js +0 -1
  1105. package/dest/database-version/index.d.ts +0 -2
  1106. package/dest/database-version/index.d.ts.map +0 -1
  1107. package/dest/database-version/index.js +0 -1
  1108. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  1109. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1110. package/dest/logs/log_with_tx_data.d.ts +0 -19
  1111. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  1112. package/dest/logs/log_with_tx_data.js +0 -49
  1113. package/dest/note/notes_filter.d.ts +0 -25
  1114. package/dest/note/notes_filter.d.ts.map +0 -1
  1115. package/dest/note/notes_filter.js +0 -10
  1116. package/dest/p2p/block_attestation.d.ts +0 -80
  1117. package/dest/p2p/block_attestation.d.ts.map +0 -1
  1118. package/dest/tx/content_commitment.d.ts +0 -48
  1119. package/dest/tx/content_commitment.d.ts.map +0 -1
  1120. package/dest/tx/content_commitment.js +0 -82
  1121. package/src/block/l2_block_code_to_purge.ts +0 -88
  1122. package/src/block/l2_block_header.ts +0 -246
  1123. package/src/block/l2_block_new.ts +0 -171
  1124. package/src/block/l2_block_number.ts +0 -8
  1125. package/src/block/published_l2_block.ts +0 -65
  1126. package/src/contract/contract_class_metadata.ts +0 -8
  1127. package/src/contract/contract_metadata.ts +0 -7
  1128. package/src/database-version/index.ts +0 -1
  1129. package/src/kernel/hints/key_validation_request_and_generator.ts +0 -52
  1130. package/src/logs/log_with_tx_data.ts +0 -46
  1131. package/src/note/notes_filter.ts +0 -35
  1132. package/src/tx/content_commitment.ts +0 -104
@@ -7,23 +7,33 @@ export class P2PMessage {
7
7
  constructor(
8
8
  public readonly payload: Buffer,
9
9
  public readonly timestamp?: Date,
10
+ public readonly traceContext?: string,
10
11
  ) {}
11
12
 
12
- static fromGossipable(message: Gossipable, instrumentMessages = false): P2PMessage {
13
- return new P2PMessage(message.toBuffer(), instrumentMessages ? new Date() : undefined);
13
+ static fromGossipable(message: Gossipable, instrumentMessages = false, traceContext?: string): P2PMessage {
14
+ if (!instrumentMessages) {
15
+ return new P2PMessage(message.toBuffer());
16
+ }
17
+ return new P2PMessage(message.toBuffer(), new Date(), traceContext);
14
18
  }
15
19
 
16
20
  static fromMessageData(messageData: Buffer, instrumentMessages = false): P2PMessage {
17
21
  const reader = new BufferReader(messageData);
18
- const timestamp = instrumentMessages ? new Date(Number(reader.readUInt64())) : undefined;
22
+ let timestamp: Date | undefined;
23
+ let traceContext: string | undefined;
24
+ if (instrumentMessages) {
25
+ timestamp = new Date(Number(reader.readUInt64()));
26
+ traceContext = reader.readString();
27
+ }
19
28
  const payload = reader.readBuffer();
20
- return new P2PMessage(payload, timestamp);
29
+ return new P2PMessage(payload, timestamp, traceContext);
21
30
  }
22
31
 
23
32
  toMessageData(): Buffer {
24
33
  const arr: Buffer[] = [];
25
34
  if (this.timestamp) {
26
35
  arr.push(bigintToUInt64BE(BigInt(this.timestamp.getTime())));
36
+ arr.push(serializeToBuffer(this.traceContext ?? ''));
27
37
  }
28
38
  arr.push(serializeToBuffer(this.payload.length, this.payload));
29
39
  return serializeToBuffer(arr);
package/src/p2p/index.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  export * from './attestation_utils.js';
2
- export * from './block_attestation.js';
3
2
  export * from './block_proposal.js';
3
+ export * from './checkpoint_attestation.js';
4
+ export * from './checkpoint_proposal.js';
4
5
  export * from './consensus_payload.js';
5
6
  export * from './gossipable.js';
6
7
  export * from './interface.js';
7
8
  export * from './signature_utils.js';
9
+ export * from './signed_txs.js';
8
10
  export * from './topic_type.js';
9
11
  export * from './client_type.js';
10
12
  export * from './message_validator.js';
11
13
  export * from './peer_error.js';
14
+ export * from './constants.js';
@@ -1,10 +1,22 @@
1
1
  import type { PeerErrorSeverity } from './peer_error.js';
2
2
 
3
+ /**
4
+ * Result of validating a P2P message.
5
+ * - 'accept': Message is valid and should be accepted and processed
6
+ * - 'ignore': Message should be ignored (not propagated or processed, but sender not penalized)
7
+ * - 'reject': Message is invalid (rejected and sender penalized)
8
+ */
9
+ export type ValidationResult =
10
+ | { result: 'accept' }
11
+ | { result: 'ignore' }
12
+ | { result: 'reject'; severity: PeerErrorSeverity };
13
+
3
14
  /**
4
15
  * P2PValidator
5
16
  *
6
- * A validator for P2P messages, which returns a severity of error to be applied to the peer
17
+ * A validator for P2P messages, which returns a ValidationResult indicating
18
+ * whether to accept, ignore, or reject the message
7
19
  */
8
20
  export interface P2PValidator<T> {
9
- validate(message: T): Promise<PeerErrorSeverity | undefined>;
21
+ validate(message: T): Promise<ValidationResult>;
10
22
  }
@@ -1,10 +1,13 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { keccak256, makeEthSignDigest } from '@aztec/foundation/crypto';
2
+ import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
+ import { makeEthSignDigest } from '@aztec/foundation/crypto/secp256k1-signer';
3
4
 
4
5
  export enum SignatureDomainSeparator {
5
6
  blockProposal = 0,
6
- blockAttestation = 1,
7
+ checkpointAttestation = 1,
7
8
  attestationsAndSigners = 2,
9
+ checkpointProposal = 3,
10
+ signedTxs = 4,
8
11
  }
9
12
 
10
13
  export interface Signable {
@@ -0,0 +1,88 @@
1
+ import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
3
+ import type { EthAddress } from '@aztec/foundation/eth-address';
4
+ import { Signature } from '@aztec/foundation/eth-signature';
5
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
+
7
+ import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
8
+ import { Tx } from '../tx/tx.js';
9
+ import {
10
+ SignatureDomainSeparator,
11
+ getHashedSignaturePayload,
12
+ getHashedSignaturePayloadEthSignedMessage,
13
+ } from './signature_utils.js';
14
+
15
+ /**
16
+ * A signed collection of transactions.
17
+ * The signature is over the transaction objects themselves, providing
18
+ * data availability guarantees beyond just the transaction hashes.
19
+ */
20
+ export class SignedTxs {
21
+ private sender: EthAddress | undefined;
22
+
23
+ constructor(
24
+ /** The transactions */
25
+ public readonly txs: Tx[],
26
+ /** The proposer's signature over the transactions */
27
+ public readonly signature: Signature,
28
+ ) {}
29
+
30
+ /**
31
+ * Get the payload to sign for this signed txs.
32
+ */
33
+ getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
34
+ return serializeToBuffer([domainSeparator, this.txs.length, this.txs]);
35
+ }
36
+
37
+ /**
38
+ * Lazily evaluate the sender of the signed txs; result is cached
39
+ * @returns The sender address, or undefined if signature recovery fails
40
+ */
41
+ getSender(): EthAddress | undefined {
42
+ if (!this.sender) {
43
+ const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.signedTxs);
44
+ this.sender = tryRecoverAddress(hashed, this.signature);
45
+ }
46
+ return this.sender;
47
+ }
48
+
49
+ /**
50
+ * Create SignedTxs from a signer function
51
+ */
52
+ static async createFromSigner(
53
+ txs: Tx[],
54
+ payloadSigner: (payload: Buffer32) => Promise<Signature>,
55
+ ): Promise<SignedTxs> {
56
+ const tempSignedTxs = new SignedTxs(txs, Signature.empty());
57
+ const hashed = getHashedSignaturePayload(tempSignedTxs, SignatureDomainSeparator.signedTxs);
58
+ const signature = await payloadSigner(hashed);
59
+ return new SignedTxs(txs, signature);
60
+ }
61
+
62
+ toBuffer(): Buffer {
63
+ return serializeToBuffer([this.txs.length, this.txs, this.signature]);
64
+ }
65
+
66
+ static fromBuffer(buf: Buffer | BufferReader): SignedTxs {
67
+ const reader = BufferReader.asReader(buf);
68
+ const txCount = reader.readNumber();
69
+ if (txCount > MAX_TXS_PER_BLOCK) {
70
+ throw new Error(`txs count ${txCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
71
+ }
72
+ const txs = reader.readArray(txCount, Tx);
73
+ const signature = reader.readObject(Signature);
74
+ return new SignedTxs(txs, signature);
75
+ }
76
+
77
+ getSize(): number {
78
+ return 4 /* txs.length */ + this.txs.reduce((acc, tx) => acc + tx.getSize(), 0) + this.signature.getSize();
79
+ }
80
+
81
+ static empty(): SignedTxs {
82
+ return new SignedTxs([], Signature.empty());
83
+ }
84
+
85
+ static random(): SignedTxs {
86
+ return new SignedTxs([Tx.random(), Tx.random()], Signature.random());
87
+ }
88
+ }
@@ -23,14 +23,15 @@ export function getTopicFromString(topicStr: string): TopicType | undefined {
23
23
  export enum TopicType {
24
24
  tx = 'tx',
25
25
  block_proposal = 'block_proposal',
26
- block_attestation = 'block_attestation',
26
+ checkpoint_proposal = 'checkpoint_proposal',
27
+ checkpoint_attestation = 'checkpoint_attestation',
27
28
  }
28
29
 
29
30
  export function getTopicTypeForClientType(clientType: P2PClientType) {
30
31
  if (clientType === P2PClientType.Full) {
31
- return Object.values(TopicType);
32
+ return [TopicType.tx, TopicType.block_proposal, TopicType.checkpoint_proposal, TopicType.checkpoint_attestation];
32
33
  } else if (clientType === P2PClientType.Prover) {
33
- return [TopicType.tx, TopicType.block_proposal];
34
+ return [TopicType.tx, TopicType.block_proposal, TopicType.checkpoint_proposal];
34
35
  } else {
35
36
  const _: never = clientType;
36
37
  return [TopicType.tx];
@@ -1,5 +1,5 @@
1
1
  import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -1,6 +1,7 @@
1
1
  import { CHONK_PROOF_LENGTH } from '@aztec/constants';
2
- import { randomBytes } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
2
+ import { times } from '@aztec/foundation/collection';
3
+ import { randomBytes } from '@aztec/foundation/crypto/random';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
6
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
7
 
@@ -31,12 +32,15 @@ export class ChonkProof {
31
32
 
32
33
  static random() {
33
34
  // NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
35
+ // NB2: generate one fewer random bytes to not have to deal with buffers representing numbers greater than the field modulus
36
+ // NB3: a chonk proof can be compressed. Simulate this by filling 1/4 of the proof with zero data
34
37
  const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
35
- const randomFields = randomBytes(CHONK_PROOF_LENGTH * reducedFrSize);
36
- const proof = Array.from(
37
- { length: CHONK_PROOF_LENGTH },
38
- (_, i) => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)),
39
- );
38
+ const nonZeroFields = Math.floor((3 * CHONK_PROOF_LENGTH) / 4);
39
+ const randomFields = randomBytes(nonZeroFields * Fr.SIZE_IN_BYTES);
40
+ const proof = [
41
+ ...times(nonZeroFields, i => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize))),
42
+ ...times(CHONK_PROOF_LENGTH - nonZeroFields, () => Fr.ZERO),
43
+ ];
40
44
  return new ChonkProof(proof);
41
45
  }
42
46
 
@@ -1,5 +1,5 @@
1
1
  import { PAIRING_POINTS_SIZE } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
 
@@ -29,6 +29,30 @@ export class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
29
29
  }
30
30
  }
31
31
 
32
+ /**
33
+ * Represents the data of a recursive proof for a circuit with a fixed verification key.
34
+ */
35
+ export class ProofDataForFixedVk<T extends Bufferable, PROOF_LENGTH extends number> {
36
+ constructor(
37
+ public publicInputs: T,
38
+ public proof: RecursiveProof<PROOF_LENGTH>,
39
+ ) {}
40
+
41
+ public toBuffer(): Buffer {
42
+ return serializeToBuffer(this.publicInputs, this.proof);
43
+ }
44
+
45
+ public static fromBuffer<T extends Bufferable, PROOF_LENGTH extends number>(
46
+ buffer: Buffer | BufferReader,
47
+ publicInputs: {
48
+ fromBuffer: (reader: BufferReader) => T;
49
+ },
50
+ ): ProofDataForFixedVk<T, PROOF_LENGTH> {
51
+ const reader = BufferReader.asReader(buffer);
52
+ return new ProofDataForFixedVk(reader.readObject(publicInputs), RecursiveProof.fromBuffer(reader));
53
+ }
54
+ }
55
+
32
56
  export type ChonkProofData<T extends Bufferable> = ProofData<T, typeof CHONK_PROOF_LENGTH>;
33
57
 
34
58
  export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
@@ -1,5 +1,5 @@
1
1
  import { makeTuple } from '@aztec/foundation/array';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -1,13 +1,6 @@
1
1
  import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
3
2
 
4
3
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
5
- import type { ProofData } from '../proofs/proof_data.js';
4
+ import type { ProofDataForFixedVk } from '../proofs/proof_data.js';
6
5
 
7
- export type AvmProofData = ProofData<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
8
-
9
- // TODO(#14234)[Unconditional PIs validation]: remove this function.
10
- export function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[] {
11
- const skipPublicInputsField = skipPublicInputsValidation ? new Fr(1) : new Fr(0);
12
- return [skipPublicInputsField].concat(proof).slice(0, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED);
13
- }
6
+ export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
@@ -1,7 +1,7 @@
1
1
  import { SpongeBlob } from '@aztec/blob-lib/types';
2
2
  import { ARCHIVE_HEIGHT, MAX_CONTRACT_CLASS_LOGS_PER_TX } from '@aztec/constants';
3
3
  import { makeTuple } from '@aztec/foundation/array';
4
- import { Fr } from '@aztec/foundation/fields';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
6
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
7
7
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
 
@@ -1,11 +1,11 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { computeUnbalancedPoseidonRoot } from '@aztec/foundation/trees';
3
3
 
4
4
  import type { BlockHeader } from '../tx/block_header.js';
5
5
 
6
6
  export async function computeBlockHeadersHash(blockHeaders: BlockHeader[]): Promise<Fr> {
7
7
  const blockHeaderHashes = await Promise.all(blockHeaders.map(header => header.hash()));
8
- // Must match the implementation in merge_block_rollups.nr, with the **wonky** rollup structure
8
+ // Must match the implementation in merge_block_rollups.nr, with the **unbalanced** rollup structure
9
9
  // (see validate_consecutive_block_rollups.nr > assert_rollups_filled_greedily.nr).
10
10
  const blockHeadersHash = await computeUnbalancedPoseidonRoot(blockHeaderHashes.map(hash => hash.toBuffer()));
11
11
  return Fr.fromBuffer(blockHeadersHash);
@@ -1,5 +1,5 @@
1
1
  import { SpongeBlob } from '@aztec/blob-lib/types';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -43,17 +43,13 @@ export class BlockRollupPublicInputs {
43
43
  */
44
44
  public endSpongeBlob: SpongeBlob,
45
45
  /**
46
- * Timestamp of the first block in this block range.
46
+ * Timestamp of the blocks in this block range.
47
47
  */
48
- public startTimestamp: UInt64,
49
- /**
50
- * Timestamp of the last block in this block range.
51
- */
52
- public endTimestamp: UInt64,
48
+ public timestamp: UInt64,
53
49
  /**
54
50
  * Hash of the headers of all blocks in this block range. It will be combined with the `blockHeadersHash` from
55
- * other blocks in the same checkpoint to form a wonky tree. The root of that tree becomes the final hash stored in
56
- * the checkpoint header, enabling validation of the blocks included in a checkpoint given their headers.
51
+ * other blocks in the same checkpoint to form an unbalanced tree. The root of that tree becomes the final hash
52
+ * stored in the checkpoint header, enabling validation of the blocks included in a checkpoint given their headers.
57
53
  */
58
54
  public blockHeadersHash: Fr,
59
55
  /**
@@ -85,7 +81,6 @@ export class BlockRollupPublicInputs {
85
81
  reader.readObject(SpongeBlob),
86
82
  reader.readObject(SpongeBlob),
87
83
  reader.readUInt64(),
88
- reader.readUInt64(),
89
84
  Fr.fromBuffer(reader),
90
85
  Fr.fromBuffer(reader),
91
86
  Fr.fromBuffer(reader),
@@ -103,8 +98,7 @@ export class BlockRollupPublicInputs {
103
98
  this.endState,
104
99
  this.startSpongeBlob,
105
100
  this.endSpongeBlob,
106
- bigintToUInt64BE(this.startTimestamp),
107
- bigintToUInt64BE(this.endTimestamp),
101
+ bigintToUInt64BE(this.timestamp),
108
102
  this.blockHeadersHash,
109
103
  this.inHash,
110
104
  this.outHash,
@@ -1,5 +1,5 @@
1
1
  import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, type Tuple, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -1,6 +1,6 @@
1
1
  import { SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { Fr } from '@aztec/foundation/fields';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
6
6
 
@@ -11,6 +11,7 @@ import { GasFees } from '../gas/gas_fees.js';
11
11
 
12
12
  /**
13
13
  * Constants that are the same for the entire checkpoint.
14
+ * Used in circuits during rollup proving.
14
15
  */
15
16
  export class CheckpointConstantData {
16
17
  constructor(
@@ -1,8 +1,8 @@
1
- import type { ViemHeader } from '@aztec/ethereum';
1
+ import type { ViemHeader } from '@aztec/ethereum/contracts';
2
2
  import { SlotNumber } from '@aztec/foundation/branded-types';
3
- import { sha256ToField } from '@aztec/foundation/crypto';
3
+ import { sha256ToField } from '@aztec/foundation/crypto/sha256';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { EthAddress } from '@aztec/foundation/eth-address';
5
- import { Fr } from '@aztec/foundation/fields';
6
6
  import type { ZodFor } from '@aztec/foundation/schemas';
7
7
  import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
8
8
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -14,17 +14,32 @@ import { z } from 'zod';
14
14
  import { AztecAddress } from '../aztec-address/index.js';
15
15
  import { GasFees } from '../gas/index.js';
16
16
  import { schemas } from '../schemas/index.js';
17
- import { ContentCommitment } from '../tx/content_commitment.js';
17
+ import type { GlobalVariables } from '../tx/global_variables.js';
18
18
  import type { UInt64 } from '../types/shared.js';
19
19
 
20
+ /**
21
+ * Header of a checkpoint. A checkpoint is a collection of blocks submitted to L1 all within the same slot.
22
+ * This header is verified as-is in the rollup circuits, posted to the L1 rollup contract, stored in the archiver,
23
+ * and exposed via the Aztec Node API. See `CheckpointData` for a struct that includes the header plus extra metadata.
24
+ */
20
25
  export class CheckpointHeader {
21
26
  constructor(
22
27
  /** Root of the archive tree before this block is added. */
23
28
  public lastArchiveRoot: Fr,
24
29
  /** Hash of the headers of all blocks in this checkpoint. */
25
30
  public blockHeadersHash: Fr,
26
- /** Content commitment of the L2 block. */
27
- public contentCommitment: ContentCommitment,
31
+ /** Hash of the blobs in the checkpoint. */
32
+ public blobsHash: Fr,
33
+ /** Root of the l1 to l2 messages subtree. */
34
+ public inHash: Fr,
35
+ /**
36
+ * The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
37
+ * index 0, the second at index 1, and so on.
38
+ * Note: This is not necessarily the final epoch out hash. It includes only the out hashes of checkpoints up to and
39
+ * including the current checkpoint. Any subsequent checkpoints added to the same epoch are not reflected in this
40
+ * value.
41
+ */
42
+ public epochOutHash: Fr,
28
43
  /** Slot number of the L2 block */
29
44
  public slotNumber: SlotNumber,
30
45
  /** Timestamp of the L2 block. */
@@ -44,7 +59,9 @@ export class CheckpointHeader {
44
59
  .object({
45
60
  lastArchiveRoot: schemas.Fr,
46
61
  blockHeadersHash: schemas.Fr,
47
- contentCommitment: ContentCommitment.schema,
62
+ blobsHash: schemas.Fr,
63
+ inHash: schemas.Fr,
64
+ epochOutHash: schemas.Fr,
48
65
  slotNumber: schemas.SlotNumber,
49
66
  timestamp: schemas.BigInt,
50
67
  coinbase: schemas.EthAddress,
@@ -59,7 +76,9 @@ export class CheckpointHeader {
59
76
  return [
60
77
  fields.lastArchiveRoot,
61
78
  fields.blockHeadersHash,
62
- fields.contentCommitment,
79
+ fields.blobsHash,
80
+ fields.inHash,
81
+ fields.epochOutHash,
63
82
  fields.slotNumber,
64
83
  fields.timestamp,
65
84
  fields.coinbase,
@@ -79,7 +98,9 @@ export class CheckpointHeader {
79
98
  return new CheckpointHeader(
80
99
  reader.readObject(Fr),
81
100
  reader.readObject(Fr),
82
- reader.readObject(ContentCommitment),
101
+ reader.readObject(Fr),
102
+ reader.readObject(Fr),
103
+ reader.readObject(Fr),
83
104
  SlotNumber(Fr.fromBuffer(reader).toNumber()),
84
105
  reader.readUInt64(),
85
106
  reader.readObject(EthAddress),
@@ -93,7 +114,9 @@ export class CheckpointHeader {
93
114
  return (
94
115
  this.lastArchiveRoot.equals(other.lastArchiveRoot) &&
95
116
  this.blockHeadersHash.equals(other.blockHeadersHash) &&
96
- this.contentCommitment.equals(other.contentCommitment) &&
117
+ this.blobsHash.equals(other.blobsHash) &&
118
+ this.inHash.equals(other.inHash) &&
119
+ this.epochOutHash.equals(other.epochOutHash) &&
97
120
  this.slotNumber === other.slotNumber &&
98
121
  this.timestamp === other.timestamp &&
99
122
  this.coinbase.equals(other.coinbase) &&
@@ -103,12 +126,25 @@ export class CheckpointHeader {
103
126
  );
104
127
  }
105
128
 
129
+ /** Returns true if the global variables match those in the checkpoint header. */
130
+ matchesGlobalVariables(other: GlobalVariables) {
131
+ return (
132
+ this.coinbase.equals(other.coinbase) &&
133
+ this.feeRecipient.equals(other.feeRecipient) &&
134
+ this.gasFees.equals(other.gasFees) &&
135
+ this.slotNumber === other.slotNumber &&
136
+ this.timestamp === other.timestamp
137
+ );
138
+ }
139
+
106
140
  toBuffer() {
107
141
  // Note: The order here must match the order in the ProposedHeaderLib solidity library.
108
142
  return serializeToBuffer([
109
143
  this.lastArchiveRoot,
110
144
  this.blockHeadersHash,
111
- this.contentCommitment,
145
+ this.blobsHash,
146
+ this.inHash,
147
+ this.epochOutHash,
112
148
  new Fr(this.slotNumber),
113
149
  bigintToUInt64BE(this.timestamp),
114
150
  this.coinbase,
@@ -126,7 +162,9 @@ export class CheckpointHeader {
126
162
  return CheckpointHeader.from({
127
163
  lastArchiveRoot: Fr.ZERO,
128
164
  blockHeadersHash: Fr.ZERO,
129
- contentCommitment: ContentCommitment.empty(),
165
+ blobsHash: Fr.ZERO,
166
+ inHash: Fr.ZERO,
167
+ epochOutHash: Fr.ZERO,
130
168
  slotNumber: SlotNumber.ZERO,
131
169
  timestamp: 0n,
132
170
  coinbase: EthAddress.ZERO,
@@ -141,7 +179,9 @@ export class CheckpointHeader {
141
179
  return CheckpointHeader.from({
142
180
  lastArchiveRoot: Fr.random(),
143
181
  blockHeadersHash: Fr.random(),
144
- contentCommitment: ContentCommitment.random(),
182
+ blobsHash: Fr.random(),
183
+ inHash: Fr.random(),
184
+ epochOutHash: Fr.random(),
145
185
  slotNumber: SlotNumber(Math.floor(Math.random() * 1000) + 1),
146
186
  timestamp: BigInt(Math.floor(Date.now() / 1000)),
147
187
  coinbase: EthAddress.random(),
@@ -156,7 +196,9 @@ export class CheckpointHeader {
156
196
  return (
157
197
  this.lastArchiveRoot.isZero() &&
158
198
  this.blockHeadersHash.isZero() &&
159
- this.contentCommitment.isEmpty() &&
199
+ this.blobsHash.isZero() &&
200
+ this.inHash.isZero() &&
201
+ this.epochOutHash.isZero() &&
160
202
  this.slotNumber === 0 &&
161
203
  this.timestamp === 0n &&
162
204
  this.coinbase.isZero() &&
@@ -182,7 +224,9 @@ export class CheckpointHeader {
182
224
  return new CheckpointHeader(
183
225
  Fr.fromString(header.lastArchiveRoot),
184
226
  Fr.fromString(header.blockHeadersHash),
185
- ContentCommitment.fromViem(header.contentCommitment),
227
+ Fr.fromString(header.blobsHash),
228
+ Fr.fromString(header.inHash),
229
+ Fr.fromString(header.outHash),
186
230
  SlotNumber.fromBigInt(header.slotNumber),
187
231
  header.timestamp,
188
232
  new EthAddress(hexToBuffer(header.coinbase)),
@@ -204,7 +248,9 @@ export class CheckpointHeader {
204
248
  return {
205
249
  lastArchiveRoot: this.lastArchiveRoot.toString(),
206
250
  blockHeadersHash: this.blockHeadersHash.toString(),
207
- contentCommitment: this.contentCommitment.toViem(),
251
+ blobsHash: this.blobsHash.toString(),
252
+ inHash: this.inHash.toString(),
253
+ outHash: this.epochOutHash.toString(),
208
254
  slotNumber: BigInt(this.slotNumber),
209
255
  timestamp: this.timestamp,
210
256
  coinbase: this.coinbase.toString(),
@@ -221,7 +267,9 @@ export class CheckpointHeader {
221
267
  return {
222
268
  lastArchive: this.lastArchiveRoot.toString(),
223
269
  blockHeadersHash: this.blockHeadersHash.toString(),
224
- contentCommitment: this.contentCommitment.toInspect(),
270
+ blobsHash: this.blobsHash.toString(),
271
+ inHash: this.inHash.toString(),
272
+ epochOutHash: this.epochOutHash.toString(),
225
273
  slotNumber: this.slotNumber,
226
274
  timestamp: this.timestamp,
227
275
  coinbase: this.coinbase.toString(),
@@ -232,16 +280,17 @@ export class CheckpointHeader {
232
280
  }
233
281
 
234
282
  [inspect.custom]() {
235
- const gasfees = `da:${this.gasFees.feePerDaGas}, l2:${this.gasFees.feePerL2Gas}`;
236
283
  return `Header {
237
284
  lastArchiveRoot: ${this.lastArchiveRoot.toString()},
238
285
  blockHeadersHash: ${this.blockHeadersHash.toString()},
239
- contentCommitment: ${inspect(this.contentCommitment)},
286
+ blobsHash: ${inspect(this.blobsHash)},
287
+ inHash: ${inspect(this.inHash)},
288
+ epochOutHash: ${inspect(this.epochOutHash)},
240
289
  slotNumber: ${this.slotNumber},
241
290
  timestamp: ${this.timestamp},
242
291
  coinbase: ${this.coinbase.toString()},
243
292
  feeRecipient: ${this.feeRecipient.toString()},
244
- gasFees: ${gasfees},
293
+ gasFees: { da:${this.gasFees.feePerDaGas}, l2:${this.gasFees.feePerL2Gas} },
245
294
  totalManaUsed: ${this.totalManaUsed.toBigInt()},
246
295
  }`;
247
296
  }