@aztec/stdlib 0.0.1-commit.6230efd → 0.0.1-commit.64b6bbb

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 (634) hide show
  1. package/dest/abi/contract_artifact.d.ts +2 -2
  2. package/dest/abi/contract_artifact.d.ts.map +1 -1
  3. package/dest/abi/contract_artifact.js +1 -1
  4. package/dest/abi/function_call.d.ts +47 -9
  5. package/dest/abi/function_call.d.ts.map +1 -1
  6. package/dest/abi/function_call.js +20 -3
  7. package/dest/abi/selector.js +3 -1
  8. package/dest/abi/utils.d.ts +7 -1
  9. package/dest/abi/utils.d.ts.map +1 -1
  10. package/dest/abi/utils.js +7 -0
  11. package/dest/auth_witness/auth_witness.d.ts +2 -1
  12. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  13. package/dest/avm/avm.d.ts +62 -62
  14. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  15. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  16. package/dest/avm/avm_accumulated_data.js +5 -2
  17. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  18. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  19. package/dest/avm/avm_proving_request.d.ts +299 -299
  20. package/dest/avm/contract_storage_read.d.ts +13 -1
  21. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  22. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  23. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  24. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  25. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  26. package/dest/avm/public_data_read.d.ts +10 -1
  27. package/dest/avm/public_data_read.d.ts.map +1 -1
  28. package/dest/avm/public_data_update_request.d.ts +10 -1
  29. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  30. package/dest/avm/public_data_update_request.js +3 -1
  31. package/dest/avm/public_data_write.d.ts +7 -1
  32. package/dest/avm/public_data_write.d.ts.map +1 -1
  33. package/dest/avm/public_inner_call_request.d.ts +4 -1
  34. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  35. package/dest/avm/public_inner_call_request.js +3 -1
  36. package/dest/avm/revert_code.d.ts +4 -4
  37. package/dest/avm/revert_code.d.ts.map +1 -1
  38. package/dest/avm/revert_code.js +3 -1
  39. package/dest/aztec-address/index.js +4 -2
  40. package/dest/block/attestation_info.d.ts +5 -5
  41. package/dest/block/attestation_info.d.ts.map +1 -1
  42. package/dest/block/attestation_info.js +4 -4
  43. package/dest/block/block_hash.d.ts +18 -14
  44. package/dest/block/block_hash.d.ts.map +1 -1
  45. package/dest/block/block_hash.js +22 -20
  46. package/dest/block/block_parameter.d.ts +4 -3
  47. package/dest/block/block_parameter.d.ts.map +1 -1
  48. package/dest/block/block_parameter.js +2 -0
  49. package/dest/block/body.d.ts +1 -1
  50. package/dest/block/body.d.ts.map +1 -1
  51. package/dest/block/body.js +5 -2
  52. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  53. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  54. package/dest/block/checkpointed_l2_block.js +7 -45
  55. package/dest/block/in_block.d.ts +9 -9
  56. package/dest/block/in_block.d.ts.map +1 -1
  57. package/dest/block/in_block.js +5 -5
  58. package/dest/block/index.d.ts +1 -3
  59. package/dest/block/index.d.ts.map +1 -1
  60. package/dest/block/index.js +0 -2
  61. package/dest/block/l2_block.d.ts +57 -57
  62. package/dest/block/l2_block.d.ts.map +1 -1
  63. package/dest/block/l2_block.js +64 -108
  64. package/dest/block/l2_block_source.d.ts +298 -68
  65. package/dest/block/l2_block_source.d.ts.map +1 -1
  66. package/dest/block/l2_block_source.js +25 -6
  67. package/dest/block/l2_block_stream/index.d.ts +2 -1
  68. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  69. package/dest/block/l2_block_stream/index.js +1 -0
  70. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  71. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  72. package/dest/block/l2_block_stream/l2_block_stream.d.ts +8 -3
  73. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  74. package/dest/block/l2_block_stream/l2_block_stream.js +106 -31
  75. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  76. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  77. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  78. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  79. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  80. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  81. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  82. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  83. package/dest/block/test/l2_tips_store_test_suite.js +478 -38
  84. package/dest/block/validate_block_result.d.ts +24 -24
  85. package/dest/block/validate_block_result.d.ts.map +1 -1
  86. package/dest/block/validate_block_result.js +18 -17
  87. package/dest/checkpoint/checkpoint.d.ts +30 -20
  88. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  89. package/dest/checkpoint/checkpoint.js +19 -6
  90. package/dest/checkpoint/checkpoint_info.d.ts +32 -3
  91. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  92. package/dest/checkpoint/checkpoint_info.js +34 -1
  93. package/dest/checkpoint/index.d.ts +2 -1
  94. package/dest/checkpoint/index.d.ts.map +1 -1
  95. package/dest/checkpoint/index.js +1 -0
  96. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  97. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  98. package/dest/checkpoint/published_checkpoint.js +4 -3
  99. package/dest/config/index.d.ts +2 -1
  100. package/dest/config/index.d.ts.map +1 -1
  101. package/dest/config/index.js +1 -0
  102. package/dest/config/node-rpc-config.js +1 -1
  103. package/dest/config/sequencer-config.d.ts +10 -0
  104. package/dest/config/sequencer-config.d.ts.map +1 -0
  105. package/dest/config/sequencer-config.js +12 -0
  106. package/dest/contract/complete_address.d.ts +4 -1
  107. package/dest/contract/complete_address.d.ts.map +1 -1
  108. package/dest/contract/contract_address.js +1 -1
  109. package/dest/contract/contract_class_id.d.ts +1 -1
  110. package/dest/contract/contract_class_id.js +1 -1
  111. package/dest/contract/contract_deployment_data.d.ts +5 -5
  112. package/dest/contract/index.d.ts +1 -3
  113. package/dest/contract/index.d.ts.map +1 -1
  114. package/dest/contract/index.js +0 -2
  115. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  116. package/dest/contract/private_function.d.ts +1 -1
  117. package/dest/contract/private_function.d.ts.map +1 -1
  118. package/dest/contract/private_function.js +2 -3
  119. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  120. package/dest/contract/private_function_membership_proof.js +1 -1
  121. package/dest/database-version/database_version.d.ts +58 -0
  122. package/dest/database-version/database_version.d.ts.map +1 -0
  123. package/dest/database-version/database_version.js +69 -0
  124. package/dest/database-version/version_manager.d.ts +3 -49
  125. package/dest/database-version/version_manager.d.ts.map +1 -1
  126. package/dest/database-version/version_manager.js +1 -64
  127. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  128. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  129. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  130. package/dest/deserialization/index.d.ts +11 -0
  131. package/dest/deserialization/index.d.ts.map +1 -0
  132. package/dest/deserialization/index.js +10 -0
  133. package/dest/epoch-helpers/index.d.ts +7 -1
  134. package/dest/epoch-helpers/index.d.ts.map +1 -1
  135. package/dest/epoch-helpers/index.js +9 -3
  136. package/dest/errors/proving_error.d.ts +2 -2
  137. package/dest/errors/proving_error.d.ts.map +1 -1
  138. package/dest/gas/gas.js +3 -1
  139. package/dest/gas/gas_fees.js +3 -1
  140. package/dest/hash/hash.js +2 -2
  141. package/dest/hash/map_slot.d.ts +1 -1
  142. package/dest/hash/map_slot.d.ts.map +1 -1
  143. package/dest/hash/map_slot.js +4 -3
  144. package/dest/interfaces/api_limit.d.ts +3 -1
  145. package/dest/interfaces/api_limit.d.ts.map +1 -1
  146. package/dest/interfaces/api_limit.js +2 -0
  147. package/dest/interfaces/archiver.d.ts +6 -6
  148. package/dest/interfaces/archiver.d.ts.map +1 -1
  149. package/dest/interfaces/archiver.js +22 -17
  150. package/dest/interfaces/aztec-node-admin.d.ts +82 -31
  151. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  152. package/dest/interfaces/aztec-node-admin.js +5 -3
  153. package/dest/interfaces/aztec-node.d.ts +74 -76
  154. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  155. package/dest/interfaces/aztec-node.js +15 -16
  156. package/dest/interfaces/block-builder.d.ts +22 -14
  157. package/dest/interfaces/block-builder.d.ts.map +1 -1
  158. package/dest/interfaces/block-builder.js +7 -0
  159. package/dest/interfaces/configs.d.ts +12 -7
  160. package/dest/interfaces/configs.d.ts.map +1 -1
  161. package/dest/interfaces/configs.js +2 -1
  162. package/dest/interfaces/get_logs_response.d.ts +16 -9
  163. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  164. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  165. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  166. package/dest/interfaces/p2p.d.ts +7 -9
  167. package/dest/interfaces/p2p.d.ts.map +1 -1
  168. package/dest/interfaces/p2p.js +3 -4
  169. package/dest/interfaces/prover-broker.d.ts +16 -1
  170. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  171. package/dest/interfaces/prover-broker.js +4 -1
  172. package/dest/interfaces/prover-client.d.ts +15 -1
  173. package/dest/interfaces/prover-client.d.ts.map +1 -1
  174. package/dest/interfaces/prover-client.js +12 -1
  175. package/dest/interfaces/proving-job.d.ts +52 -52
  176. package/dest/interfaces/proving-job.d.ts.map +1 -1
  177. package/dest/interfaces/proving-job.js +1 -7
  178. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  179. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  180. package/dest/interfaces/slasher.d.ts +9 -1
  181. package/dest/interfaces/slasher.d.ts.map +1 -1
  182. package/dest/interfaces/slasher.js +2 -0
  183. package/dest/interfaces/tx_provider.d.ts +3 -3
  184. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  185. package/dest/interfaces/validator.d.ts +155 -19
  186. package/dest/interfaces/validator.d.ts.map +1 -1
  187. package/dest/interfaces/validator.js +8 -3
  188. package/dest/kernel/claimed_length_array.js +3 -1
  189. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  190. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  191. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  192. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  193. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  194. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  195. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  196. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  197. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  198. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  199. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  200. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  201. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  202. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  203. package/dest/kernel/hints/read_request.d.ts +7 -1
  204. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  205. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  206. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  207. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  208. package/dest/kernel/log_hash.js +3 -1
  209. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  210. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  211. package/dest/kernel/private_call_data.d.ts +25 -1
  212. package/dest/kernel/private_call_data.d.ts.map +1 -1
  213. package/dest/kernel/private_call_request.d.ts +16 -1
  214. package/dest/kernel/private_call_request.d.ts.map +1 -1
  215. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  216. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  217. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  218. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  219. package/dest/kernel/private_kernel_data.d.ts +7 -1
  220. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  221. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  222. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  223. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  224. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  225. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  226. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  227. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  228. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  229. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  230. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  231. package/dest/kernel/private_log_data.js +5 -2
  232. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  233. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  234. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  235. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  236. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  237. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  238. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  239. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  240. package/dest/kernel/private_validation_requests.d.ts +10 -1
  241. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  242. package/dest/kernel/private_validation_requests.js +3 -1
  243. package/dest/kernel/public_call_request.d.ts +22 -1
  244. package/dest/kernel/public_call_request.d.ts.map +1 -1
  245. package/dest/kernel/public_call_request.js +5 -2
  246. package/dest/kernel/utils/optional_number.d.ts +7 -1
  247. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  248. package/dest/keys/derivation.d.ts +3 -3
  249. package/dest/keys/derivation.js +8 -8
  250. package/dest/keys/key_types.d.ts +1 -1
  251. package/dest/keys/public_keys.d.ts +5 -1
  252. package/dest/keys/public_keys.d.ts.map +1 -1
  253. package/dest/keys/utils.d.ts +1 -1
  254. package/dest/keys/utils.d.ts.map +1 -1
  255. package/dest/keys/utils.js +7 -3
  256. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  257. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  258. package/dest/l1-contracts/slash_factory.js +1 -0
  259. package/dest/logs/contract_class_log.js +3 -1
  260. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  261. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  262. package/dest/logs/extended_public_log.d.ts +17 -9
  263. package/dest/logs/extended_public_log.d.ts.map +1 -1
  264. package/dest/logs/log_id.d.ts +21 -14
  265. package/dest/logs/log_id.d.ts.map +1 -1
  266. package/dest/logs/log_id.js +20 -17
  267. package/dest/logs/private_log.js +3 -1
  268. package/dest/logs/public_log.js +3 -1
  269. package/dest/logs/siloed_tag.d.ts +1 -1
  270. package/dest/logs/siloed_tag.d.ts.map +1 -1
  271. package/dest/logs/siloed_tag.js +4 -3
  272. package/dest/messaging/in_hash.d.ts +4 -2
  273. package/dest/messaging/in_hash.d.ts.map +1 -1
  274. package/dest/messaging/in_hash.js +3 -1
  275. package/dest/messaging/inbox_leaf.d.ts +3 -1
  276. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  277. package/dest/messaging/l1_actor.d.ts +7 -1
  278. package/dest/messaging/l1_actor.d.ts.map +1 -1
  279. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  280. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  281. package/dest/messaging/l2_actor.d.ts +7 -1
  282. package/dest/messaging/l2_actor.d.ts.map +1 -1
  283. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  284. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  285. package/dest/messaging/l2_to_l1_membership.js +160 -42
  286. package/dest/messaging/out_hash.d.ts +41 -3
  287. package/dest/messaging/out_hash.d.ts.map +1 -1
  288. package/dest/messaging/out_hash.js +54 -19
  289. package/dest/note/note_dao.d.ts +36 -5
  290. package/dest/note/note_dao.d.ts.map +1 -1
  291. package/dest/note/note_dao.js +15 -12
  292. package/dest/p2p/attestation_utils.d.ts +3 -3
  293. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  294. package/dest/p2p/attestation_utils.js +1 -1
  295. package/dest/p2p/block_proposal.d.ts +102 -23
  296. package/dest/p2p/block_proposal.d.ts.map +1 -1
  297. package/dest/p2p/block_proposal.js +140 -39
  298. package/dest/p2p/checkpoint_attestation.d.ts +81 -0
  299. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  300. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  301. package/dest/p2p/checkpoint_proposal.d.ts +174 -0
  302. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  303. package/dest/p2p/checkpoint_proposal.js +238 -0
  304. package/dest/p2p/consensus_payload.d.ts +9 -9
  305. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  306. package/dest/p2p/consensus_payload.js +3 -5
  307. package/dest/p2p/constants.d.ts +5 -0
  308. package/dest/p2p/constants.d.ts.map +1 -0
  309. package/dest/p2p/constants.js +3 -0
  310. package/dest/p2p/gossipable.d.ts +4 -3
  311. package/dest/p2p/gossipable.d.ts.map +1 -1
  312. package/dest/p2p/gossipable.js +16 -5
  313. package/dest/p2p/index.d.ts +5 -2
  314. package/dest/p2p/index.d.ts.map +1 -1
  315. package/dest/p2p/index.js +4 -1
  316. package/dest/p2p/message_validator.d.ts +18 -3
  317. package/dest/p2p/message_validator.d.ts.map +1 -1
  318. package/dest/p2p/message_validator.js +2 -1
  319. package/dest/p2p/signature_utils.d.ts +5 -3
  320. package/dest/p2p/signature_utils.d.ts.map +1 -1
  321. package/dest/p2p/signature_utils.js +3 -1
  322. package/dest/p2p/signed_txs.d.ts +42 -0
  323. package/dest/p2p/signed_txs.d.ts.map +1 -0
  324. package/dest/p2p/signed_txs.js +75 -0
  325. package/dest/p2p/topic_type.d.ts +3 -2
  326. package/dest/p2p/topic_type.d.ts.map +1 -1
  327. package/dest/p2p/topic_type.js +10 -3
  328. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  329. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  330. package/dest/parity/parity_public_inputs.d.ts +4 -1
  331. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  332. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  333. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  334. package/dest/proofs/chonk_proof.d.ts +1 -1
  335. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  336. package/dest/proofs/chonk_proof.js +9 -4
  337. package/dest/proofs/proof.d.ts +4 -1
  338. package/dest/proofs/proof.d.ts.map +1 -1
  339. package/dest/proofs/recursive_proof.d.ts +10 -1
  340. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  341. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  342. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  343. package/dest/rollup/block_constant_data.d.ts +12 -1
  344. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  345. package/dest/rollup/block_headers_hash.js +1 -1
  346. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  347. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  348. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  349. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  350. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  351. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  352. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  353. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  354. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  355. package/dest/rollup/checkpoint_constant_data.js +3 -1
  356. package/dest/rollup/checkpoint_header.d.ts +42 -12
  357. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  358. package/dest/rollup/checkpoint_header.js +49 -19
  359. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  360. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  361. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +46 -6
  362. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  363. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
  364. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  365. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  366. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  367. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  368. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  369. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  370. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  371. package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
  372. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  373. package/dest/rollup/root_rollup_public_inputs.js +10 -4
  374. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  375. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  376. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  377. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  378. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  379. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  380. package/dest/schemas/schemas.d.ts +1 -1
  381. package/dest/slashing/empire.d.ts +1 -1
  382. package/dest/slashing/empire.d.ts.map +1 -1
  383. package/dest/slashing/empire.js +2 -0
  384. package/dest/slashing/helpers.d.ts +2 -2
  385. package/dest/slashing/helpers.d.ts.map +1 -1
  386. package/dest/slashing/helpers.js +6 -0
  387. package/dest/slashing/tally.d.ts +2 -1
  388. package/dest/slashing/tally.d.ts.map +1 -1
  389. package/dest/slashing/tally.js +6 -2
  390. package/dest/slashing/types.d.ts +7 -3
  391. package/dest/slashing/types.d.ts.map +1 -1
  392. package/dest/slashing/types.js +13 -1
  393. package/dest/stats/stats.d.ts +1 -3
  394. package/dest/stats/stats.d.ts.map +1 -1
  395. package/dest/tests/factories.d.ts +16 -10
  396. package/dest/tests/factories.d.ts.map +1 -1
  397. package/dest/tests/factories.js +61 -26
  398. package/dest/tests/jest.js +1 -1
  399. package/dest/tests/mocks.d.ts +74 -19
  400. package/dest/tests/mocks.d.ts.map +1 -1
  401. package/dest/tests/mocks.js +123 -57
  402. package/dest/timetable/index.d.ts +37 -0
  403. package/dest/timetable/index.d.ts.map +1 -0
  404. package/dest/timetable/index.js +39 -0
  405. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  406. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  407. package/dest/trees/append_only_tree_snapshot.js +3 -1
  408. package/dest/trees/nullifier_leaf.d.ts +13 -1
  409. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  410. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  411. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  412. package/dest/trees/public_data_leaf.d.ts +17 -1
  413. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  414. package/dest/trees/public_data_leaf.js +7 -6
  415. package/dest/trees/public_data_witness.d.ts +11 -1
  416. package/dest/trees/public_data_witness.d.ts.map +1 -1
  417. package/dest/tx/block_header.d.ts +14 -2
  418. package/dest/tx/block_header.d.ts.map +1 -1
  419. package/dest/tx/block_header.js +8 -2
  420. package/dest/tx/call_context.d.ts +13 -1
  421. package/dest/tx/call_context.d.ts.map +1 -1
  422. package/dest/tx/call_context.js +3 -1
  423. package/dest/tx/capsule.d.ts +4 -1
  424. package/dest/tx/capsule.d.ts.map +1 -1
  425. package/dest/tx/execution_payload.d.ts +9 -1
  426. package/dest/tx/execution_payload.d.ts.map +1 -1
  427. package/dest/tx/function_data.d.ts +4 -2
  428. package/dest/tx/function_data.d.ts.map +1 -1
  429. package/dest/tx/global_variable_builder.d.ts +2 -2
  430. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  431. package/dest/tx/global_variables.d.ts +9 -1
  432. package/dest/tx/global_variables.d.ts.map +1 -1
  433. package/dest/tx/global_variables.js +3 -1
  434. package/dest/tx/hashed_values.d.ts +7 -1
  435. package/dest/tx/hashed_values.d.ts.map +1 -1
  436. package/dest/tx/in_tx.d.ts +4 -4
  437. package/dest/tx/index.d.ts +1 -2
  438. package/dest/tx/index.d.ts.map +1 -1
  439. package/dest/tx/index.js +0 -1
  440. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  441. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  442. package/dest/tx/indexed_tx_effect.js +3 -2
  443. package/dest/tx/partial_state_reference.d.ts +4 -1
  444. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  445. package/dest/tx/private_execution_result.d.ts +23 -6
  446. package/dest/tx/private_execution_result.d.ts.map +1 -1
  447. package/dest/tx/private_execution_result.js +4 -21
  448. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  449. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  450. package/dest/tx/profiling.d.ts +149 -26
  451. package/dest/tx/profiling.d.ts.map +1 -1
  452. package/dest/tx/profiling.js +44 -7
  453. package/dest/tx/protocol_contracts.d.ts +1 -1
  454. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  455. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  456. package/dest/tx/public_call_request_with_calldata.js +3 -1
  457. package/dest/tx/state_reference.d.ts +3 -1
  458. package/dest/tx/state_reference.d.ts.map +1 -1
  459. package/dest/tx/state_reference.js +3 -1
  460. package/dest/tx/tree_snapshots.js +3 -1
  461. package/dest/tx/tx.d.ts +24 -1
  462. package/dest/tx/tx.d.ts.map +1 -1
  463. package/dest/tx/tx.js +9 -4
  464. package/dest/tx/tx_context.d.ts +2 -1
  465. package/dest/tx/tx_context.d.ts.map +1 -1
  466. package/dest/tx/tx_effect.d.ts +32 -6
  467. package/dest/tx/tx_effect.d.ts.map +1 -1
  468. package/dest/tx/tx_effect.js +3 -8
  469. package/dest/tx/tx_execution_request.d.ts +30 -1
  470. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  471. package/dest/tx/tx_execution_request.js +6 -2
  472. package/dest/tx/tx_hash.d.ts +2 -1
  473. package/dest/tx/tx_hash.d.ts.map +1 -1
  474. package/dest/tx/tx_receipt.d.ts +47 -13
  475. package/dest/tx/tx_receipt.d.ts.map +1 -1
  476. package/dest/tx/tx_receipt.js +46 -15
  477. package/dest/tx/tx_request.d.ts +6 -1
  478. package/dest/tx/tx_request.d.ts.map +1 -1
  479. package/dest/tx/validator/empty_validator.d.ts +2 -2
  480. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  481. package/dest/tx/validator/error_texts.d.ts +2 -1
  482. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  483. package/dest/tx/validator/error_texts.js +2 -0
  484. package/dest/tx/validator/tx_validator.d.ts +2 -2
  485. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  486. package/dest/types/shared.d.ts +4 -1
  487. package/dest/types/shared.d.ts.map +1 -1
  488. package/dest/validators/schemas.d.ts +8 -8
  489. package/dest/vks/verification_key.d.ts +22 -1
  490. package/dest/vks/verification_key.d.ts.map +1 -1
  491. package/dest/vks/vk_data.d.ts +7 -1
  492. package/dest/vks/vk_data.d.ts.map +1 -1
  493. package/dest/zkpassport/index.d.ts +3 -4
  494. package/dest/zkpassport/index.d.ts.map +1 -1
  495. package/dest/zkpassport/index.js +9 -9
  496. package/package.json +27 -13
  497. package/src/abi/contract_artifact.ts +10 -10
  498. package/src/abi/function_call.ts +25 -3
  499. package/src/abi/utils.ts +17 -0
  500. package/src/block/attestation_info.ts +9 -6
  501. package/src/block/block_hash.ts +26 -25
  502. package/src/block/block_parameter.ts +4 -2
  503. package/src/block/body.ts +2 -1
  504. package/src/block/checkpointed_l2_block.ts +8 -58
  505. package/src/block/in_block.ts +6 -6
  506. package/src/block/index.ts +0 -2
  507. package/src/block/l2_block.ts +102 -149
  508. package/src/block/l2_block_source.ts +123 -44
  509. package/src/block/l2_block_stream/index.ts +1 -0
  510. package/src/block/l2_block_stream/interfaces.ts +15 -4
  511. package/src/block/l2_block_stream/l2_block_stream.ts +130 -39
  512. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  513. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  514. package/src/block/test/l2_tips_store_test_suite.ts +480 -36
  515. package/src/block/validate_block_result.ts +40 -35
  516. package/src/checkpoint/checkpoint.ts +34 -11
  517. package/src/checkpoint/checkpoint_info.ts +45 -2
  518. package/src/checkpoint/index.ts +1 -0
  519. package/src/checkpoint/published_checkpoint.ts +4 -3
  520. package/src/config/index.ts +1 -0
  521. package/src/config/node-rpc-config.ts +1 -1
  522. package/src/config/sequencer-config.ts +19 -0
  523. package/src/contract/contract_address.ts +1 -1
  524. package/src/contract/contract_class_id.ts +1 -1
  525. package/src/contract/index.ts +0 -2
  526. package/src/contract/private_function.ts +2 -3
  527. package/src/contract/private_function_membership_proof.ts +1 -1
  528. package/src/database-version/database_version.ts +87 -0
  529. package/src/database-version/version_manager.ts +1 -77
  530. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  531. package/src/deserialization/index.ts +21 -0
  532. package/src/epoch-helpers/index.ts +13 -1
  533. package/src/hash/hash.ts +2 -2
  534. package/src/hash/map_slot.ts +3 -2
  535. package/src/interfaces/api_limit.ts +2 -0
  536. package/src/interfaces/archiver.ts +26 -24
  537. package/src/interfaces/aztec-node-admin.ts +8 -4
  538. package/src/interfaces/aztec-node.ts +109 -128
  539. package/src/interfaces/block-builder.ts +40 -23
  540. package/src/interfaces/configs.ts +3 -0
  541. package/src/interfaces/l2_logs_source.ts +17 -4
  542. package/src/interfaces/p2p.ts +8 -12
  543. package/src/interfaces/prover-broker.ts +22 -0
  544. package/src/interfaces/prover-client.ts +22 -0
  545. package/src/interfaces/proving-job.ts +2 -11
  546. package/src/interfaces/server_circuit_prover.ts +3 -2
  547. package/src/interfaces/slasher.ts +4 -0
  548. package/src/interfaces/tx_provider.ts +2 -2
  549. package/src/interfaces/validator.ts +72 -15
  550. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  551. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  552. package/src/keys/derivation.ts +8 -8
  553. package/src/keys/key_types.ts +1 -1
  554. package/src/keys/utils.ts +7 -3
  555. package/src/l1-contracts/slash_factory.ts +1 -0
  556. package/src/logs/log_id.ts +22 -18
  557. package/src/logs/siloed_tag.ts +3 -2
  558. package/src/messaging/in_hash.ts +3 -1
  559. package/src/messaging/l2_to_l1_membership.ts +178 -52
  560. package/src/messaging/out_hash.ts +62 -21
  561. package/src/note/note_dao.ts +18 -13
  562. package/src/p2p/attestation_utils.ts +3 -3
  563. package/src/p2p/block_proposal.ts +213 -46
  564. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  565. package/src/p2p/checkpoint_proposal.ts +365 -0
  566. package/src/p2p/consensus_payload.ts +5 -7
  567. package/src/p2p/constants.ts +6 -0
  568. package/src/p2p/gossipable.ts +14 -4
  569. package/src/p2p/index.ts +4 -1
  570. package/src/p2p/message_validator.ts +14 -2
  571. package/src/p2p/signature_utils.ts +3 -1
  572. package/src/p2p/signed_txs.ts +88 -0
  573. package/src/p2p/topic_type.ts +4 -3
  574. package/src/proofs/chonk_proof.ts +9 -5
  575. package/src/rollup/block_headers_hash.ts +1 -1
  576. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  577. package/src/rollup/checkpoint_header.ts +63 -20
  578. package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
  579. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  580. package/src/rollup/root_rollup_public_inputs.ts +16 -7
  581. package/src/slashing/empire.ts +3 -1
  582. package/src/slashing/helpers.ts +8 -0
  583. package/src/slashing/tally.ts +8 -2
  584. package/src/slashing/types.ts +14 -0
  585. package/src/stats/stats.ts +0 -2
  586. package/src/tests/factories.ts +58 -42
  587. package/src/tests/jest.ts +1 -1
  588. package/src/tests/mocks.ts +213 -91
  589. package/src/timetable/index.ts +66 -0
  590. package/src/trees/public_data_leaf.ts +11 -5
  591. package/src/tx/block_header.ts +11 -3
  592. package/src/tx/global_variable_builder.ts +1 -1
  593. package/src/tx/index.ts +0 -1
  594. package/src/tx/indexed_tx_effect.ts +3 -2
  595. package/src/tx/private_execution_result.ts +1 -16
  596. package/src/tx/profiling.ts +46 -4
  597. package/src/tx/tx.ts +10 -9
  598. package/src/tx/tx_effect.ts +0 -9
  599. package/src/tx/tx_execution_request.ts +2 -0
  600. package/src/tx/tx_receipt.ts +75 -18
  601. package/src/tx/validator/empty_validator.ts +1 -1
  602. package/src/tx/validator/error_texts.ts +3 -0
  603. package/src/tx/validator/tx_validator.ts +1 -1
  604. package/src/zkpassport/index.ts +11 -12
  605. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  606. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  607. package/dest/block/l2_block_code_to_purge.js +0 -61
  608. package/dest/block/l2_block_header.d.ts +0 -98
  609. package/dest/block/l2_block_header.d.ts.map +0 -1
  610. package/dest/block/l2_block_header.js +0 -153
  611. package/dest/block/l2_block_new.d.ts +0 -135
  612. package/dest/block/l2_block_new.d.ts.map +0 -1
  613. package/dest/block/l2_block_new.js +0 -152
  614. package/dest/contract/contract_class_metadata.d.ts +0 -8
  615. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  616. package/dest/contract/contract_class_metadata.js +0 -1
  617. package/dest/contract/contract_metadata.d.ts +0 -7
  618. package/dest/contract/contract_metadata.d.ts.map +0 -1
  619. package/dest/contract/contract_metadata.js +0 -1
  620. package/dest/database-version/index.d.ts +0 -2
  621. package/dest/database-version/index.d.ts.map +0 -1
  622. package/dest/database-version/index.js +0 -1
  623. package/dest/p2p/block_attestation.d.ts +0 -80
  624. package/dest/p2p/block_attestation.d.ts.map +0 -1
  625. package/dest/tx/content_commitment.d.ts +0 -49
  626. package/dest/tx/content_commitment.d.ts.map +0 -1
  627. package/dest/tx/content_commitment.js +0 -90
  628. package/src/block/l2_block_code_to_purge.ts +0 -88
  629. package/src/block/l2_block_header.ts +0 -246
  630. package/src/block/l2_block_new.ts +0 -207
  631. package/src/contract/contract_class_metadata.ts +0 -8
  632. package/src/contract/contract_metadata.ts +0 -7
  633. package/src/database-version/index.ts +0 -1
  634. package/src/tx/content_commitment.ts +0 -113
