@aztec/stdlib 0.0.1-commit.29c6b1a3 → 0.0.1-commit.2c0ee1788

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 (770) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/authorization_selector.d.ts +3 -6
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/decoder.d.ts +6 -45
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/decoder.js +17 -70
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +64 -7
  15. package/dest/abi/event_metadata_definition.d.ts +3 -1
  16. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  17. package/dest/abi/event_metadata_definition.js +1 -1
  18. package/dest/abi/event_selector.d.ts +3 -6
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +39 -9
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_call.js +20 -3
  23. package/dest/abi/function_selector.d.ts +3 -6
  24. package/dest/abi/function_selector.d.ts.map +1 -1
  25. package/dest/abi/function_selector.js +2 -4
  26. package/dest/abi/function_signature_decoder.d.ts +43 -0
  27. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  28. package/dest/abi/function_signature_decoder.js +66 -0
  29. package/dest/abi/index.d.ts +2 -1
  30. package/dest/abi/index.d.ts.map +1 -1
  31. package/dest/abi/index.js +1 -0
  32. package/dest/abi/note_selector.d.ts +3 -6
  33. package/dest/abi/note_selector.d.ts.map +1 -1
  34. package/dest/abi/note_selector.js +1 -3
  35. package/dest/abi/selector.d.ts +2 -2
  36. package/dest/abi/selector.d.ts.map +1 -1
  37. package/dest/abi/selector.js +1 -1
  38. package/dest/abi/utils.d.ts +14 -1
  39. package/dest/abi/utils.d.ts.map +1 -1
  40. package/dest/abi/utils.js +15 -0
  41. package/dest/auth_witness/auth_witness.js +3 -3
  42. package/dest/avm/avm_proving_request.d.ts +166 -166
  43. package/dest/avm/revert_code.d.ts +9 -4
  44. package/dest/avm/revert_code.d.ts.map +1 -1
  45. package/dest/avm/revert_code.js +16 -21
  46. package/dest/aztec-address/index.d.ts +3 -6
  47. package/dest/aztec-address/index.d.ts.map +1 -1
  48. package/dest/aztec-address/index.js +2 -4
  49. package/dest/block/attestation_info.d.ts +3 -2
  50. package/dest/block/attestation_info.d.ts.map +1 -1
  51. package/dest/block/attestation_info.js +7 -5
  52. package/dest/block/block_data.d.ts +341 -0
  53. package/dest/block/block_data.d.ts.map +1 -0
  54. package/dest/block/block_data.js +26 -0
  55. package/dest/block/block_hash.d.ts +17 -19
  56. package/dest/block/block_hash.d.ts.map +1 -1
  57. package/dest/block/block_hash.js +22 -34
  58. package/dest/block/block_parameter.d.ts +30 -3
  59. package/dest/block/block_parameter.d.ts.map +1 -1
  60. package/dest/block/block_parameter.js +36 -2
  61. package/dest/block/in_block.d.ts +5 -5
  62. package/dest/block/in_block.js +2 -2
  63. package/dest/block/index.d.ts +2 -1
  64. package/dest/block/index.d.ts.map +1 -1
  65. package/dest/block/index.js +1 -0
  66. package/dest/block/l2_block.d.ts +11 -2
  67. package/dest/block/l2_block.d.ts.map +1 -1
  68. package/dest/block/l2_block.js +14 -5
  69. package/dest/block/l2_block_info.d.ts +6 -5
  70. package/dest/block/l2_block_info.d.ts.map +1 -1
  71. package/dest/block/l2_block_info.js +6 -5
  72. package/dest/block/l2_block_source.d.ts +153 -13
  73. package/dest/block/l2_block_source.d.ts.map +1 -1
  74. package/dest/block/l2_block_source.js +1 -0
  75. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  76. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  77. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  78. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  79. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  80. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  81. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  82. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  83. package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
  84. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  85. package/dest/block/proposal/attestations_and_signers.js +26 -18
  86. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  87. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  88. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  89. package/dest/checkpoint/checkpoint.d.ts +28 -7
  90. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  91. package/dest/checkpoint/checkpoint.js +41 -17
  92. package/dest/checkpoint/checkpoint_data.d.ts +192 -0
  93. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  94. package/dest/checkpoint/checkpoint_data.js +38 -0
  95. package/dest/checkpoint/index.d.ts +3 -1
  96. package/dest/checkpoint/index.d.ts.map +1 -1
  97. package/dest/checkpoint/index.js +2 -0
  98. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  99. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  100. package/dest/checkpoint/published_checkpoint.js +1 -2
  101. package/dest/checkpoint/validate.d.ts +36 -0
  102. package/dest/checkpoint/validate.d.ts.map +1 -0
  103. package/dest/checkpoint/validate.js +120 -0
  104. package/dest/config/chain-config.d.ts +2 -2
  105. package/dest/config/chain-config.d.ts.map +1 -1
  106. package/dest/config/chain-config.js +9 -3
  107. package/dest/config/index.d.ts +3 -1
  108. package/dest/config/index.d.ts.map +1 -1
  109. package/dest/config/index.js +2 -0
  110. package/dest/config/pipelining-config.d.ts +19 -0
  111. package/dest/config/pipelining-config.d.ts.map +1 -0
  112. package/dest/config/pipelining-config.js +18 -0
  113. package/dest/config/sequencer-config.d.ts +14 -0
  114. package/dest/config/sequencer-config.d.ts.map +1 -0
  115. package/dest/config/sequencer-config.js +38 -0
  116. package/dest/contract/contract_address.d.ts +3 -3
  117. package/dest/contract/contract_address.js +7 -7
  118. package/dest/contract/contract_class.d.ts +2 -3
  119. package/dest/contract/contract_class.d.ts.map +1 -1
  120. package/dest/contract/contract_class_id.d.ts +3 -3
  121. package/dest/contract/contract_class_id.d.ts.map +1 -1
  122. package/dest/contract/contract_class_id.js +7 -6
  123. package/dest/contract/index.d.ts +1 -3
  124. package/dest/contract/index.d.ts.map +1 -1
  125. package/dest/contract/index.js +0 -2
  126. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  127. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  128. package/dest/contract/interfaces/contract_class.js +1 -28
  129. package/dest/contract/interfaces/node-info.d.ts +3 -1
  130. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  131. package/dest/contract/interfaces/node-info.js +2 -1
  132. package/dest/contract/private_function.d.ts +1 -1
  133. package/dest/contract/private_function.d.ts.map +1 -1
  134. package/dest/contract/private_function.js +4 -6
  135. package/dest/database-version/database_version.d.ts +58 -0
  136. package/dest/database-version/database_version.d.ts.map +1 -0
  137. package/dest/database-version/database_version.js +69 -0
  138. package/dest/database-version/version_manager.d.ts +2 -50
  139. package/dest/database-version/version_manager.d.ts.map +1 -1
  140. package/dest/database-version/version_manager.js +1 -66
  141. package/dest/epoch-helpers/index.d.ts +17 -1
  142. package/dest/epoch-helpers/index.d.ts.map +1 -1
  143. package/dest/epoch-helpers/index.js +22 -2
  144. package/dest/file-store/factory.d.ts +4 -3
  145. package/dest/file-store/factory.d.ts.map +1 -1
  146. package/dest/file-store/factory.js +2 -2
  147. package/dest/file-store/http.d.ts +9 -2
  148. package/dest/file-store/http.d.ts.map +1 -1
  149. package/dest/file-store/http.js +20 -9
  150. package/dest/file-store/index.d.ts +2 -1
  151. package/dest/file-store/index.d.ts.map +1 -1
  152. package/dest/file-store/local.d.ts +3 -3
  153. package/dest/file-store/local.d.ts.map +1 -1
  154. package/dest/file-store/local.js +13 -4
  155. package/dest/file-store/s3.d.ts +1 -1
  156. package/dest/file-store/s3.d.ts.map +1 -1
  157. package/dest/file-store/s3.js +11 -3
  158. package/dest/gas/fee_math.d.ts +49 -0
  159. package/dest/gas/fee_math.d.ts.map +1 -0
  160. package/dest/gas/fee_math.js +80 -0
  161. package/dest/gas/gas_fees.d.ts +5 -1
  162. package/dest/gas/gas_fees.d.ts.map +1 -1
  163. package/dest/gas/gas_fees.js +13 -1
  164. package/dest/gas/gas_settings.d.ts +40 -3
  165. package/dest/gas/gas_settings.d.ts.map +1 -1
  166. package/dest/gas/gas_settings.js +50 -6
  167. package/dest/gas/index.d.ts +2 -1
  168. package/dest/gas/index.d.ts.map +1 -1
  169. package/dest/gas/index.js +1 -0
  170. package/dest/ha-signing/config.d.ts +136 -0
  171. package/dest/ha-signing/config.d.ts.map +1 -0
  172. package/dest/ha-signing/config.js +98 -0
  173. package/dest/ha-signing/index.d.ts +4 -0
  174. package/dest/ha-signing/index.d.ts.map +1 -0
  175. package/dest/ha-signing/index.js +3 -0
  176. package/dest/ha-signing/local_config.d.ts +63 -0
  177. package/dest/ha-signing/local_config.d.ts.map +1 -0
  178. package/dest/ha-signing/local_config.js +24 -0
  179. package/dest/ha-signing/types.d.ts +90 -0
  180. package/dest/ha-signing/types.d.ts.map +1 -0
  181. package/dest/ha-signing/types.js +39 -0
  182. package/dest/hash/hash.d.ts +35 -1
  183. package/dest/hash/hash.d.ts.map +1 -1
  184. package/dest/hash/hash.js +77 -10
  185. package/dest/hash/map_slot.d.ts +1 -1
  186. package/dest/hash/map_slot.d.ts.map +1 -1
  187. package/dest/hash/map_slot.js +4 -3
  188. package/dest/interfaces/allowed_element.d.ts +26 -20
  189. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  190. package/dest/interfaces/allowed_element.js +8 -8
  191. package/dest/interfaces/archiver.d.ts +11 -1
  192. package/dest/interfaces/archiver.d.ts.map +1 -1
  193. package/dest/interfaces/archiver.js +21 -6
  194. package/dest/interfaces/aztec-node-admin.d.ts +142 -48
  195. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  196. package/dest/interfaces/aztec-node-admin.js +17 -8
  197. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  198. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  199. package/dest/interfaces/aztec-node-debug.js +18 -0
  200. package/dest/interfaces/aztec-node.d.ts +85 -101
  201. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  202. package/dest/interfaces/aztec-node.js +25 -22
  203. package/dest/interfaces/block-builder.d.ts +44 -11
  204. package/dest/interfaces/block-builder.d.ts.map +1 -1
  205. package/dest/interfaces/block-builder.js +16 -2
  206. package/dest/interfaces/block_response.d.ts +156 -0
  207. package/dest/interfaces/block_response.d.ts.map +1 -0
  208. package/dest/interfaces/block_response.js +24 -0
  209. package/dest/interfaces/chain_tips.d.ts +304 -0
  210. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  211. package/dest/interfaces/chain_tips.js +11 -0
  212. package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
  213. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  214. package/dest/interfaces/checkpoint_parameter.js +20 -0
  215. package/dest/interfaces/checkpoint_response.d.ts +312 -0
  216. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  217. package/dest/interfaces/checkpoint_response.js +26 -0
  218. package/dest/interfaces/client.d.ts +7 -1
  219. package/dest/interfaces/client.d.ts.map +1 -1
  220. package/dest/interfaces/client.js +6 -0
  221. package/dest/interfaces/configs.d.ts +87 -32
  222. package/dest/interfaces/configs.d.ts.map +1 -1
  223. package/dest/interfaces/configs.js +12 -3
  224. package/dest/interfaces/get_logs_response.d.ts +14 -7
  225. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  226. package/dest/interfaces/l1_publish_info.d.ts +43 -0
  227. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  228. package/dest/interfaces/l1_publish_info.js +26 -0
  229. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  230. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  231. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  232. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  233. package/dest/interfaces/p2p.d.ts +4 -9
  234. package/dest/interfaces/p2p.d.ts.map +1 -1
  235. package/dest/interfaces/prover-broker.d.ts +16 -1
  236. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  237. package/dest/interfaces/prover-broker.js +4 -1
  238. package/dest/interfaces/prover-client.d.ts +11 -1
  239. package/dest/interfaces/prover-client.d.ts.map +1 -1
  240. package/dest/interfaces/prover-client.js +12 -4
  241. package/dest/interfaces/proving-job.d.ts +202 -202
  242. package/dest/interfaces/server.d.ts +6 -1
  243. package/dest/interfaces/server.d.ts.map +1 -1
  244. package/dest/interfaces/server.js +5 -0
  245. package/dest/interfaces/slasher.d.ts +9 -10
  246. package/dest/interfaces/slasher.d.ts.map +1 -1
  247. package/dest/interfaces/slasher.js +2 -2
  248. package/dest/interfaces/validator.d.ts +173 -64
  249. package/dest/interfaces/validator.d.ts.map +1 -1
  250. package/dest/interfaces/validator.js +13 -5
  251. package/dest/interfaces/world_state.d.ts +5 -4
  252. package/dest/interfaces/world_state.d.ts.map +1 -1
  253. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  254. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  255. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  256. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  257. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  258. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  259. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  260. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  261. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  262. package/dest/kernel/hints/index.d.ts +2 -2
  263. package/dest/kernel/hints/index.js +2 -2
  264. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  265. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  266. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  267. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  268. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  269. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  270. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  271. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  272. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  273. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  274. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  275. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  276. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  277. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  278. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  279. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  280. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  281. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  282. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  283. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  284. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  285. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  286. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  287. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  288. package/dest/kernel/private_validation_requests.d.ts +3 -3
  289. package/dest/kernel/private_validation_requests.js +9 -9
  290. package/dest/keys/derivation.d.ts +3 -3
  291. package/dest/keys/derivation.js +15 -15
  292. package/dest/keys/key_types.d.ts +3 -3
  293. package/dest/keys/key_types.d.ts.map +1 -1
  294. package/dest/keys/public_keys.js +2 -2
  295. package/dest/keys/utils.d.ts +1 -1
  296. package/dest/keys/utils.d.ts.map +1 -1
  297. package/dest/keys/utils.js +8 -4
  298. package/dest/kv-store/config.d.ts +17 -0
  299. package/dest/kv-store/config.d.ts.map +1 -0
  300. package/dest/kv-store/config.js +26 -0
  301. package/dest/kv-store/index.d.ts +2 -0
  302. package/dest/kv-store/index.d.ts.map +1 -0
  303. package/dest/kv-store/index.js +1 -0
  304. package/dest/l1-contracts/index.d.ts +2 -2
  305. package/dest/l1-contracts/index.d.ts.map +1 -1
  306. package/dest/l1-contracts/index.js +1 -1
  307. package/dest/logs/debug_log_store.d.ts +30 -0
  308. package/dest/logs/debug_log_store.d.ts.map +1 -0
  309. package/dest/logs/debug_log_store.js +30 -0
  310. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  311. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  312. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  313. package/dest/logs/extended_public_log.d.ts +12 -6
  314. package/dest/logs/extended_public_log.d.ts.map +1 -1
  315. package/dest/logs/index.d.ts +4 -2
  316. package/dest/logs/index.d.ts.map +1 -1
  317. package/dest/logs/index.js +3 -1
  318. package/dest/logs/log_filter.d.ts +4 -1
  319. package/dest/logs/log_filter.d.ts.map +1 -1
  320. package/dest/logs/log_filter.js +2 -1
  321. package/dest/logs/log_id.d.ts +13 -10
  322. package/dest/logs/log_id.d.ts.map +1 -1
  323. package/dest/logs/log_id.js +16 -14
  324. package/dest/logs/message_context.d.ts +4 -7
  325. package/dest/logs/message_context.d.ts.map +1 -1
  326. package/dest/logs/message_context.js +23 -9
  327. package/dest/logs/pending_tagged_log.d.ts +2 -3
  328. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  329. package/dest/logs/pending_tagged_log.js +2 -2
  330. package/dest/logs/pre_tag.d.ts +16 -11
  331. package/dest/logs/pre_tag.d.ts.map +1 -1
  332. package/dest/logs/pre_tag.js +2 -2
  333. package/dest/logs/private_log.d.ts +2 -2
  334. package/dest/logs/private_log.d.ts.map +1 -1
  335. package/dest/logs/public_log.d.ts +4 -3
  336. package/dest/logs/public_log.d.ts.map +1 -1
  337. package/dest/logs/public_log.js +2 -1
  338. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  339. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  340. package/dest/logs/shared_secret_derivation.js +15 -9
  341. package/dest/logs/siloed_tag.d.ts +12 -9
  342. package/dest/logs/siloed_tag.d.ts.map +1 -1
  343. package/dest/logs/siloed_tag.js +16 -6
  344. package/dest/logs/tag.d.ts +5 -6
  345. package/dest/logs/tag.d.ts.map +1 -1
  346. package/dest/logs/tag.js +5 -1
  347. package/dest/logs/tagging_index_range.d.ts +40 -0
  348. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  349. package/dest/logs/tagging_index_range.js +8 -0
  350. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  351. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  352. package/dest/logs/tx_scoped_l2_log.js +7 -0
  353. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  354. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  355. package/dest/messaging/l1_to_l2_message.js +11 -13
  356. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  357. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  358. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  359. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  360. package/dest/messaging/l2_to_l1_membership.js +72 -29
  361. package/dest/noir/index.d.ts +3 -3
  362. package/dest/noir/index.d.ts.map +1 -1
  363. package/dest/note/index.d.ts +1 -2
  364. package/dest/note/index.d.ts.map +1 -1
  365. package/dest/note/index.js +0 -1
  366. package/dest/note/note_dao.d.ts +1 -1
  367. package/dest/note/note_dao.d.ts.map +1 -1
  368. package/dest/note/note_dao.js +1 -4
  369. package/dest/p2p/attestation_utils.d.ts +11 -1
  370. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  371. package/dest/p2p/attestation_utils.js +45 -0
  372. package/dest/p2p/block_proposal.d.ts +23 -15
  373. package/dest/p2p/block_proposal.d.ts.map +1 -1
  374. package/dest/p2p/block_proposal.js +46 -43
  375. package/dest/p2p/checkpoint_attestation.d.ts +11 -8
  376. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  377. package/dest/p2p/checkpoint_attestation.js +17 -24
  378. package/dest/p2p/checkpoint_proposal.d.ts +35 -22
  379. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  380. package/dest/p2p/checkpoint_proposal.js +52 -65
  381. package/dest/p2p/client_type.d.ts +2 -5
  382. package/dest/p2p/client_type.d.ts.map +1 -1
  383. package/dest/p2p/client_type.js +0 -7
  384. package/dest/p2p/consensus_payload.d.ts +27 -7
  385. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  386. package/dest/p2p/consensus_payload.js +40 -21
  387. package/dest/p2p/constants.d.ts +3 -1
  388. package/dest/p2p/constants.d.ts.map +1 -1
  389. package/dest/p2p/constants.js +1 -0
  390. package/dest/p2p/gossipable.d.ts +4 -4
  391. package/dest/p2p/gossipable.d.ts.map +1 -1
  392. package/dest/p2p/index.d.ts +1 -2
  393. package/dest/p2p/index.d.ts.map +1 -1
  394. package/dest/p2p/index.js +0 -1
  395. package/dest/p2p/peer_error.d.ts +3 -1
  396. package/dest/p2p/peer_error.d.ts.map +1 -1
  397. package/dest/p2p/peer_error.js +5 -0
  398. package/dest/p2p/signature_utils.d.ts +28 -19
  399. package/dest/p2p/signature_utils.d.ts.map +1 -1
  400. package/dest/p2p/signature_utils.js +118 -21
  401. package/dest/p2p/signed_txs.d.ts +15 -13
  402. package/dest/p2p/signed_txs.d.ts.map +1 -1
  403. package/dest/p2p/signed_txs.js +26 -24
  404. package/dest/p2p/topic_type.d.ts +3 -4
  405. package/dest/p2p/topic_type.d.ts.map +1 -1
  406. package/dest/p2p/topic_type.js +7 -24
  407. package/dest/parity/parity_base_private_inputs.d.ts +7 -3
  408. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  409. package/dest/parity/parity_base_private_inputs.js +7 -5
  410. package/dest/parity/parity_public_inputs.d.ts +7 -3
  411. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  412. package/dest/parity/parity_public_inputs.js +6 -3
  413. package/dest/proofs/chonk_proof.d.ts +46 -2
  414. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  415. package/dest/proofs/chonk_proof.js +85 -10
  416. package/dest/rollup/block_headers_hash.d.ts +1 -1
  417. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  418. package/dest/rollup/block_headers_hash.js +8 -2
  419. package/dest/rollup/checkpoint_header.d.ts +2 -2
  420. package/dest/rollup/checkpoint_header.js +2 -2
  421. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  422. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  423. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  424. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  425. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  426. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  427. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  428. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  429. package/dest/slashing/helpers.d.ts +2 -2
  430. package/dest/slashing/helpers.d.ts.map +1 -1
  431. package/dest/slashing/helpers.js +6 -0
  432. package/dest/slashing/index.d.ts +2 -3
  433. package/dest/slashing/index.d.ts.map +1 -1
  434. package/dest/slashing/index.js +1 -2
  435. package/dest/slashing/serialization.d.ts +2 -6
  436. package/dest/slashing/serialization.d.ts.map +1 -1
  437. package/dest/slashing/serialization.js +0 -60
  438. package/dest/slashing/types.d.ts +10 -92
  439. package/dest/slashing/types.d.ts.map +1 -1
  440. package/dest/slashing/types.js +13 -15
  441. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  442. package/dest/slashing/votes.d.ts.map +1 -0
  443. package/dest/slashing/{tally.js → votes.js} +35 -3
  444. package/dest/stats/stats.d.ts +1 -3
  445. package/dest/stats/stats.d.ts.map +1 -1
  446. package/dest/tests/factories.d.ts +5 -10
  447. package/dest/tests/factories.d.ts.map +1 -1
  448. package/dest/tests/factories.js +37 -56
  449. package/dest/tests/mocks.d.ts +14 -3
  450. package/dest/tests/mocks.d.ts.map +1 -1
  451. package/dest/tests/mocks.js +65 -46
  452. package/dest/timetable/index.d.ts +87 -0
  453. package/dest/timetable/index.d.ts.map +1 -0
  454. package/dest/timetable/index.js +243 -0
  455. package/dest/trees/nullifier_leaf.d.ts +2 -1
  456. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  457. package/dest/trees/nullifier_leaf.js +3 -0
  458. package/dest/trees/public_data_leaf.d.ts +2 -1
  459. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  460. package/dest/trees/public_data_leaf.js +7 -6
  461. package/dest/tx/block_header.d.ts +4 -2
  462. package/dest/tx/block_header.d.ts.map +1 -1
  463. package/dest/tx/block_header.js +7 -3
  464. package/dest/tx/capsule.d.ts +6 -2
  465. package/dest/tx/capsule.d.ts.map +1 -1
  466. package/dest/tx/capsule.js +9 -3
  467. package/dest/tx/fee_provider.d.ts +10 -0
  468. package/dest/tx/fee_provider.d.ts.map +1 -0
  469. package/dest/tx/fee_provider.js +1 -0
  470. package/dest/tx/global_variable_builder.d.ts +3 -4
  471. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  472. package/dest/tx/global_variables.d.ts +4 -4
  473. package/dest/tx/global_variables.d.ts.map +1 -1
  474. package/dest/tx/in_tx.d.ts +2 -2
  475. package/dest/tx/index.d.ts +2 -1
  476. package/dest/tx/index.d.ts.map +1 -1
  477. package/dest/tx/index.js +1 -0
  478. package/dest/tx/indexed_tx_effect.d.ts +2 -2
  479. package/dest/tx/indexed_tx_effect.js +1 -1
  480. package/dest/tx/private_execution_result.d.ts +6 -6
  481. package/dest/tx/private_execution_result.d.ts.map +1 -1
  482. package/dest/tx/private_execution_result.js +6 -6
  483. package/dest/tx/profiling.d.ts +17 -5
  484. package/dest/tx/profiling.d.ts.map +1 -1
  485. package/dest/tx/profiling.js +19 -9
  486. package/dest/tx/protocol_contracts.d.ts +1 -1
  487. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  488. package/dest/tx/protocol_contracts.js +2 -2
  489. package/dest/tx/public_simulation_output.d.ts +4 -2
  490. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  491. package/dest/tx/public_simulation_output.js +7 -3
  492. package/dest/tx/simulated_tx.d.ts +116 -5
  493. package/dest/tx/simulated_tx.d.ts.map +1 -1
  494. package/dest/tx/simulated_tx.js +7 -4
  495. package/dest/tx/tx.d.ts +8 -7
  496. package/dest/tx/tx.d.ts.map +1 -1
  497. package/dest/tx/tx.js +18 -6
  498. package/dest/tx/tx_receipt.d.ts +29 -6
  499. package/dest/tx/tx_receipt.d.ts.map +1 -1
  500. package/dest/tx/tx_receipt.js +23 -19
  501. package/dest/tx/tx_request.js +2 -2
  502. package/dest/tx/validator/empty_validator.d.ts +2 -2
  503. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  504. package/dest/tx/validator/error_texts.d.ts +10 -2
  505. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  506. package/dest/tx/validator/error_texts.js +11 -1
  507. package/dest/tx/validator/tx_validator.d.ts +2 -2
  508. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  509. package/dest/types/shared.d.ts +1 -10
  510. package/dest/types/shared.d.ts.map +1 -1
  511. package/dest/types/shared.js +0 -9
  512. package/dest/update-checker/index.d.ts +3 -2
  513. package/dest/update-checker/index.d.ts.map +1 -1
  514. package/dest/update-checker/index.js +2 -1
  515. package/dest/update-checker/package_version.d.ts +3 -0
  516. package/dest/update-checker/package_version.d.ts.map +1 -0
  517. package/dest/update-checker/package_version.js +24 -0
  518. package/dest/update-checker/version_checker.d.ts +25 -0
  519. package/dest/update-checker/version_checker.d.ts.map +1 -0
  520. package/dest/update-checker/version_checker.js +50 -0
  521. package/dest/validators/errors.d.ts +6 -1
  522. package/dest/validators/errors.d.ts.map +1 -1
  523. package/dest/validators/errors.js +7 -0
  524. package/dest/validators/schemas.d.ts +30 -30
  525. package/dest/validators/schemas.d.ts.map +1 -1
  526. package/dest/validators/schemas.js +4 -3
  527. package/dest/validators/types.d.ts +3 -3
  528. package/dest/validators/types.d.ts.map +1 -1
  529. package/dest/versioning/versioning.d.ts +4 -2
  530. package/dest/versioning/versioning.d.ts.map +1 -1
  531. package/dest/versioning/versioning.js +4 -1
  532. package/dest/vks/verification_key.d.ts +2 -137
  533. package/dest/vks/verification_key.d.ts.map +1 -1
  534. package/dest/vks/verification_key.js +5 -126
  535. package/dest/world-state/genesis_data.d.ts +11 -0
  536. package/dest/world-state/genesis_data.d.ts.map +1 -0
  537. package/dest/world-state/genesis_data.js +4 -0
  538. package/dest/world-state/index.d.ts +2 -1
  539. package/dest/world-state/index.d.ts.map +1 -1
  540. package/dest/world-state/index.js +1 -0
  541. package/dest/world-state/world_state_revision.d.ts +8 -1
  542. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  543. package/dest/world-state/world_state_revision.js +7 -1
  544. package/package.json +26 -13
  545. package/src/abi/abi.ts +25 -2
  546. package/src/abi/authorization_selector.ts +2 -8
  547. package/src/abi/buffer.ts +25 -4
  548. package/src/abi/decoder.ts +36 -82
  549. package/src/abi/encoder.ts +85 -6
  550. package/src/abi/event_metadata_definition.ts +2 -0
  551. package/src/abi/event_selector.ts +2 -8
  552. package/src/abi/function_call.ts +25 -3
  553. package/src/abi/function_selector.ts +4 -13
  554. package/src/abi/function_signature_decoder.ts +77 -0
  555. package/src/abi/index.ts +1 -0
  556. package/src/abi/note_selector.ts +3 -12
  557. package/src/abi/selector.ts +1 -1
  558. package/src/abi/utils.ts +25 -0
  559. package/src/auth_witness/auth_witness.ts +3 -3
  560. package/src/avm/revert_code.ts +26 -25
  561. package/src/aztec-address/index.ts +4 -10
  562. package/src/block/attestation_info.ts +11 -11
  563. package/src/block/block_data.ts +42 -0
  564. package/src/block/block_hash.ts +31 -49
  565. package/src/block/block_parameter.ts +35 -2
  566. package/src/block/in_block.ts +2 -2
  567. package/src/block/index.ts +1 -0
  568. package/src/block/l2_block.ts +16 -4
  569. package/src/block/l2_block_info.ts +8 -6
  570. package/src/block/l2_block_source.ts +92 -12
  571. package/src/block/l2_block_stream/interfaces.ts +6 -2
  572. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  573. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  574. package/src/block/proposal/attestations_and_signers.ts +32 -17
  575. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  576. package/src/checkpoint/checkpoint.ts +54 -17
  577. package/src/checkpoint/checkpoint_data.ts +91 -0
  578. package/src/checkpoint/index.ts +2 -0
  579. package/src/checkpoint/published_checkpoint.ts +3 -1
  580. package/src/checkpoint/validate.ts +230 -0
  581. package/src/config/chain-config.ts +9 -4
  582. package/src/config/index.ts +2 -0
  583. package/src/config/pipelining-config.ts +31 -0
  584. package/src/config/sequencer-config.ts +65 -0
  585. package/src/contract/contract_address.ts +7 -7
  586. package/src/contract/contract_class.ts +3 -3
  587. package/src/contract/contract_class_id.ts +7 -6
  588. package/src/contract/index.ts +0 -2
  589. package/src/contract/interfaces/contract_class.ts +2 -82
  590. package/src/contract/interfaces/node-info.ts +3 -0
  591. package/src/contract/private_function.ts +5 -3
  592. package/src/database-version/database_version.ts +87 -0
  593. package/src/database-version/version_manager.ts +1 -77
  594. package/src/epoch-helpers/index.ts +39 -0
  595. package/src/file-store/factory.ts +13 -4
  596. package/src/file-store/http.ts +29 -10
  597. package/src/file-store/index.ts +1 -0
  598. package/src/file-store/local.ts +15 -5
  599. package/src/file-store/s3.ts +12 -3
  600. package/src/gas/README.md +154 -0
  601. package/src/gas/fee_math.ts +120 -0
  602. package/src/gas/gas_fees.ts +20 -1
  603. package/src/gas/gas_settings.ts +65 -12
  604. package/src/gas/index.ts +1 -0
  605. package/src/ha-signing/config.ts +159 -0
  606. package/src/ha-signing/index.ts +29 -0
  607. package/src/ha-signing/local_config.ts +46 -0
  608. package/src/ha-signing/types.ts +126 -0
  609. package/src/hash/hash.ts +75 -10
  610. package/src/hash/map_slot.ts +3 -2
  611. package/src/interfaces/allowed_element.ts +29 -9
  612. package/src/interfaces/archiver.ts +32 -5
  613. package/src/interfaces/aztec-node-admin.ts +34 -10
  614. package/src/interfaces/aztec-node-debug.ts +40 -0
  615. package/src/interfaces/aztec-node.ts +162 -169
  616. package/src/interfaces/block-builder.ts +68 -11
  617. package/src/interfaces/block_response.ts +79 -0
  618. package/src/interfaces/chain_tips.ts +24 -0
  619. package/src/interfaces/checkpoint_parameter.ts +22 -0
  620. package/src/interfaces/checkpoint_response.ts +84 -0
  621. package/src/interfaces/client.ts +6 -0
  622. package/src/interfaces/configs.ts +43 -8
  623. package/src/interfaces/l1_publish_info.ts +40 -0
  624. package/src/interfaces/l2_logs_source.ts +4 -1
  625. package/src/interfaces/merkle_tree_operations.ts +12 -21
  626. package/src/interfaces/p2p.ts +3 -14
  627. package/src/interfaces/prover-broker.ts +22 -0
  628. package/src/interfaces/prover-client.ts +17 -5
  629. package/src/interfaces/server.ts +5 -0
  630. package/src/interfaces/slasher.ts +4 -6
  631. package/src/interfaces/validator.ts +77 -36
  632. package/src/interfaces/world_state.ts +4 -3
  633. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  634. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  635. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  636. package/src/kernel/hints/index.ts +2 -2
  637. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  638. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  639. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  640. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  641. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  642. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  643. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  644. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  645. package/src/kernel/private_validation_requests.ts +8 -8
  646. package/src/keys/derivation.ts +15 -15
  647. package/src/keys/key_types.ts +6 -2
  648. package/src/keys/public_keys.ts +2 -2
  649. package/src/keys/utils.ts +8 -4
  650. package/src/kv-store/config.ts +36 -0
  651. package/src/kv-store/index.ts +1 -0
  652. package/src/l1-contracts/index.ts +1 -1
  653. package/src/logs/debug_log_store.ts +54 -0
  654. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  655. package/src/logs/index.ts +3 -1
  656. package/src/logs/log_filter.ts +5 -0
  657. package/src/logs/log_id.ts +16 -13
  658. package/src/logs/message_context.ts +17 -7
  659. package/src/logs/pending_tagged_log.ts +1 -3
  660. package/src/logs/pre_tag.ts +5 -5
  661. package/src/logs/public_log.ts +4 -2
  662. package/src/logs/shared_secret_derivation.ts +21 -10
  663. package/src/logs/siloed_tag.ts +23 -13
  664. package/src/logs/tag.ts +9 -9
  665. package/src/logs/tagging_index_range.ts +24 -0
  666. package/src/logs/tx_scoped_l2_log.ts +16 -0
  667. package/src/messaging/l1_to_l2_message.ts +12 -9
  668. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  669. package/src/messaging/l2_to_l1_membership.ts +101 -36
  670. package/src/noir/index.ts +2 -2
  671. package/src/note/index.ts +0 -1
  672. package/src/note/note_dao.ts +1 -4
  673. package/src/p2p/attestation_utils.ts +56 -0
  674. package/src/p2p/block_proposal.ts +97 -39
  675. package/src/p2p/checkpoint_attestation.ts +26 -30
  676. package/src/p2p/checkpoint_proposal.ts +119 -84
  677. package/src/p2p/client_type.ts +0 -6
  678. package/src/p2p/consensus_payload.ts +59 -24
  679. package/src/p2p/constants.ts +3 -0
  680. package/src/p2p/gossipable.ts +4 -4
  681. package/src/p2p/index.ts +0 -1
  682. package/src/p2p/peer_error.ts +7 -0
  683. package/src/p2p/signature_utils.ts +110 -25
  684. package/src/p2p/signed_txs.ts +46 -28
  685. package/src/p2p/topic_type.ts +8 -15
  686. package/src/parity/parity_base_private_inputs.ts +10 -4
  687. package/src/parity/parity_public_inputs.ts +9 -2
  688. package/src/proofs/chonk_proof.ts +91 -5
  689. package/src/rollup/block_headers_hash.ts +11 -2
  690. package/src/rollup/checkpoint_header.ts +2 -2
  691. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  692. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  693. package/src/slashing/helpers.ts +8 -0
  694. package/src/slashing/index.ts +1 -2
  695. package/src/slashing/serialization.ts +1 -81
  696. package/src/slashing/types.ts +17 -35
  697. package/src/slashing/{tally.ts → votes.ts} +41 -2
  698. package/src/stats/stats.ts +0 -2
  699. package/src/tests/factories.ts +42 -68
  700. package/src/tests/mocks.ts +103 -53
  701. package/src/timetable/index.ts +361 -0
  702. package/src/trees/nullifier_leaf.ts +4 -0
  703. package/src/trees/public_data_leaf.ts +11 -5
  704. package/src/tx/block_header.ts +11 -5
  705. package/src/tx/capsule.ts +10 -2
  706. package/src/tx/fee_provider.ts +10 -0
  707. package/src/tx/global_variable_builder.ts +2 -3
  708. package/src/tx/global_variables.ts +3 -3
  709. package/src/tx/index.ts +1 -0
  710. package/src/tx/indexed_tx_effect.ts +1 -1
  711. package/src/tx/private_execution_result.ts +5 -5
  712. package/src/tx/profiling.ts +18 -9
  713. package/src/tx/protocol_contracts.ts +2 -2
  714. package/src/tx/public_simulation_output.ts +4 -0
  715. package/src/tx/simulated_tx.ts +14 -3
  716. package/src/tx/tx.ts +22 -13
  717. package/src/tx/tx_receipt.ts +28 -16
  718. package/src/tx/tx_request.ts +2 -2
  719. package/src/tx/validator/empty_validator.ts +1 -1
  720. package/src/tx/validator/error_texts.ts +13 -1
  721. package/src/tx/validator/tx_validator.ts +1 -1
  722. package/src/types/shared.ts +0 -10
  723. package/src/update-checker/index.ts +2 -1
  724. package/src/update-checker/package_version.ts +30 -0
  725. package/src/update-checker/version_checker.ts +65 -0
  726. package/src/validators/errors.ts +9 -0
  727. package/src/validators/schemas.ts +8 -1
  728. package/src/validators/types.ts +5 -4
  729. package/src/versioning/versioning.ts +4 -1
  730. package/src/vks/verification_key.ts +5 -184
  731. package/src/world-state/genesis_data.ts +15 -0
  732. package/src/world-state/index.ts +1 -0
  733. package/src/world-state/world_state_revision.ts +9 -1
  734. package/dest/abi/mocked_keys.d.ts +0 -2
  735. package/dest/abi/mocked_keys.d.ts.map +0 -1
  736. package/dest/abi/mocked_keys.js +0 -1
  737. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  738. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  739. package/dest/contract/private_function_membership_proof.js +0 -124
  740. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  741. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  742. package/dest/contract/utility_function_membership_proof.js +0 -87
  743. package/dest/database-version/index.d.ts +0 -2
  744. package/dest/database-version/index.d.ts.map +0 -1
  745. package/dest/database-version/index.js +0 -1
  746. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  747. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  748. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  749. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  750. package/dest/l1-contracts/slash_factory.js +0 -157
  751. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  752. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  753. package/dest/note/notes_filter.d.ts +0 -27
  754. package/dest/note/notes_filter.d.ts.map +0 -1
  755. package/dest/note/notes_filter.js +0 -11
  756. package/dest/slashing/empire.d.ts +0 -31
  757. package/dest/slashing/empire.d.ts.map +0 -1
  758. package/dest/slashing/empire.js +0 -85
  759. package/dest/slashing/tally.d.ts.map +0 -1
  760. package/dest/update-checker/update-checker.d.ts +0 -49
  761. package/dest/update-checker/update-checker.d.ts.map +0 -1
  762. package/dest/update-checker/update-checker.js +0 -130
  763. package/src/abi/mocked_keys.ts +0 -2
  764. package/src/contract/private_function_membership_proof.ts +0 -167
  765. package/src/contract/utility_function_membership_proof.ts +0 -118
  766. package/src/database-version/index.ts +0 -1
  767. package/src/l1-contracts/slash_factory.ts +0 -179
  768. package/src/note/notes_filter.ts +0 -38
  769. package/src/slashing/empire.ts +0 -102
  770. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1,87 @@
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
+ export type CheckpointTimingConfig = {
23
+ aztecSlotDuration: number;
24
+ ethereumSlotDuration?: number;
25
+ blockDuration?: number;
26
+ checkpointAssembleTime?: number;
27
+ checkpointInitializationTime?: number;
28
+ l1PublishingTime?: number;
29
+ minExecutionTime?: number;
30
+ p2pPropagationTime?: number;
31
+ pipelining?: boolean;
32
+ };
33
+ export interface CheckpointTiming {
34
+ readonly aztecSlotDuration: number;
35
+ readonly blockDuration: number | undefined;
36
+ readonly checkpointAssembleTime: number;
37
+ readonly checkpointInitializationTime: number;
38
+ readonly l1PublishingTime: number;
39
+ readonly minExecutionTime: number;
40
+ readonly p2pPropagationTime: number;
41
+ readonly checkpointFinalizationTime: number;
42
+ readonly pipeliningAttestationGracePeriod: number;
43
+ readonly timeReservedAtEnd: number;
44
+ readonly minimumBuildSlotWork: number;
45
+ readonly initializeDeadline: number;
46
+ readonly checkpointAssemblyDeadline: number;
47
+ readonly checkpointAttestationStartDeadline: number;
48
+ readonly checkpointAttestationDeadline: number;
49
+ readonly checkpointPublishingDeadline: number;
50
+ calculateMaxBlocksPerSlot(): number;
51
+ }
52
+ export interface PipelinedCheckpointTiming extends CheckpointTiming {
53
+ readonly proposalWindowIntoTargetSlot: number;
54
+ readonly attestationWindowIntoTargetSlot: number;
55
+ }
56
+ /**
57
+ * Creates a checkpoint timing model for the requested scheduling mode.
58
+ *
59
+ * Most callers should use this factory and depend only on the shared
60
+ * `CheckpointTiming` interface. The returned implementation is selected from
61
+ * `opts.pipelining`.
62
+ */
63
+ export declare function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming;
64
+ /**
65
+ * Creates a pipelined checkpoint timing model with target-slot window accessors.
66
+ *
67
+ * Use this when the caller specifically needs the pipelined-only timing surface,
68
+ * such as proposal or attestation acceptance windows into the target slot.
69
+ */
70
+ export declare function createPipelinedCheckpointTimingModel(opts: Omit<CheckpointTimingConfig, 'pipelining'>): PipelinedCheckpointTiming;
71
+ /**
72
+ * Calculates the maximum number of blocks that can be built in a slot.
73
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
74
+ *
75
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
76
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
77
+ * @param opts - Optional overrides for timing constants
78
+ * @returns Maximum number of blocks per slot
79
+ */
80
+ export declare function calculateMaxBlocksPerSlot(aztecSlotDurationSec: number, blockDurationSec: number | undefined, opts?: {
81
+ checkpointInitializationTime?: number;
82
+ checkpointAssembleTime?: number;
83
+ p2pPropagationTime?: number;
84
+ l1PublishingTime?: number;
85
+ pipelining?: boolean;
86
+ }): number;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1ldGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILG1GQUFtRjtBQUNuRixlQUFPLE1BQU0sOEJBQThCLElBQUksQ0FBQztBQUVoRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLHdCQUF3QixJQUFJLENBQUM7QUFFMUMscUZBQXFGO0FBQ3JGLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLHdGQUF3RjtBQUN4RixlQUFPLE1BQU0sMEJBQTBCLEtBQUssQ0FBQztBQUU3Qyw2REFBNkQ7QUFDN0QsZUFBTyxNQUFNLGtCQUFrQixJQUFJLENBQUM7QUFFcEMsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDbkMsUUFBUSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzNDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDeEMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUM5QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUM7SUFDbEQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUNuQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDcEMsUUFBUSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUM1QyxRQUFRLENBQUMsa0NBQWtDLEVBQUUsTUFBTSxDQUFDO0lBQ3BELFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxNQUFNLENBQUM7SUFDL0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUU5Qyx5QkFBeUIsSUFBSSxNQUFNLENBQUM7Q0FDckM7QUFFRCxNQUFNLFdBQVcseUJBQTBCLFNBQVEsZ0JBQWdCO0lBQ2pFLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDOUMsUUFBUSxDQUFDLCtCQUErQixFQUFFLE1BQU0sQ0FBQztDQUNsRDtBQTZKRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsSUFBSSxFQUFFLHNCQUFzQixHQUFHLGdCQUFnQixDQVMxRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLG9DQUFvQyxDQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxHQUMvQyx5QkFBeUIsQ0FPM0I7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQix5QkFBeUIsQ0FDdkMsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUNwQyxJQUFJLEdBQUU7SUFDSiw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMxQixVQUFVLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDakIsR0FDTCxNQUFNLENBVVIifQ==
@@ -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,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAE9C,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC;CAClD;AA6JD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAS1F;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAC/C,yBAAyB,CAO3B;AAED;;;;;;;;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;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,GACL,MAAM,CAUR"}
@@ -0,0 +1,243 @@
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
+ * Shared base for checkpoint timing implementations.
18
+ *
19
+ * This class owns the common inputs and formulas used by both pipelined and
20
+ * non-pipelined scheduling. Variant-specific deadline math is delegated to the
21
+ * concrete subclasses below.
22
+ */ class BaseCheckpointTiming {
23
+ aztecSlotDuration;
24
+ blockDuration;
25
+ checkpointAssembleTime;
26
+ checkpointInitializationTime;
27
+ l1PublishingTime;
28
+ minExecutionTime;
29
+ p2pPropagationTime;
30
+ constructor(opts){
31
+ this.aztecSlotDuration = opts.aztecSlotDuration;
32
+ this.blockDuration = opts.blockDuration;
33
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
34
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
35
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
36
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
37
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
38
+ }
39
+ get checkpointFinalizationTime() {
40
+ // Allow enough time to
41
+ // - build the checkpoint
42
+ // - Round-trip over p2p
43
+ // - Publish to L1
44
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
45
+ }
46
+ get pipeliningAttestationGracePeriod() {
47
+ // Allow enough time to
48
+ // - build the block
49
+ // - pass it back over p2p
50
+ return (this.blockDuration ?? 0) + this.p2pPropagationTime;
51
+ }
52
+ get initializeDeadline() {
53
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
54
+ }
55
+ get checkpointAttestationStartDeadline() {
56
+ return this.checkpointAssemblyDeadline;
57
+ }
58
+ calculateMaxBlocksPerSlot() {
59
+ if (!this.blockDuration) {
60
+ return 1;
61
+ }
62
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
63
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
64
+ }
65
+ }
66
+ /**
67
+ * Checkpoint timing model for the non-pipelined sequencer flow.
68
+ *
69
+ * In this mode, checkpoint assembly, attestation collection, and L1 publishing
70
+ * must all complete within the current Aztec slot.
71
+ */ class StandardCheckpointTimingModel extends BaseCheckpointTiming {
72
+ get timeReservedAtEnd() {
73
+ return (this.blockDuration ?? 0) + this.checkpointFinalizationTime;
74
+ }
75
+ get minimumBuildSlotWork() {
76
+ return this.checkpointInitializationTime + this.minExecutionTime * 2 + this.checkpointFinalizationTime;
77
+ }
78
+ get checkpointAssemblyDeadline() {
79
+ return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.p2pPropagationTime;
80
+ }
81
+ get checkpointAttestationDeadline() {
82
+ return this.aztecSlotDuration - this.l1PublishingTime;
83
+ }
84
+ get checkpointPublishingDeadline() {
85
+ return this.aztecSlotDuration - this.l1PublishingTime;
86
+ }
87
+ }
88
+ /**
89
+ * Checkpoint timing model for proposer pipelining.
90
+ *
91
+ * In this mode, the build work starts at the wall-clock slot boundary and the
92
+ * checkpoint proposal is broadcast early enough that attestations complete by
93
+ * the end of the build slot. L1 submission can then be sent at the boundary of
94
+ * the target slot. The extra target-slot window getters are intended for
95
+ * consumers such as P2P validators that need to validate pipelined messages
96
+ * against wallclock time.
97
+ */ class PipelinedCheckpointTimingModel extends BaseCheckpointTiming {
98
+ get proposalWindowIntoTargetSlot() {
99
+ // Proposals no longer spill into the target slot: they are broadcast early
100
+ // enough in the build slot that attestations complete before the boundary.
101
+ // Any residual tolerance into the target slot is covered by clock disparity.
102
+ return 0;
103
+ }
104
+ get attestationWindowIntoTargetSlot() {
105
+ // Straggler grace: attestations aim to complete by build-slot end. Allow a
106
+ // small window into the target slot for late arrivals (round-trip p2p).
107
+ return 2 * this.p2pPropagationTime;
108
+ }
109
+ get pipeliningAttestationGracePeriod() {
110
+ // Under the early-pipelining regime attestations complete inside the build
111
+ // slot itself, so there is no extra grace into the target slot.
112
+ return 0;
113
+ }
114
+ get timeReservedAtEnd() {
115
+ // Reserve enough time at the end of the build slot for:
116
+ // - assembling and broadcasting the checkpoint proposal
117
+ // - round-trip p2p propagation (proposal out, attestations back)
118
+ // - validators re-executing the last block
119
+ return this.checkpointAssembleTime + 2 * this.p2pPropagationTime + (this.blockDuration ?? 0);
120
+ }
121
+ get minimumBuildSlotWork() {
122
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
123
+ }
124
+ get checkpointAssemblyDeadline() {
125
+ // Allow enough time to build all blocks and receive attestations. With
126
+ // `pipeliningAttestationGracePeriod = 0` this equals `aztecSlotDuration`.
127
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
128
+ }
129
+ get checkpointAttestationDeadline() {
130
+ // Allowed to be into the next wallclock slot minus the allocated l1 publishing time
131
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
132
+ }
133
+ get checkpointPublishingDeadline() {
134
+ // Allowed to be into the next wallclock slot minus the allocated l1 Publishing time
135
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
136
+ }
137
+ }
138
+ /**
139
+ * Creates a checkpoint timing model for the requested scheduling mode.
140
+ *
141
+ * Most callers should use this factory and depend only on the shared
142
+ * `CheckpointTiming` interface. The returned implementation is selected from
143
+ * `opts.pipelining`.
144
+ */ export function createCheckpointTimingModel(opts) {
145
+ validateCheckpointTimingConfig(opts);
146
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
147
+ const timing = normalizedOpts.pipelining ? new PipelinedCheckpointTimingModel(normalizedOpts) : new StandardCheckpointTimingModel(normalizedOpts);
148
+ validateCheckpointTimingModel(timing);
149
+ return timing;
150
+ }
151
+ /**
152
+ * Creates a pipelined checkpoint timing model with target-slot window accessors.
153
+ *
154
+ * Use this when the caller specifically needs the pipelined-only timing surface,
155
+ * such as proposal or attestation acceptance windows into the target slot.
156
+ */ export function createPipelinedCheckpointTimingModel(opts) {
157
+ validateCheckpointTimingConfig(opts);
158
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
159
+ const timing = new PipelinedCheckpointTimingModel(normalizedOpts);
160
+ validateCheckpointTimingModel(timing);
161
+ return timing;
162
+ }
163
+ /**
164
+ * Calculates the maximum number of blocks that can be built in a slot.
165
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
166
+ *
167
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
168
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
169
+ * @param opts - Optional overrides for timing constants
170
+ * @returns Maximum number of blocks per slot
171
+ */ export function calculateMaxBlocksPerSlot(aztecSlotDurationSec, blockDurationSec, opts = {}) {
172
+ return createCheckpointTimingModel({
173
+ aztecSlotDuration: aztecSlotDurationSec,
174
+ blockDuration: blockDurationSec,
175
+ checkpointAssembleTime: opts.checkpointAssembleTime,
176
+ checkpointInitializationTime: opts.checkpointInitializationTime,
177
+ l1PublishingTime: opts.l1PublishingTime,
178
+ p2pPropagationTime: opts.p2pPropagationTime,
179
+ pipelining: opts.pipelining
180
+ }).calculateMaxBlocksPerSlot();
181
+ }
182
+ function assertNonNegative(name, value) {
183
+ if (value < 0) {
184
+ throw new Error(`${name} must be non-negative (got ${value})`);
185
+ }
186
+ }
187
+ function validateCheckpointTimingConfig(opts) {
188
+ if (opts.aztecSlotDuration <= 0) {
189
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
190
+ }
191
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
192
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
193
+ }
194
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
195
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
196
+ }
197
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
198
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
199
+ }
200
+ if (opts.checkpointAssembleTime !== undefined) {
201
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
202
+ }
203
+ if (opts.checkpointInitializationTime !== undefined) {
204
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
205
+ }
206
+ if (opts.l1PublishingTime !== undefined) {
207
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
208
+ }
209
+ if (opts.p2pPropagationTime !== undefined) {
210
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
211
+ }
212
+ }
213
+ function normalizeCheckpointTimingConfig(opts) {
214
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
215
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
216
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
217
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
218
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
219
+ p2pPropagationTime = 0;
220
+ checkpointAssembleTime = 0.5;
221
+ checkpointInitializationTime = 0.5;
222
+ minExecutionTime = 1;
223
+ }
224
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
225
+ minExecutionTime = opts.blockDuration;
226
+ }
227
+ return {
228
+ ...opts,
229
+ checkpointAssembleTime,
230
+ checkpointInitializationTime,
231
+ minExecutionTime,
232
+ p2pPropagationTime
233
+ };
234
+ }
235
+ function validateCheckpointTimingModel(model) {
236
+ if (model.blockDuration === undefined) {
237
+ return;
238
+ }
239
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
240
+ if (timeAvailableForBlocks < model.blockDuration) {
241
+ throw new Error(`Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`);
242
+ }
243
+ }
@@ -84,6 +84,7 @@ export declare class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
84
84
  asLeaf(): NullifierLeaf;
