@aztec/stdlib 0.0.1-commit.6d3c34e → 0.0.1-commit.733c4a3

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 (660) hide show
  1. package/dest/abi/function_call.d.ts +47 -9
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/function_call.js +20 -3
  4. package/dest/abi/utils.d.ts +7 -1
  5. package/dest/abi/utils.d.ts.map +1 -1
  6. package/dest/abi/utils.js +7 -0
  7. package/dest/auth_witness/auth_witness.d.ts +2 -1
  8. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  9. package/dest/auth_witness/auth_witness.js +3 -3
  10. package/dest/avm/avm.d.ts +62 -62
  11. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  12. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  13. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  14. package/dest/avm/avm_proving_request.d.ts +299 -299
  15. package/dest/avm/contract_storage_read.d.ts +13 -1
  16. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  17. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  18. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  19. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  20. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  21. package/dest/avm/public_data_read.d.ts +10 -1
  22. package/dest/avm/public_data_read.d.ts.map +1 -1
  23. package/dest/avm/public_data_update_request.d.ts +10 -1
  24. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  25. package/dest/avm/public_data_write.d.ts +7 -1
  26. package/dest/avm/public_data_write.d.ts.map +1 -1
  27. package/dest/avm/public_inner_call_request.d.ts +4 -1
  28. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  29. package/dest/avm/revert_code.d.ts +4 -4
  30. package/dest/avm/revert_code.d.ts.map +1 -1
  31. package/dest/block/block_data.d.ts +52 -0
  32. package/dest/block/block_data.d.ts.map +1 -0
  33. package/dest/block/block_data.js +12 -0
  34. package/dest/block/block_hash.d.ts +18 -14
  35. package/dest/block/block_hash.d.ts.map +1 -1
  36. package/dest/block/block_hash.js +22 -20
  37. package/dest/block/block_parameter.d.ts +4 -3
  38. package/dest/block/block_parameter.d.ts.map +1 -1
  39. package/dest/block/block_parameter.js +2 -0
  40. package/dest/block/body.d.ts +1 -1
  41. package/dest/block/body.d.ts.map +1 -1
  42. package/dest/block/body.js +2 -1
  43. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  44. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  45. package/dest/block/checkpointed_l2_block.js +7 -45
  46. package/dest/block/in_block.d.ts +9 -9
  47. package/dest/block/in_block.d.ts.map +1 -1
  48. package/dest/block/in_block.js +5 -5
  49. package/dest/block/index.d.ts +2 -3
  50. package/dest/block/index.d.ts.map +1 -1
  51. package/dest/block/index.js +1 -2
  52. package/dest/block/l2_block.d.ts +56 -59
  53. package/dest/block/l2_block.d.ts.map +1 -1
  54. package/dest/block/l2_block.js +64 -110
  55. package/dest/block/l2_block_source.d.ts +84 -39
  56. package/dest/block/l2_block_source.d.ts.map +1 -1
  57. package/dest/block/l2_block_source.js +2 -1
  58. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  59. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  60. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  61. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  62. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  63. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  64. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  65. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  66. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  67. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  68. package/dest/block/validate_block_result.d.ts +1 -1
  69. package/dest/block/validate_block_result.d.ts.map +1 -1
  70. package/dest/block/validate_block_result.js +5 -4
  71. package/dest/checkpoint/checkpoint.d.ts +43 -19
  72. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  73. package/dest/checkpoint/checkpoint.js +37 -14
  74. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  75. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  76. package/dest/checkpoint/checkpoint_data.js +26 -0
  77. package/dest/checkpoint/index.d.ts +2 -1
  78. package/dest/checkpoint/index.d.ts.map +1 -1
  79. package/dest/checkpoint/index.js +1 -0
  80. package/dest/checkpoint/published_checkpoint.d.ts +33 -16
  81. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  82. package/dest/checkpoint/published_checkpoint.js +5 -5
  83. package/dest/config/index.d.ts +2 -1
  84. package/dest/config/index.d.ts.map +1 -1
  85. package/dest/config/index.js +1 -0
  86. package/dest/config/node-rpc-config.js +1 -1
  87. package/dest/config/sequencer-config.d.ts +10 -0
  88. package/dest/config/sequencer-config.d.ts.map +1 -0
  89. package/dest/config/sequencer-config.js +18 -0
  90. package/dest/contract/complete_address.d.ts +4 -1
  91. package/dest/contract/complete_address.d.ts.map +1 -1
  92. package/dest/contract/contract_address.js +4 -4
  93. package/dest/contract/contract_class.d.ts +2 -3
  94. package/dest/contract/contract_class.d.ts.map +1 -1
  95. package/dest/contract/contract_class_id.d.ts +2 -2
  96. package/dest/contract/contract_class_id.d.ts.map +1 -1
  97. package/dest/contract/contract_class_id.js +6 -5
  98. package/dest/contract/contract_deployment_data.d.ts +5 -5
  99. package/dest/contract/index.d.ts +1 -3
  100. package/dest/contract/index.d.ts.map +1 -1
  101. package/dest/contract/index.js +0 -2
  102. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  103. package/dest/contract/interfaces/node-info.d.ts +3 -1
  104. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  105. package/dest/contract/interfaces/node-info.js +2 -1
  106. package/dest/contract/private_function.d.ts +1 -1
  107. package/dest/contract/private_function.d.ts.map +1 -1
  108. package/dest/contract/private_function.js +3 -4
  109. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  110. package/dest/contract/private_function_membership_proof.js +1 -1
  111. package/dest/database-version/database_version.d.ts +58 -0
  112. package/dest/database-version/database_version.d.ts.map +1 -0
  113. package/dest/database-version/database_version.js +69 -0
  114. package/dest/database-version/version_manager.d.ts +3 -49
  115. package/dest/database-version/version_manager.d.ts.map +1 -1
  116. package/dest/database-version/version_manager.js +1 -66
  117. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  118. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  119. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  120. package/dest/deserialization/index.d.ts +11 -0
  121. package/dest/deserialization/index.d.ts.map +1 -0
  122. package/dest/deserialization/index.js +10 -0
  123. package/dest/epoch-helpers/index.d.ts +7 -1
  124. package/dest/epoch-helpers/index.d.ts.map +1 -1
  125. package/dest/epoch-helpers/index.js +9 -3
  126. package/dest/errors/proving_error.d.ts +2 -2
  127. package/dest/errors/proving_error.d.ts.map +1 -1
  128. package/dest/file-store/local.d.ts +3 -3
  129. package/dest/file-store/local.d.ts.map +1 -1
  130. package/dest/file-store/local.js +13 -4
  131. package/dest/file-store/s3.d.ts +1 -1
  132. package/dest/file-store/s3.d.ts.map +1 -1
  133. package/dest/file-store/s3.js +11 -3
  134. package/dest/ha-signing/config.d.ts +101 -0
  135. package/dest/ha-signing/config.d.ts.map +1 -0
  136. package/dest/ha-signing/config.js +92 -0
  137. package/dest/ha-signing/index.d.ts +3 -0
  138. package/dest/ha-signing/index.d.ts.map +1 -0
  139. package/dest/ha-signing/index.js +2 -0
  140. package/dest/ha-signing/types.d.ts +85 -0
  141. package/dest/ha-signing/types.d.ts.map +1 -0
  142. package/dest/ha-signing/types.js +32 -0
  143. package/dest/hash/hash.d.ts +2 -1
  144. package/dest/hash/hash.d.ts.map +1 -1
  145. package/dest/hash/hash.js +16 -10
  146. package/dest/hash/map_slot.d.ts +1 -1
  147. package/dest/hash/map_slot.d.ts.map +1 -1
  148. package/dest/hash/map_slot.js +4 -3
  149. package/dest/interfaces/api_limit.d.ts +2 -1
  150. package/dest/interfaces/api_limit.d.ts.map +1 -1
  151. package/dest/interfaces/api_limit.js +1 -0
  152. package/dest/interfaces/archiver.d.ts +1 -1
  153. package/dest/interfaces/archiver.d.ts.map +1 -1
  154. package/dest/interfaces/archiver.js +23 -15
  155. package/dest/interfaces/aztec-node-admin.d.ts +101 -28
  156. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  157. package/dest/interfaces/aztec-node-admin.js +12 -4
  158. package/dest/interfaces/aztec-node.d.ts +66 -69
  159. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  160. package/dest/interfaces/aztec-node.js +10 -16
  161. package/dest/interfaces/block-builder.d.ts +22 -14
  162. package/dest/interfaces/block-builder.d.ts.map +1 -1
  163. package/dest/interfaces/block-builder.js +7 -0
  164. package/dest/interfaces/configs.d.ts +24 -9
  165. package/dest/interfaces/configs.d.ts.map +1 -1
  166. package/dest/interfaces/configs.js +4 -1
  167. package/dest/interfaces/get_logs_response.d.ts +16 -9
  168. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  169. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  170. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  171. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  172. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  173. package/dest/interfaces/p2p.d.ts +2 -2
  174. package/dest/interfaces/p2p.d.ts.map +1 -1
  175. package/dest/interfaces/prover-broker.d.ts +16 -1
  176. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  177. package/dest/interfaces/prover-broker.js +4 -1
  178. package/dest/interfaces/prover-client.d.ts +15 -1
  179. package/dest/interfaces/prover-client.d.ts.map +1 -1
  180. package/dest/interfaces/prover-client.js +12 -1
  181. package/dest/interfaces/proving-job.d.ts +216 -216
  182. package/dest/interfaces/slasher.d.ts +9 -1
  183. package/dest/interfaces/slasher.d.ts.map +1 -1
  184. package/dest/interfaces/slasher.js +2 -0
  185. package/dest/interfaces/tx_provider.d.ts +3 -3
  186. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  187. package/dest/interfaces/validator.d.ts +118 -16
  188. package/dest/interfaces/validator.d.ts.map +1 -1
  189. package/dest/interfaces/validator.js +6 -3
  190. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  191. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  192. package/dest/kernel/hints/build_note_hash_read_request_hints.js +29 -16
  193. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  194. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  195. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  196. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  197. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  198. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  199. package/dest/kernel/hints/index.d.ts +2 -2
  200. package/dest/kernel/hints/index.js +2 -2
  201. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  202. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  203. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  204. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  205. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  206. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  207. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  208. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  209. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  210. package/dest/kernel/hints/read_request.d.ts +7 -1
  211. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  212. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  213. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  214. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  215. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  216. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  217. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  218. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  219. package/dest/kernel/private_call_data.d.ts +25 -1
  220. package/dest/kernel/private_call_data.d.ts.map +1 -1
  221. package/dest/kernel/private_call_request.d.ts +16 -1
  222. package/dest/kernel/private_call_request.d.ts.map +1 -1
  223. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  224. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  225. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  226. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  227. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  228. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  229. package/dest/kernel/private_kernel_data.d.ts +7 -1
  230. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  231. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  232. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  233. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  234. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  235. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  236. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  237. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  238. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  239. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  240. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +25 -3
  241. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  242. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
  243. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  244. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  245. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  246. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  247. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  248. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  249. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  250. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  251. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  252. package/dest/kernel/private_validation_requests.d.ts +13 -4
  253. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  254. package/dest/kernel/private_validation_requests.js +9 -9
  255. package/dest/kernel/public_call_request.d.ts +22 -1
  256. package/dest/kernel/public_call_request.d.ts.map +1 -1
  257. package/dest/kernel/utils/optional_number.d.ts +7 -1
  258. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  259. package/dest/keys/derivation.d.ts +3 -3
  260. package/dest/keys/derivation.js +15 -15
  261. package/dest/keys/key_types.d.ts +3 -3
  262. package/dest/keys/key_types.d.ts.map +1 -1
  263. package/dest/keys/public_keys.d.ts +5 -1
  264. package/dest/keys/public_keys.d.ts.map +1 -1
  265. package/dest/keys/public_keys.js +2 -2
  266. package/dest/keys/utils.d.ts +1 -1
  267. package/dest/keys/utils.d.ts.map +1 -1
  268. package/dest/keys/utils.js +8 -4
  269. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  270. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  271. package/dest/l1-contracts/slash_factory.js +1 -0
  272. package/dest/logs/debug_log_store.d.ts +30 -0
  273. package/dest/logs/debug_log_store.d.ts.map +1 -0
  274. package/dest/logs/debug_log_store.js +30 -0
  275. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  276. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  277. package/dest/logs/extended_public_log.d.ts +17 -9
  278. package/dest/logs/extended_public_log.d.ts.map +1 -1
  279. package/dest/logs/index.d.ts +2 -1
  280. package/dest/logs/index.d.ts.map +1 -1
  281. package/dest/logs/index.js +1 -0
  282. package/dest/logs/log_id.d.ts +21 -14
  283. package/dest/logs/log_id.d.ts.map +1 -1
  284. package/dest/logs/log_id.js +20 -17
  285. package/dest/logs/private_log.d.ts +2 -2
  286. package/dest/logs/private_log.d.ts.map +1 -1
  287. package/dest/logs/siloed_tag.d.ts +1 -1
  288. package/dest/logs/siloed_tag.d.ts.map +1 -1
  289. package/dest/logs/siloed_tag.js +2 -5
  290. package/dest/messaging/inbox_leaf.d.ts +3 -1
  291. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  292. package/dest/messaging/l1_actor.d.ts +7 -1
  293. package/dest/messaging/l1_actor.d.ts.map +1 -1
  294. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  295. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  296. package/dest/messaging/l2_actor.d.ts +7 -1
  297. package/dest/messaging/l2_actor.d.ts.map +1 -1
  298. package/dest/messaging/l2_to_l1_membership.d.ts +3 -3
  299. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  300. package/dest/messaging/l2_to_l1_membership.js +8 -6
  301. package/dest/messaging/out_hash.d.ts +41 -4
  302. package/dest/messaging/out_hash.d.ts.map +1 -1
  303. package/dest/messaging/out_hash.js +52 -26
  304. package/dest/note/index.d.ts +1 -2
  305. package/dest/note/index.d.ts.map +1 -1
  306. package/dest/note/index.js +0 -1
  307. package/dest/note/note_dao.d.ts +36 -5
  308. package/dest/note/note_dao.d.ts.map +1 -1
  309. package/dest/note/note_dao.js +15 -12
  310. package/dest/p2p/attestation_utils.d.ts +11 -1
  311. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  312. package/dest/p2p/attestation_utils.js +45 -0
  313. package/dest/p2p/block_proposal.d.ts +23 -8
  314. package/dest/p2p/block_proposal.d.ts.map +1 -1
  315. package/dest/p2p/block_proposal.js +26 -10
  316. package/dest/p2p/checkpoint_attestation.d.ts +6 -1
  317. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  318. package/dest/p2p/checkpoint_attestation.js +1 -1
  319. package/dest/p2p/checkpoint_proposal.d.ts +34 -9
  320. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  321. package/dest/p2p/checkpoint_proposal.js +46 -20
  322. package/dest/p2p/consensus_payload.d.ts +15 -5
  323. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  324. package/dest/p2p/consensus_payload.js +22 -18
  325. package/dest/p2p/constants.d.ts +5 -0
  326. package/dest/p2p/constants.d.ts.map +1 -0
  327. package/dest/p2p/constants.js +3 -0
  328. package/dest/p2p/index.d.ts +2 -1
  329. package/dest/p2p/index.d.ts.map +1 -1
  330. package/dest/p2p/index.js +1 -0
  331. package/dest/p2p/message_validator.d.ts +18 -3
  332. package/dest/p2p/message_validator.d.ts.map +1 -1
  333. package/dest/p2p/message_validator.js +2 -1
  334. package/dest/p2p/signed_txs.d.ts +3 -1
  335. package/dest/p2p/signed_txs.d.ts.map +1 -1
  336. package/dest/p2p/signed_txs.js +6 -1
  337. package/dest/p2p/topic_type.js +2 -1
  338. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  339. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  340. package/dest/parity/parity_public_inputs.d.ts +4 -1
  341. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  342. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  343. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  344. package/dest/proofs/chonk_proof.d.ts +1 -1
  345. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  346. package/dest/proofs/chonk_proof.js +9 -4
  347. package/dest/proofs/proof.d.ts +4 -1
  348. package/dest/proofs/proof.d.ts.map +1 -1
  349. package/dest/proofs/recursive_proof.d.ts +10 -1
  350. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  351. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  352. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  353. package/dest/rollup/block_constant_data.d.ts +12 -1
  354. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  355. package/dest/rollup/block_headers_hash.js +1 -1
  356. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  357. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  358. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  359. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  360. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  361. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  362. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  363. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  364. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  365. package/dest/rollup/checkpoint_header.d.ts +31 -4
  366. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  367. package/dest/rollup/checkpoint_header.js +23 -7
  368. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  369. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  370. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  371. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  372. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  373. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  374. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  375. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  376. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  377. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  378. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  379. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  380. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  381. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  382. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  383. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  384. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  385. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  386. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  387. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  388. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  389. package/dest/schemas/schemas.d.ts +1 -1
  390. package/dest/slashing/empire.d.ts +1 -1
  391. package/dest/slashing/empire.d.ts.map +1 -1
  392. package/dest/slashing/empire.js +2 -0
  393. package/dest/slashing/helpers.d.ts +2 -2
  394. package/dest/slashing/helpers.d.ts.map +1 -1
  395. package/dest/slashing/helpers.js +6 -0
  396. package/dest/slashing/tally.d.ts +2 -1
  397. package/dest/slashing/tally.d.ts.map +1 -1
  398. package/dest/slashing/tally.js +6 -2
  399. package/dest/slashing/types.d.ts +7 -3
  400. package/dest/slashing/types.d.ts.map +1 -1
  401. package/dest/slashing/types.js +13 -1
  402. package/dest/stats/stats.d.ts +1 -3
  403. package/dest/stats/stats.d.ts.map +1 -1
  404. package/dest/tests/factories.d.ts +2 -4
  405. package/dest/tests/factories.d.ts.map +1 -1
  406. package/dest/tests/factories.js +18 -27
  407. package/dest/tests/jest.js +1 -1
  408. package/dest/tests/mocks.d.ts +24 -15
  409. package/dest/tests/mocks.d.ts.map +1 -1
  410. package/dest/tests/mocks.js +63 -40
  411. package/dest/timetable/index.d.ts +37 -0
  412. package/dest/timetable/index.d.ts.map +1 -0
  413. package/dest/timetable/index.js +39 -0
  414. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  415. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  416. package/dest/trees/nullifier_leaf.d.ts +13 -1
  417. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  418. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  419. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  420. package/dest/trees/public_data_leaf.d.ts +17 -1
  421. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  422. package/dest/trees/public_data_leaf.js +7 -6
  423. package/dest/trees/public_data_witness.d.ts +11 -1
  424. package/dest/trees/public_data_witness.d.ts.map +1 -1
  425. package/dest/tx/block_header.d.ts +14 -2
  426. package/dest/tx/block_header.d.ts.map +1 -1
  427. package/dest/tx/block_header.js +6 -2
  428. package/dest/tx/call_context.d.ts +13 -1
  429. package/dest/tx/call_context.d.ts.map +1 -1
  430. package/dest/tx/capsule.d.ts +4 -1
  431. package/dest/tx/capsule.d.ts.map +1 -1
  432. package/dest/tx/execution_payload.d.ts +9 -1
  433. package/dest/tx/execution_payload.d.ts.map +1 -1
  434. package/dest/tx/function_data.d.ts +4 -2
  435. package/dest/tx/function_data.d.ts.map +1 -1
  436. package/dest/tx/global_variables.d.ts +12 -4
  437. package/dest/tx/global_variables.d.ts.map +1 -1
  438. package/dest/tx/hashed_values.d.ts +7 -1
  439. package/dest/tx/hashed_values.d.ts.map +1 -1
  440. package/dest/tx/in_tx.d.ts +4 -4
  441. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  442. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  443. package/dest/tx/indexed_tx_effect.js +3 -2
  444. package/dest/tx/partial_state_reference.d.ts +4 -1
  445. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  446. package/dest/tx/private_execution_result.d.ts +23 -2
  447. package/dest/tx/private_execution_result.d.ts.map +1 -1
  448. package/dest/tx/private_execution_result.js +1 -1
  449. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  450. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  451. package/dest/tx/profiling.d.ts +152 -29
  452. package/dest/tx/profiling.d.ts.map +1 -1
  453. package/dest/tx/profiling.js +47 -10
  454. package/dest/tx/protocol_contracts.d.ts +2 -2
  455. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  456. package/dest/tx/protocol_contracts.js +2 -2
  457. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  458. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  459. package/dest/tx/public_simulation_output.d.ts +4 -2
  460. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  461. package/dest/tx/public_simulation_output.js +7 -3
  462. package/dest/tx/state_reference.d.ts +3 -1
  463. package/dest/tx/state_reference.d.ts.map +1 -1
  464. package/dest/tx/tx.d.ts +24 -1
  465. package/dest/tx/tx.d.ts.map +1 -1
  466. package/dest/tx/tx.js +6 -3
  467. package/dest/tx/tx_context.d.ts +2 -1
  468. package/dest/tx/tx_context.d.ts.map +1 -1
  469. package/dest/tx/tx_effect.d.ts +32 -6
  470. package/dest/tx/tx_effect.d.ts.map +1 -1
  471. package/dest/tx/tx_effect.js +0 -7
  472. package/dest/tx/tx_execution_request.d.ts +30 -1
  473. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  474. package/dest/tx/tx_hash.d.ts +2 -1
  475. package/dest/tx/tx_hash.d.ts.map +1 -1
  476. package/dest/tx/tx_receipt.d.ts +62 -14
  477. package/dest/tx/tx_receipt.d.ts.map +1 -1
  478. package/dest/tx/tx_receipt.js +55 -16
  479. package/dest/tx/tx_request.d.ts +6 -1
  480. package/dest/tx/tx_request.d.ts.map +1 -1
  481. package/dest/tx/tx_request.js +2 -2
  482. package/dest/tx/validator/empty_validator.d.ts +2 -2
  483. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  484. package/dest/tx/validator/error_texts.d.ts +3 -2
  485. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  486. package/dest/tx/validator/error_texts.js +3 -1
  487. package/dest/tx/validator/tx_validator.d.ts +2 -2
  488. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  489. package/dest/types/shared.d.ts +4 -1
  490. package/dest/types/shared.d.ts.map +1 -1
  491. package/dest/validators/schemas.d.ts +38 -38
  492. package/dest/validators/schemas.d.ts.map +1 -1
  493. package/dest/validators/schemas.js +4 -3
  494. package/dest/validators/types.d.ts +3 -3
  495. package/dest/validators/types.d.ts.map +1 -1
  496. package/dest/vks/verification_key.d.ts +22 -1
  497. package/dest/vks/verification_key.d.ts.map +1 -1
  498. package/dest/vks/vk_data.d.ts +7 -1
  499. package/dest/vks/vk_data.d.ts.map +1 -1
  500. package/dest/zkpassport/index.d.ts +3 -4
  501. package/dest/zkpassport/index.d.ts.map +1 -1
  502. package/dest/zkpassport/index.js +9 -9
  503. package/package.json +27 -13
  504. package/src/abi/function_call.ts +25 -3
  505. package/src/abi/utils.ts +17 -0
  506. package/src/auth_witness/auth_witness.ts +3 -3
  507. package/src/block/block_data.ts +26 -0
  508. package/src/block/block_hash.ts +26 -25
  509. package/src/block/block_parameter.ts +4 -2
  510. package/src/block/body.ts +2 -1
  511. package/src/block/checkpointed_l2_block.ts +8 -58
  512. package/src/block/in_block.ts +6 -6
  513. package/src/block/index.ts +1 -2
  514. package/src/block/l2_block.ts +102 -150
  515. package/src/block/l2_block_source.ts +93 -42
  516. package/src/block/l2_block_stream/interfaces.ts +8 -5
  517. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  518. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  519. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  520. package/src/block/validate_block_result.ts +5 -4
  521. package/src/checkpoint/checkpoint.ts +61 -21
  522. package/src/checkpoint/checkpoint_data.ts +51 -0
  523. package/src/checkpoint/index.ts +1 -0
  524. package/src/checkpoint/published_checkpoint.ts +7 -4
  525. package/src/config/index.ts +1 -0
  526. package/src/config/node-rpc-config.ts +1 -1
  527. package/src/config/sequencer-config.ts +29 -0
  528. package/src/contract/contract_address.ts +4 -4
  529. package/src/contract/contract_class.ts +3 -3
  530. package/src/contract/contract_class_id.ts +6 -5
  531. package/src/contract/index.ts +0 -2
  532. package/src/contract/interfaces/node-info.ts +3 -0
  533. package/src/contract/private_function.ts +3 -4
  534. package/src/contract/private_function_membership_proof.ts +1 -1
  535. package/src/database-version/database_version.ts +87 -0
  536. package/src/database-version/version_manager.ts +1 -77
  537. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  538. package/src/deserialization/index.ts +21 -0
  539. package/src/epoch-helpers/index.ts +13 -1
  540. package/src/file-store/local.ts +15 -5
  541. package/src/file-store/s3.ts +12 -3
  542. package/src/ha-signing/config.ts +149 -0
  543. package/src/ha-signing/index.ts +18 -0
  544. package/src/ha-signing/types.ts +112 -0
  545. package/src/hash/hash.ts +14 -10
  546. package/src/hash/map_slot.ts +3 -2
  547. package/src/interfaces/api_limit.ts +1 -0
  548. package/src/interfaces/archiver.ts +23 -24
  549. package/src/interfaces/aztec-node-admin.ts +26 -2
  550. package/src/interfaces/aztec-node.ts +86 -135
  551. package/src/interfaces/block-builder.ts +41 -23
  552. package/src/interfaces/configs.ts +13 -4
  553. package/src/interfaces/l2_logs_source.ts +17 -4
  554. package/src/interfaces/merkle_tree_operations.ts +1 -1
  555. package/src/interfaces/p2p.ts +1 -1
  556. package/src/interfaces/prover-broker.ts +22 -0
  557. package/src/interfaces/prover-client.ts +22 -0
  558. package/src/interfaces/slasher.ts +4 -0
  559. package/src/interfaces/tx_provider.ts +2 -2
  560. package/src/interfaces/validator.ts +20 -12
  561. package/src/kernel/hints/build_note_hash_read_request_hints.ts +31 -24
  562. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  563. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  564. package/src/kernel/hints/index.ts +2 -2
  565. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  566. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  567. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  568. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  569. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  570. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
  571. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  572. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  573. package/src/kernel/private_validation_requests.ts +8 -8
  574. package/src/keys/derivation.ts +15 -15
  575. package/src/keys/key_types.ts +6 -2
  576. package/src/keys/public_keys.ts +2 -2
  577. package/src/keys/utils.ts +8 -4
  578. package/src/l1-contracts/slash_factory.ts +1 -0
  579. package/src/logs/debug_log_store.ts +54 -0
  580. package/src/logs/index.ts +1 -0
  581. package/src/logs/log_id.ts +22 -18
  582. package/src/logs/siloed_tag.ts +2 -2
  583. package/src/messaging/l2_to_l1_membership.ts +8 -6
  584. package/src/messaging/out_hash.ts +60 -29
  585. package/src/note/index.ts +0 -1
  586. package/src/note/note_dao.ts +18 -13
  587. package/src/p2p/attestation_utils.ts +56 -0
  588. package/src/p2p/block_proposal.ts +36 -15
  589. package/src/p2p/checkpoint_attestation.ts +6 -1
  590. package/src/p2p/checkpoint_proposal.ts +74 -24
  591. package/src/p2p/consensus_payload.ts +25 -17
  592. package/src/p2p/constants.ts +6 -0
  593. package/src/p2p/index.ts +1 -0
  594. package/src/p2p/message_validator.ts +14 -2
  595. package/src/p2p/signed_txs.ts +6 -1
  596. package/src/p2p/topic_type.ts +1 -1
  597. package/src/proofs/chonk_proof.ts +9 -5
  598. package/src/rollup/block_headers_hash.ts +1 -1
  599. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  600. package/src/rollup/checkpoint_header.ts +22 -2
  601. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  602. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  603. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  604. package/src/slashing/empire.ts +3 -1
  605. package/src/slashing/helpers.ts +8 -0
  606. package/src/slashing/tally.ts +8 -2
  607. package/src/slashing/types.ts +14 -0
  608. package/src/stats/stats.ts +0 -2
  609. package/src/tests/factories.ts +23 -43
  610. package/src/tests/jest.ts +1 -1
  611. package/src/tests/mocks.ts +90 -55
  612. package/src/timetable/index.ts +66 -0
  613. package/src/trees/public_data_leaf.ts +11 -5
  614. package/src/tx/block_header.ts +12 -4
  615. package/src/tx/global_variables.ts +3 -3
  616. package/src/tx/indexed_tx_effect.ts +3 -2
  617. package/src/tx/private_execution_result.ts +1 -1
  618. package/src/tx/profiling.ts +51 -9
  619. package/src/tx/protocol_contracts.ts +2 -2
  620. package/src/tx/public_simulation_output.ts +4 -0
  621. package/src/tx/tx.ts +8 -9
  622. package/src/tx/tx_effect.ts +0 -9
  623. package/src/tx/tx_receipt.ts +85 -18
  624. package/src/tx/tx_request.ts +2 -2
  625. package/src/tx/validator/empty_validator.ts +1 -1
  626. package/src/tx/validator/error_texts.ts +4 -1
  627. package/src/tx/validator/tx_validator.ts +1 -1
  628. package/src/validators/schemas.ts +8 -1
  629. package/src/validators/types.ts +5 -4
  630. package/src/zkpassport/index.ts +11 -12
  631. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  632. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  633. package/dest/block/l2_block_code_to_purge.js +0 -55
  634. package/dest/block/l2_block_header.d.ts +0 -94
  635. package/dest/block/l2_block_header.d.ts.map +0 -1
  636. package/dest/block/l2_block_header.js +0 -160
  637. package/dest/block/l2_block_new.d.ts +0 -134
  638. package/dest/block/l2_block_new.d.ts.map +0 -1
  639. package/dest/block/l2_block_new.js +0 -155
  640. package/dest/contract/contract_class_metadata.d.ts +0 -8
  641. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  642. package/dest/contract/contract_class_metadata.js +0 -1
  643. package/dest/contract/contract_metadata.d.ts +0 -7
  644. package/dest/contract/contract_metadata.d.ts.map +0 -1
  645. package/dest/contract/contract_metadata.js +0 -1
  646. package/dest/database-version/index.d.ts +0 -2
  647. package/dest/database-version/index.d.ts.map +0 -1
  648. package/dest/database-version/index.js +0 -1
  649. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  650. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  651. package/dest/note/notes_filter.d.ts +0 -27
  652. package/dest/note/notes_filter.d.ts.map +0 -1
  653. package/dest/note/notes_filter.js +0 -11
  654. package/src/block/l2_block_code_to_purge.ts +0 -80
  655. package/src/block/l2_block_header.ts +0 -255
  656. package/src/block/l2_block_new.ts +0 -211
  657. package/src/contract/contract_class_metadata.ts +0 -8
  658. package/src/contract/contract_metadata.ts +0 -7
  659. package/src/database-version/index.ts +0 -1
  660. package/src/note/notes_filter.ts +0 -38