@@ -1,18 +1,18 @@
1
1
  import { FIXED_DA_GAS, FIXED_L2_GAS, MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import { Buffer32 } from '@aztec/foundation/buffer';
5
5
  import { padArrayEnd, times } from '@aztec/foundation/collection';
6
6
  import { randomBytes } from '@aztec/foundation/crypto/random';
7
7
  import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
8
8
  import { Fr } from '@aztec/foundation/curves/bn254';
9
+ import { Signature } from '@aztec/foundation/eth-signature';
9
10
  import { PublicTxEffect } from '../avm/avm.js';
10
11
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
11
12
  import { PublicDataWrite } from '../avm/public_data_write.js';
12
13
  import { RevertCode } from '../avm/revert_code.js';
13
14
  import { AztecAddress } from '../aztec-address/index.js';
14
- import { CommitteeAttestation, L2BlockNew, PublishedL2Block } from '../block/index.js';
15
- import { L2Block } from '../block/l2_block.js';
15
+ import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
16
16
  import { Checkpoint } from '../checkpoint/checkpoint.js';
17
17
  import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
18
18
  import { computeContractAddressFromInstance } from '../contract/contract_address.js';
@@ -29,27 +29,30 @@ import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulate
29
29
  import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
30
30
  import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
31
31
  import { computeInHashFromL1ToL2Messages } from '../messaging/in_hash.js';
32
- import { BlockAttestation } from '../p2p/block_attestation.js';
33
32
  import { BlockProposal } from '../p2p/block_proposal.js';
33
+ import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
34
+ import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
34
35
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
35
36
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
36
37
  import { ChonkProof } from '../proofs/chonk_proof.js';
37
38
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
39
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
38
40
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
39
- import { GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
41
+ import { BlockHeader, GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
40
42
  import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
41
43
  import { TxSimulationResult } from '../tx/simulated_tx.js';
42
44
  import { TxEffect } from '../tx/tx_effect.js';
43
45
  import { TxHash } from '../tx/tx_hash.js';
44
- import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeGas, makeGlobalVariables, makeL2BlockHeader, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
46
+ import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
45
47
  export const randomTxHash = ()=>TxHash.random();
46
- export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO } = {})=>{
48
+ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxFeesPerGas = new GasFees(10, 10), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO, anchorBlockHeader = BlockHeader.empty() } = {})=>{
47
49
  const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
48
50
  const isForPublic = totalPublicCallRequests > 0;
49
51
  const data = PrivateKernelTailCircuitPublicInputs.empty();
50
52
  const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
53
+ data.constants.anchorBlockHeader = anchorBlockHeader;
51
54
  data.constants.txContext.gasSettings = GasSettings.default({
52
- maxFeesPerGas: new GasFees(10, 10),
55
+ maxFeesPerGas,
53
56
  maxPriorityFeesPerGas
54
57
  });
55
58
  data.feePayer = feePayer ?? await AztecAddress.random();
@@ -103,7 +106,7 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
103
106
  gasUsed = Gas.from({
104
107
  daGas: FIXED_DA_GAS,
105
108
  l2Gas: FIXED_L2_GAS
106
- }), privateOnly = false, ...mockTxOpts } = {}) {
109
+ }), privateOnly = false, avmAccumulatedData, ...mockTxOpts } = {}) {
107
110
  seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
108
111
  anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
109
112
  feePayer ??= makeAztecAddress(seed + 0x100);
@@ -165,11 +168,10 @@ gasUsed = Gas.from({
165
168
  avmOutput.previousRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(dataFromPrivate.revertibleAccumulatedData.noteHashes, dataFromPrivate.revertibleAccumulatedData.nullifiers, dataFromPrivate.revertibleAccumulatedData.l2ToL1Msgs);
166
169
  avmOutput.previousRevertibleAccumulatedDataArrayLengths = avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
167
170
  // Assign final data emitted from avm.
168
- avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
169
- avmOutput.accumulatedData.nullifiers = padArrayEnd(nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter((n)=>!n.isEmpty()), Fr.ZERO, MAX_NULLIFIERS_PER_TX);
170
- avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
171
- avmOutput.accumulatedData.publicDataWrites = makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, (i)=>new PublicDataWrite(new Fr(i), new Fr(i + 10)), seed + 0x2000);
172
- avmOutput.accumulatedData.publicDataWrites[0] = feePaymentPublicDataWrite;
171
+ avmOutput.accumulatedData.noteHashes = avmAccumulatedData?.noteHashes ?? revertibleData.noteHashes;
172
+ avmOutput.accumulatedData.nullifiers = avmAccumulatedData?.nullifiers ?? padArrayEnd(nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter((n)=>!n.isEmpty()), Fr.ZERO, MAX_NULLIFIERS_PER_TX);
173
+ avmOutput.accumulatedData.l2ToL1Msgs = avmAccumulatedData?.l2ToL1Msgs ?? revertibleData.l2ToL1Msgs;
174
+ avmOutput.accumulatedData.publicDataWrites = avmAccumulatedData?.publicDataWrites ?? makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, (i)=>i === 0 ? feePaymentPublicDataWrite : new PublicDataWrite(new Fr(i), new Fr(i + 10)), seed + 0x2000);
173
175
  avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
174
176
  avmOutput.gasSettings = gasSettings;
175
177
  // Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
@@ -193,7 +195,7 @@ gasUsed = Gas.from({
193
195
  }, publicTxEffect, gasUsed, RevertCode.OK, undefined /* revertReason */ );
194
196
  }