85
85
  toBuffer(): Buffer;
86
86
  toHashInputs(): Buffer[];
87
+ isEmpty(): boolean;
87
88
  toFields(): Fr[];
88
89
  clone(): NullifierLeafPreimage;
89
90
  static random(): NullifierLeafPreimage;
@@ -133,4 +134,4 @@ export declare class NullifierLeaf implements IndexedTreeLeaf {
133
134
  */
134
135
  static fromPlainObject(obj: any): NullifierLeaf;
135
136
  }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2xlYWYuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9udWxsaWZpZXJfbGVhZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gscUJBQWEscUJBQXNCLFlBQVcsdUJBQXVCO0lBRWpFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGFBQWE7SUFDMUI7O09BRUc7SUFDSSxPQUFPLEVBQUUsRUFBRTtJQUNsQjs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBWjFCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsYUFBYTtJQUMxQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxxQkFBcUIsQ0FTdEQ7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7T0FFcEI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxZQUFZLElBQUksTUFBTSxDQUVyQjtJQUVELE1BQU0sSUFBSSxhQUFhLENBRXRCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsS0FBSyxJQUFJLHFCQUFxQixDQUU3QjtJQUVELE1BQU0sQ0FBQyxNQUFNLDBCQUVaO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixDQU90RTtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcscUJBQXFCLENBRTlGO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUscUJBQXFCLEdBQUcscUJBQXFCLENBRW5FO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHFCQUFhLGFBQWMsWUFBVyxlQUFlO0lBRWpEOztPQUVHO0lBQ0ksU0FBUyxFQUFFLEVBQUU7SUFKdEI7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxFQUFFLEVBQ2xCO0lBRUosTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsS0FBSyxJQUFJLGFBQWEsQ0FFckI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxhQUFhLENBRTVCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBRTdCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxhQUFhLENBRS9DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FFNUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGFBQWEsQ0FHM0Q7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7T0FFaEI7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsYUFBYSxDQUs5QztDQUNGIn0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2xlYWYuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9udWxsaWZpZXJfbGVhZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7OztHQUdHO0FBQ0gscUJBQWEscUJBQXNCLFlBQVcsdUJBQXVCO0lBRWpFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGFBQWE7SUFDMUI7O09BRUc7SUFDSSxPQUFPLEVBQUUsRUFBRTtJQUNsQjs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBWjFCO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsYUFBYTtJQUMxQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxxQkFBcUIsQ0FTdEQ7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7T0FFcEI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxZQUFZLElBQUksTUFBTSxDQUVyQjtJQUVELE1BQU0sSUFBSSxhQUFhLENBRXRCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxLQUFLLElBQUkscUJBQXFCLENBRTdCO0lBRUQsTUFBTSxDQUFDLE1BQU0sMEJBRVo7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT3RFO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxxQkFBcUIsQ0FFOUY7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FFbkU7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsYUFBYyxZQUFXLGVBQWU7SUFFakQ7O09BRUc7SUFDSSxTQUFTLEVBQUUsRUFBRTtJQUp0QjtJQUNFOztPQUVHO0lBQ0ksU0FBUyxFQUFFLEVBQUUsRUFDbEI7SUFFSixNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxLQUFLLElBQUksYUFBYSxDQUVyQjtJQUVELFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FFdkI7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FFNUI7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGFBQWEsQ0FFN0I7SUFFRCxPQUFPLElBQUksT0FBTyxDQUVqQjtJQUVELFFBQVEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FFL0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUU1QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsYUFBYSxDQUczRDtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7OztPQUVoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxhQUFhLENBSzlDO0NBQ0YifQ==