@@ -1,5 +1,5 @@
1
1
  import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
- import { ARCHIVE_HEIGHT, BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB } from '@aztec/constants';
2
+ import { ARCHIVE_HEIGHT, BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, OUT_HASH_TREE_HEIGHT } from '@aztec/constants';
3
3
  import { BLS12Point } from '@aztec/foundation/curves/bls12';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
@@ -8,6 +8,7 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
8
8
  import type { FieldsOf } from '@aztec/foundation/types';
9
9
 
10
10
  import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
11
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
11
12
  import { BlockHeader } from '../tx/block_header.js';
12
13
  import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
13
14
 
@@ -21,6 +22,14 @@ export class CheckpointRootRollupHints {
21
22
  * Hint for checking the hash of previous_block_header is the last leaf of the previous archive.
22
23
  */
23
24
  public previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
25
+ /**
26
+ * The out hash tree snapshot immediately before this checkpoint.
27
+ */
28
+ public previousOutHash: AppendOnlyTreeSnapshot,
29
+ /**
30
+ * Hint for inserting the new out hash into the out hash tree.
31
+ */
32
+ public newOutHashSiblingPath: Tuple<Fr, typeof OUT_HASH_TREE_HEIGHT>,
24
33
  /**
25
34
  * The current blob accumulation state across the epoch.
26
35
  */
@@ -54,6 +63,8 @@ export class CheckpointRootRollupHints {
54
63
  return [
55
64
  fields.previousBlockHeader,
56
65
  fields.previousArchiveSiblingPath,
66
+ fields.previousOutHash,
67
+ fields.newOutHashSiblingPath,
57
68
  fields.startBlobAccumulator,
58
69
  fields.finalBlobChallenges,
59
70
  fields.blobFields,
@@ -71,6 +82,8 @@ export class CheckpointRootRollupHints {
71
82
  return new CheckpointRootRollupHints(
72
83
  BlockHeader.fromBuffer(reader),
73
84
  reader.readArray(ARCHIVE_HEIGHT, Fr),
85
+ reader.readObject(AppendOnlyTreeSnapshot),
86
+ reader.readArray(OUT_HASH_TREE_HEIGHT, Fr),
74
87
  reader.readObject(BlobAccumulator),
75
88
  reader.readObject(FinalBlobBatchingChallenges),
76
89
  // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
@@ -1,5 +1,5 @@
1
1
  import { FinalBlobAccumulator } from '@aztec/blob-lib/types';
2
- import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
2
+ import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
3
3
  import { makeTuple } from '@aztec/foundation/array';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
@@ -21,11 +21,14 @@ export class RootRollupPublicInputs {
21
21
  public previousArchiveRoot: Fr,
22
22
  /** Root of the archive tree after this rollup is processed */
23
23
  public endArchiveRoot: Fr,
24
- /** Root of the unbalanced merkle tree consisting of the `out_hash` values from all checkpoints in this rollup. */
24
+ /**
25
+ * Root of the balanced merkle tree consisting of the out hashes of all checkpoints in this epoch.
26
+ * The out hash of the first checkpoint in the epoch is inserted at index 0, the second at index 1, and so on.
27
+ */
25
28
  public outHash: Fr,
26
29
  /** Hashes of checkpoint headers for this rollup. */
27
- public checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
28
- public fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
30
+ public checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>,
31
+ public fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>,
29
32
  public constants: EpochConstantData,
30
33
  public blobPublicInputs: FinalBlobAccumulator,
31
34
  ) {}
@@ -65,8 +68,8 @@ export class RootRollupPublicInputs {
65
68
  Fr.fromBuffer(reader),
66
69
  Fr.fromBuffer(reader),
67
70
  Fr.fromBuffer(reader),
68
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr),
69
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
71
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr),
72
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient),
70
73
  EpochConstantData.fromBuffer(reader),
71
74
  reader.readObject(FinalBlobAccumulator),
72
75
  );
@@ -96,8 +99,8 @@ export class RootRollupPublicInputs {
96
99
  Fr.random(),
97
100
  Fr.random(),
98
101
  Fr.random(),
99
- makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random),
100
- makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random),
102
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, Fr.random),
103
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient.random),
101
104
  new EpochConstantData(Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random()),
