@aztec/stdlib 0.0.1-commit.0c875d939 → 0.0.1-commit.0dc957cde

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 (632) 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_selector.d.ts +3 -6
  21. package/dest/abi/function_selector.d.ts.map +1 -1
  22. package/dest/abi/function_selector.js +2 -4
  23. package/dest/abi/function_signature_decoder.d.ts +43 -0
  24. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  25. package/dest/abi/function_signature_decoder.js +66 -0
  26. package/dest/abi/index.d.ts +2 -1
  27. package/dest/abi/index.d.ts.map +1 -1
  28. package/dest/abi/index.js +1 -0
  29. package/dest/abi/note_selector.d.ts +3 -6
  30. package/dest/abi/note_selector.d.ts.map +1 -1
  31. package/dest/abi/note_selector.js +1 -3
  32. package/dest/abi/selector.d.ts +2 -2
  33. package/dest/abi/selector.d.ts.map +1 -1
  34. package/dest/abi/selector.js +1 -1
  35. package/dest/abi/utils.d.ts +14 -1
  36. package/dest/abi/utils.d.ts.map +1 -1
  37. package/dest/abi/utils.js +15 -0
  38. package/dest/auth_witness/auth_witness.js +3 -3
  39. package/dest/avm/avm.d.ts +300 -300
  40. package/dest/avm/avm_proving_request.d.ts +166 -166
  41. package/dest/avm/revert_code.d.ts +9 -4
  42. package/dest/avm/revert_code.d.ts.map +1 -1
  43. package/dest/avm/revert_code.js +16 -21
  44. package/dest/aztec-address/index.d.ts +3 -6
  45. package/dest/aztec-address/index.d.ts.map +1 -1
  46. package/dest/aztec-address/index.js +2 -4
  47. package/dest/block/block_data.d.ts +52 -0
  48. package/dest/block/block_data.d.ts.map +1 -0
  49. package/dest/block/block_data.js +12 -0
  50. package/dest/block/block_hash.d.ts +11 -10
  51. package/dest/block/block_hash.d.ts.map +1 -1
  52. package/dest/block/block_hash.js +10 -9
  53. package/dest/block/index.d.ts +2 -1
  54. package/dest/block/index.d.ts.map +1 -1
  55. package/dest/block/index.js +1 -0
  56. package/dest/block/l2_block.d.ts +9 -1
  57. package/dest/block/l2_block.d.ts.map +1 -1
  58. package/dest/block/l2_block.js +12 -2
  59. package/dest/block/l2_block_info.d.ts +6 -5
  60. package/dest/block/l2_block_info.d.ts.map +1 -1
  61. package/dest/block/l2_block_info.js +6 -5
  62. package/dest/block/l2_block_source.d.ts +113 -9
  63. package/dest/block/l2_block_source.d.ts.map +1 -1
  64. package/dest/block/l2_block_source.js +1 -0
  65. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  66. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  67. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  68. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  69. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  70. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  71. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  72. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  73. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  74. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  75. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  76. package/dest/checkpoint/checkpoint.d.ts +13 -1
  77. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  78. package/dest/checkpoint/checkpoint.js +23 -9
  79. package/dest/checkpoint/checkpoint_data.d.ts +186 -0
  80. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  81. package/dest/checkpoint/checkpoint_data.js +36 -0
  82. package/dest/checkpoint/index.d.ts +3 -1
  83. package/dest/checkpoint/index.d.ts.map +1 -1
  84. package/dest/checkpoint/index.js +2 -0
  85. package/dest/checkpoint/published_checkpoint.d.ts +11 -2
  86. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  87. package/dest/checkpoint/published_checkpoint.js +1 -2
  88. package/dest/checkpoint/validate.d.ts +36 -0
  89. package/dest/checkpoint/validate.d.ts.map +1 -0
  90. package/dest/checkpoint/validate.js +120 -0
  91. package/dest/config/chain-config.d.ts +1 -1
  92. package/dest/config/chain-config.d.ts.map +1 -1
  93. package/dest/config/chain-config.js +7 -1
  94. package/dest/config/index.d.ts +2 -1
  95. package/dest/config/index.d.ts.map +1 -1
  96. package/dest/config/index.js +1 -0
  97. package/dest/config/pipelining-config.d.ts +19 -0
  98. package/dest/config/pipelining-config.d.ts.map +1 -0
  99. package/dest/config/pipelining-config.js +18 -0
  100. package/dest/config/sequencer-config.d.ts +4 -2
  101. package/dest/config/sequencer-config.d.ts.map +1 -1
  102. package/dest/config/sequencer-config.js +20 -1
  103. package/dest/contract/contract_address.d.ts +3 -3
  104. package/dest/contract/contract_address.js +7 -7
  105. package/dest/contract/contract_class.d.ts +2 -3
  106. package/dest/contract/contract_class.d.ts.map +1 -1
  107. package/dest/contract/contract_class_id.d.ts +2 -2
  108. package/dest/contract/contract_class_id.js +5 -5
  109. package/dest/contract/index.d.ts +1 -3
  110. package/dest/contract/index.d.ts.map +1 -1
  111. package/dest/contract/index.js +0 -2
  112. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  113. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  114. package/dest/contract/interfaces/contract_class.js +1 -28
  115. package/dest/contract/private_function.d.ts +1 -1
  116. package/dest/contract/private_function.d.ts.map +1 -1
  117. package/dest/contract/private_function.js +4 -6
  118. package/dest/epoch-helpers/index.d.ts +11 -1
  119. package/dest/epoch-helpers/index.d.ts.map +1 -1
  120. package/dest/epoch-helpers/index.js +16 -2
  121. package/dest/file-store/factory.d.ts +4 -3
  122. package/dest/file-store/factory.d.ts.map +1 -1
  123. package/dest/file-store/factory.js +2 -2
  124. package/dest/file-store/http.d.ts +9 -2
  125. package/dest/file-store/http.d.ts.map +1 -1
  126. package/dest/file-store/http.js +20 -9
  127. package/dest/file-store/index.d.ts +2 -1
  128. package/dest/file-store/index.d.ts.map +1 -1
  129. package/dest/file-store/local.d.ts +3 -3
  130. package/dest/file-store/local.d.ts.map +1 -1
  131. package/dest/file-store/local.js +13 -4
  132. package/dest/file-store/s3.d.ts +1 -1
  133. package/dest/file-store/s3.d.ts.map +1 -1
  134. package/dest/file-store/s3.js +11 -3
  135. package/dest/gas/fee_math.d.ts +49 -0
  136. package/dest/gas/fee_math.d.ts.map +1 -0
  137. package/dest/gas/fee_math.js +80 -0
  138. package/dest/gas/gas_fees.d.ts +5 -1
  139. package/dest/gas/gas_fees.d.ts.map +1 -1
  140. package/dest/gas/gas_fees.js +13 -1
  141. package/dest/gas/gas_settings.d.ts +40 -3
  142. package/dest/gas/gas_settings.d.ts.map +1 -1
  143. package/dest/gas/gas_settings.js +50 -6
  144. package/dest/gas/index.d.ts +2 -1
  145. package/dest/gas/index.d.ts.map +1 -1
  146. package/dest/gas/index.js +1 -0
  147. package/dest/ha-signing/config.d.ts +136 -0
  148. package/dest/ha-signing/config.d.ts.map +1 -0
  149. package/dest/ha-signing/config.js +98 -0
  150. package/dest/ha-signing/index.d.ts +4 -0
  151. package/dest/ha-signing/index.d.ts.map +1 -0
  152. package/dest/ha-signing/index.js +3 -0
  153. package/dest/ha-signing/local_config.d.ts +63 -0
  154. package/dest/ha-signing/local_config.d.ts.map +1 -0
  155. package/dest/ha-signing/local_config.js +24 -0
  156. package/dest/ha-signing/types.d.ts +90 -0
  157. package/dest/ha-signing/types.d.ts.map +1 -0
  158. package/dest/ha-signing/types.js +39 -0
  159. package/dest/hash/hash.d.ts +34 -1
  160. package/dest/hash/hash.d.ts.map +1 -1
  161. package/dest/hash/hash.js +72 -11
  162. package/dest/hash/map_slot.js +2 -2
  163. package/dest/interfaces/allowed_element.d.ts +26 -20
  164. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  165. package/dest/interfaces/allowed_element.js +8 -8
  166. package/dest/interfaces/archiver.d.ts +11 -1
  167. package/dest/interfaces/archiver.d.ts.map +1 -1
  168. package/dest/interfaces/archiver.js +13 -3
  169. package/dest/interfaces/aztec-node-admin.d.ts +113 -47
  170. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  171. package/dest/interfaces/aztec-node-admin.js +12 -6
  172. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  173. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  174. package/dest/interfaces/aztec-node-debug.js +18 -0
  175. package/dest/interfaces/aztec-node.d.ts +22 -7
  176. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  177. package/dest/interfaces/aztec-node.js +7 -2
  178. package/dest/interfaces/block-builder.d.ts +38 -11
  179. package/dest/interfaces/block-builder.d.ts.map +1 -1
  180. package/dest/interfaces/block-builder.js +13 -6
  181. package/dest/interfaces/client.d.ts +2 -1
  182. package/dest/interfaces/client.d.ts.map +1 -1
  183. package/dest/interfaces/client.js +1 -0
  184. package/dest/interfaces/configs.d.ts +77 -32
  185. package/dest/interfaces/configs.d.ts.map +1 -1
  186. package/dest/interfaces/configs.js +10 -3
  187. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  188. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  189. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  190. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  191. package/dest/interfaces/p2p.d.ts +3 -8
  192. package/dest/interfaces/p2p.d.ts.map +1 -1
  193. package/dest/interfaces/prover-client.d.ts +6 -1
  194. package/dest/interfaces/prover-client.d.ts.map +1 -1
  195. package/dest/interfaces/prover-client.js +7 -4
  196. package/dest/interfaces/proving-job.d.ts +200 -200
  197. package/dest/interfaces/slasher.d.ts +1 -10
  198. package/dest/interfaces/slasher.d.ts.map +1 -1
  199. package/dest/interfaces/slasher.js +0 -2
  200. package/dest/interfaces/validator.d.ts +115 -64
  201. package/dest/interfaces/validator.d.ts.map +1 -1
  202. package/dest/interfaces/validator.js +8 -5
  203. package/dest/interfaces/world_state.d.ts +5 -4
  204. package/dest/interfaces/world_state.d.ts.map +1 -1
  205. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  206. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  207. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  208. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  209. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  210. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  211. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  212. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  213. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  214. package/dest/kernel/hints/index.d.ts +2 -2
  215. package/dest/kernel/hints/index.js +2 -2
  216. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  217. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  218. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  219. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  220. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  221. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  222. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  223. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  224. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  225. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  226. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  227. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  228. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  229. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  230. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  231. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  232. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  233. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  234. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  235. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  236. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  237. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  238. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  239. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  240. package/dest/kernel/private_validation_requests.d.ts +3 -3
  241. package/dest/kernel/private_validation_requests.js +9 -9
  242. package/dest/keys/derivation.js +8 -8
  243. package/dest/keys/key_types.d.ts +3 -3
  244. package/dest/keys/key_types.d.ts.map +1 -1
  245. package/dest/keys/public_keys.js +2 -2
  246. package/dest/keys/utils.js +5 -5
  247. package/dest/kv-store/config.d.ts +17 -0
  248. package/dest/kv-store/config.d.ts.map +1 -0
  249. package/dest/kv-store/config.js +26 -0
  250. package/dest/kv-store/index.d.ts +2 -0
  251. package/dest/kv-store/index.d.ts.map +1 -0
  252. package/dest/kv-store/index.js +1 -0
  253. package/dest/l1-contracts/index.d.ts +2 -2
  254. package/dest/l1-contracts/index.d.ts.map +1 -1
  255. package/dest/l1-contracts/index.js +1 -1
  256. package/dest/logs/debug_log_store.d.ts +30 -0
  257. package/dest/logs/debug_log_store.d.ts.map +1 -0
  258. package/dest/logs/debug_log_store.js +30 -0
  259. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  260. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  261. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  262. package/dest/logs/index.d.ts +4 -2
  263. package/dest/logs/index.d.ts.map +1 -1
  264. package/dest/logs/index.js +3 -1
  265. package/dest/logs/log_filter.d.ts +4 -1
  266. package/dest/logs/log_filter.d.ts.map +1 -1
  267. package/dest/logs/log_filter.js +2 -1
  268. package/dest/logs/log_id.d.ts +1 -1
  269. package/dest/logs/log_id.d.ts.map +1 -1
  270. package/dest/logs/log_id.js +1 -2
  271. package/dest/logs/message_context.d.ts +4 -7
  272. package/dest/logs/message_context.d.ts.map +1 -1
  273. package/dest/logs/message_context.js +23 -9
  274. package/dest/logs/pending_tagged_log.d.ts +2 -3
  275. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  276. package/dest/logs/pending_tagged_log.js +2 -2
  277. package/dest/logs/pre_tag.d.ts +16 -11
  278. package/dest/logs/pre_tag.d.ts.map +1 -1
  279. package/dest/logs/pre_tag.js +2 -2
  280. package/dest/logs/private_log.d.ts +2 -2
  281. package/dest/logs/private_log.d.ts.map +1 -1
  282. package/dest/logs/public_log.d.ts +4 -3
  283. package/dest/logs/public_log.d.ts.map +1 -1
  284. package/dest/logs/public_log.js +2 -1
  285. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  286. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  287. package/dest/logs/shared_secret_derivation.js +15 -9
  288. package/dest/logs/siloed_tag.d.ts +12 -9
  289. package/dest/logs/siloed_tag.d.ts.map +1 -1
  290. package/dest/logs/siloed_tag.js +15 -2
  291. package/dest/logs/tag.d.ts +5 -6
  292. package/dest/logs/tag.d.ts.map +1 -1
  293. package/dest/logs/tag.js +5 -1
  294. package/dest/logs/tagging_index_range.d.ts +40 -0
  295. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  296. package/dest/logs/tagging_index_range.js +8 -0
  297. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  298. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  299. package/dest/logs/tx_scoped_l2_log.js +7 -0
  300. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  301. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  302. package/dest/messaging/l1_to_l2_message.js +11 -13
  303. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  304. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  305. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  306. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  307. package/dest/messaging/l2_to_l1_membership.js +69 -26
  308. package/dest/noir/index.d.ts +3 -3
  309. package/dest/noir/index.d.ts.map +1 -1
  310. package/dest/note/note_dao.d.ts +1 -1
  311. package/dest/note/note_dao.d.ts.map +1 -1
  312. package/dest/note/note_dao.js +1 -4
  313. package/dest/p2p/attestation_utils.d.ts +11 -1
  314. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  315. package/dest/p2p/attestation_utils.js +45 -0
  316. package/dest/p2p/block_proposal.d.ts +7 -9
  317. package/dest/p2p/block_proposal.d.ts.map +1 -1
  318. package/dest/p2p/block_proposal.js +6 -13
  319. package/dest/p2p/checkpoint_attestation.d.ts +4 -6
  320. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  321. package/dest/p2p/checkpoint_attestation.js +2 -7
  322. package/dest/p2p/checkpoint_proposal.d.ts +9 -16
  323. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  324. package/dest/p2p/checkpoint_proposal.js +6 -35
  325. package/dest/p2p/client_type.d.ts +2 -5
  326. package/dest/p2p/client_type.d.ts.map +1 -1
  327. package/dest/p2p/client_type.js +0 -7
  328. package/dest/p2p/gossipable.d.ts +4 -4
  329. package/dest/p2p/gossipable.d.ts.map +1 -1
  330. package/dest/p2p/index.d.ts +1 -2
  331. package/dest/p2p/index.d.ts.map +1 -1
  332. package/dest/p2p/index.js +0 -1
  333. package/dest/p2p/peer_error.d.ts +3 -1
  334. package/dest/p2p/peer_error.d.ts.map +1 -1
  335. package/dest/p2p/peer_error.js +5 -0
  336. package/dest/p2p/topic_type.d.ts +3 -4
  337. package/dest/p2p/topic_type.d.ts.map +1 -1
  338. package/dest/p2p/topic_type.js +7 -24
  339. package/dest/proofs/chonk_proof.d.ts +46 -2
  340. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  341. package/dest/proofs/chonk_proof.js +85 -10
  342. package/dest/rollup/block_headers_hash.d.ts +1 -1
  343. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  344. package/dest/rollup/block_headers_hash.js +8 -2
  345. package/dest/rollup/checkpoint_header.d.ts +2 -2
  346. package/dest/rollup/checkpoint_header.js +2 -2
  347. package/dest/slashing/index.d.ts +2 -3
  348. package/dest/slashing/index.d.ts.map +1 -1
  349. package/dest/slashing/index.js +1 -2
  350. package/dest/slashing/serialization.d.ts +2 -6
  351. package/dest/slashing/serialization.d.ts.map +1 -1
  352. package/dest/slashing/serialization.js +0 -60
  353. package/dest/slashing/types.d.ts +4 -90
  354. package/dest/slashing/types.d.ts.map +1 -1
  355. package/dest/slashing/types.js +0 -14
  356. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  357. package/dest/slashing/votes.d.ts.map +1 -0
  358. package/dest/slashing/{tally.js → votes.js} +30 -2
  359. package/dest/tests/factories.d.ts +5 -10
  360. package/dest/tests/factories.d.ts.map +1 -1
  361. package/dest/tests/factories.js +33 -52
  362. package/dest/tests/mocks.d.ts +5 -3
  363. package/dest/tests/mocks.d.ts.map +1 -1
  364. package/dest/tests/mocks.js +34 -34
  365. package/dest/timetable/index.d.ts +51 -1
  366. package/dest/timetable/index.d.ts.map +1 -1
  367. package/dest/timetable/index.js +204 -14
  368. package/dest/trees/nullifier_leaf.d.ts +2 -1
  369. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  370. package/dest/trees/nullifier_leaf.js +3 -0
  371. package/dest/tx/block_header.d.ts +4 -2
  372. package/dest/tx/block_header.d.ts.map +1 -1
  373. package/dest/tx/block_header.js +7 -3
  374. package/dest/tx/capsule.d.ts +6 -2
  375. package/dest/tx/capsule.d.ts.map +1 -1
  376. package/dest/tx/capsule.js +9 -3
  377. package/dest/tx/fee_provider.d.ts +10 -0
  378. package/dest/tx/fee_provider.d.ts.map +1 -0
  379. package/dest/tx/fee_provider.js +1 -0
  380. package/dest/tx/global_variable_builder.d.ts +3 -4
  381. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  382. package/dest/tx/global_variables.d.ts +4 -4
  383. package/dest/tx/global_variables.d.ts.map +1 -1
  384. package/dest/tx/index.d.ts +2 -1
  385. package/dest/tx/index.d.ts.map +1 -1
  386. package/dest/tx/index.js +1 -0
  387. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  388. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  389. package/dest/tx/indexed_tx_effect.js +1 -2
  390. package/dest/tx/private_execution_result.d.ts +6 -6
  391. package/dest/tx/private_execution_result.d.ts.map +1 -1
  392. package/dest/tx/private_execution_result.js +6 -6
  393. package/dest/tx/profiling.d.ts +17 -5
  394. package/dest/tx/profiling.d.ts.map +1 -1
  395. package/dest/tx/profiling.js +15 -5
  396. package/dest/tx/protocol_contracts.d.ts +1 -1
  397. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  398. package/dest/tx/protocol_contracts.js +2 -2
  399. package/dest/tx/public_simulation_output.d.ts +4 -2
  400. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  401. package/dest/tx/public_simulation_output.js +7 -3
  402. package/dest/tx/simulated_tx.d.ts +116 -5
  403. package/dest/tx/simulated_tx.d.ts.map +1 -1
  404. package/dest/tx/simulated_tx.js +7 -4
  405. package/dest/tx/tx.d.ts +8 -7
  406. package/dest/tx/tx.d.ts.map +1 -1
  407. package/dest/tx/tx.js +18 -6
  408. package/dest/tx/tx_receipt.d.ts +29 -6
  409. package/dest/tx/tx_receipt.d.ts.map +1 -1
  410. package/dest/tx/tx_receipt.js +23 -19
  411. package/dest/tx/tx_request.js +2 -2
  412. package/dest/tx/validator/error_texts.d.ts +10 -2
  413. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  414. package/dest/tx/validator/error_texts.js +11 -1
  415. package/dest/types/shared.d.ts +1 -10
  416. package/dest/types/shared.d.ts.map +1 -1
  417. package/dest/types/shared.js +0 -9
  418. package/dest/update-checker/index.d.ts +3 -2
  419. package/dest/update-checker/index.d.ts.map +1 -1
  420. package/dest/update-checker/index.js +2 -1
  421. package/dest/update-checker/package_version.d.ts +3 -0
  422. package/dest/update-checker/package_version.d.ts.map +1 -0
  423. package/dest/update-checker/package_version.js +24 -0
  424. package/dest/update-checker/version_checker.d.ts +25 -0
  425. package/dest/update-checker/version_checker.d.ts.map +1 -0
  426. package/dest/update-checker/version_checker.js +50 -0
  427. package/dest/validators/errors.d.ts +6 -1
  428. package/dest/validators/errors.d.ts.map +1 -1
  429. package/dest/validators/errors.js +7 -0
  430. package/dest/versioning/versioning.d.ts +4 -2
  431. package/dest/versioning/versioning.d.ts.map +1 -1
  432. package/dest/versioning/versioning.js +4 -1
  433. package/dest/vks/verification_key.d.ts +2 -137
  434. package/dest/vks/verification_key.d.ts.map +1 -1
  435. package/dest/vks/verification_key.js +5 -126
  436. package/dest/world-state/genesis_data.d.ts +11 -0
  437. package/dest/world-state/genesis_data.d.ts.map +1 -0
  438. package/dest/world-state/genesis_data.js +4 -0
  439. package/dest/world-state/index.d.ts +2 -1
  440. package/dest/world-state/index.d.ts.map +1 -1
  441. package/dest/world-state/index.js +1 -0
  442. package/dest/world-state/world_state_revision.d.ts +8 -1
  443. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  444. package/dest/world-state/world_state_revision.js +7 -1
  445. package/package.json +12 -11
  446. package/src/abi/abi.ts +25 -2
  447. package/src/abi/authorization_selector.ts +2 -8
  448. package/src/abi/buffer.ts +25 -4
  449. package/src/abi/decoder.ts +36 -82
  450. package/src/abi/encoder.ts +85 -6
  451. package/src/abi/event_metadata_definition.ts +2 -0
  452. package/src/abi/event_selector.ts +2 -8
  453. package/src/abi/function_selector.ts +4 -13
  454. package/src/abi/function_signature_decoder.ts +77 -0
  455. package/src/abi/index.ts +1 -0
  456. package/src/abi/note_selector.ts +3 -12
  457. package/src/abi/selector.ts +1 -1
  458. package/src/abi/utils.ts +25 -0
  459. package/src/auth_witness/auth_witness.ts +3 -3
  460. package/src/avm/revert_code.ts +26 -25
  461. package/src/aztec-address/index.ts +4 -10
  462. package/src/block/block_data.ts +25 -0
  463. package/src/block/block_hash.ts +21 -14
  464. package/src/block/index.ts +1 -0
  465. package/src/block/l2_block.ts +13 -1
  466. package/src/block/l2_block_info.ts +8 -6
  467. package/src/block/l2_block_source.ts +47 -8
  468. package/src/block/l2_block_stream/interfaces.ts +6 -2
  469. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  470. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  471. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  472. package/src/checkpoint/checkpoint.ts +28 -7
  473. package/src/checkpoint/checkpoint_data.ts +87 -0
  474. package/src/checkpoint/index.ts +2 -0
  475. package/src/checkpoint/published_checkpoint.ts +3 -1
  476. package/src/checkpoint/validate.ts +230 -0
  477. package/src/config/chain-config.ts +7 -1
  478. package/src/config/index.ts +1 -0
  479. package/src/config/pipelining-config.ts +31 -0
  480. package/src/config/sequencer-config.ts +30 -2
  481. package/src/contract/contract_address.ts +7 -7
  482. package/src/contract/contract_class.ts +3 -3
  483. package/src/contract/contract_class_id.ts +5 -5
  484. package/src/contract/index.ts +0 -2
  485. package/src/contract/interfaces/contract_class.ts +2 -82
  486. package/src/contract/private_function.ts +5 -3
  487. package/src/epoch-helpers/index.ts +27 -0
  488. package/src/file-store/factory.ts +13 -4
  489. package/src/file-store/http.ts +29 -10
  490. package/src/file-store/index.ts +1 -0
  491. package/src/file-store/local.ts +15 -5
  492. package/src/file-store/s3.ts +12 -3
  493. package/src/gas/README.md +154 -0
  494. package/src/gas/fee_math.ts +120 -0
  495. package/src/gas/gas_fees.ts +20 -1
  496. package/src/gas/gas_settings.ts +65 -12
  497. package/src/gas/index.ts +1 -0
  498. package/src/ha-signing/config.ts +159 -0
  499. package/src/ha-signing/index.ts +29 -0
  500. package/src/ha-signing/local_config.ts +46 -0
  501. package/src/ha-signing/types.ts +126 -0
  502. package/src/hash/hash.ts +72 -11
  503. package/src/hash/map_slot.ts +2 -2
  504. package/src/interfaces/allowed_element.ts +29 -9
  505. package/src/interfaces/archiver.ts +18 -2
  506. package/src/interfaces/aztec-node-admin.ts +28 -7
  507. package/src/interfaces/aztec-node-debug.ts +40 -0
  508. package/src/interfaces/aztec-node.ts +40 -6
  509. package/src/interfaces/block-builder.ts +60 -14
  510. package/src/interfaces/client.ts +1 -0
  511. package/src/interfaces/configs.ts +36 -8
  512. package/src/interfaces/l2_logs_source.ts +4 -1
  513. package/src/interfaces/merkle_tree_operations.ts +12 -21
  514. package/src/interfaces/p2p.ts +2 -13
  515. package/src/interfaces/prover-client.ts +10 -5
  516. package/src/interfaces/slasher.ts +0 -6
  517. package/src/interfaces/validator.ts +62 -37
  518. package/src/interfaces/world_state.ts +4 -3
  519. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  520. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  521. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  522. package/src/kernel/hints/index.ts +2 -2
  523. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  524. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  525. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  526. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  527. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  528. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  529. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  530. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  531. package/src/kernel/private_validation_requests.ts +8 -8
  532. package/src/keys/derivation.ts +8 -8
  533. package/src/keys/key_types.ts +6 -2
  534. package/src/keys/public_keys.ts +2 -2
  535. package/src/keys/utils.ts +5 -5
  536. package/src/kv-store/config.ts +36 -0
  537. package/src/kv-store/index.ts +1 -0
  538. package/src/l1-contracts/index.ts +1 -1
  539. package/src/logs/debug_log_store.ts +54 -0
  540. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  541. package/src/logs/index.ts +3 -1
  542. package/src/logs/log_filter.ts +5 -0
  543. package/src/logs/log_id.ts +1 -2
  544. package/src/logs/message_context.ts +17 -7
  545. package/src/logs/pending_tagged_log.ts +1 -3
  546. package/src/logs/pre_tag.ts +5 -5
  547. package/src/logs/public_log.ts +4 -2
  548. package/src/logs/shared_secret_derivation.ts +21 -10
  549. package/src/logs/siloed_tag.ts +22 -12
  550. package/src/logs/tag.ts +9 -9
  551. package/src/logs/tagging_index_range.ts +24 -0
  552. package/src/logs/tx_scoped_l2_log.ts +16 -0
  553. package/src/messaging/l1_to_l2_message.ts +12 -9
  554. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  555. package/src/messaging/l2_to_l1_membership.ts +98 -33
  556. package/src/noir/index.ts +2 -2
  557. package/src/note/note_dao.ts +1 -4
  558. package/src/p2p/attestation_utils.ts +56 -0
  559. package/src/p2p/block_proposal.ts +14 -12
  560. package/src/p2p/checkpoint_attestation.ts +5 -9
  561. package/src/p2p/checkpoint_proposal.ts +20 -49
  562. package/src/p2p/client_type.ts +0 -6
  563. package/src/p2p/gossipable.ts +4 -4
  564. package/src/p2p/index.ts +0 -1
  565. package/src/p2p/peer_error.ts +7 -0
  566. package/src/p2p/topic_type.ts +8 -15
  567. package/src/proofs/chonk_proof.ts +91 -5
  568. package/src/rollup/block_headers_hash.ts +11 -2
  569. package/src/rollup/checkpoint_header.ts +2 -2
  570. package/src/slashing/index.ts +1 -2
  571. package/src/slashing/serialization.ts +1 -81
  572. package/src/slashing/types.ts +3 -35
  573. package/src/slashing/{tally.ts → votes.ts} +34 -1
  574. package/src/tests/factories.ts +31 -62
  575. package/src/tests/mocks.ts +43 -24
  576. package/src/timetable/index.ts +293 -13
  577. package/src/trees/nullifier_leaf.ts +4 -0
  578. package/src/tx/block_header.ts +10 -4
  579. package/src/tx/capsule.ts +10 -2
  580. package/src/tx/fee_provider.ts +10 -0
  581. package/src/tx/global_variable_builder.ts +2 -3
  582. package/src/tx/global_variables.ts +3 -3
  583. package/src/tx/index.ts +1 -0
  584. package/src/tx/indexed_tx_effect.ts +1 -2
  585. package/src/tx/private_execution_result.ts +5 -5
  586. package/src/tx/profiling.ts +14 -5
  587. package/src/tx/protocol_contracts.ts +2 -2
  588. package/src/tx/public_simulation_output.ts +4 -0
  589. package/src/tx/simulated_tx.ts +14 -3
  590. package/src/tx/tx.ts +22 -13
  591. package/src/tx/tx_receipt.ts +28 -16
  592. package/src/tx/tx_request.ts +2 -2
  593. package/src/tx/validator/error_texts.ts +13 -1
  594. package/src/types/shared.ts +0 -10
  595. package/src/update-checker/index.ts +2 -1
  596. package/src/update-checker/package_version.ts +30 -0
  597. package/src/update-checker/version_checker.ts +65 -0
  598. package/src/validators/errors.ts +9 -0
  599. package/src/versioning/versioning.ts +4 -1
  600. package/src/vks/verification_key.ts +5 -184
  601. package/src/world-state/genesis_data.ts +15 -0
  602. package/src/world-state/index.ts +1 -0
  603. package/src/world-state/world_state_revision.ts +9 -1
  604. package/dest/abi/mocked_keys.d.ts +0 -2
  605. package/dest/abi/mocked_keys.d.ts.map +0 -1
  606. package/dest/abi/mocked_keys.js +0 -1
  607. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  608. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  609. package/dest/contract/private_function_membership_proof.js +0 -124
  610. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  611. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  612. package/dest/contract/utility_function_membership_proof.js +0 -87
  613. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  614. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  615. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  616. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  617. package/dest/l1-contracts/slash_factory.js +0 -158
  618. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  619. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  620. package/dest/slashing/empire.d.ts +0 -31
  621. package/dest/slashing/empire.d.ts.map +0 -1
  622. package/dest/slashing/empire.js +0 -87
  623. package/dest/slashing/tally.d.ts.map +0 -1
  624. package/dest/update-checker/update-checker.d.ts +0 -49
  625. package/dest/update-checker/update-checker.d.ts.map +0 -1
  626. package/dest/update-checker/update-checker.js +0 -130
  627. package/src/abi/mocked_keys.ts +0 -2
  628. package/src/contract/private_function_membership_proof.ts +0 -167
  629. package/src/contract/utility_function_membership_proof.ts +0 -118
  630. package/src/l1-contracts/slash_factory.ts +0 -180
  631. package/src/slashing/empire.ts +0 -104
  632. package/src/update-checker/update-checker.ts +0 -166