@@ -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;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"}
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,OAAO,IAAI,OAAO,CAEjB;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"}
@@ -65,6 +65,9 @@ import { z } from 'zod';
65
65
  Buffer.from(toBufferBE(this.nextIndex, 32))
66
66
  ];
67
67
  }
68
+ isEmpty() {
69
+ return this.leaf.isEmpty() && this.nextKey.isZero() && this.nextIndex === 0n;
70
+ }
68
71
  toFields() {
69
72
  return this.toHashInputs().map((buf)=>Fr.fromBuffer(buf));
70
73
  }
@@ -94,6 +94,7 @@ export declare class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreima
94
94
  asLeaf(): PublicDataTreeLeaf;
95
95
  toBuffer(): Buffer;
96
96
  toHashInputs(): Buffer[];
97
+ hash(): Promise<Fr>;
97
98
  clone(): PublicDataTreeLeafPreimage;
98
99
  static random(): PublicDataTreeLeafPreimage;
99
100
  static empty(): PublicDataTreeLeafPreimage;
@@ -155,4 +156,4 @@ export declare class PublicDataTreeLeaf implements IndexedTreeLeaf {
155
156
  */
156
157
  static fromPlainObject(obj: any): PublicDataTreeLeaf;
157
158
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfbGVhZi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX2xlYWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsWUFBVyx1QkFBdUI7SUFFdEU7O09BRUc7SUFDSSxJQUFJLEVBQUUsa0JBQWtCO0lBQy9COztPQUVHO0lBQ0ksT0FBTyxFQUFFLEVBQUU7SUFDbEI7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQVoxQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLGtCQUFrQjtJQUMvQjs7T0FFRztJQUNJLE9BQU8sRUFBRSxFQUFFO0lBQ2xCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU0sRUFDdEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRywwQkFBMEIsQ0FTM0Q7SUFFRCxNQUFNLEtBQUssVUFBVTs7Ozs7Ozs7Ozs7O09BRXBCO0lBRUQsTUFBTSxJQUFJLE1BQU0sQ0FFZjtJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsWUFBWSxJQUFJLE1BQU0sQ0FFckI7SUFFRCxNQUFNLElBQUksa0JBQWtCLENBRTNCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBTXZCO0lBRUQsS0FBSyxJQUFJLDBCQUEwQixDQUVsQztJQUVELE1BQU0sQ0FBQyxNQUFNLCtCQU1aO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSwwQkFBMEIsQ0FFekM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLDBCQUEwQixDQU0zRTtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRywwQkFBMEIsQ0FFeEc7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsR0FBRywwQkFBMEIsQ0FFN0U7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsa0JBQW1CLFlBQVcsZUFBZTtJQUV0RDs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7O09BRUc7SUFDSSxLQUFLLEVBQUUsRUFBRTtJQVJsQjtJQUNFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7T0FFRztJQUNJLEtBQUssRUFBRSxFQUFFLEVBQ2Q7SUFFSixNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsUUFBUSw0QkFFUDtJQUVELEtBQUssSUFBSSxrQkFBa0IsQ0FFMUI7SUFFRCxZQUFZLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksc0JBRzlDO0lBRUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBRTNDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxPQUFPLElBQUksT0FBTyxDQUVqQjtJQUVELFFBQVEsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsa0JBQWtCLENBS3hEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGtCQUFrQixDQUVqRDtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksa0JBQWtCLENBRWpDO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7OztPQU9oQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxrQkFBa0IsQ0FLbkQ7Q0FDRiJ9
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;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,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;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"}
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"}
@@ -1,4 +1,5 @@
1
1
  import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { schemas } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -61,10 +62,13 @@ import { z } from 'zod';
61
62
  toHashInputs() {
62
63
  return [
63
64
  ...this.leaf.toHashInputs(),
64
- Buffer.from(toBufferBE(this.nextIndex, 32)),
65
- Buffer.from(this.nextKey.toBuffer())
65
+ Buffer.from(this.nextKey.toBuffer()),
66
+ Buffer.from(toBufferBE(this.nextIndex, 32))
66
67
  ];
67
68
  }
69
+ hash() {
70
+ return poseidon2Hash(this.toHashInputs());
71
+ }
68
72
  clone() {
69
73
  return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
70
74
  }
@@ -76,10 +80,7 @@ import { z } from 'zod';
76
80
  }