195
197
  }
196
- const emptyPrivateCallExecutionResult = ()=>new PrivateCallExecutionResult(Buffer.from(''), Buffer.from(''), new Map(), PrivateCircuitPublicInputs.empty(), new Map(), [], new Map(), [], [], [], [], []);
198
+ const emptyPrivateCallExecutionResult = ()=>new PrivateCallExecutionResult(Buffer.from(''), Buffer.from(''), new Map(), PrivateCircuitPublicInputs.empty(), [], new Map(), [], [], [], [], []);
197
199
  const emptyPrivateExecutionResult = ()=>new PrivateExecutionResult(emptyPrivateCallExecutionResult(), Fr.zero(), []);
198
200
  export const mockSimulatedTx = async (seed = 1)=>{
199
201
  const privateExecutionResult = emptyPrivateExecutionResult();
@@ -211,19 +213,24 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
211
213
  length: numL1ToL2Messages
212
214
  }, ()=>Fr.random());
213
215
  }
214
- export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, ...options } = {}) {
215
- const slotNumber = options.slotNumber ?? SlotNumber(checkpointNumber * 10);
216
+ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
217
+ const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
216
218
  const blocksAndMessages = [];
217
219
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
218
220
  // The current block's header.lastArchive must equal the previous block's archive.
219
221
  let lastArchive = previousArchive;
220
- for(let i = 0; i < numBlocks; i++){
222
+ // Pass maxEffects via txOptions so it reaches TxEffect.random
223
+ const txOptions = maxEffects !== undefined ? {
224
+ maxEffects
225
+ } : {};
226
+ for(let i = 0; i < (blocks?.length ?? numBlocks); i++){
221
227
  const blockNumber = BlockNumber(startBlockNumber + i);
222
228
  const { block, messages } = {
223
- block: await L2BlockNew.random(blockNumber, {
229
+ block: blocks?.[i] ?? await L2Block.random(blockNumber, {
224
230
  checkpointNumber,
225
- indexWithinCheckpoint: i,
231
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
226
232
  txsPerBlock: numTxsPerBlock,
233
+ txOptions,
227
234
  slotNumber,
228
235
  ...options,
229
236
  ...makeBlockOptions(blockNumber),
@@ -288,17 +295,18 @@ export const randomDeployedContract = async ()=>{
288
295
  })
289
296
  };
290
297
  };
298
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
291
299
  const makeAndSignConsensusPayload = (domainSeparator, options)=>{
292
- const header = options?.header ?? makeL2BlockHeader(1);
300
+ const header = options?.header ?? makeCheckpointHeader(1);
293
301
  const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
294
302
  const payload = ConsensusPayload.fromFields({
295
- header: header.toCheckpointHeader(),
303
+ header,
296
304
  archive
297
305
  });
298
306
  const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
299
307
  const signature = signer.sign(hash);
300
308
  return {
301
- blockNumber: header.globalVariables.blockNumber,
309
+ blockNumber: header.slotNumber,
302
310
  payload,
303
311
  signature
304
312
  };
@@ -308,7 +316,10 @@ export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigner
308
316
  return signer.sign(hash);
309
317
  };
310
318
  export const makeBlockProposal = (options)=>{
311
- const { payload, signature } = makeAndSignConsensusPayload(SignatureDomainSeparator.blockProposal, options);
319
+ const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
320
+ const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
321
+ const inHash = options?.inHash ?? Fr.random();
322
+ const archiveRoot = options?.archiveRoot ?? Fr.random();
312
323
  const txHashes = options?.txHashes ?? [
313
324
  0,
314
325
  1,
@@ -317,46 +328,91 @@ export const makeBlockProposal = (options)=>{
317
328
  4,
318
329
  5
319
330
  ].map(()=>TxHash.random());
320
- return new BlockProposal(payload, signature, txHashes, options?.txs ?? []);
331
+ const txs = options?.txs;
332
+ const signer = options?.signer ?? Secp256k1Signer.random();
333
+ return BlockProposal.createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
321
334
  };
322
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
323
- export const makeBlockAttestation = (options = {})=>{
324
- const header = options.header ?? makeL2BlockHeader(1);
325
- const { signer, attesterSigner = signer, proposerSigner = signer, archive = Fr.random() } = options;
326
- const payload = ConsensusPayload.fromFields({
327
- header: header.toCheckpointHeader(),
328
- archive
329
- });
330
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
335
+ export const makeCheckpointProposal = (options)=>{
336
+ const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
337
+ const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
338
+ const archiveRoot = options?.archiveRoot ?? Fr.random();
339
+ const signer = options?.signer ?? Secp256k1Signer.random();
340
+ // Build lastBlock info if provided
341
+ const lastBlockInfo = options?.lastBlock ? {
342
+ blockHeader,
343
+ indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
344
+ txHashes: options.lastBlock.txHashes ?? [
345
+ 0,
346
+ 1,
347
+ 2,
348
+ 3,
349
+ 4,
350
+ 5
351
+ ].map(()=>TxHash.random()),
352
+ txs: options.lastBlock.txs
353
+ } : undefined;
354
+ return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, (payload)=>Promise.resolve(signer.signMessage(payload)));
355
+ };
356
+ /**
357
+ * Create a checkpoint attestation for testing
358
+ */ export const makeCheckpointAttestation = (options = {})=>{
359
+ const header = options.header ?? makeCheckpointHeader(1);
360
+ const archive = options.archive ?? Fr.random();
361
+ const { signer, attesterSigner = signer, proposerSigner = signer } = options;
362
+ const payload = new ConsensusPayload(header, archive);
363
+ // Sign as attester
364
+ const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
365
+ const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
366
+ const attestationSignature = attestationSigner.sign(attestationHash);
367
+ // Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
368
+ // This is different from ConsensusPayload's format (ABI encoding)
369
+ const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
370
+ const tempProposal = new CheckpointProposal(header, archive, Signature.empty());
371
+ const proposalHash = getHashedSignaturePayloadEthSignedMessage(tempProposal, SignatureDomainSeparator.checkpointProposal);
372
+ const proposerSignature = proposalSignerToUse.sign(proposalHash);
373
+ return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
374
+ };
375
+ /**
376
+ * Create a checkpoint attestation from a checkpoint proposal
377
+ */ export const makeCheckpointAttestationFromProposal = (proposal, attesterSigner)=>{
378
+ const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive);
379
+ // Sign as attester
380
+ const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
381
+ const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
382
+ const attestationSignature = attestationSigner.sign(attestationHash);
383
+ // Use the proposal's signature as the proposer signature
384
+ return new CheckpointAttestation(payload, attestationSignature, proposal.signature);
331
385
  };
332
- export const makeAttestationFromCheckpoint = (checkpoint, attesterSigner, proposerSigner)=>{
386
+ /**
387
+ * Create a checkpoint attestation from a checkpoint
388
+ */ export const makeCheckpointAttestationFromCheckpoint = (checkpoint, attesterSigner, proposerSigner)=>{
333
389
  const header = checkpoint.header;
334
390
  const archive = checkpoint.archive.root;
335
- const payload = ConsensusPayload.fromFields({
391
+ return makeCheckpointAttestation({
336
392
  header,
337
- archive
393
+ archive,
394
+ attesterSigner,
395
+ proposerSigner
338
396
  });
339
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
340
397
  };
341
- export const makeBlockAttestationFromBlock = (block, attesterSigner, proposerSigner)=>{
342
- const header = block.header;
398
+ /**
399
+ * Create a checkpoint attestation from an L2Block
400
+ * Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
401
+ */ export const makeCheckpointAttestationFromBlock = (block, attesterSigner, proposerSigner)=>{
402
+ // For L2Block, we create a minimal checkpoint header for testing purposes
403
+ const header = CheckpointHeader.empty({
404
+ lastArchiveRoot: block.header.lastArchive.root,
405
+ slotNumber: block.slot,
406
+ timestamp: block.timestamp,
407
+ blockHeadersHash: Fr.ZERO
408
+ });
343
409
  const archive = block.archive.root;
344
- const payload = ConsensusPayload.fromFields({
345
- header: header.toCheckpointHeader(),
346
- archive
410
+ return makeCheckpointAttestation({
411
+ header,
412
+ archive,
413
+ attesterSigner,
414
+ proposerSigner
347
415
  });
348
- return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
349
- };
350
- export const makeBlockAttestationFromPayload = (payload, attesterSigner, proposerSigner)=>{
351
- // Sign as attester
352
- const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
353
- const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
354
- const attestationSignature = attestationSigner.sign(attestationHash);
355
- // Sign as proposer
356
- const proposalHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockProposal);
357
- const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
358
- const proposerSignature = proposalSignerToUse.sign(proposalHash);
359
- return new BlockAttestation(payload, attestationSignature, proposerSignature);
360
416
  };
361
417
  export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
362
418
  const block = await L2Block.random(BlockNumber(l2BlockNumber));
@@ -366,7 +422,17 @@ export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
366
422
  blockHash: Buffer32.random().toString()
367
423
  });
368
424
  const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
369
- const atts = await Promise.all(signers.map((signer)=>makeBlockAttestationFromBlock(block, signer)));
425
+ const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
426
+ numBlocks: 0
427
+ });
428
+ checkpoint.blocks = [
429
+ block
430
+ ];
431
+ const atts = signers.map((signer)=>makeCheckpointAttestation({
432
+ signer,
433
+ archive: block.archive.root,
434
+ header: checkpoint.header
435
+ }));
370
436
  const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
371
- return new PublishedL2Block(block, l1, attestations);
437
+ return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
372
438
  }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Timetable constants used for sequencer timing calculations.
3
+ * These define the time budgets for various phases of block production.
4
+ *
5
+ * The sequencer slot is divided into phases:
6
+ * 1. Checkpoint initialization (sync + proposer check)
7
+ * 2. Block building (execution)
8
+ * 3. Checkpoint assembly
9
+ * 4. P2P propagation for proposal and attestations (round-trip)
10
+ * 5. L1 publishing
11
+ */
12
+ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */
13
+ export declare const CHECKPOINT_INITIALIZATION_TIME = 1;
14
+ /** Time budget for assembling a checkpoint after building the last block in seconds */
15
+ export declare const CHECKPOINT_ASSEMBLE_TIME = 1;
16
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */
17
+ export declare const DEFAULT_P2P_PROPAGATION_TIME = 2;
18
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */
19
+ export declare const DEFAULT_L1_PUBLISHING_TIME = 12;
20
+ /** Minimum execution time for building a block in seconds */
21
+ export declare const MIN_EXECUTION_TIME = 2;
22
+ /**
23
+ * Calculates the maximum number of blocks that can be built in a slot.
24
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
25
+ *
26
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
27
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
28
+ * @param opts - Optional overrides for timing constants
29
+ * @returns Maximum number of blocks per slot
30
+ */
31
+ export declare function calculateMaxBlocksPerSlot(aztecSlotDurationSec: number, blockDurationSec: number | undefined, opts?: {
32
+ checkpointInitializationTime?: number;
33
+ checkpointAssembleTime?: number;
34
+ p2pPropagationTime?: number;
35
+ l1PublishingTime?: number;
36
+ }): number;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1ldGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILG1GQUFtRjtBQUNuRixlQUFPLE1BQU0sOEJBQThCLElBQUksQ0FBQztBQUVoRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLHdCQUF3QixJQUFJLENBQUM7QUFFMUMscUZBQXFGO0FBQ3JGLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLHdGQUF3RjtBQUN4RixlQUFPLE1BQU0sMEJBQTBCLEtBQUssQ0FBQztBQUU3Qyw2REFBNkQ7QUFDN0QsZUFBTyxNQUFNLGtCQUFrQixJQUFJLENBQUM7QUFFcEM7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDcEMsSUFBSSxHQUFFO0lBQ0osNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDdEIsR0FDTCxNQUFNLENBb0JSIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,IAAI,GAAE;IACJ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtB,GACL,MAAM,CAoBR"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Timetable constants used for sequencer timing calculations.
3
+ * These define the time budgets for various phases of block production.
4
+ *
5
+ * The sequencer slot is divided into phases:
6
+ * 1. Checkpoint initialization (sync + proposer check)
7
+ * 2. Block building (execution)
8
+ * 3. Checkpoint assembly
9
+ * 4. P2P propagation for proposal and attestations (round-trip)
10
+ * 5. L1 publishing
11
+ */ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */ export const CHECKPOINT_INITIALIZATION_TIME = 1;
12
+ /** Time budget for assembling a checkpoint after building the last block in seconds */ export const CHECKPOINT_ASSEMBLE_TIME = 1;
13
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
14
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */ export const DEFAULT_L1_PUBLISHING_TIME = 12;
15
+ /** Minimum execution time for building a block in seconds */ export const MIN_EXECUTION_TIME = 2;
16
+ /**
17
+ * Calculates the maximum number of blocks that can be built in a slot.
18
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
19
+ *
20
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
21
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
22
+ * @param opts - Optional overrides for timing constants
23
+ * @returns Maximum number of blocks per slot
24
+ */ export function calculateMaxBlocksPerSlot(aztecSlotDurationSec, blockDurationSec, opts = {}) {
25
+ if (!blockDurationSec) {
26
+ return 1; // Single block per slot
27
+ }
28
+ const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
29
+ const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
30
+ const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
31
+ const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
32
+ // Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
33
+ const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
34
+ // Time reserved at end for last sub-slot (validator re-execution) + finalization
35
+ const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
36
+ // Time available for building blocks
37
+ const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
38
+ return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
39
+ }
@@ -9,7 +9,19 @@ import type { UInt32 } from '../types/shared.js';
9
9
  * Used in circuits to verify that tree insertions are performed correctly.
10
10
  */
11
11
  export declare class AppendOnlyTreeSnapshot {
12
+ /**
13
+ * Root of the append only tree when taking the snapshot.
14
+ */
12
15
  root: Fr;
16
+ /**
17
+ * Index of the next available leaf in the append only tree.
18
+ *
19
+ * Note: We include the next available leaf index in the snapshot so that the snapshot can be used to verify that
20
+ * the insertion was performed at the correct place. If we only verified tree root then it could happen that
21
+ * some leaves would get overwritten and the tree root check would still pass.
22
+ * TLDR: We need to store the next available leaf index to ensure that the "append only" property was
23
+ * preserved when verifying state transitions.
24
+ */
13
25
  nextAvailableLeafIndex: UInt32;
14
26
  constructor(
15
27
  /**
@@ -61,4 +73,4 @@ export declare class AppendOnlyTreeSnapshot {
61
73
  equals(other: this): boolean;
62
74
  static random(): AppendOnlyTreeSnapshot;
63
75
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kX29ubHlfdHJlZV9zbmFwc2hvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2FwcGVuZF9vbmx5X3RyZWVfc25hcHNob3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gscUJBQWEsc0JBQXNCO0lBS3hCLElBQUksRUFBRSxFQUFFO0lBVVIsc0JBQXNCLEVBQUUsTUFBTTtJQWR2QztJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixFQUFFLE1BQU0sRUFDbkM7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsT0FBTyxXQUVOO0lBRUQsUUFBUSw0QkFFUDtJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxzQkFBc0IsQ0FHdkU7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsc0JBQXNCLENBRXJEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLHNCQUFzQixDQUlwRTtJQUVELEtBQUssSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBRS9CO0lBRUQsTUFBTSxDQUFDLEtBQUssMkJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsc0JBQXNCLENBRXZEO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FJZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQUV4QjtJQUVELE1BQU0sQ0FBQyxNQUFNLDJCQUVaO0NBQ0YifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kX29ubHlfdHJlZV9zbmFwc2hvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2FwcGVuZF9vbmx5X3RyZWVfc25hcHNob3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gscUJBQWEsc0JBQXNCO0lBRS9COztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixFQUFFLE1BQU07SUFkdkM7SUFDRTs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7Ozs7Ozs7O09BUUc7SUFDSSxzQkFBc0IsRUFBRSxNQUFNLEVBQ25DO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7OztPQU9oQjtJQUVELE9BQU8sV0FFTjtJQUVELFFBQVEsNEJBRVA7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsc0JBQXNCLENBR3ZFO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLHNCQUFzQixDQUVyRDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxzQkFBc0IsQ0FJcEU7SUFFRCxLQUFLLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUUvQjtJQUVELE1BQU0sQ0FBQyxLQUFLLDJCQUVYO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHNCQUFzQixDQUV2RDtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBSWY7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksV0FFeEI7SUFFRCxNQUFNLENBQUMsTUFBTSwyQkFFWjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"append_only_tree_snapshot.d.ts","sourceRoot":"","sources":["../../src/trees/append_only_tree_snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAG3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,sBAAsB;IAKxB,IAAI,EAAE,EAAE;IAUR,sBAAsB,EAAE,MAAM;IAdvC;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;;;;;;;OAQG;IACI,sBAAsB,EAAE,MAAM,EACnC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,OAAO,WAEN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAGvE;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAErD;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,sBAAsB,CAIpE;IAED,KAAK,IAAI,CAAC,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,CAE/B;IAED,MAAM,CAAC,KAAK,2BAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAEvD;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAIf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,WAExB;IAED,MAAM,CAAC,MAAM,2BAEZ;CACF"}
1
+ {"version":3,"file":"append_only_tree_snapshot.d.ts","sourceRoot":"","sources":["../../src/trees/append_only_tree_snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAG3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,sBAAsB;IAE/B;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;;;;;;;OAQG;IACI,sBAAsB,EAAE,MAAM;IAdvC;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;;;;;;;OAQG;IACI,sBAAsB,EAAE,MAAM,EACnC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,OAAO,WAEN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAGvE;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAErD;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,sBAAsB,CAIpE;IAED,KAAK,IAAI,CAAC,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,CAE/B;IAED,MAAM,CAAC,KAAK,2BAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAEvD;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAIf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,WAExB;IAED,MAAM,CAAC,MAAM,2BAEZ;CACF"}
@@ -1,9 +1,11 @@
1
+ var _computedKey;
1
2
  import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
6
  import { inspect } from 'util';
6
7
  import { z } from 'zod';
8
+ _computedKey = inspect.custom;
7
9
  /**
8
10
  * Snapshot of an append only tree.
9
11
  *
@@ -78,7 +80,7 @@ import { z } from 'zod';
78
80
  isEmpty() {
79
81
  return this.root.isZero() && this.nextAvailableLeafIndex === 0;
80
82
  }
81
- [inspect.custom]() {
83
+ [_computedKey]() {
82
84
  return `AppendOnlyTreeSnapshot { root: ${this.root.toString()}, nextAvailableLeafIndex: ${this.nextAvailableLeafIndex} }`;
83
85
  }
84
86
  equals(other) {
@@ -7,8 +7,17 @@ import { z } from 'zod';
7
7
  * Note: It's called preimage because this data gets hashed before being inserted as a node into the `IndexedTree`.
8
8
  */
9
9
  export declare class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
10
+ /**
11
+ * Leaf value inside the indexed tree's linked list.
12
+ */
10
13
  leaf: NullifierLeaf;
14
+ /**
15
+ * Next nullifier inside the indexed tree's linked list.
16
+ */
11
17
  nextKey: Fr;
18
+ /**
19
+ * Index of the next leaf in the indexed tree's linked list.
20
+ */
12
21
  nextIndex: bigint;
13
22
  constructor(
14
23
  /**
@@ -87,6 +96,9 @@ export declare class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
87
96
  * A nullifier to be inserted in the nullifier tree.
88
97
  */
89
98
  export declare class NullifierLeaf implements IndexedTreeLeaf {
99
+ /**
100
+ * Nullifier value.
101
+ */
90
102
  nullifier: Fr;
91
103
  constructor(
92
104
  /**
@@ -121,4 +133,4 @@ export declare class NullifierLeaf implements IndexedTreeLeaf {
121
133
  */
122
134
  static fromPlainObject(obj: any): NullifierLeaf;
123
135
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2xlYWYuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9udWxsaWZpZXJfbGVhZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gscUJBQWEscUJBQXNCLFlBQVcsdUJBQXVCO0lBSzFELElBQUksRUFBRSxhQUFhO0lBSW5CLE9BQU8sRUFBRSxFQUFFO0lBSVgsU0FBUyxFQUFFLE1BQU07SUFaMUI7SUFDRTs7T0FFRztJQUNJLElBQUksRUFBRSxhQUFhO0lBQzFCOztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTSxFQUN0QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHFCQUFxQixDQVN0RDtJQUVELE1BQU0sS0FBSyxVQUFVOzs7Ozs7OztPQUVwQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxVQUFVLElBQUksTUFBTSxDQUVuQjtJQUVELFlBQVksSUFBSSxNQUFNLENBRXJCO0lBRUQsTUFBTSxJQUFJLGFBQWEsQ0FFdEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FNdkI7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxLQUFLLElBQUkscUJBQXFCLENBRTdCO0lBRUQsTUFBTSxDQUFDLE1BQU0sMEJBRVo7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT3RFO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxxQkFBcUIsQ0FFOUY7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FFbkU7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsYUFBYyxZQUFXLGVBQWU7SUFLMUMsU0FBUyxFQUFFLEVBQUU7SUFKdEI7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxFQUFFLEVBQ2xCO0lBRUosTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsS0FBSyxJQUFJLGFBQWEsQ0FFckI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxhQUFhLENBRTVCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBRTdCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxhQUFhLENBRS9DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FFNUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGFBQWEsQ0FHM0Q7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7T0FFaEI7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsYUFBYSxDQUs5QztDQUNGIn0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2xlYWYuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9udWxsaWZpZXJfbGVhZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gscUJBQWEscUJBQXNCLFlBQVcsdUJBQXVCO0lBRWpFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGFBQWE7SUFDMUI7O09BRUc7SUFDSSxPQUFPLEVBQUUsRUFBRTtJQUNsQjs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBWjFCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsYUFBYTtJQUMxQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxxQkFBcUIsQ0FTdEQ7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7T0FFcEI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxZQUFZLElBQUksTUFBTSxDQUVyQjtJQUVELE1BQU0sSUFBSSxhQUFhLENBRXRCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsS0FBSyxJQUFJLHFCQUFxQixDQUU3QjtJQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUVaO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixDQU90RTtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcscUJBQXFCLENBRTlGO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUscUJBQXFCLEdBQUcscUJBQXFCLENBRW5FO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHFCQUFhLGFBQWMsWUFBVyxlQUFlO0lBRWpEOztPQUVHO0lBQ0ksU0FBUyxFQUFFLEVBQUU7SUFKdEI7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxFQUFFLEVBQ2xCO0lBRUosTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsS0FBSyxJQUFJLGFBQWEsQ0FFckI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxhQUFhLENBRTVCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBRTdCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxhQUFhLENBRS9DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FFNUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGFBQWEsQ0FHM0Q7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7T0FFaEI7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsYUFBYSxDQUs5QztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"nullifier_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,uBAAuB;IAK1D,IAAI,EAAE,aAAa;IAInB,OAAO,EAAE,EAAE;IAIX,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,aAAa;IAC1B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,qBAAqB,CAStD;IAED,MAAM,KAAK,UAAU;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,aAAa,CAEtB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,KAAK,IAAI,qBAAqB,CAE7B;IAED,MAAM,CAAC,MAAM,0BAEZ;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOtE;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAE9F;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,GAAG,qBAAqB,CAEnE;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,eAAe;IAK1C,SAAS,EAAE,EAAE;IAJtB;IACE;;OAEG;IACI,SAAS,EAAE,EAAE,EAClB;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,aAAa,CAErB;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,MAAM,CAAC,MAAM,IAAI,aAAa,CAE7B;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAE/C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE5C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAG3D;IAED,MAAM,KAAK,MAAM;;;;;;;;OAEhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAK9C;CACF"}
1
+ {"version":3,"file":"nullifier_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,uBAAuB;IAEjE;;OAEG;IACI,IAAI,EAAE,aAAa;IAC1B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,aAAa;IAC1B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,qBAAqB,CAStD;IAED,MAAM,KAAK,UAAU;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,aAAa,CAEtB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,KAAK,IAAI,qBAAqB,CAE7B;IAED,MAAM,CAAC,MAAM,0BAEZ;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOtE;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAE9F;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,GAAG,qBAAqB,CAEnE;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,eAAe;IAEjD;;OAEG;IACI,SAAS,EAAE,EAAE;IAJtB;IACE;;OAEG;IACI,SAAS,EAAE,EAAE,EAClB;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,aAAa,CAErB;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,MAAM,CAAC,MAAM,IAAI,aAAa,CAE7B;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAE/C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE5C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAG3D;IAED,MAAM,KAAK,MAAM;;;;;;;;OAEhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAK9C;CACF"}
@@ -10,8 +10,17 @@ import { NullifierLeafPreimage } from './nullifier_leaf.js';
10
10
  * is pointing to a bigger next value than the nullifier we are trying to prove non-inclusion for.
11
11
  */
12
12
  export declare class NullifierMembershipWitness {
13
+ /**
14
+ * The index of the nullifier in a tree.
15
+ */
13
16
  readonly index: bigint;
17
+ /**
18
+ * Preimage of the nullifier.
19
+ */
14
20
  readonly leafPreimage: NullifierLeafPreimage;
21
+ /**
22
+ * Sibling path to prove membership of the nullifier.
23
+ */
15
24
  readonly siblingPath: SiblingPath<typeof NULLIFIER_TREE_HEIGHT>;
16
25
  constructor(
17
26
  /**
@@ -95,4 +104,4 @@ export declare class NullifierMembershipWitness {
95
104
  */
96
105
  toNoirRepresentation(): (string | string[])[];
97
106
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX21lbWJlcnNoaXBfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL251bGxpZmllcl9tZW1iZXJzaGlwX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVEOzs7OztHQUtHO0FBQ0gscUJBQWEsMEJBQTBCO2FBS25CLEtBQUssRUFBRSxNQUFNO2FBSWIsWUFBWSxFQUFFLHFCQUFxQjthQUluQyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8scUJBQXFCLENBQUM7SUFaeEU7SUFDRTs7T0FFRztJQUNhLEtBQUssRUFBRSxNQUFNO0lBQzdCOztPQUVHO0lBQ2EsWUFBWSxFQUFFLHFCQUFxQjtJQUNuRDs7T0FFRztJQUNhLFdBQVcsRUFBRSxXQUFXLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxFQUNwRTtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVVoQjtJQUVELE1BQU0sQ0FBQyxNQUFNLCtCQU1aO0lBRU0sZUFBZSxJQUFJLGlCQUFpQixDQUFDLE9BQU8scUJBQXFCLENBQUMsQ0FFeEU7SUFFRDs7O09BR0c7SUFDSSxRQUFRLElBQUksRUFBRSxFQUFFLENBRXRCO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBT25EO0NBQ0YifQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX21lbWJlcnNoaXBfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL251bGxpZmllcl9tZW1iZXJzaGlwX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVEOzs7OztHQUtHO0FBQ0gscUJBQWEsMEJBQTBCO0lBRW5DOztPQUVHO2FBQ2EsS0FBSyxFQUFFLE1BQU07SUFDN0I7O09BRUc7YUFDYSxZQUFZLEVBQUUscUJBQXFCO0lBQ25EOztPQUVHO2FBQ2EsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLHFCQUFxQixDQUFDO0lBWnhFO0lBQ0U7O09BRUc7SUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7T0FFRztJQUNhLFlBQVksRUFBRSxxQkFBcUI7SUFDbkQ7O09BRUc7SUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8scUJBQXFCLENBQUMsRUFDcEU7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FVaEI7SUFFRCxNQUFNLENBQUMsTUFBTSwrQkFNWjtJQUVNLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBRXhFO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUV0QjtJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQU9uRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"nullifier_membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_membership_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,0BAA0B;aAKnB,KAAK,EAAE,MAAM;aAIb,YAAY,EAAE,qBAAqB;aAInC,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC;IAZxE;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;IACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC,EACpE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAUhB;IAED,MAAM,CAAC,MAAM,+BAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAExE;IAED;;;OAGG;IACI,QAAQ,IAAI,EAAE,EAAE,CAEtB;IAED;;OAEG;IACI,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAOnD;CACF"}
1
+ {"version":3,"file":"nullifier_membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_membership_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,0BAA0B;IAEnC;;OAEG;aACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;aACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;aACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC;IAZxE;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;IACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC,EACpE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAUhB;IAED,MAAM,CAAC,MAAM,+BAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAExE;IAED;;;OAGG;IACI,QAAQ,IAAI,EAAE,EAAE,CAEtB;IAED;;OAEG;IACI,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAOnD;CACF"}
@@ -7,8 +7,17 @@ import { z } from 'zod';
7
7
  * Note: It's called preimage because this data gets hashed before being inserted as a node into the `IndexedTree`.
8
8
  */
9
9
  export declare class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
10
+ /**
11
+ * The leaf (slot, value).
12
+ */
10
13
  leaf: PublicDataTreeLeaf;
14
+ /**
15
+ * Next key (slot) inside the indexed tree's linked list.
16
+ */
11
17
  nextKey: Fr;
18
+ /**
19
+ * Index of the next leaf in the indexed tree's linked list.
20
+ */
12
21
  nextIndex: bigint;
13
22
  constructor(
14
23
  /**
@@ -85,6 +94,7 @@ export declare class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreima
85
94
  asLeaf(): PublicDataTreeLeaf;
86
95
  toBuffer(): Buffer;
87
96
  toHashInputs(): Buffer[];
97
+ hash(): Promise<Fr>;
88
98
  clone(): PublicDataTreeLeafPreimage;
89
99
  static random(): PublicDataTreeLeafPreimage;
90
100
  static empty(): PublicDataTreeLeafPreimage;
@@ -96,7 +106,13 @@ export declare class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreima
96
106
  * A leaf in the public data indexed tree.
97
107
  */
98
108
  export declare class PublicDataTreeLeaf implements IndexedTreeLeaf {
109
+ /**
110
+ * The slot the value is stored in
111
+ */
99
112
  slot: Fr;
113
+ /**
114
+ * The value stored in the slot
115
+ */
100
116
  value: Fr;
101
117
  constructor(
102
118
  /**
@@ -140,4 +156,4 @@ export declare class PublicDataTreeLeaf implements IndexedTreeLeaf {
140
156
  */
141
157
  static fromPlainObject(obj: any): PublicDataTreeLeaf;
142
158
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfbGVhZi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX2xlYWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyx1QkFBdUI7SUFLL0QsSUFBSSxFQUFFLGtCQUFrQjtJQUl4QixPQUFPLEVBQUUsRUFBRTtJQUlYLFNBQVMsRUFBRSxNQUFNO0lBWjFCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsa0JBQWtCO0lBQy9COztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTSxFQUN0QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLDBCQUEwQixDQVMzRDtJQUVELE1BQU0sS0FBSyxVQUFVOzs7Ozs7Ozs7Ozs7T0FFcEI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxZQUFZLElBQUksTUFBTSxDQUVyQjtJQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FFM0I7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FNdkI7SUFFRCxLQUFLLElBQUksMEJBQTBCLENBRWxDO0lBRUQsTUFBTSxDQUFDLE1BQU0sK0JBTVo7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLDBCQUEwQixDQUV6QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBTTNFO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLDBCQUEwQixDQUV4RztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLDBCQUEwQixHQUFHLDBCQUEwQixDQUU3RTtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsWUFBVyxlQUFlO0lBSy9DLElBQUksRUFBRSxFQUFFO0lBSVIsS0FBSyxFQUFFLEVBQUU7SUFSbEI7SUFDRTs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7O09BRUc7SUFDSSxLQUFLLEVBQUUsRUFBRSxFQUNkO0lBRUosTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFFBQVEsNEJBRVA7SUFFRCxLQUFLLElBQUksa0JBQWtCLENBRTFCO0lBRUQsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUV2QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLHNCQUc5QztJQUVELE1BQU0sQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUUzQztJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxRQUFRLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLGtCQUFrQixDQUt4RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxrQkFBa0IsQ0FFakQ7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGtCQUFrQixDQUVqQztJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7T0FPaEI7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsa0JBQWtCLENBS25EO0NBQ0YifQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfbGVhZi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX2xlYWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyx1QkFBdUI7SUFFdEU7O09BRUc7SUFDSSxJQUFJLEVBQUUsa0JBQWtCO0lBQy9COztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQVoxQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGtCQUFrQjtJQUMvQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRywwQkFBMEIsQ0FTM0Q7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7Ozs7O09BRXBCO0lBRUQsTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsWUFBWSxJQUFJLE1BQU0sQ0FFckI7SUFFRCxNQUFNLElBQUksa0JBQWtCLENBRTNCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFbEI7SUFFRCxLQUFLLElBQUksMEJBQTBCLENBRWxDO0lBRUQsTUFBTSxDQUFDLE1BQU0sK0JBTVo7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLDBCQUEwQixDQUV6QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsMEJBQTBCLENBTzNFO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLDBCQUEwQixDQUV4RztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLDBCQUEwQixHQUFHLDBCQUEwQixDQUU3RTtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsWUFBVyxlQUFlO0lBRXREOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7T0FFRztJQUNJLEtBQUssRUFBRSxFQUFFO0lBUmxCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsRUFBRTtJQUNmOztPQUVHO0lBQ0ksS0FBSyxFQUFFLEVBQUUsRUFDZDtJQUVKLE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxRQUFRLDRCQUVQO0lBRUQsS0FBSyxJQUFJLGtCQUFrQixDQUUxQjtJQUVELFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FFdkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxzQkFHOUM7SUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FFM0M7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FLeEQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsa0JBQWtCLENBRWpEO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxrQkFBa0IsQ0FFakM7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLGtCQUFrQixDQUtuRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_data_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_leaf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IAK/D,IAAI,EAAE,kBAAkB;IAIxB,OAAO,EAAE,EAAE;IAIX,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,0BAA0B,CAS3D;IAED,MAAM,KAAK,UAAU;;;;;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,kBAAkB,CAE3B;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,KAAK,IAAI,0BAA0B,CAElC;IAED,MAAM,CAAC,MAAM,+BAMZ;IAED,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAEzC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAM3E;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAExG;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,GAAG,0BAA0B,CAE7E;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAK/C,IAAI,EAAE,EAAE;IAIR,KAAK,EAAE,EAAE;IARlB;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,4BAEP;IAED,KAAK,IAAI,kBAAkB,CAE1B;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAG9C;IAED,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAE3C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAKxD;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAEjD;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAEjC;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,kBAAkB,CAKnD;CACF"}
1
+ {"version":3,"file":"public_data_leaf.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_leaf.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IAEtE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM;IAZ1B;IACE;;OAEG;IACI,IAAI,EAAE,kBAAkB;IAC/B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,SAAS,EAAE,MAAM,EACtB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,0BAA0B,CAS3D;IAED,MAAM,KAAK,UAAU;;;;;;;;;;;;OAEpB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,YAAY,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,kBAAkB,CAE3B;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,YAAY,IAAI,MAAM,EAAE,CAMvB;IAED,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAElB;IAED,KAAK,IAAI,0BAA0B,CAElC;IAED,MAAM,CAAC,MAAM,+BAMZ;IAED,MAAM,CAAC,KAAK,IAAI,0BAA0B,CAEzC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B,CAO3E;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAExG;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,GAAG,0BAA0B,CAE7E;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAEtD;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE;IARlB;IACE;;OAEG;IACI,IAAI,EAAE,EAAE;IACf;;OAEG;IACI,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,IAAI,MAAM,CAEf;IAED,QAAQ,4BAEP;IAED,KAAK,IAAI,kBAAkB,CAE1B;IAED,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,sBAG9C;IAED,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAE3C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAKxD;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAEjD;IAED,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAEjC;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,kBAAkB,CAKnD;CACF"}