@@ -1,10 +1,11 @@
1
1
  import {
2
- FIXED_DA_GAS,
3
- FIXED_L2_GAS,
4
2
  MAX_ENQUEUED_CALLS_PER_TX,
5
- MAX_INCLUDE_BY_TIMESTAMP_DURATION,
6
3
  MAX_NULLIFIERS_PER_TX,
7
4
  MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
5
+ MAX_TX_LIFETIME,
6
+ PRIVATE_TX_L2_GAS_OVERHEAD,
7
+ PUBLIC_TX_L2_GAS_OVERHEAD,
8
+ TX_DA_GAS_OVERHEAD,
8
9
  } from '@aztec/constants';
9
10
  import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
10
11
  import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
@@ -97,6 +98,7 @@ export const mockTx = async (
97
98
  publicCalldataSize = 2,
98
99
  feePayer,
99
100
  chonkProof = ChonkProof.random(),
101
+ gasLimits,
100
102
  maxFeesPerGas = new GasFees(10, 10),
101
103
  maxPriorityFeesPerGas,
102
104
  gasUsed = Gas.empty(),
@@ -113,6 +115,7 @@ export const mockTx = async (
113
115
  publicCalldataSize?: number;
114
116
  feePayer?: AztecAddress;
115
117
  chonkProof?: ChonkProof;
118
+ gasLimits?: Gas;
116
119
  maxFeesPerGas?: GasFees;
117
120
  maxPriorityFeesPerGas?: GasFees;
118
121
  gasUsed?: Gas;
@@ -131,7 +134,7 @@ export const mockTx = async (
131
134
  const data = PrivateKernelTailCircuitPublicInputs.empty();
132
135
  const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
133
136
  data.constants.anchorBlockHeader = anchorBlockHeader;
134
- data.constants.txContext.gasSettings = GasSettings.default({ maxFeesPerGas, maxPriorityFeesPerGas });
137
+ data.constants.txContext.gasSettings = GasSettings.fallback({ gasLimits, maxFeesPerGas, maxPriorityFeesPerGas });
135
138
  data.feePayer = feePayer ?? (await AztecAddress.random());
136
139
  data.gasUsed = gasUsed;
137
140
  data.constants.txContext.chainId = chainId;
@@ -139,8 +142,8 @@ export const mockTx = async (
139
142
  data.constants.vkTreeRoot = vkTreeRoot;
140
143
  data.constants.protocolContractsHash = protocolContractsHash;
141
144
 
142
- // Set includeByTimestamp to the maximum allowed duration from the current time.
143
- data.includeByTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_INCLUDE_BY_TIMESTAMP_DURATION);
145
+ // Set expirationTimestamp to the maximum allowed duration from the current time.
146
+ data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
144
147
 
145
148
  const publicFunctionCalldata: HashedValues[] = [];
146
149
  if (!isForPublic) {
@@ -197,7 +200,7 @@ export async function mockProcessedTx({
197
200
  db,
198
201
  chainId = Fr.ZERO,
199
202
  version = Fr.ZERO,
200
- gasSettings = GasSettings.default({ maxFeesPerGas: new GasFees(10, 10) }),
203
+ gasSettings = GasSettings.fallback({ maxFeesPerGas: new GasFees(10, 10) }),
201
204
  vkTreeRoot = Fr.ZERO,
202
205
  protocolContracts = makeProtocolContracts(seed + 0x100),
203
206
  globalVariables = GlobalVariables.empty(),
@@ -205,8 +208,11 @@ export async function mockProcessedTx({
205
208
  feePayer,
206
209
  feePaymentPublicDataWrite,
207
210
  // The default gasUsed is the tx overhead.
208
- gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
209
211
  privateOnly = false,
212
+ gasUsed = Gas.from({
213
+ daGas: TX_DA_GAS_OVERHEAD,
214
+ l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD,
215
+ }),
210
216
  avmAccumulatedData,
211
217
  ...mockTxOpts
212
218
  }: {
@@ -421,10 +427,13 @@ export async function mockCheckpointAndMessages(
421
427
  Partial<Parameters<typeof L2Block.random>[1]> = {},
422
428
  ) {
423
429
  const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
430
+ const globals = GlobalVariables.random({ slotNumber, ...options });
424
431
  const blocksAndMessages = [];
432
+
425
433
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
426
434
  // The current block's header.lastArchive must equal the previous block's archive.
427
435
  let lastArchive: AppendOnlyTreeSnapshot | undefined = previousArchive;
436
+
428
437
  // Pass maxEffects via txOptions so it reaches TxEffect.random
429
438
  const txOptions = maxEffects !== undefined ? { maxEffects } : {};
430
439
  for (let i = 0; i < (blocks?.length ?? numBlocks); i++) {
@@ -433,11 +442,11 @@ export async function mockCheckpointAndMessages(
433
442
  block:
434
443
  blocks?.[i] ??
435
444
  (await L2Block.random(blockNumber, {
445
+ ...globals,
436
446
  checkpointNumber,
437
447
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
438
448
  txsPerBlock: numTxsPerBlock,
439
449
  txOptions,
440
- slotNumber,
441
450
  ...options,
442
451
  ...makeBlockOptions(blockNumber),
443
452
  ...(lastArchive ? { lastArchive } : {}),
@@ -451,12 +460,18 @@ export async function mockCheckpointAndMessages(
451
460
 
452
461
  const messages = blocksAndMessages[0].messages;
453
462
  const inHash = computeInHashFromL1ToL2Messages(messages);
454
- const checkpoint = await Checkpoint.random(checkpointNumber, { numBlocks: 0, slotNumber, inHash, ...options });
463
+ const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
464
+ const checkpoint = await Checkpoint.random(checkpointNumber, {
465
+ numBlocks: 0,
466
+ inHash,
467
+ ...options,
468
+ ...globals,
469
+ lastArchive: firstBlockLastArchive,
470
+ lastArchiveRoot: firstBlockLastArchive.root,
471
+ archive: lastArchive,
472
+ });
473
+
455
474
  checkpoint.blocks = blocksAndMessages.map(({ block }) => block);
456
- // Set the checkpoint's archive to match the last block's archive for proper chaining.
457
- // When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
458
- // from the L1 event to set the last block's archive. Without this, the archive chain breaks.
459
- checkpoint.archive = lastArchive!;
460
475
 
461
476
  // Return lastArchive so callers can chain it across multiple checkpoints
462
477
  return { checkpoint, messages, lastArchive };
@@ -572,6 +587,7 @@ export const makeBlockProposal = (options?: MakeBlockProposalOptions): Promise<B
572
587
 
573
588
  return BlockProposal.createProposalFromSigner(
574
589
  blockHeader,
590
+ CheckpointNumber(1),
575
591
  indexWithinCheckpoint,
576
592
  inHash,
577
593
  archiveRoot,
@@ -581,28 +597,31 @@ export const makeBlockProposal = (options?: MakeBlockProposalOptions): Promise<B
581
597
  );
582
598
  };
583
599
 
584
- export const makeCheckpointProposal = (options?: MakeCheckpointProposalOptions): Promise<CheckpointProposal> => {
585
- const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
600
+ export const makeCheckpointProposal = async (options?: MakeCheckpointProposalOptions): Promise<CheckpointProposal> => {
586
601
  const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
587
602
  const archiveRoot = options?.archiveRoot ?? Fr.random();
588
603
  const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
589
604
  const signer = options?.signer ?? Secp256k1Signer.random();
590
605
 
591
- // Build lastBlock info if provided
592
- const lastBlockInfo = options?.lastBlock
593
- ? {
594
- blockHeader,
595
- indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4), // Last block in a 5-block checkpoint
596
- txHashes: options.lastBlock.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
606
+ // Build a signed block proposal if lastBlock options are provided
607
+ const lastBlockProposal = options?.lastBlock
608
+ ? await makeBlockProposal({
609
+ blockHeader: options.lastBlock.blockHeader,
610
+ indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
611
+ inHash: checkpointHeader.inHash,
612
+ archiveRoot,
613
+ txHashes: options.lastBlock.txHashes,
597
614
  txs: options.lastBlock.txs,
598
- }
615
+ signer,
616
+ })
599
617
  : undefined;
600
618
 
601
619
  return CheckpointProposal.createProposalFromSigner(
602
620
  checkpointHeader,
603
621
  archiveRoot,
622
+ CheckpointNumber(1),
604
623
  feeAssetPriceModifier,
605
- lastBlockInfo,
624
+ lastBlockProposal,
606
625
  payload => Promise.resolve(signer.signMessage(payload)),
607
626
  );
608
627
  };
@@ -25,6 +25,219 @@ export const DEFAULT_L1_PUBLISHING_TIME = 12;
25
25
  /** Minimum execution time for building a block in seconds */
26
26
  export const MIN_EXECUTION_TIME = 2;
27
27
 
28
+ export type CheckpointTimingConfig = {
29
+ aztecSlotDuration: number;
30
+ ethereumSlotDuration?: number;
31
+ blockDuration?: number;
32
+ checkpointAssembleTime?: number;
33
+ checkpointInitializationTime?: number;
34
+ l1PublishingTime?: number;
35
+ minExecutionTime?: number;
36
+ p2pPropagationTime?: number;
37
+ pipelining?: boolean;
38
+ };
39
+
40
+ export interface CheckpointTiming {
41
+ readonly aztecSlotDuration: number;
42
+ readonly blockDuration: number | undefined;
43
+ readonly checkpointAssembleTime: number;
44
+ readonly checkpointInitializationTime: number;
45
+ readonly l1PublishingTime: number;
46
+ readonly minExecutionTime: number;
47
+ readonly p2pPropagationTime: number;
48
+ readonly checkpointFinalizationTime: number;
49
+ readonly pipeliningAttestationGracePeriod: number;
50
+ readonly timeReservedAtEnd: number;
51
+ readonly minimumBuildSlotWork: number;
52
+ readonly initializeDeadline: number;
53
+ readonly checkpointAssemblyDeadline: number;
54
+ readonly checkpointAttestationStartDeadline: number;
55
+ readonly checkpointAttestationDeadline: number;
56
+ readonly checkpointPublishingDeadline: number;
57
+
58
+ calculateMaxBlocksPerSlot(): number;
59
+ }
60
+
61
+ export interface PipelinedCheckpointTiming extends CheckpointTiming {
62
+ readonly proposalWindowIntoTargetSlot: number;
63
+ readonly attestationWindowIntoTargetSlot: number;
64
+ }
65
+
66
+ /**
67
+ * Shared base for checkpoint timing implementations.
68
+ *
69
+ * This class owns the common inputs and formulas used by both pipelined and
70
+ * non-pipelined scheduling. Variant-specific deadline math is delegated to the
71
+ * concrete subclasses below.
72
+ */
73
+ abstract class BaseCheckpointTiming implements CheckpointTiming {
74
+ public readonly aztecSlotDuration: number;
75
+ public readonly blockDuration: number | undefined;
76
+ public readonly checkpointAssembleTime: number;
77
+ public readonly checkpointInitializationTime: number;
78
+ public readonly l1PublishingTime: number;
79
+ public readonly minExecutionTime: number;
80
+ public readonly p2pPropagationTime: number;
81
+
82
+ constructor(opts: CheckpointTimingConfig) {
83
+ this.aztecSlotDuration = opts.aztecSlotDuration;
84
+ this.blockDuration = opts.blockDuration;
85
+
86
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
87
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
88
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
89
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
90
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
91
+ }
92
+
93
+ public get checkpointFinalizationTime(): number {
94
+ // Allow enough time to
95
+ // - build the checkpoint
96
+ // - Round-trip over p2p
97
+ // - Publish to L1
98
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
99
+ }
100
+
101
+ public get pipeliningAttestationGracePeriod(): number {
102
+ // Allow enough time to
103
+ // - build the block
104
+ // - pass it back over p2p
105
+ return (this.blockDuration ?? 0) + this.p2pPropagationTime;
106
+ }
107
+
108
+ public abstract get timeReservedAtEnd(): number;
109
+ public abstract get minimumBuildSlotWork(): number;
110
+
111
+ public get initializeDeadline(): number {
112
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
113
+ }
114
+
115
+ public abstract get checkpointAssemblyDeadline(): number;
116
+
117
+ public get checkpointAttestationStartDeadline(): number {
118
+ return this.checkpointAssemblyDeadline;
119
+ }
120
+
121
+ public abstract get checkpointAttestationDeadline(): number;
122
+ public abstract get checkpointPublishingDeadline(): number;
123
+
124
+ public calculateMaxBlocksPerSlot(): number {
125
+ if (!this.blockDuration) {
126
+ return 1;
127
+ }
128
+
129
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
130
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Checkpoint timing model for the non-pipelined sequencer flow.
136
+ *
137
+ * In this mode, checkpoint assembly, attestation collection, and L1 publishing
138
+ * must all complete within the current Aztec slot.
139
+ */
140
+ class StandardCheckpointTimingModel extends BaseCheckpointTiming {
141
+ public get timeReservedAtEnd(): number {
142
+ return (this.blockDuration ?? 0) + this.checkpointFinalizationTime;
143
+ }
144
+
145
+ public get minimumBuildSlotWork(): number {
146
+ return this.checkpointInitializationTime + this.minExecutionTime * 2 + this.checkpointFinalizationTime;
147
+ }
148
+
149
+ public get checkpointAssemblyDeadline(): number {
150
+ return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.p2pPropagationTime;
151
+ }
152
+
153
+ public get checkpointAttestationDeadline(): number {
154
+ return this.aztecSlotDuration - this.l1PublishingTime;
155
+ }
156
+
157
+ public get checkpointPublishingDeadline(): number {
158
+ return this.aztecSlotDuration - this.l1PublishingTime;
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Checkpoint timing model for proposer pipelining.
164
+ *
165
+ * In this mode, the build work still starts in the current slot, but checkpoint
166
+ * assembly and attestation collection can extend into the target slot. The extra
167
+ * target-slot window getters are intended for consumers such as P2P validators
168
+ * that need to validate pipelined messages against wallclock time.
169
+ */
170
+ class PipelinedCheckpointTimingModel extends BaseCheckpointTiming implements PipelinedCheckpointTiming {
171
+ public get proposalWindowIntoTargetSlot(): number {
172
+ // Allow the p2p propagation time to receive a checkpoint proposal from leader
173
+ return this.p2pPropagationTime;
174
+ }
175
+
176
+ public get attestationWindowIntoTargetSlot(): number {
177
+ return this.aztecSlotDuration - this.l1PublishingTime;
178
+ }
179
+
180
+ public get timeReservedAtEnd(): number {
181
+ return this.checkpointAssembleTime + this.p2pPropagationTime;
182
+ }
183
+
184
+ public get minimumBuildSlotWork(): number {
185
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
186
+ }
187
+
188
+ public get checkpointAssemblyDeadline(): number {
189
+ // Allow enough time to
190
+ // - build all blocks
191
+ // - receive attestations
192
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
193
+ }
194
+
195
+ public get checkpointAttestationDeadline(): number {
196
+ // Allowed to be into the next wallclock slot minus the allocated l1 publishing time
197
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
198
+ }
199
+
200
+ public get checkpointPublishingDeadline(): number {
201
+ // Allowed to be into the next wallclock slot minus the allocated l1 Publishing time
202
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
203
+ }
204
+ }
205
+
206
+ /**
207
+ * Creates a checkpoint timing model for the requested scheduling mode.
208
+ *
209
+ * Most callers should use this factory and depend only on the shared
210
+ * `CheckpointTiming` interface. The returned implementation is selected from
211
+ * `opts.pipelining`.
212
+ */
213
+ export function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming {
214
+ validateCheckpointTimingConfig(opts);
215
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
216
+
217
+ const timing = normalizedOpts.pipelining
218
+ ? new PipelinedCheckpointTimingModel(normalizedOpts)
219
+ : new StandardCheckpointTimingModel(normalizedOpts);
220
+ validateCheckpointTimingModel(timing);
221
+ return timing;
222
+ }
223
+
224
+ /**
225
+ * Creates a pipelined checkpoint timing model with target-slot window accessors.
226
+ *
227
+ * Use this when the caller specifically needs the pipelined-only timing surface,
228
+ * such as proposal or attestation acceptance windows into the target slot.
229
+ */
230
+ export function createPipelinedCheckpointTimingModel(
231
+ opts: Omit<CheckpointTimingConfig, 'pipelining'>,
232
+ ): PipelinedCheckpointTiming {
233
+ validateCheckpointTimingConfig(opts);
234
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
235
+
236
+ const timing = new PipelinedCheckpointTimingModel(normalizedOpts);
237
+ validateCheckpointTimingModel(timing);
238
+ return timing;
239
+ }
240
+
28
241
  /**
29
242
  * Calculates the maximum number of blocks that can be built in a slot.
30
243
  * Used by both the sequencer timetable and p2p gossipsub scoring.
@@ -42,25 +255,92 @@ export function calculateMaxBlocksPerSlot(
42
255
  checkpointAssembleTime?: number;
43
256
  p2pPropagationTime?: number;
44
257
  l1PublishingTime?: number;
258
+ pipelining?: boolean;
45
259
  } = {},
46
260
  ): number {
47
- if (!blockDurationSec) {
48
- return 1; // Single block per slot
261
+ return createCheckpointTimingModel({
262
+ aztecSlotDuration: aztecSlotDurationSec,
263
+ blockDuration: blockDurationSec,
264
+ checkpointAssembleTime: opts.checkpointAssembleTime,
265
+ checkpointInitializationTime: opts.checkpointInitializationTime,
266
+ l1PublishingTime: opts.l1PublishingTime,
267
+ p2pPropagationTime: opts.p2pPropagationTime,
268
+ pipelining: opts.pipelining,
269
+ }).calculateMaxBlocksPerSlot();
270
+ }
271
+
272
+ function assertNonNegative(name: string, value: number): void {
273
+ if (value < 0) {
274
+ throw new Error(`${name} must be non-negative (got ${value})`);
49
275
  }
276
+ }
50
277
 
51
- const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
52
- const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
53
- const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
54
- const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
278
+ function validateCheckpointTimingConfig(opts: CheckpointTimingConfig): void {
279
+ if (opts.aztecSlotDuration <= 0) {
280
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
281
+ }
55
282
 
56
- // Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
57
- const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
283
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
284
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
285
+ }
58
286
 
59
- // Time reserved at end for last sub-slot (validator re-execution) + finalization
60
- const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
287
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
288
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
289
+ }
61
290
 
62
- // Time available for building blocks
63
- const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
291
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
292
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
293
+ }
64
294
 
65
- return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
295
+ if (opts.checkpointAssembleTime !== undefined) {
296
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
297
+ }
298
+ if (opts.checkpointInitializationTime !== undefined) {
299
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
300
+ }
301
+ if (opts.l1PublishingTime !== undefined) {
302
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
303
+ }
304
+ if (opts.p2pPropagationTime !== undefined) {
305
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
306
+ }
307
+ }
308
+
309
+ function normalizeCheckpointTimingConfig(opts: CheckpointTimingConfig): CheckpointTimingConfig {
310
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
311
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
312
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
313
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
314
+
315
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
316
+ p2pPropagationTime = 0;
317
+ checkpointAssembleTime = 0.5;
318
+ checkpointInitializationTime = 0.5;
319
+ minExecutionTime = 1;
320
+ }
321
+
322
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
323
+ minExecutionTime = opts.blockDuration;
324
+ }
325
+
326
+ return {
327
+ ...opts,
328
+ checkpointAssembleTime,
329
+ checkpointInitializationTime,
330
+ minExecutionTime,
331
+ p2pPropagationTime,
332
+ };
333
+ }
334
+
335
+ function validateCheckpointTimingModel(model: CheckpointTiming): void {
336
+ if (model.blockDuration === undefined) {
337
+ return;
338
+ }
339
+
340
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
341
+ if (timeAvailableForBlocks < model.blockDuration) {
342
+ throw new Error(
343
+ `Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`,
344
+ );
345
+ }
66
346
  }
@@ -86,6 +86,10 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
86
86
  ];
87
87
  }
88
88
 
89
+ isEmpty(): boolean {
90
+ return this.leaf.isEmpty() && this.nextKey.isZero() && this.nextIndex === 0n;
91
+ }
92
+
89
93
  toFields(): Fr[] {
90
94
  return this.toHashInputs().map(buf => Fr.fromBuffer(buf));
91
95
  }
@@ -1,4 +1,4 @@
1
- import { BLOCK_HEADER_LENGTH, GeneratorIndex } from '@aztec/constants';
1
+ import { BLOCK_HEADER_LENGTH, DomainSeparator } from '@aztec/constants';
2
2
  import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { randomInt } from '@aztec/foundation/crypto/random';
@@ -164,7 +164,7 @@ export class BlockHeader {
164
164
 
165
165
  hash(): Promise<BlockHash> {
166
166
  if (!this._cachedHash) {
167
- this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HEADER_HASH).then(
167
+ this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then(
168
168
  fr => new BlockHash(fr),
169
169
  );
170
170
  }
@@ -172,8 +172,14 @@ export class BlockHeader {
172
172
  }
173
173
 
174
174
  /** Manually set the hash for this block header if already computed */
175
- setHash(hashed: Fr) {
176
- this._cachedHash = Promise.resolve(new BlockHash(hashed));
175
+ setHash(hashed: BlockHash) {
176
+ this._cachedHash = Promise.resolve(hashed);
177
+ }
178
+
179
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
180
+ recomputeHash(): Promise<BlockHash> {
181
+ this._cachedHash = undefined;
182
+ return this.hash();
177
183
  }
178
184
 
179
185
  static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
package/src/tx/capsule.ts CHANGED
@@ -19,6 +19,8 @@ export class Capsule {
19
19
  public readonly storageSlot: Fr,
20
20
  /** Data passed to the contract */
21
21
  public readonly data: Fr[],
22
+ /** Optional namespace for the capsule contents */
23
+ public readonly scope?: AztecAddress,
22
24
  ) {}
23
25
 
24
26
  static get schema() {
@@ -30,12 +32,18 @@ export class Capsule {
30
32
  }
31
33
 
32
34
  toBuffer() {
33
- return serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data));
35
+ return this.scope
36
+ ? serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), true, this.scope)
37
+ : serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), false);
34
38
  }
35
39
 
36
40
  static fromBuffer(buffer: Buffer | BufferReader): Capsule {
37
41
  const reader = BufferReader.asReader(buffer);
38
- return new Capsule(AztecAddress.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVector(Fr));
42
+ const contractAddress = AztecAddress.fromBuffer(reader);
43
+ const storageSlot = Fr.fromBuffer(reader);
44
+ const data = reader.readVector(Fr);
45
+ const hasScope = reader.readBoolean();
46
+ return new Capsule(contractAddress, storageSlot, data, hasScope ? AztecAddress.fromBuffer(reader) : undefined);
39
47
  }
40
48
 
41
49
  toString() {
@@ -0,0 +1,10 @@
1
+ import type { ManaUsageEstimate } from '../gas/fee_math.js';
2
+ import type { GasFees } from '../gas/gas_fees.js';
3
+
4
+ /** Provides current and predicted fee information for transaction pricing. */
5
+ export interface FeeProvider {
6
+ /** Returns the current minimum fees for inclusion in the next block. */
7
+ getCurrentMinFees(): Promise<GasFees>;
8
+ /** Returns predicted min fees for each slot in the prediction window. */
9
+ getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
10
+ }
@@ -1,8 +1,8 @@
1
+ import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import type { SlotNumber } from '@aztec/foundation/schemas';
3
4
 
4
5
  import type { AztecAddress } from '../aztec-address/index.js';
5
- import type { GasFees } from '../gas/gas_fees.js';
6
6
  import type { UInt32 } from '../types/index.js';
7
7
  import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
8
8
 
@@ -10,8 +10,6 @@ import type { CheckpointGlobalVariables, GlobalVariables } from './global_variab
10
10
  * Interface for building global variables for Aztec blocks.
11
11
  */
12
12
  export interface GlobalVariableBuilder {
13
- getCurrentMinFees(): Promise<GasFees>;
14
-
15
13
  /**
16
14
  * Builds global variables for a given block.
17
15
  * @param blockNumber - The block number to build global variables for.
@@ -32,5 +30,6 @@ export interface GlobalVariableBuilder {
32
30
  coinbase: EthAddress,
33
31
  feeRecipient: AztecAddress,
34
32
  slotNumber: SlotNumber,
33
+ simulationOverridesPlan?: SimulationOverridesPlan,
35
34
  ): Promise<CheckpointGlobalVariables>;
36
35
  }
@@ -22,10 +22,10 @@ import { schemas } from '../schemas/index.js';
22
22
  import type { UInt64 } from '../types/index.js';
23
23
 
24
24
  /**
25
- * Global variables that are constant across the entire slot.
26
- * TODO(palla/mbps): Should timestamp be included here as well?
25
+ * Global variables that are constant across the entire checkpoint (slot).
26
+ * Excludes blockNumber since that varies per block within a checkpoint.
27
27
  */
28
- export type CheckpointGlobalVariables = Omit<FieldsOf<GlobalVariables>, 'blockNumber' | 'timestamp'>;
28
+ export type CheckpointGlobalVariables = Omit<FieldsOf<GlobalVariables>, 'blockNumber'>;
29
29
 
30
30
  /**
31
31
  * Global variables of the L2 block.
package/src/tx/index.ts CHANGED
@@ -24,6 +24,7 @@ export * from './validator/tx_validator.js';
24
24
  export * from './validator/empty_validator.js';
25
25
  export * from './validator/error_texts.js';
26
26
  export * from './capsule.js';
27
+ export * from './fee_provider.js';
27
28
  export * from './global_variable_builder.js';
28
29
  export * from './hashed_values.js';
29
30
  export * from './indexed_tx_effect.js';
@@ -1,5 +1,4 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { schemas } from '@aztec/foundation/schemas';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
 
@@ -27,7 +26,7 @@ export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
27
26
  export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
28
27
  const reader = BufferReader.asReader(buffer);
29
28
 
30
- const l2BlockHash = new BlockHash(reader.readObject(Fr));
29
+ const l2BlockHash = BlockHash.fromBuffer(reader);
31
30
  const l2BlockNumber = BlockNumber(reader.readNumber());
32
31
  const txIndexInBlock = reader.readNumber();
33
32
  const data = reader.readObject(TxEffect);