102
105
  FinalBlobAccumulator.random(),
103
106
  );
@@ -83,7 +83,9 @@ export function getFirstEligibleRoundForOffense(
83
83
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
84
84
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
85
85
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
86
- case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL: {
86
+ case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
87
+ case OffenseType.DUPLICATE_PROPOSAL:
88
+ case OffenseType.DUPLICATE_ATTESTATION: {
87
89
  const slot = offense.epochOrSlot;
88
90
  const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
89
91
  return getRoundForSlot(detectedSlot, constants).round + 1n;
@@ -50,6 +50,8 @@ export function getPenaltyForOffense(
50
50
  SlasherConfig,
51
51
  | 'slashAttestDescendantOfInvalidPenalty'
52
52
  | 'slashBroadcastedInvalidBlockPenalty'
53
+ | 'slashDuplicateProposalPenalty'
54
+ | 'slashDuplicateAttestationPenalty'
53
55
  | 'slashPrunePenalty'
54
56
  | 'slashDataWithholdingPenalty'
55
57
  | 'slashUnknownPenalty'
@@ -71,6 +73,10 @@ export function getPenaltyForOffense(
71
73
  return config.slashAttestDescendantOfInvalidPenalty;
72
74
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
73
75
  return config.slashBroadcastedInvalidBlockPenalty;
76
+ case OffenseType.DUPLICATE_PROPOSAL:
77
+ return config.slashDuplicateProposalPenalty;
78
+ case OffenseType.DUPLICATE_ATTESTATION:
79
+ return config.slashDuplicateAttestationPenalty;
74
80
  case OffenseType.UNKNOWN:
75
81
  return config.slashUnknownPenalty;
76
82
  default: {
@@ -85,6 +91,8 @@ export function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot' {
85
91
  switch (offense) {
86
92
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
87
93
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
94
+ case OffenseType.DUPLICATE_PROPOSAL:
95
+ case OffenseType.DUPLICATE_ATTESTATION:
88
96
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
89
97
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
90
98
  return 'slot';
@@ -1,4 +1,5 @@
1
1
  import { sumBigint } from '@aztec/foundation/bigint';
2
+ import { padArrayEnd } from '@aztec/foundation/collection';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import type { PartialBy } from '@aztec/foundation/types';
4
5
 
@@ -20,9 +21,10 @@ export function getSlashConsensusVotesFromOffenses(
20
21
  settings: {
21
22
  slashingAmounts: [bigint, bigint, bigint];
22
23
  epochDuration: number;
24
+ targetCommitteeSize: number;
23
25
  },
24
26
  ): ValidatorSlashVote[] {
25
- const { slashingAmounts } = settings;
27
+ const { slashingAmounts, targetCommitteeSize } = settings;
26
28
 
27
29
  if (committees.length !== epochsForCommittees.length) {
28
30
  throw new Error('committees and epochsForCommittees must have the same length');
@@ -31,7 +33,9 @@ export function getSlashConsensusVotesFromOffenses(
31
33
  const votes = committees.flatMap((committee, committeeIndex) => {
32
34
  const committeeEpoch = epochsForCommittees[committeeIndex];
33
35
 
34
- return committee.map(validator => {
36
+ // Map over actual committee members, then pad to targetCommitteeSize.
37
+ // Padding handles cases where committees may be empty (e.g., when there aren't enough validators to fill the committee size during network startup).
38
+ const votes = committee.map(validator => {
35
39
  // Find offenses for this validator in this specific epoch.
36
40
  // If an offense has no epoch, it is considered for all epochs due to a slashAlways setting.
37
41
  const validatorOffenses = offenses.filter(
@@ -45,6 +49,8 @@ export function getSlashConsensusVotesFromOffenses(
45
49
  const slashUnits = getSlashUnitsForAmount(slashAmount, slashingAmounts);
46
50
  return Number(slashUnits);
47
51
  });
52
+
53
+ return padArrayEnd(votes, 0, targetCommitteeSize);
48
54
  });
49
55
 
50
56
  return votes;
@@ -20,6 +20,10 @@ export enum OffenseType {
20
20
  PROPOSED_INCORRECT_ATTESTATIONS = 6,
21
21
  /** A committee member attested to a block that was built as a descendent of an invalid block (as in a block with invalid attestations) */
22
22
  ATTESTED_DESCENDANT_OF_INVALID = 7,
23
+ /** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */
24
+ DUPLICATE_PROPOSAL = 8,
25
+ /** A validator signed attestations for different proposals at the same slot (equivocation) */
26
+ DUPLICATE_ATTESTATION = 9,
23
27
  }
24
28
 
25
29
  export function getOffenseTypeName(offense: OffenseType) {
@@ -40,6 +44,10 @@ export function getOffenseTypeName(offense: OffenseType) {
40
44
  return 'proposed_incorrect_attestations';
41
45
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
42
46
  return 'attested_descendant_of_invalid';
47
+ case OffenseType.DUPLICATE_PROPOSAL:
48
+ return 'duplicate_proposal';
49
+ case OffenseType.DUPLICATE_ATTESTATION:
50
+ return 'duplicate_attestation';
43
51
  default:
44
52
  throw new Error(`Unknown offense type: ${offense}`);
45
53
  }
@@ -56,6 +64,8 @@ export const OffenseToBigInt: Record<OffenseType, bigint> = {
56
64
  [OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS]: 5n,
57
65
  [OffenseType.PROPOSED_INCORRECT_ATTESTATIONS]: 6n,
58
66
  [OffenseType.ATTESTED_DESCENDANT_OF_INVALID]: 7n,
67
+ [OffenseType.DUPLICATE_PROPOSAL]: 8n,
68
+ [OffenseType.DUPLICATE_ATTESTATION]: 9n,
59
69
  };
60
70
 
61
71
  export function bigIntToOffense(offense: bigint): OffenseType {
@@ -76,6 +86,10 @@ export function bigIntToOffense(offense: bigint): OffenseType {
76
86
  return OffenseType.PROPOSED_INCORRECT_ATTESTATIONS;
77
87
  case 7n:
78
88
  return OffenseType.ATTESTED_DESCENDANT_OF_INVALID;
89
+ case 8n:
90
+ return OffenseType.DUPLICATE_PROPOSAL;
91
+ case 9n:
92
+ return OffenseType.DUPLICATE_ATTESTATION;
79
93
  default:
80
94
  throw new Error(`Unknown offense: ${offense}`);
81
95
  }
@@ -202,8 +202,6 @@ export type L2BlockBuiltStats = {
202
202
  duration: number;
203
203
  /** Time for processing public txs in ms. */
204
204
  publicProcessDuration: number;
205
- /** Time for running rollup circuits in ms. */
206
- rollupCircuitsDuration: number;
207
205
  } & L2BlockStats;
208
206
 
209
207
  /** Stats for an L2 block processed by the world state synchronizer. */
@@ -7,11 +7,11 @@ import {
7
7
  import {
8
8
  ARCHIVE_HEIGHT,
9
9
  AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
10
- AZTEC_MAX_EPOCH_DURATION,
11
10
  CHONK_PROOF_LENGTH,
12
11
  CONTRACT_CLASS_LOG_SIZE_IN_FIELDS,
13
- GeneratorIndex,
12
+ DomainSeparator,
14
13
  L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
14
+ MAX_CHECKPOINTS_PER_EPOCH,
15
15
  MAX_CONTRACT_CLASS_LOGS_PER_TX,
16
16
  MAX_ENQUEUED_CALLS_PER_CALL,
17
17
  MAX_ENQUEUED_CALLS_PER_TX,
@@ -87,7 +87,6 @@ import {
87
87
  import { PublicDataRead } from '../avm/public_data_read.js';
88
88
  import { PublicDataWrite } from '../avm/public_data_write.js';
89
89
  import { AztecAddress } from '../aztec-address/index.js';
90
- import { L2BlockHeader } from '../block/l2_block_header.js';
91
90
  import type { L2Tips } from '../block/l2_block_source.js';
92
91
  import {
93
92
  type ContractClassPublic,
@@ -103,7 +102,7 @@ import {
103
102
  import { Gas, GasFees, GasSettings } from '../gas/index.js';
104
103
  import { computeCalldataHash } from '../hash/hash.js';
105
104
  import { KeyValidationRequest } from '../kernel/hints/key_validation_request.js';
106
- import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js';
105
+ import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js';
107
106
  import { ReadRequest, ScopedReadRequest } from '../kernel/hints/read_request.js';
108
107
  import {
109
108
  ClaimedLengthArray,
@@ -260,12 +259,12 @@ function makeKeyValidationRequests(seed: number): KeyValidationRequest {
260
259
  }
261
260
 
262
261
  /**
263
- * Creates arbitrary KeyValidationRequestAndGenerator from the given seed.
264
- * @param seed - The seed to use for generating the KeyValidationRequestAndGenerator.
265
- * @returns A KeyValidationRequestAndGenerator.
262
+ * Creates arbitrary KeyValidationRequestAndSeparator from the given seed.
263
+ * @param seed - The seed to use for generating the KeyValidationRequestAndSeparator.
264
+ * @returns A KeyValidationRequestAndSeparator.
266
265
  */
267
- function makeKeyValidationRequestAndGenerators(seed: number): KeyValidationRequestAndGenerator {
268
- return new KeyValidationRequestAndGenerator(makeKeyValidationRequests(seed), fr(seed + 4));
266
+ function makeKeyValidationRequestAndSeparators(seed: number): KeyValidationRequestAndSeparator {
267
+ return new KeyValidationRequestAndSeparator(makeKeyValidationRequests(seed), fr(seed + 4));
269
268
  }
270
269
 
271
270
  export function makePublicDataWrite(seed = 1) {
@@ -657,7 +656,7 @@ function makeClaimedLengthArray<T extends Serializable, N extends number>(
657
656
  */
658
657
  export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicInputs {
659
658
  return PrivateCircuitPublicInputs.from({
660
- includeByTimestamp: BigInt(seed + 0x31415),
659
+ expirationTimestamp: BigInt(seed + 0x31415),
661
660
  callContext: makeCallContext(seed, { isStaticCall: true }),
662
661
  argsHash: fr(seed + 0x100),
663
662
  returnsHash: fr(seed + 0x200),
@@ -672,9 +671,9 @@ export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicIn
672
671
  makeScopedReadRequest,
673
672
  seed + 0x310,
674
673
  ),
675
- keyValidationRequestsAndGenerators: makeClaimedLengthArray(
674
+ keyValidationRequestsAndSeparators: makeClaimedLengthArray(
676
675
  MAX_KEY_VALIDATION_REQUESTS_PER_CALL,
677
- makeKeyValidationRequestAndGenerators,
676
+ makeKeyValidationRequestAndSeparators,
678
677
  seed + 0x320,
679
678
  ),
680
679
  noteHashes: makeClaimedLengthArray(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400),
@@ -850,9 +849,10 @@ export function makeCheckpointRollupPublicInputs(seed = 0) {
850
849
  makeEpochConstantData(seed),
851
850
  makeAppendOnlyTreeSnapshot(seed + 0x100),
852
851
  makeAppendOnlyTreeSnapshot(seed + 0x200),
853
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x300),
854
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x400),
855
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x500),
852
+ makeAppendOnlyTreeSnapshot(seed + 0x300),
853
+ makeAppendOnlyTreeSnapshot(seed + 0x350),
854
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, () => fr(seed), 0x400),
855
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, () => makeFeeRecipient(seed), 0x500),
856
856
  makeBlobAccumulator(seed + 0x600),
857
857
  makeBlobAccumulator(seed + 0x700),
858
858
  makeFinalBlobBatchingChallenges(seed + 0x800),
@@ -888,8 +888,8 @@ export function makeRootRollupPublicInputs(seed = 0): RootRollupPublicInputs {
888
888
  fr(seed + 0x100),
889
889
  fr(seed + 0x200),
890
890
  fr(seed + 0x300),
891
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x400),
892
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x500),
891
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, () => fr(seed), 0x400),
892
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, () => makeFeeRecipient(seed), 0x500),
893
893
  makeEpochConstantData(seed + 0x600),
894
894
  makeFinalBlobAccumulator(seed + 0x700),
895
895
  );
@@ -910,40 +910,20 @@ export function makeBlockHeader(
910
910
  });
911
911
  }
912
912
 
913
- export function makeL2BlockHeader(
914
- seed = 0,
915
- blockNumber?: number,
916
- slotNumber?: number,
917
- overrides: Partial<FieldsOf<L2BlockHeader>> = {},
918
- ) {
919
- return new L2BlockHeader(
920
- makeAppendOnlyTreeSnapshot(seed + 0x100),
921
- overrides?.blobsHash ?? fr(seed + 0x200),
922
- overrides?.inHash ?? fr(seed + 0x300),
923
- overrides?.state ?? makeStateReference(seed + 0x600),
924
- makeGlobalVariables((seed += 0x700), {
925
- ...(blockNumber !== undefined ? { blockNumber: BlockNumber(blockNumber) } : {}),
926
- ...(slotNumber !== undefined ? { slotNumber: SlotNumber(slotNumber) } : {}),
927
- }),
928
- new Fr(seed + 0x800),
929
- new Fr(seed + 0x900),
930
- new Fr(seed + 0xa00),
931
- new Fr(seed + 0xb00),
932
- );
933
- }
934
-
935
- export function makeCheckpointHeader(seed = 0) {
913
+ export function makeCheckpointHeader(seed = 0, overrides: Partial<FieldsOf<CheckpointHeader>> = {}) {
936
914
  return CheckpointHeader.from({
937
915
  lastArchiveRoot: fr(seed + 0x100),
938
916
  blockHeadersHash: fr(seed + 0x150),
939
917
  blobsHash: fr(seed + 0x200),
940
918
  inHash: fr(seed + 0x210),
919
+ epochOutHash: fr(seed + 0x220),
941
920
  slotNumber: SlotNumber(seed + 0x300),
942
921
  timestamp: BigInt(seed + 0x400),
943
922
  coinbase: makeEthAddress(seed + 0x500),
944
923
  feeRecipient: makeAztecAddress(seed + 0x600),
945
924
  gasFees: makeGasFees(seed + 0x700),
946
925
  totalManaUsed: fr(seed + 0x800),
926
+ ...overrides,
947
927
  });
948
928
  }
949
929
 
@@ -1307,11 +1287,11 @@ export async function makeContractInstanceFromClassId(
1307
1287
 
1308
1288
  const saltedInitializationHash = await poseidon2HashWithSeparator(
1309
1289
  [salt, initializationHash, deployer],
1310
- GeneratorIndex.PARTIAL_ADDRESS,
1290
+ DomainSeparator.PARTIAL_ADDRESS,
1311
1291
  );
1312
1292
  const partialAddress = await poseidon2HashWithSeparator(
1313
1293
  [classId, saltedInitializationHash],
1314
- GeneratorIndex.PARTIAL_ADDRESS,
1294
+ DomainSeparator.PARTIAL_ADDRESS,
1315
1295
  );
1316
1296
  const address = await computeAddress(publicKeys, partialAddress);
1317
1297
  return new SerializableContractInstance({
@@ -1759,7 +1739,7 @@ export function makeL2Tips(
1759
1739
  ? typeof checkpointNumber === 'number'
1760
1740
  ? CheckpointNumber(checkpointNumber)
1761
1741
  : checkpointNumber
1762
- : CheckpointNumber(bn);
1742
+ : CheckpointNumber.fromBlockNumber(bn);
1763
1743
  const cph = checkpointHash ?? hash;
1764
1744
  return {
1765
1745
  proposed: { number: bn, hash },
package/src/tests/jest.ts CHANGED
@@ -20,7 +20,7 @@ export function equalL2Blocks(a: any, b: any) {
20
20
  // use a custom comparator because the blockHash property is lazily computed and one instance might not have it
21
21
  return aAsL2Block.toBuffer().equals(bAsL2Block.toBuffer());
22
22
  } else if (aAsL2Block || bAsL2Block) {
23
- // one value is an L2block and the other isn't. Definitely not equal.
23
+ // one value is an L2Block and the other isn't. Definitely not equal.
24
24
  return false;
25
25
  } else {
26
26
  // we don't know what they are, tell Jest to keep looking