77
81
  static fromBuffer(buffer) {
78
82
  const reader = BufferReader.asReader(buffer);
79
- const value = PublicDataTreeLeaf.fromBuffer(reader);
80
- const nextIndex = toBigIntBE(reader.readBytes(32));
81
- const nextSlot = Fr.fromBuffer(reader);
82
- return new PublicDataTreeLeafPreimage(value, nextSlot, nextIndex);
83
+ return new PublicDataTreeLeafPreimage(PublicDataTreeLeaf.fromBuffer(reader), Fr.fromBuffer(reader), toBigIntBE(reader.readBytes(32)));
83
84
  }
84
85
  static fromLeaf(leaf, nextKey, nextIndex) {
85
86
  return new PublicDataTreeLeafPreimage(leaf, new Fr(nextKey), nextIndex);
@@ -63,7 +63,9 @@ export declare class BlockHeader {
63
63
  static fromString(str: string): BlockHeader;
64
64
  hash(): Promise<BlockHash>;
65
65
  /** Manually set the hash for this block header if already computed */
66
- setHash(hashed: Fr): void;
66
+ setHash(hashed: BlockHash): void;
67
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
68
+ recomputeHash(): Promise<BlockHash>;
67
69
  static random(overrides?: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>>): BlockHeader;
68
70
  toInspect(): {
69
71
  lastArchive: `0x${string}`;
@@ -91,4 +93,4 @@ export declare class BlockHeader {
91
93
  [inspect.custom](): string;
92
94
  equals(other: this): boolean;
93
95
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLHFCQUFhLFdBQVc7SUFJcEIsdURBQXVEO2FBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO2FBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO2FBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO2FBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTthQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7YUFDeEQsYUFBYSxFQUFFLEVBQUU7SUFqQm5DLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7SUFFekM7SUFDRSx1REFBdUQ7SUFDdkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuRCx1QkFBdUI7SUFDUCxLQUFLLEVBQUUsY0FBYztJQUNyQzs7O09BR0c7SUFDYSxjQUFjLEVBQUUsRUFBRTtJQUNsQyx1Q0FBdUM7SUFDdkIsZUFBZSxFQUFFLGVBQWU7SUFDaEQsbUVBQW1FO0lBQ25ELFNBQVMsRUFBRSxFQUFFO0lBQzdCLHdFQUF3RTtJQUN4RCxhQUFhLEVBQUUsRUFBRSxFQUMvQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQVd2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0ZBUzdDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUV4QztJQUVELE9BQU8sSUFBSSxVQUFVLENBRXBCO0lBRUQsY0FBYyxJQUFJLFdBQVcsQ0FFNUI7SUFFRCxPQUFPLFdBU047SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQU1mO0lBRUQsS0FBSyxJQUFJLFdBQVcsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FXNUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQVd6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQU0sR0FBRyxXQUFXLENBVXJFO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FTakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FFMUM7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU96QjtJQUVELHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFFakI7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLHFCQUFhLFdBQVc7SUFJcEIsdURBQXVEO2FBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO2FBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO2FBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO2FBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTthQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7YUFDeEQsYUFBYSxFQUFFLEVBQUU7SUFqQm5DLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7SUFFekM7SUFDRSx1REFBdUQ7SUFDdkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuRCx1QkFBdUI7SUFDUCxLQUFLLEVBQUUsY0FBYztJQUNyQzs7O09BR0c7SUFDYSxjQUFjLEVBQUUsRUFBRTtJQUNsQyx1Q0FBdUM7SUFDdkIsZUFBZSxFQUFFLGVBQWU7SUFDaEQsbUVBQW1FO0lBQ25ELFNBQVMsRUFBRSxFQUFFO0lBQzdCLHdFQUF3RTtJQUN4RCxhQUFhLEVBQUUsRUFBRSxFQUMvQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQVd2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0ZBUzdDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUV4QztJQUVELE9BQU8sSUFBSSxVQUFVLENBRXBCO0lBRUQsY0FBYyxJQUFJLFdBQVcsQ0FFNUI7SUFFRCxPQUFPLFdBU047SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQU1mO0lBRUQsS0FBSyxJQUFJLFdBQVcsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FXNUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQVd6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQU0sR0FBRyxXQUFXLENBVXJFO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FTakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FFMUM7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU96QjtJQUVELHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxFQUFFLFNBQVMsUUFFeEI7SUFFRCxnR0FBZ0c7SUFDaEcsYUFBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHbEM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,EAAE,QAEjB;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
1
+ {"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,SAAS,QAExB;IAED,gGAAgG;IAChG,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAGlC;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
@@ -1,5 +1,5 @@
1
1
  var _computedKey;
2
- import { BLOCK_HEADER_LENGTH, GeneratorIndex } from '@aztec/constants';
2
+ import { BLOCK_HEADER_LENGTH, DomainSeparator } from '@aztec/constants';
3
3
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { randomInt } from '@aztec/foundation/crypto/random';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -110,12 +110,16 @@ _computedKey = inspect.custom;
110
110
  }
111
111
  hash() {
112
112
  if (!this._cachedHash) {
113
- this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH).then((fr)=>BlockHash.fromField(fr));
113
+ this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then((fr)=>new BlockHash(fr));
114
114
  }
115
115
  return this._cachedHash;
116
116
  }
117
117
  /** Manually set the hash for this block header if already computed */ setHash(hashed) {
118
- this._cachedHash = Promise.resolve(BlockHash.fromField(hashed));
118
+ this._cachedHash = Promise.resolve(hashed);
119
+ }
120
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */ recomputeHash() {
121
+ this._cachedHash = undefined;
122
+ return this.hash();
119
123
  }
120
124
  static random(overrides = {}) {
121
125
  return BlockHeader.from({
@@ -13,13 +13,17 @@ export declare class Capsule {
13
13
  readonly storageSlot: Fr;
14
14
  /** Data passed to the contract */
15
15
  readonly data: Fr[];
16
+ /** Optional namespace for the capsule contents */
17
+ readonly scope?: AztecAddress | undefined;
16
18
  constructor(
17
19
  /** The address of the contract the capsule is for */
18
20
  contractAddress: AztecAddress,
19
21
  /** The storage slot of the capsule */
20
22
  storageSlot: Fr,
21
23
  /** Data passed to the contract */
22
- data: Fr[]);
24
+ data: Fr[],
25
+ /** Optional namespace for the capsule contents */
26
+ scope?: AztecAddress | undefined);
23
27
  static get schema(): import("zod").ZodType<Capsule, any, string>;
24
28
  toJSON(): `0x${string}`;
25
29
  toBuffer(): Buffer<ArrayBufferLike>;
@@ -27,4 +31,4 @@ export declare class Capsule {
27
31
  toString(): `0x${string}`;
28
32
  static fromString(str: string): Capsule;
29
33
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLHFEQUFxRDthQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7YUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO2FBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFONUI7SUFDRSxxREFBcUQ7SUFDckMsZUFBZSxFQUFFLFlBQVk7SUFDN0Msc0NBQXNDO0lBQ3RCLFdBQVcsRUFBRSxFQUFFO0lBQy9CLG1DQUFtQztJQUNuQixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ3hCO0lBRUosTUFBTSxLQUFLLE1BQU0sZ0RBRWhCO0lBRUQsTUFBTSxrQkFFTDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FHeEQ7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUU1QjtDQUNGIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLHFEQUFxRDthQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7YUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO2FBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO2FBQ2xDLEtBQUssQ0FBQztJQVJ4QjtJQUNFLHFEQUFxRDtJQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7SUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO0lBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO0lBQ2xDLEtBQUssQ0FBQywwQkFBYyxFQUNsQztJQUVKLE1BQU0sS0FBSyxNQUFNLGdEQUVoQjtJQUVELE1BQU0sa0JBRUw7SUFFRCxRQUFRLDRCQUlQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxPQUFPLENBT3hEO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FFNUI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;IAN5B;IACE,qDAAqD;IACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;IACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;IACnB,IAAI,EAAE,EAAE,EAAE,EACxB;IAEJ,MAAM,KAAK,MAAM,gDAEhB;IAED,MAAM,kBAEL;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAGxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAE5B;CACF"}
1
+ {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;aAClC,KAAK,CAAC;IARxB;IACE,qDAAqD;IACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;IACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;IACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;IAClC,KAAK,CAAC,0BAAc,EAClC;IAEJ,MAAM,KAAK,MAAM,gDAEhB;IAED,MAAM,kBAEL;IAED,QAAQ,4BAIP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAOxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAE5B;CACF"}
@@ -12,10 +12,12 @@ import { Vector } from '../types/shared.js';
12
12
  contractAddress;
13
13
  storageSlot;
14
14
  data;
15
- constructor(/** The address of the contract the capsule is for */ contractAddress, /** The storage slot of the capsule */ storageSlot, /** Data passed to the contract */ data){
15
+ scope;
16
+ constructor(/** The address of the contract the capsule is for */ contractAddress, /** The storage slot of the capsule */ storageSlot, /** Data passed to the contract */ data, /** Optional namespace for the capsule contents */ scope){
16
17
  this.contractAddress = contractAddress;
17
18
  this.storageSlot = storageSlot;
18
19
  this.data = data;
20
+ this.scope = scope;
19
21
  }
20
22
  static get schema() {
21
23
  return hexSchemaFor(Capsule);
@@ -24,11 +26,15 @@ import { Vector } from '../types/shared.js';
24
26
  return this.toString();
25
27
  }
26
28
  toBuffer() {
27
- return serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data));
29
+ return this.scope ? serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), true, this.scope) : serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), false);
28
30
  }
29
31
  static fromBuffer(buffer) {
30
32
  const reader = BufferReader.asReader(buffer);
31
- return new Capsule(AztecAddress.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVector(Fr));
33
+ const contractAddress = AztecAddress.fromBuffer(reader);
34
+ const storageSlot = Fr.fromBuffer(reader);
35
+ const data = reader.readVector(Fr);
36
+ const hasScope = reader.readBoolean();
37
+ return new Capsule(contractAddress, storageSlot, data, hasScope ? AztecAddress.fromBuffer(reader) : undefined);
32
38
  }
33
39
  toString() {
34
40
  return bufferToHex(this.toBuffer());
@@ -0,0 +1,10 @@
1
+ import type { ManaUsageEstimate } from '../gas/fee_math.js';
2
+ import type { GasFees } from '../gas/gas_fees.js';
3
+ /** Provides current and predicted fee information for transaction pricing. */
4
+ export interface FeeProvider {
5
+ /** Returns the current minimum fees for inclusion in the next block. */
6
+ getCurrentMinFees(): Promise<GasFees>;
7
+ /** Returns predicted min fees for each slot in the prediction window. */
8
+ getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvZmVlX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsOEVBQThFO0FBQzlFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLHdFQUF3RTtJQUN4RSxpQkFBaUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMseUVBQXlFO0lBQ3pFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3hFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee_provider.d.ts","sourceRoot":"","sources":["../../src/tx/fee_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE"}
@@ -0,0 +1 @@
1
+ /** Provides current and predicted fee information for transaction pricing. */ export { };