@aztec/stdlib 0.0.1-commit.e558bd1c → 0.0.1-commit.e57c76e

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 (1040) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  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/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +653 -5446
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/message_pack.js +12 -3
  57. package/dest/avm/public_data_write.d.ts +6 -12
  58. package/dest/avm/public_data_write.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +6 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +13 -21
  62. package/dest/aztec-address/index.d.ts +8 -8
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +9 -6
  65. package/dest/block/attestation_info.d.ts +3 -2
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +7 -5
  68. package/dest/block/block_data.d.ts +27 -0
  69. package/dest/block/block_data.d.ts.map +1 -0
  70. package/dest/block/block_data.js +12 -0
  71. package/dest/block/block_hash.d.ts +11 -10
  72. package/dest/block/block_hash.d.ts.map +1 -1
  73. package/dest/block/block_hash.js +10 -9
  74. package/dest/block/block_parameter.d.ts +37 -4
  75. package/dest/block/block_parameter.d.ts.map +1 -1
  76. package/dest/block/block_parameter.js +53 -2
  77. package/dest/block/in_block.d.ts +5 -24
  78. package/dest/block/in_block.d.ts.map +1 -1
  79. package/dest/block/index.d.ts +2 -2
  80. package/dest/block/index.d.ts.map +1 -1
  81. package/dest/block/index.js +1 -1
  82. package/dest/block/l2_block.d.ts +21 -41
  83. package/dest/block/l2_block.d.ts.map +1 -1
  84. package/dest/block/l2_block.js +12 -2
  85. package/dest/block/l2_block_info.d.ts +10 -29
  86. package/dest/block/l2_block_info.d.ts.map +1 -1
  87. package/dest/block/l2_block_info.js +6 -5
  88. package/dest/block/l2_block_source.d.ts +216 -338
  89. package/dest/block/l2_block_source.d.ts.map +1 -1
  90. package/dest/block/l2_block_source.js +67 -1
  91. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  92. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  94. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  99. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  100. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  102. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  103. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  104. package/dest/block/proposal/attestations_and_signers.js +26 -18
  105. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  106. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  108. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  110. package/dest/checkpoint/checkpoint.d.ts +48 -99
  111. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint.js +41 -17
  113. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  114. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_data.js +38 -0
  116. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  117. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  119. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  120. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  121. package/dest/checkpoint/digest.d.ts +18 -0
  122. package/dest/checkpoint/digest.d.ts.map +1 -0
  123. package/dest/checkpoint/digest.js +12 -0
  124. package/dest/checkpoint/index.d.ts +6 -1
  125. package/dest/checkpoint/index.d.ts.map +1 -1
  126. package/dest/checkpoint/index.js +5 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  128. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  129. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  130. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  131. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  132. package/dest/checkpoint/published_checkpoint.js +1 -2
  133. package/dest/checkpoint/validate.d.ts +36 -0
  134. package/dest/checkpoint/validate.d.ts.map +1 -0
  135. package/dest/checkpoint/validate.js +120 -0
  136. package/dest/config/chain-config.d.ts +4 -9
  137. package/dest/config/chain-config.d.ts.map +1 -1
  138. package/dest/config/chain-config.js +13 -12
  139. package/dest/config/index.d.ts +2 -1
  140. package/dest/config/index.d.ts.map +1 -1
  141. package/dest/config/index.js +1 -0
  142. package/dest/config/sequencer-config.d.ts +14 -0
  143. package/dest/config/sequencer-config.d.ts.map +1 -0
  144. package/dest/config/sequencer-config.js +38 -0
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +6 -6
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +9 -8
  151. package/dest/contract/contract_class.d.ts +2 -3
  152. package/dest/contract/contract_class.d.ts.map +1 -1
  153. package/dest/contract/contract_class_id.d.ts +3 -3
  154. package/dest/contract/contract_class_id.d.ts.map +1 -1
  155. package/dest/contract/contract_class_id.js +7 -6
  156. package/dest/contract/contract_deployment_data.d.ts +15 -61
  157. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  158. package/dest/contract/contract_instance.d.ts +4 -2
  159. package/dest/contract/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/contract_instance.js +10 -3
  161. package/dest/contract/index.d.ts +1 -3
  162. package/dest/contract/index.d.ts.map +1 -1
  163. package/dest/contract/index.js +0 -2
  164. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  165. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  166. package/dest/contract/interfaces/contract_class.js +1 -28
  167. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  168. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  169. package/dest/contract/interfaces/contract_instance.js +4 -2
  170. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  171. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  172. package/dest/contract/interfaces/node-info.d.ts +3 -1
  173. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  174. package/dest/contract/interfaces/node-info.js +2 -1
  175. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  176. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  177. package/dest/contract/private_function.d.ts +1 -1
  178. package/dest/contract/private_function.d.ts.map +1 -1
  179. package/dest/contract/private_function.js +4 -6
  180. package/dest/database-version/database_version.d.ts +5 -11
  181. package/dest/database-version/database_version.d.ts.map +1 -1
  182. package/dest/database-version/version_manager.d.ts +6 -2
  183. package/dest/database-version/version_manager.d.ts.map +1 -1
  184. package/dest/database-version/version_manager.js +12 -1
  185. package/dest/epoch-helpers/index.d.ts +14 -18
  186. package/dest/epoch-helpers/index.d.ts.map +1 -1
  187. package/dest/epoch-helpers/index.js +18 -2
  188. package/dest/file-store/factory.d.ts +4 -3
  189. package/dest/file-store/factory.d.ts.map +1 -1
  190. package/dest/file-store/factory.js +2 -2
  191. package/dest/file-store/http.d.ts +9 -2
  192. package/dest/file-store/http.d.ts.map +1 -1
  193. package/dest/file-store/http.js +20 -9
  194. package/dest/file-store/index.d.ts +2 -1
  195. package/dest/file-store/index.d.ts.map +1 -1
  196. package/dest/file-store/local.d.ts +3 -3
  197. package/dest/file-store/local.d.ts.map +1 -1
  198. package/dest/file-store/local.js +13 -4
  199. package/dest/file-store/s3.d.ts +1 -1
  200. package/dest/file-store/s3.d.ts.map +1 -1
  201. package/dest/file-store/s3.js +11 -3
  202. package/dest/gas/fee_math.d.ts +49 -0
  203. package/dest/gas/fee_math.d.ts.map +1 -0
  204. package/dest/gas/fee_math.js +80 -0
  205. package/dest/gas/gas.d.ts +9 -14
  206. package/dest/gas/gas.d.ts.map +1 -1
  207. package/dest/gas/gas.js +6 -3
  208. package/dest/gas/gas_fees.d.ts +13 -14
  209. package/dest/gas/gas_fees.d.ts.map +1 -1
  210. package/dest/gas/gas_fees.js +20 -4
  211. package/dest/gas/gas_settings.d.ts +66 -86
  212. package/dest/gas/gas_settings.d.ts.map +1 -1
  213. package/dest/gas/gas_settings.js +56 -9
  214. package/dest/gas/index.d.ts +2 -1
  215. package/dest/gas/index.d.ts.map +1 -1
  216. package/dest/gas/index.js +1 -0
  217. package/dest/ha-signing/config.d.ts +72 -0
  218. package/dest/ha-signing/config.d.ts.map +1 -0
  219. package/dest/ha-signing/config.js +88 -0
  220. package/dest/ha-signing/index.d.ts +4 -0
  221. package/dest/ha-signing/index.d.ts.map +1 -0
  222. package/dest/ha-signing/index.js +3 -0
  223. package/dest/ha-signing/local_config.d.ts +32 -0
  224. package/dest/ha-signing/local_config.d.ts.map +1 -0
  225. package/dest/ha-signing/local_config.js +24 -0
  226. package/dest/ha-signing/types.d.ts +90 -0
  227. package/dest/ha-signing/types.d.ts.map +1 -0
  228. package/dest/ha-signing/types.js +39 -0
  229. package/dest/hash/hash.d.ts +35 -1
  230. package/dest/hash/hash.d.ts.map +1 -1
  231. package/dest/hash/hash.js +78 -11
  232. package/dest/hash/map_slot.js +2 -2
  233. package/dest/interfaces/allowed_element.d.ts +17 -35
  234. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  235. package/dest/interfaces/allowed_element.js +8 -8
  236. package/dest/interfaces/api_limit.d.ts +1 -1
  237. package/dest/interfaces/api_limit.js +1 -1
  238. package/dest/interfaces/archiver.d.ts +22 -32
  239. package/dest/interfaces/archiver.d.ts.map +1 -1
  240. package/dest/interfaces/archiver.js +215 -65
  241. package/dest/interfaces/aztec-node-admin.d.ts +105 -263
  242. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  243. package/dest/interfaces/aztec-node-admin.js +66 -17
  244. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  245. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  246. package/dest/interfaces/aztec-node-debug.js +21 -0
  247. package/dest/interfaces/aztec-node.d.ts +115 -106
  248. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  249. package/dest/interfaces/aztec-node.js +311 -68
  250. package/dest/interfaces/block-builder.d.ts +41 -12
  251. package/dest/interfaces/block-builder.d.ts.map +1 -1
  252. package/dest/interfaces/block-builder.js +13 -6
  253. package/dest/interfaces/block_response.d.ts +90 -0
  254. package/dest/interfaces/block_response.d.ts.map +1 -0
  255. package/dest/interfaces/block_response.js +30 -0
  256. package/dest/interfaces/chain_tips.d.ts +50 -0
  257. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  258. package/dest/interfaces/chain_tips.js +11 -0
  259. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  260. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_parameter.js +18 -0
  262. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  263. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  264. package/dest/interfaces/checkpoint_response.js +26 -0
  265. package/dest/interfaces/client.d.ts +8 -2
  266. package/dest/interfaces/client.d.ts.map +1 -1
  267. package/dest/interfaces/client.js +7 -1
  268. package/dest/interfaces/configs.d.ts +73 -117
  269. package/dest/interfaces/configs.d.ts.map +1 -1
  270. package/dest/interfaces/configs.js +18 -3
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +17 -12
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +28 -5
  283. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +9 -25
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +7 -4
  291. package/dest/interfaces/prover-node.js +22 -8
  292. package/dest/interfaces/proving-job-source.js +24 -4
  293. package/dest/interfaces/proving-job.d.ts +742 -5793
  294. package/dest/interfaces/proving-job.d.ts.map +1 -1
  295. package/dest/interfaces/proving-job.js +1 -1
  296. package/dest/interfaces/public_storage_override.d.ts +22 -0
  297. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  298. package/dest/interfaces/public_storage_override.js +7 -0
  299. package/dest/interfaces/server.d.ts +6 -1
  300. package/dest/interfaces/server.d.ts.map +1 -1
  301. package/dest/interfaces/server.js +5 -0
  302. package/dest/interfaces/slasher.d.ts +26 -62
  303. package/dest/interfaces/slasher.d.ts.map +1 -1
  304. package/dest/interfaces/slasher.js +9 -4
  305. package/dest/interfaces/tx_provider.d.ts +6 -1
  306. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  307. package/dest/interfaces/validator.d.ts +74 -201
  308. package/dest/interfaces/validator.d.ts.map +1 -1
  309. package/dest/interfaces/validator.js +15 -5
  310. package/dest/interfaces/world_state.d.ts +6 -5
  311. package/dest/interfaces/world_state.d.ts.map +1 -1
  312. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  313. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  314. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  315. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  316. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  317. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  318. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  319. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  320. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  321. package/dest/kernel/hints/index.d.ts +2 -2
  322. package/dest/kernel/hints/index.js +2 -2
  323. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  324. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  325. package/dest/kernel/hints/key_validation_request.js +20 -18
  326. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  327. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  328. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  329. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  330. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  331. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  332. package/dest/kernel/index.d.ts +5 -1
  333. package/dest/kernel/index.d.ts.map +1 -1
  334. package/dest/kernel/index.js +4 -0
  335. package/dest/kernel/log_hash.d.ts +6 -2
  336. package/dest/kernel/log_hash.d.ts.map +1 -1
  337. package/dest/kernel/log_hash.js +21 -9
  338. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  339. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  340. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  341. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  342. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  344. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  345. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  346. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  347. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  348. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  349. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  350. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  351. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  352. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  353. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  354. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  355. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  356. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  357. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  358. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  359. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  360. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  361. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  362. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  363. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  364. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  365. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  366. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  367. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  368. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  369. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  370. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  371. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  372. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  373. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  374. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  375. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  376. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  377. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  378. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  379. package/dest/kernel/private_validation_requests.d.ts +3 -3
  380. package/dest/kernel/private_validation_requests.js +9 -9
  381. package/dest/kernel/public_call_request.d.ts +15 -30
  382. package/dest/kernel/public_call_request.d.ts.map +1 -1
  383. package/dest/kernel/public_call_request.js +16 -7
  384. package/dest/keys/derivation.d.ts +6 -2
  385. package/dest/keys/derivation.d.ts.map +1 -1
  386. package/dest/keys/derivation.js +21 -11
  387. package/dest/keys/key_types.d.ts +3 -3
  388. package/dest/keys/key_types.d.ts.map +1 -1
  389. package/dest/keys/public_key.d.ts +22 -3
  390. package/dest/keys/public_key.d.ts.map +1 -1
  391. package/dest/keys/public_key.js +20 -1
  392. package/dest/keys/public_keys.d.ts +55 -82
  393. package/dest/keys/public_keys.d.ts.map +1 -1
  394. package/dest/keys/public_keys.js +102 -74
  395. package/dest/keys/utils.js +5 -5
  396. package/dest/kv-store/config.d.ts +14 -0
  397. package/dest/kv-store/config.d.ts.map +1 -0
  398. package/dest/kv-store/config.js +21 -0
  399. package/dest/kv-store/index.d.ts +2 -0
  400. package/dest/kv-store/index.d.ts.map +1 -0
  401. package/dest/kv-store/index.js +1 -0
  402. package/dest/l1-contracts/index.d.ts +2 -2
  403. package/dest/l1-contracts/index.d.ts.map +1 -1
  404. package/dest/l1-contracts/index.js +1 -1
  405. package/dest/logs/app_tagging_secret.d.ts +46 -0
  406. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  407. package/dest/logs/app_tagging_secret.js +109 -0
  408. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  409. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  410. package/dest/logs/app_tagging_secret_kind.js +17 -0
  411. package/dest/logs/contract_class_log.d.ts +16 -34
  412. package/dest/logs/contract_class_log.d.ts.map +1 -1
  413. package/dest/logs/contract_class_log.js +11 -9
  414. package/dest/logs/debug_log_store.d.ts +30 -0
  415. package/dest/logs/debug_log_store.d.ts.map +1 -0
  416. package/dest/logs/debug_log_store.js +30 -0
  417. package/dest/logs/index.d.ts +9 -7
  418. package/dest/logs/index.d.ts.map +1 -1
  419. package/dest/logs/index.js +8 -6
  420. package/dest/logs/log_cursor.d.ts +51 -0
  421. package/dest/logs/log_cursor.d.ts.map +1 -0
  422. package/dest/logs/log_cursor.js +82 -0
  423. package/dest/logs/log_result.d.ts +54 -0
  424. package/dest/logs/log_result.d.ts.map +1 -0
  425. package/dest/logs/log_result.js +56 -0
  426. package/dest/logs/logs_query.d.ts +82 -0
  427. package/dest/logs/logs_query.d.ts.map +1 -0
  428. package/dest/logs/logs_query.js +50 -0
  429. package/dest/logs/message_context.d.ts +6 -8
  430. package/dest/logs/message_context.d.ts.map +1 -1
  431. package/dest/logs/message_context.js +27 -9
  432. package/dest/logs/pending_tagged_log.d.ts +2 -3
  433. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  434. package/dest/logs/pending_tagged_log.js +2 -2
  435. package/dest/logs/pre_tag.d.ts +14 -22
  436. package/dest/logs/pre_tag.d.ts.map +1 -1
  437. package/dest/logs/pre_tag.js +2 -2
  438. package/dest/logs/private_log.d.ts +8 -13
  439. package/dest/logs/private_log.d.ts.map +1 -1
  440. package/dest/logs/private_log.js +6 -3
  441. package/dest/logs/public_log.d.ts +4 -3
  442. package/dest/logs/public_log.d.ts.map +1 -1
  443. package/dest/logs/public_log.js +2 -1
  444. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  445. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  446. package/dest/logs/query_all_logs_by_tags.js +64 -0
  447. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  448. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  449. package/dest/logs/shared_secret_derivation.js +15 -9
  450. package/dest/logs/siloed_tag.d.ts +12 -9
  451. package/dest/logs/siloed_tag.d.ts.map +1 -1
  452. package/dest/logs/siloed_tag.js +18 -7
  453. package/dest/logs/tag.d.ts +5 -6
  454. package/dest/logs/tag.d.ts.map +1 -1
  455. package/dest/logs/tag.js +5 -1
  456. package/dest/logs/tagging_index_range.d.ts +22 -0
  457. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  458. package/dest/logs/tagging_index_range.js +8 -0
  459. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  460. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  461. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  462. package/dest/messaging/index.d.ts +2 -1
  463. package/dest/messaging/index.d.ts.map +1 -1
  464. package/dest/messaging/index.js +1 -0
  465. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  466. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  467. package/dest/messaging/l1_to_l2_message.js +11 -13
  468. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  469. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  470. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  471. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  472. package/dest/messaging/l2_to_l1_membership.js +133 -30
  473. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  474. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  475. package/dest/messaging/l2_to_l1_message.js +21 -12
  476. package/dest/noir/index.d.ts +5 -3
  477. package/dest/noir/index.d.ts.map +1 -1
  478. package/dest/note/index.d.ts +1 -2
  479. package/dest/note/index.d.ts.map +1 -1
  480. package/dest/note/index.js +0 -1
  481. package/dest/note/note.d.ts +2 -2
  482. package/dest/note/note.d.ts.map +1 -1
  483. package/dest/note/note_dao.d.ts +1 -1
  484. package/dest/note/note_dao.d.ts.map +1 -1
  485. package/dest/note/note_dao.js +1 -4
  486. package/dest/p2p/attestation_utils.d.ts +11 -1
  487. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  488. package/dest/p2p/attestation_utils.js +45 -0
  489. package/dest/p2p/block_proposal.d.ts +32 -15
  490. package/dest/p2p/block_proposal.d.ts.map +1 -1
  491. package/dest/p2p/block_proposal.js +58 -42
  492. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  493. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  494. package/dest/p2p/checkpoint_attestation.js +23 -24
  495. package/dest/p2p/checkpoint_proposal.d.ts +44 -25
  496. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  497. package/dest/p2p/checkpoint_proposal.js +68 -65
  498. package/dest/p2p/client_type.d.ts +2 -5
  499. package/dest/p2p/client_type.d.ts.map +1 -1
  500. package/dest/p2p/client_type.js +0 -7
  501. package/dest/p2p/consensus_payload.d.ts +32 -17
  502. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  503. package/dest/p2p/consensus_payload.js +47 -21
  504. package/dest/p2p/constants.d.ts +3 -1
  505. package/dest/p2p/constants.d.ts.map +1 -1
  506. package/dest/p2p/constants.js +1 -0
  507. package/dest/p2p/gossipable.d.ts +4 -4
  508. package/dest/p2p/gossipable.d.ts.map +1 -1
  509. package/dest/p2p/index.d.ts +1 -2
  510. package/dest/p2p/index.d.ts.map +1 -1
  511. package/dest/p2p/index.js +0 -1
  512. package/dest/p2p/peer_error.d.ts +3 -1
  513. package/dest/p2p/peer_error.d.ts.map +1 -1
  514. package/dest/p2p/peer_error.js +5 -0
  515. package/dest/p2p/signature_utils.d.ts +28 -19
  516. package/dest/p2p/signature_utils.d.ts.map +1 -1
  517. package/dest/p2p/signature_utils.js +118 -21
  518. package/dest/p2p/signed_txs.d.ts +15 -13
  519. package/dest/p2p/signed_txs.d.ts.map +1 -1
  520. package/dest/p2p/signed_txs.js +26 -24
  521. package/dest/p2p/topic_type.d.ts +3 -4
  522. package/dest/p2p/topic_type.d.ts.map +1 -1
  523. package/dest/p2p/topic_type.js +7 -24
  524. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  525. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  526. package/dest/parity/parity_base_private_inputs.js +7 -5
  527. package/dest/parity/parity_public_inputs.d.ts +8 -4
  528. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  529. package/dest/parity/parity_public_inputs.js +6 -3
  530. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  531. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  532. package/dest/proofs/chonk_proof.d.ts +57 -7
  533. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  534. package/dest/proofs/chonk_proof.js +112 -15
  535. package/dest/proofs/recursive_proof.d.ts +2 -2
  536. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  537. package/dest/rollup/block_headers_hash.d.ts +1 -1
  538. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  539. package/dest/rollup/block_headers_hash.js +8 -2
  540. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  541. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  543. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  544. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  545. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  546. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  547. package/dest/rollup/checkpoint_header.d.ts +2 -2
  548. package/dest/rollup/checkpoint_header.js +2 -2
  549. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  550. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  552. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  553. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  554. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  555. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  557. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  558. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  559. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  560. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  561. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  562. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  565. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  567. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  568. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  569. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  570. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  571. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  572. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  573. package/dest/schemas/schemas.d.ts +32 -78
  574. package/dest/schemas/schemas.d.ts.map +1 -1
  575. package/dest/schemas/schemas.js +2 -2
  576. package/dest/slashing/helpers.d.ts +2 -2
  577. package/dest/slashing/helpers.d.ts.map +1 -1
  578. package/dest/slashing/helpers.js +13 -7
  579. package/dest/slashing/index.d.ts +2 -3
  580. package/dest/slashing/index.d.ts.map +1 -1
  581. package/dest/slashing/index.js +1 -2
  582. package/dest/slashing/serialization.d.ts +2 -6
  583. package/dest/slashing/serialization.d.ts.map +1 -1
  584. package/dest/slashing/serialization.js +0 -60
  585. package/dest/slashing/types.d.ts +20 -112
  586. package/dest/slashing/types.d.ts.map +1 -1
  587. package/dest/slashing/types.js +22 -24
  588. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  589. package/dest/slashing/votes.d.ts.map +1 -0
  590. package/dest/slashing/{tally.js → votes.js} +30 -2
  591. package/dest/snapshots/types.d.ts +15 -78
  592. package/dest/snapshots/types.d.ts.map +1 -1
  593. package/dest/stats/stats.d.ts +2 -2
  594. package/dest/stats/stats.d.ts.map +1 -1
  595. package/dest/tests/factories.d.ts +25 -30
  596. package/dest/tests/factories.d.ts.map +1 -1
  597. package/dest/tests/factories.js +94 -86
  598. package/dest/tests/mocks.d.ts +15 -7
  599. package/dest/tests/mocks.d.ts.map +1 -1
  600. package/dest/tests/mocks.js +68 -70
  601. package/dest/timetable/index.d.ts +84 -0
  602. package/dest/timetable/index.d.ts.map +1 -0
  603. package/dest/timetable/index.js +209 -0
  604. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  605. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  606. package/dest/trees/append_only_tree_snapshot.js +6 -3
  607. package/dest/trees/nullifier_leaf.d.ts +19 -42
  608. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  609. package/dest/trees/nullifier_leaf.js +3 -0
  610. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  611. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  612. package/dest/trees/nullifier_membership_witness.js +2 -14
  613. package/dest/trees/public_data_leaf.d.ts +22 -53
  614. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  615. package/dest/trees/public_data_leaf.js +7 -6
  616. package/dest/trees/public_data_witness.d.ts +16 -58
  617. package/dest/trees/public_data_witness.d.ts.map +1 -1
  618. package/dest/tx/block_header.d.ts +7 -4
  619. package/dest/tx/block_header.d.ts.map +1 -1
  620. package/dest/tx/block_header.js +13 -6
  621. package/dest/tx/call_context.d.ts +4 -14
  622. package/dest/tx/call_context.d.ts.map +1 -1
  623. package/dest/tx/capsule.d.ts +7 -3
  624. package/dest/tx/capsule.d.ts.map +1 -1
  625. package/dest/tx/capsule.js +9 -3
  626. package/dest/tx/fee_provider.d.ts +10 -0
  627. package/dest/tx/fee_provider.d.ts.map +1 -0
  628. package/dest/tx/fee_provider.js +1 -0
  629. package/dest/tx/function_data.d.ts +4 -10
  630. package/dest/tx/function_data.d.ts.map +1 -1
  631. package/dest/tx/global_variable_builder.d.ts +3 -4
  632. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  633. package/dest/tx/global_variables.d.ts +19 -52
  634. package/dest/tx/global_variables.d.ts.map +1 -1
  635. package/dest/tx/global_variables.js +8 -12
  636. package/dest/tx/hashed_values.d.ts +4 -3
  637. package/dest/tx/hashed_values.d.ts.map +1 -1
  638. package/dest/tx/hashed_values.js +6 -3
  639. package/dest/tx/in_tx.d.ts +5 -17
  640. package/dest/tx/in_tx.d.ts.map +1 -1
  641. package/dest/tx/index.d.ts +2 -1
  642. package/dest/tx/index.d.ts.map +1 -1
  643. package/dest/tx/index.js +1 -0
  644. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  645. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  646. package/dest/tx/indexed_tx_effect.js +9 -6
  647. package/dest/tx/partial_state_reference.d.ts +22 -65
  648. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  649. package/dest/tx/partial_state_reference.js +6 -3
  650. package/dest/tx/private_execution_result.d.ts +11 -21
  651. package/dest/tx/private_execution_result.d.ts.map +1 -1
  652. package/dest/tx/private_execution_result.js +6 -6
  653. package/dest/tx/profiling.d.ts +70 -356
  654. package/dest/tx/profiling.d.ts.map +1 -1
  655. package/dest/tx/profiling.js +19 -9
  656. package/dest/tx/protocol_contracts.d.ts +5 -9
  657. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  658. package/dest/tx/protocol_contracts.js +2 -2
  659. package/dest/tx/proven_tx.d.ts +30 -74
  660. package/dest/tx/proven_tx.d.ts.map +1 -1
  661. package/dest/tx/proven_tx.js +6 -0
  662. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  663. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  664. package/dest/tx/public_call_request_with_calldata.js +6 -3
  665. package/dest/tx/public_simulation_output.d.ts +4 -2
  666. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  667. package/dest/tx/public_simulation_output.js +7 -3
  668. package/dest/tx/simulated_tx.d.ts +68 -1144
  669. package/dest/tx/simulated_tx.d.ts.map +1 -1
  670. package/dest/tx/simulated_tx.js +17 -12
  671. package/dest/tx/state_reference.d.ts +30 -117
  672. package/dest/tx/state_reference.d.ts.map +1 -1
  673. package/dest/tx/state_reference.js +6 -4
  674. package/dest/tx/tree_snapshots.d.ts +27 -84
  675. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  676. package/dest/tx/tree_snapshots.js +6 -4
  677. package/dest/tx/tx.d.ts +19 -17
  678. package/dest/tx/tx.d.ts.map +1 -1
  679. package/dest/tx/tx.js +48 -29
  680. package/dest/tx/tx_constant_data.d.ts +4 -3
  681. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  682. package/dest/tx/tx_constant_data.js +6 -3
  683. package/dest/tx/tx_context.d.ts +32 -131
  684. package/dest/tx/tx_context.d.ts.map +1 -1
  685. package/dest/tx/tx_context.js +6 -6
  686. package/dest/tx/tx_hash.d.ts +6 -4
  687. package/dest/tx/tx_hash.d.ts.map +1 -1
  688. package/dest/tx/tx_hash.js +13 -5
  689. package/dest/tx/tx_receipt.d.ts +151 -51
  690. package/dest/tx/tx_receipt.d.ts.map +1 -1
  691. package/dest/tx/tx_receipt.js +145 -51
  692. package/dest/tx/tx_request.js +2 -2
  693. package/dest/tx/validator/empty_validator.d.ts +2 -2
  694. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  695. package/dest/tx/validator/error_texts.d.ts +10 -2
  696. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  697. package/dest/tx/validator/error_texts.js +11 -1
  698. package/dest/tx/validator/tx_validator.d.ts +6 -28
  699. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  700. package/dest/tx/validator/tx_validator.js +0 -4
  701. package/dest/types/shared.d.ts +4 -12
  702. package/dest/types/shared.d.ts.map +1 -1
  703. package/dest/types/shared.js +6 -12
  704. package/dest/update-checker/dev_version.d.ts +3 -0
  705. package/dest/update-checker/dev_version.d.ts.map +1 -0
  706. package/dest/update-checker/dev_version.js +1 -0
  707. package/dest/update-checker/index.d.ts +4 -2
  708. package/dest/update-checker/index.d.ts.map +1 -1
  709. package/dest/update-checker/index.js +3 -1
  710. package/dest/update-checker/package_version.d.ts +6 -0
  711. package/dest/update-checker/package_version.d.ts.map +1 -0
  712. package/dest/update-checker/package_version.js +13 -0
  713. package/dest/update-checker/version_checker.d.ts +25 -0
  714. package/dest/update-checker/version_checker.d.ts.map +1 -0
  715. package/dest/update-checker/version_checker.js +50 -0
  716. package/dest/validators/errors.d.ts +6 -1
  717. package/dest/validators/errors.d.ts.map +1 -1
  718. package/dest/validators/errors.js +7 -0
  719. package/dest/validators/schemas.d.ts +147 -614
  720. package/dest/validators/schemas.d.ts.map +1 -1
  721. package/dest/validators/schemas.js +9 -6
  722. package/dest/validators/types.d.ts +21 -4
  723. package/dest/validators/types.d.ts.map +1 -1
  724. package/dest/versioning/versioning.d.ts +4 -2
  725. package/dest/versioning/versioning.d.ts.map +1 -1
  726. package/dest/versioning/versioning.js +5 -2
  727. package/dest/vks/verification_key.d.ts +4 -139
  728. package/dest/vks/verification_key.d.ts.map +1 -1
  729. package/dest/vks/verification_key.js +5 -126
  730. package/dest/world-state/genesis_data.d.ts +13 -0
  731. package/dest/world-state/genesis_data.d.ts.map +1 -0
  732. package/dest/world-state/genesis_data.js +7 -0
  733. package/dest/world-state/index.d.ts +2 -1
  734. package/dest/world-state/index.d.ts.map +1 -1
  735. package/dest/world-state/index.js +1 -0
  736. package/dest/world-state/world_state_revision.d.ts +15 -26
  737. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  738. package/dest/world-state/world_state_revision.js +7 -1
  739. package/package.json +16 -13
  740. package/src/abi/abi.ts +78 -21
  741. package/src/abi/authorization_selector.ts +2 -8
  742. package/src/abi/buffer.ts +25 -4
  743. package/src/abi/contract_artifact.ts +11 -6
  744. package/src/abi/decoder.ts +36 -82
  745. package/src/abi/encoder.ts +85 -6
  746. package/src/abi/event_metadata_definition.ts +2 -0
  747. package/src/abi/event_selector.ts +2 -8
  748. package/src/abi/function_call.ts +25 -3
  749. package/src/abi/function_selector.ts +4 -13
  750. package/src/abi/function_signature_decoder.ts +77 -0
  751. package/src/abi/index.ts +1 -0
  752. package/src/abi/note_selector.ts +3 -12
  753. package/src/abi/selector.ts +1 -1
  754. package/src/abi/utils.ts +31 -4
  755. package/src/auth_witness/auth_witness.ts +3 -3
  756. package/src/avm/avm.ts +5 -0
  757. package/src/avm/message_pack.ts +12 -3
  758. package/src/avm/revert_code.ts +20 -25
  759. package/src/aztec-address/index.ts +15 -12
  760. package/src/block/attestation_info.ts +11 -11
  761. package/src/block/block_data.ts +25 -0
  762. package/src/block/block_hash.ts +21 -14
  763. package/src/block/block_parameter.ts +72 -4
  764. package/src/block/index.ts +1 -1
  765. package/src/block/l2_block.ts +13 -1
  766. package/src/block/l2_block_info.ts +8 -6
  767. package/src/block/l2_block_source.ts +214 -123
  768. package/src/block/l2_block_stream/interfaces.ts +6 -2
  769. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  770. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  771. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  772. package/src/block/proposal/attestations_and_signers.ts +32 -17
  773. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  774. package/src/checkpoint/checkpoint.ts +54 -17
  775. package/src/checkpoint/checkpoint_data.ts +91 -0
  776. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  777. package/src/checkpoint/digest.ts +28 -0
  778. package/src/checkpoint/index.ts +5 -0
  779. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  780. package/src/checkpoint/published_checkpoint.ts +3 -1
  781. package/src/checkpoint/validate.ts +230 -0
  782. package/src/config/chain-config.ts +13 -16
  783. package/src/config/index.ts +1 -0
  784. package/src/config/sequencer-config.ts +65 -0
  785. package/src/contract/complete_address.ts +7 -3
  786. package/src/contract/contract_address.ts +10 -10
  787. package/src/contract/contract_class.ts +3 -3
  788. package/src/contract/contract_class_id.ts +7 -6
  789. package/src/contract/contract_instance.ts +11 -2
  790. package/src/contract/index.ts +0 -2
  791. package/src/contract/interfaces/contract_class.ts +2 -82
  792. package/src/contract/interfaces/contract_instance.ts +6 -2
  793. package/src/contract/interfaces/node-info.ts +3 -0
  794. package/src/contract/private_function.ts +5 -3
  795. package/src/database-version/version_manager.ts +17 -0
  796. package/src/epoch-helpers/index.ts +30 -0
  797. package/src/file-store/factory.ts +13 -4
  798. package/src/file-store/http.ts +29 -10
  799. package/src/file-store/index.ts +1 -0
  800. package/src/file-store/local.ts +15 -5
  801. package/src/file-store/s3.ts +12 -3
  802. package/src/gas/README.md +154 -0
  803. package/src/gas/fee_math.ts +120 -0
  804. package/src/gas/gas.ts +8 -3
  805. package/src/gas/gas_fees.ts +29 -10
  806. package/src/gas/gas_settings.ts +73 -15
  807. package/src/gas/index.ts +1 -0
  808. package/src/ha-signing/config.ts +152 -0
  809. package/src/ha-signing/index.ts +29 -0
  810. package/src/ha-signing/local_config.ts +46 -0
  811. package/src/ha-signing/types.ts +126 -0
  812. package/src/hash/hash.ts +76 -11
  813. package/src/hash/map_slot.ts +2 -2
  814. package/src/interfaces/allowed_element.ts +29 -9
  815. package/src/interfaces/api_limit.ts +1 -1
  816. package/src/interfaces/archiver.ts +90 -88
  817. package/src/interfaces/aztec-node-admin.ts +57 -19
  818. package/src/interfaces/aztec-node-debug.ts +40 -0
  819. package/src/interfaces/aztec-node.ts +314 -246
  820. package/src/interfaces/block-builder.ts +63 -14
  821. package/src/interfaces/block_response.ts +92 -0
  822. package/src/interfaces/chain_tips.ts +24 -0
  823. package/src/interfaces/checkpoint_parameter.ts +20 -0
  824. package/src/interfaces/checkpoint_response.ts +84 -0
  825. package/src/interfaces/client.ts +7 -1
  826. package/src/interfaces/configs.ts +75 -8
  827. package/src/interfaces/l1_publish_info.ts +40 -0
  828. package/src/interfaces/l2_logs_source.ts +13 -39
  829. package/src/interfaces/merkle_tree_operations.ts +12 -21
  830. package/src/interfaces/p2p-bootstrap.ts +2 -2
  831. package/src/interfaces/p2p.ts +37 -28
  832. package/src/interfaces/private_kernel_prover.ts +88 -0
  833. package/src/interfaces/prover-agent.ts +1 -1
  834. package/src/interfaces/prover-client.ts +10 -5
  835. package/src/interfaces/prover-node.ts +7 -7
  836. package/src/interfaces/proving-job-source.ts +4 -4
  837. package/src/interfaces/proving-job.ts +3 -3
  838. package/src/interfaces/public_storage_override.ts +26 -0
  839. package/src/interfaces/server.ts +5 -0
  840. package/src/interfaces/slasher.ts +19 -10
  841. package/src/interfaces/tx_provider.ts +6 -0
  842. package/src/interfaces/validator.ts +86 -36
  843. package/src/interfaces/world_state.ts +5 -4
  844. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  845. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  846. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  847. package/src/kernel/hints/index.ts +2 -2
  848. package/src/kernel/hints/key_validation_request.ts +18 -16
  849. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  850. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  851. package/src/kernel/index.ts +4 -0
  852. package/src/kernel/log_hash.ts +29 -9
  853. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  854. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  855. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  856. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  857. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  858. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  859. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  860. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  861. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  862. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  863. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  864. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  865. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  866. package/src/kernel/private_validation_requests.ts +8 -8
  867. package/src/kernel/public_call_request.ts +22 -7
  868. package/src/keys/derivation.ts +26 -14
  869. package/src/keys/key_types.ts +6 -2
  870. package/src/keys/public_key.ts +26 -2
  871. package/src/keys/public_keys.ts +125 -111
  872. package/src/keys/utils.ts +5 -5
  873. package/src/kv-store/config.ts +29 -0
  874. package/src/kv-store/index.ts +1 -0
  875. package/src/l1-contracts/index.ts +1 -1
  876. package/src/logs/app_tagging_secret.ts +137 -0
  877. package/src/logs/app_tagging_secret_kind.ts +21 -0
  878. package/src/logs/contract_class_log.ts +15 -5
  879. package/src/logs/debug_log_store.ts +54 -0
  880. package/src/logs/index.ts +8 -6
  881. package/src/logs/log_cursor.ts +110 -0
  882. package/src/logs/log_result.ts +104 -0
  883. package/src/logs/logs_query.ts +138 -0
  884. package/src/logs/message_context.ts +22 -8
  885. package/src/logs/pending_tagged_log.ts +1 -3
  886. package/src/logs/pre_tag.ts +3 -6
  887. package/src/logs/private_log.ts +9 -3
  888. package/src/logs/public_log.ts +4 -2
  889. package/src/logs/query_all_logs_by_tags.ts +98 -0
  890. package/src/logs/shared_secret_derivation.ts +21 -10
  891. package/src/logs/siloed_tag.ts +28 -14
  892. package/src/logs/tag.ts +9 -9
  893. package/src/logs/tagging_index_range.ts +18 -0
  894. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  895. package/src/messaging/index.ts +1 -0
  896. package/src/messaging/l1_to_l2_message.ts +12 -9
  897. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  898. package/src/messaging/l2_to_l1_membership.ts +192 -38
  899. package/src/messaging/l2_to_l1_message.ts +29 -9
  900. package/src/noir/index.ts +4 -2
  901. package/src/note/index.ts +0 -1
  902. package/src/note/note_dao.ts +1 -4
  903. package/src/p2p/attestation_utils.ts +56 -0
  904. package/src/p2p/block_proposal.ts +112 -39
  905. package/src/p2p/checkpoint_attestation.ts +33 -32
  906. package/src/p2p/checkpoint_proposal.ts +149 -86
  907. package/src/p2p/client_type.ts +0 -6
  908. package/src/p2p/consensus_payload.ts +68 -24
  909. package/src/p2p/constants.ts +3 -0
  910. package/src/p2p/gossipable.ts +4 -4
  911. package/src/p2p/index.ts +0 -1
  912. package/src/p2p/peer_error.ts +7 -0
  913. package/src/p2p/signature_utils.ts +110 -25
  914. package/src/p2p/signed_txs.ts +46 -28
  915. package/src/p2p/topic_type.ts +8 -15
  916. package/src/parity/parity_base_private_inputs.ts +10 -4
  917. package/src/parity/parity_public_inputs.ts +9 -2
  918. package/src/proofs/chonk_proof.ts +132 -12
  919. package/src/rollup/block_headers_hash.ts +11 -2
  920. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  921. package/src/rollup/checkpoint_header.ts +2 -2
  922. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  923. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  924. package/src/schemas/schemas.ts +6 -1
  925. package/src/slashing/helpers.ts +17 -9
  926. package/src/slashing/index.ts +1 -2
  927. package/src/slashing/serialization.ts +1 -81
  928. package/src/slashing/types.ts +31 -49
  929. package/src/slashing/{tally.ts → votes.ts} +34 -1
  930. package/src/stats/stats.ts +4 -0
  931. package/src/tests/factories.ts +120 -119
  932. package/src/tests/mocks.ts +106 -84
  933. package/src/timetable/index.ts +304 -0
  934. package/src/trees/append_only_tree_snapshot.ts +8 -3
  935. package/src/trees/nullifier_leaf.ts +4 -0
  936. package/src/trees/nullifier_membership_witness.ts +2 -12
  937. package/src/trees/public_data_leaf.ts +11 -5
  938. package/src/tx/block_header.ts +18 -7
  939. package/src/tx/capsule.ts +10 -2
  940. package/src/tx/fee_provider.ts +10 -0
  941. package/src/tx/global_variable_builder.ts +2 -3
  942. package/src/tx/global_variables.ts +13 -21
  943. package/src/tx/hashed_values.ts +8 -3
  944. package/src/tx/index.ts +1 -0
  945. package/src/tx/indexed_tx_effect.ts +18 -6
  946. package/src/tx/partial_state_reference.ts +8 -3
  947. package/src/tx/private_execution_result.ts +5 -5
  948. package/src/tx/profiling.ts +18 -9
  949. package/src/tx/protocol_contracts.ts +2 -2
  950. package/src/tx/proven_tx.ts +6 -0
  951. package/src/tx/public_call_request_with_calldata.ts +8 -3
  952. package/src/tx/public_simulation_output.ts +4 -0
  953. package/src/tx/simulated_tx.ts +30 -22
  954. package/src/tx/state_reference.ts +9 -4
  955. package/src/tx/tree_snapshots.ts +9 -4
  956. package/src/tx/tx.ts +63 -35
  957. package/src/tx/tx_constant_data.ts +8 -3
  958. package/src/tx/tx_context.ts +8 -3
  959. package/src/tx/tx_hash.ts +20 -5
  960. package/src/tx/tx_receipt.ts +269 -74
  961. package/src/tx/tx_request.ts +2 -2
  962. package/src/tx/validator/empty_validator.ts +1 -1
  963. package/src/tx/validator/error_texts.ts +13 -1
  964. package/src/tx/validator/tx_validator.ts +2 -6
  965. package/src/types/shared.ts +8 -13
  966. package/src/update-checker/dev_version.ts +2 -0
  967. package/src/update-checker/index.ts +3 -1
  968. package/src/update-checker/package_version.ts +17 -0
  969. package/src/update-checker/version_checker.ts +65 -0
  970. package/src/validators/errors.ts +9 -0
  971. package/src/validators/schemas.ts +13 -4
  972. package/src/validators/types.ts +25 -5
  973. package/src/versioning/versioning.ts +5 -2
  974. package/src/vks/verification_key.ts +5 -184
  975. package/src/world-state/genesis_data.ts +27 -0
  976. package/src/world-state/index.ts +1 -0
  977. package/src/world-state/world_state_revision.ts +9 -1
  978. package/dest/abi/mocked_keys.d.ts +0 -2
  979. package/dest/abi/mocked_keys.d.ts.map +0 -1
  980. package/dest/abi/mocked_keys.js +0 -1
  981. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  982. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  983. package/dest/block/checkpointed_l2_block.js +0 -46
  984. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  985. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  986. package/dest/contract/private_function_membership_proof.js +0 -124
  987. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  988. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  989. package/dest/contract/utility_function_membership_proof.js +0 -87
  990. package/dest/interfaces/get_logs_response.d.ts +0 -97
  991. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  992. package/dest/interfaces/get_logs_response.js +0 -12
  993. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  994. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  995. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  996. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  997. package/dest/l1-contracts/slash_factory.js +0 -158
  998. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  999. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1000. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1001. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1002. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1003. package/dest/logs/extended_contract_class_log.js +0 -67
  1004. package/dest/logs/extended_public_log.d.ts +0 -106
  1005. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1006. package/dest/logs/extended_public_log.js +0 -73
  1007. package/dest/logs/log_filter.d.ts +0 -22
  1008. package/dest/logs/log_filter.d.ts.map +0 -1
  1009. package/dest/logs/log_filter.js +0 -11
  1010. package/dest/logs/log_id.d.ts +0 -85
  1011. package/dest/logs/log_id.d.ts.map +0 -1
  1012. package/dest/logs/log_id.js +0 -94
  1013. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1014. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1015. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1016. package/dest/note/notes_filter.d.ts +0 -27
  1017. package/dest/note/notes_filter.d.ts.map +0 -1
  1018. package/dest/note/notes_filter.js +0 -11
  1019. package/dest/slashing/empire.d.ts +0 -31
  1020. package/dest/slashing/empire.d.ts.map +0 -1
  1021. package/dest/slashing/empire.js +0 -86
  1022. package/dest/slashing/tally.d.ts.map +0 -1
  1023. package/dest/update-checker/update-checker.d.ts +0 -49
  1024. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1025. package/dest/update-checker/update-checker.js +0 -130
  1026. package/src/abi/mocked_keys.ts +0 -2
  1027. package/src/block/checkpointed_l2_block.ts +0 -70
  1028. package/src/contract/private_function_membership_proof.ts +0 -167
  1029. package/src/contract/utility_function_membership_proof.ts +0 -118
  1030. package/src/interfaces/get_logs_response.ts +0 -35
  1031. package/src/l1-contracts/slash_factory.ts +0 -180
  1032. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1033. package/src/logs/extended_contract_class_log.ts +0 -87
  1034. package/src/logs/extended_public_log.ts +0 -94
  1035. package/src/logs/log_filter.ts +0 -31
  1036. package/src/logs/log_id.ts +0 -125
  1037. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1038. package/src/note/notes_filter.ts +0 -38
  1039. package/src/slashing/empire.ts +0 -103
  1040. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1,304 @@
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
+
13
+ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */
14
+ export const CHECKPOINT_INITIALIZATION_TIME = 1;
15
+
16
+ /** Time budget for assembling a checkpoint after building the last block in seconds */
17
+ export const CHECKPOINT_ASSEMBLE_TIME = 1;
18
+
19
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */
20
+ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
21
+
22
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */
23
+ export const DEFAULT_L1_PUBLISHING_TIME = 12;
24
+
25
+ /** Minimum execution time for building a block in seconds */
26
+ export const MIN_EXECUTION_TIME = 2;
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
+ };
38
+
39
+ export interface CheckpointTiming {
40
+ readonly aztecSlotDuration: number;
41
+ readonly blockDuration: number | undefined;
42
+ readonly checkpointAssembleTime: number;
43
+ readonly checkpointInitializationTime: number;
44
+ readonly l1PublishingTime: number;
45
+ readonly minExecutionTime: number;
46
+ readonly p2pPropagationTime: number;
47
+ readonly checkpointFinalizationTime: number;
48
+ readonly pipeliningAttestationGracePeriod: number;
49
+ readonly timeReservedAtEnd: number;
50
+ readonly minimumBuildSlotWork: number;
51
+ readonly initializeDeadline: number;
52
+ readonly checkpointAssemblyDeadline: number;
53
+ readonly checkpointAttestationStartDeadline: number;
54
+ readonly checkpointAttestationDeadline: number;
55
+ readonly checkpointPublishingDeadline: number;
56
+
57
+ calculateMaxBlocksPerSlot(): number;
58
+ }
59
+
60
+ export interface PipelinedCheckpointTiming extends CheckpointTiming {
61
+ readonly proposalWindowIntoTargetSlot: number;
62
+ readonly attestationWindowIntoTargetSlot: number;
63
+ }
64
+
65
+ /**
66
+ * Checkpoint timing model for proposer pipelining.
67
+ *
68
+ * The build work starts at the wall-clock slot boundary and the checkpoint
69
+ * proposal is broadcast early enough that attestations complete by the end of
70
+ * the build slot. L1 submission can then be sent at the boundary of the target
71
+ * slot. The target-slot window getters are intended for consumers such as P2P
72
+ * validators that need to validate pipelined messages against wallclock time.
73
+ */
74
+ class CheckpointTimingModel implements PipelinedCheckpointTiming {
75
+ public readonly aztecSlotDuration: number;
76
+ public readonly blockDuration: number | undefined;
77
+ public readonly checkpointAssembleTime: number;
78
+ public readonly checkpointInitializationTime: number;
79
+ public readonly l1PublishingTime: number;
80
+ public readonly minExecutionTime: number;
81
+ public readonly p2pPropagationTime: number;
82
+ private readonly ethereumSlotDuration: number;
83
+
84
+ constructor(opts: CheckpointTimingConfig) {
85
+ this.aztecSlotDuration = opts.aztecSlotDuration;
86
+ this.blockDuration = opts.blockDuration;
87
+
88
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
89
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
90
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
91
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
92
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
93
+ this.ethereumSlotDuration = opts.ethereumSlotDuration ?? this.l1PublishingTime;
94
+ }
95
+
96
+ public get checkpointFinalizationTime(): number {
97
+ // Allow enough time to
98
+ // - build the checkpoint
99
+ // - Round-trip over p2p
100
+ // - Publish to L1
101
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
102
+ }
103
+
104
+ public get proposalWindowIntoTargetSlot(): number {
105
+ // Proposals no longer spill into the target slot: they are broadcast early
106
+ // enough in the build slot that attestations complete before the boundary.
107
+ // Any residual tolerance into the target slot is covered by clock disparity.
108
+ return 0;
109
+ }
110
+
111
+ public get attestationWindowIntoTargetSlot(): number {
112
+ // Span from the target-slot start to the L1 publish deadline (12s before the last L1 block of
113
+ // the target slot). The p2p layer accepts slot-N attestations until right before the publish
114
+ // deadline so the proposer can keep collecting useful attestations up to the latest moment the
115
+ // checkpoint can still land on L1 in the target slot.
116
+ return Math.max(0, this.aztecSlotDuration - 2 * this.ethereumSlotDuration);
117
+ }
118
+
119
+ public get pipeliningAttestationGracePeriod(): number {
120
+ // Under the early-pipelining regime attestations complete inside the build slot itself. Local
121
+ // networks can publish much faster than the Ethereum slot geometry, so they may use the target
122
+ // slot attestation window without moving the L1 publish cutoff.
123
+ return this.l1PublishingTime < this.ethereumSlotDuration ? this.attestationWindowIntoTargetSlot : 0;
124
+ }
125
+
126
+ public get timeReservedAtEnd(): number {
127
+ // Reserve enough time at the end of the build slot for:
128
+ // - assembling and broadcasting the checkpoint proposal
129
+ // - round-trip p2p propagation (proposal out, attestations back)
130
+ // - validators re-executing the last block
131
+ return this.checkpointAssembleTime + 2 * this.p2pPropagationTime + (this.blockDuration ?? 0);
132
+ }
133
+
134
+ public get minimumBuildSlotWork(): number {
135
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
136
+ }
137
+
138
+ public get initializeDeadline(): number {
139
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
140
+ }
141
+
142
+ public get checkpointAssemblyDeadline(): number {
143
+ // Allow enough time to build all blocks and receive attestations. With
144
+ // `pipeliningAttestationGracePeriod = 0` this equals `aztecSlotDuration`.
145
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
146
+ }
147
+
148
+ public get checkpointAttestationStartDeadline(): number {
149
+ return this.checkpointAssemblyDeadline;
150
+ }
151
+
152
+ public get checkpointAttestationDeadline(): number {
153
+ // L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
154
+ // the latest the checkpoint can be submitted and still land on L1 in the target slot. This is an
155
+ // L1-geometry bound (ethereumSlotDuration), matching the publisher's send lead in sendRequestsAt
156
+ // (which also targets one Ethereum slot before the target slot start).
157
+ return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
158
+ }
159
+
160
+ public get checkpointPublishingDeadline(): number {
161
+ // L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
162
+ // the latest the checkpoint can be submitted and still land on L1 in the target slot.
163
+ return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
164
+ }
165
+
166
+ public calculateMaxBlocksPerSlot(): number {
167
+ if (!this.blockDuration) {
168
+ return 1;
169
+ }
170
+
171
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
172
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Creates a checkpoint timing model.
178
+ *
179
+ * Most callers should use this factory and depend only on the shared
180
+ * `CheckpointTiming` interface.
181
+ */
182
+ export function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming {
183
+ return createPipelinedCheckpointTimingModel(opts);
184
+ }
185
+
186
+ /**
187
+ * Creates a checkpoint timing model exposing the target-slot window accessors.
188
+ *
189
+ * Use this when the caller specifically needs the pipelined timing surface, such
190
+ * as proposal or attestation acceptance windows into the target slot.
191
+ */
192
+ export function createPipelinedCheckpointTimingModel(opts: CheckpointTimingConfig): PipelinedCheckpointTiming {
193
+ validateCheckpointTimingConfig(opts);
194
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
195
+
196
+ const timing = new CheckpointTimingModel(normalizedOpts);
197
+ validateCheckpointTimingModel(timing);
198
+ return timing;
199
+ }
200
+
201
+ /**
202
+ * Calculates the maximum number of blocks that can be built in a slot.
203
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
204
+ *
205
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
206
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
207
+ * @param opts - Optional overrides for timing constants
208
+ * @returns Maximum number of blocks per slot
209
+ */
210
+ export function calculateMaxBlocksPerSlot(
211
+ aztecSlotDurationSec: number,
212
+ blockDurationSec: number | undefined,
213
+ opts: {
214
+ checkpointInitializationTime?: number;
215
+ checkpointAssembleTime?: number;
216
+ p2pPropagationTime?: number;
217
+ l1PublishingTime?: number;
218
+ } = {},
219
+ ): number {
220
+ return createCheckpointTimingModel({
221
+ aztecSlotDuration: aztecSlotDurationSec,
222
+ blockDuration: blockDurationSec,
223
+ checkpointAssembleTime: opts.checkpointAssembleTime,
224
+ checkpointInitializationTime: opts.checkpointInitializationTime,
225
+ l1PublishingTime: opts.l1PublishingTime,
226
+ p2pPropagationTime: opts.p2pPropagationTime,
227
+ }).calculateMaxBlocksPerSlot();
228
+ }
229
+
230
+ function assertNonNegative(name: string, value: number): void {
231
+ if (value < 0) {
232
+ throw new Error(`${name} must be non-negative (got ${value})`);
233
+ }
234
+ }
235
+
236
+ function validateCheckpointTimingConfig(opts: CheckpointTimingConfig): void {
237
+ if (opts.aztecSlotDuration <= 0) {
238
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
239
+ }
240
+
241
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
242
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
243
+ }
244
+
245
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
246
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
247
+ }
248
+
249
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
250
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
251
+ }
252
+
253
+ if (opts.checkpointAssembleTime !== undefined) {
254
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
255
+ }
256
+ if (opts.checkpointInitializationTime !== undefined) {
257
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
258
+ }
259
+ if (opts.l1PublishingTime !== undefined) {
260
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
261
+ }
262
+ if (opts.p2pPropagationTime !== undefined) {
263
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
264
+ }
265
+ }
266
+
267
+ function normalizeCheckpointTimingConfig(opts: CheckpointTimingConfig): CheckpointTimingConfig {
268
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
269
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
270
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
271
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
272
+
273
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
274
+ p2pPropagationTime = 0;
275
+ checkpointAssembleTime = 0.5;
276
+ checkpointInitializationTime = 0.5;
277
+ minExecutionTime = 1;
278
+ }
279
+
280
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
281
+ minExecutionTime = opts.blockDuration;
282
+ }
283
+
284
+ return {
285
+ ...opts,
286
+ checkpointAssembleTime,
287
+ checkpointInitializationTime,
288
+ minExecutionTime,
289
+ p2pPropagationTime,
290
+ };
291
+ }
292
+
293
+ function validateCheckpointTimingModel(model: CheckpointTiming): void {
294
+ if (model.blockDuration === undefined) {
295
+ return;
296
+ }
297
+
298
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
299
+ if (timeAvailableForBlocks < model.blockDuration) {
300
+ throw new Error(
301
+ `Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`,
302
+ );
303
+ }
304
+ }
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { schemas } from '@aztec/foundation/schemas';
3
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
 
6
6
  import { inspect } from 'util';
@@ -44,8 +44,13 @@ export class AppendOnlyTreeSnapshot {
44
44
  return this.root.size + 4;
45
45
  }
46
46
 
47
- toBuffer() {
48
- return serializeToBuffer(this.root, this.nextAvailableLeafIndex);
47
+ toBuffer(): Buffer;
48
+ toBuffer(sink: BufferSink): void;
49
+ toBuffer(sink?: BufferSink): Buffer | void {
50
+ if (!sink) {
51
+ return BufferSink.serialize(this);
52
+ }
53
+ serializeToSink(sink, this.root, this.nextAvailableLeafIndex);
49
54
  }
50
55
 
51
56
  toFields(): Fr[] {
@@ -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
  }
@@ -53,22 +53,12 @@ export class NullifierMembershipWitness {
53
53
  return new MembershipWitness(NULLIFIER_TREE_HEIGHT, this.index, this.siblingPath.toTuple());
54
54
  }
55
55
 
56
- /**
57
- * Returns a field array representation of a nullifier witness.
58
- * @returns A field array representation of a nullifier witness.
59
- */
60
- public toFields(): Fr[] {
61
- return [new Fr(this.index), ...this.leafPreimage.toFields(), ...this.siblingPath.toFields()];
62
- }
63
-
64
- /**
65
- * Returns a representation of the nullifier membership witness as expected by intrinsic Noir deserialization.
66
- */
56
+ /** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */
67
57
  public toNoirRepresentation(): (string | string[])[] {
68
58
  // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
69
59
  return [
70
- new Fr(this.index).toString() as string,
71
60
  ...(this.leafPreimage.toFields().map(fr => fr.toString()) as string[]),
61
+ new Fr(this.index).toString() as string,
72
62
  this.siblingPath.toFields().map(fr => fr.toString()) as string[],
73
63
  ];
74
64
  }
@@ -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';
@@ -81,11 +82,15 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
81
82
  toHashInputs(): Buffer[] {
82
83
  return [
83
84
  ...this.leaf.toHashInputs(),
84
- Buffer.from(toBufferBE(this.nextIndex, 32)),
85
85
  Buffer.from(this.nextKey.toBuffer()),
86
+ Buffer.from(toBufferBE(this.nextIndex, 32)),
86
87
  ];
87
88
  }
88
89
 
90
+ hash(): Promise<Fr> {
91
+ return poseidon2Hash(this.toHashInputs());
92
+ }
93
+
89
94
  clone(): PublicDataTreeLeafPreimage {
90
95
  return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
91
96
  }
@@ -104,10 +109,11 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
104
109
 
105
110
  static fromBuffer(buffer: Buffer | BufferReader): PublicDataTreeLeafPreimage {
106
111
  const reader = BufferReader.asReader(buffer);
107
- const value = PublicDataTreeLeaf.fromBuffer(reader);
108
- const nextIndex = toBigIntBE(reader.readBytes(32));
109
- const nextSlot = Fr.fromBuffer(reader);
110
- return new PublicDataTreeLeafPreimage(value, nextSlot, nextIndex);
112
+ return new PublicDataTreeLeafPreimage(
113
+ PublicDataTreeLeaf.fromBuffer(reader),
114
+ Fr.fromBuffer(reader),
115
+ toBigIntBE(reader.readBytes(32)),
116
+ );
111
117
  }
112
118
 
113
119
  static fromLeaf(leaf: PublicDataTreeLeaf, nextKey: bigint, nextIndex: bigint): PublicDataTreeLeafPreimage {
@@ -1,10 +1,10 @@
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';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
7
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
8
8
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
9
9
  import type { FieldsOf } from '@aztec/foundation/types';
10
10
 
@@ -85,8 +85,13 @@ export class BlockHeader {
85
85
  );
86
86
  }
87
87
 
88
- toBuffer() {
89
- return serializeToBuffer(...BlockHeader.getFields(this));
88
+ toBuffer(): Buffer;
89
+ toBuffer(sink: BufferSink): void;
90
+ toBuffer(sink?: BufferSink): Buffer | void {
91
+ if (!sink) {
92
+ return BufferSink.serialize(this);
93
+ }
94
+ serializeToSink(sink, ...BlockHeader.getFields(this));
90
95
  }
91
96
 
92
97
  toFields(): Fr[] {
@@ -164,7 +169,7 @@ export class BlockHeader {
164
169
 
165
170
  hash(): Promise<BlockHash> {
166
171
  if (!this._cachedHash) {
167
- this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HEADER_HASH).then(
172
+ this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then(
168
173
  fr => new BlockHash(fr),
169
174
  );
170
175
  }
@@ -172,8 +177,14 @@ export class BlockHeader {
172
177
  }
173
178
 
174
179
  /** Manually set the hash for this block header if already computed */
175
- setHash(hashed: Fr) {
176
- this._cachedHash = Promise.resolve(new BlockHash(hashed));
180
+ setHash(hashed: BlockHash) {
181
+ this._cachedHash = Promise.resolve(hashed);
182
+ }
183
+
184
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
185
+ recomputeHash(): Promise<BlockHash> {
186
+ this._cachedHash = undefined;
187
+ return this.hash();
177
188
  }
178
189
 
179
190
  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
  }
@@ -4,13 +4,7 @@ import { randomInt } from '@aztec/foundation/crypto/random';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
6
  import { jsonStringify } from '@aztec/foundation/json-rpc';
7
- import {
8
- BufferReader,
9
- FieldReader,
10
- bigintToUInt64BE,
11
- serializeToBuffer,
12
- serializeToFields,
13
- } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
14
8
  import type { FieldsOf } from '@aztec/foundation/types';
15
9
 
16
10
  import { inspect } from 'util';
@@ -22,10 +16,10 @@ import { schemas } from '../schemas/index.js';
22
16
  import type { UInt64 } from '../types/index.js';
23
17
 
24
18
  /**
25
- * Global variables that are constant across the entire slot.
26
- * TODO(palla/mbps): Should timestamp be included here as well?
19
+ * Global variables that are constant across the entire checkpoint (slot).
20
+ * Excludes blockNumber since that varies per block within a checkpoint.
27
21
  */
28
- export type CheckpointGlobalVariables = Omit<FieldsOf<GlobalVariables>, 'blockNumber' | 'timestamp'>;
22
+ export type CheckpointGlobalVariables = Omit<FieldsOf<GlobalVariables>, 'blockNumber'>;
29
23
 
30
24
  /**
31
25
  * Global variables of the L2 block.
@@ -149,17 +143,15 @@ export class GlobalVariables {
149
143
  ] as const;
150
144
  }
151
145
 
152
- toBuffer() {
153
- return serializeToBuffer([
154
- this.chainId,
155
- this.version,
156
- this.blockNumber,
157
- this.slotNumber,
158
- bigintToUInt64BE(this.timestamp),
159
- this.coinbase,
160
- this.feeRecipient,
161
- this.gasFees,
162
- ]);
146
+ toBuffer(): Buffer;
147
+ toBuffer(sink: BufferSink): void;
148
+ toBuffer(sink?: BufferSink): Buffer | void {
149
+ if (!sink) {
150
+ return BufferSink.serialize(this);
151
+ }
152
+ serializeToSink(sink, this.chainId, this.version, this.blockNumber, this.slotNumber);
153
+ sink.writeUInt64(this.timestamp);
154
+ serializeToSink(sink, this.coinbase, this.feeRecipient, this.gasFees);
163
155
  }
164
156
 
165
157
  toFields() {
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
 
5
5
  import { z } from 'zod';
@@ -48,8 +48,13 @@ export class HashedValues {
48
48
  return new HashedValues([Fr.random(), Fr.random()], Fr.random());
49
49
  }
50
50
 
51
- toBuffer() {
52
- return serializeToBuffer(new Vector(this.values), this.hash);
51
+ toBuffer(): Buffer;
52
+ toBuffer(sink: BufferSink): void;
53
+ toBuffer(sink?: BufferSink): Buffer | void {
54
+ if (!sink) {
55
+ return BufferSink.serialize(this);
56
+ }
57
+ serializeToSink(sink, new Vector(this.values), this.hash);
53
58
  }
54
59
 
55
60
  static fromBuffer(buffer: Buffer | BufferReader): HashedValues {
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
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
2
  import { schemas } from '@aztec/foundation/schemas';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
 
@@ -7,35 +6,48 @@ import { BlockHash } from '../block/block_hash.js';
7
6
  import { type DataInBlock, dataInBlockSchemaFor, randomDataInBlock } from '../block/in_block.js';
8
7
  import { TxEffect } from './tx_effect.js';
9
8
 
10
- export type IndexedTxEffect = DataInBlock<TxEffect> & { txIndexInBlock: number };
9
+ /** A tx effect together with its position in the block (`txIndexInBlock`) and the slot the block was built in. */
10
+ export type IndexedTxEffect = DataInBlock<TxEffect> & { txIndexInBlock: number; slotNumber: SlotNumber };
11
11
 
12
12
  export function indexedTxSchema() {
13
- return dataInBlockSchemaFor(TxEffect.schema).extend({ txIndexInBlock: schemas.Integer });
13
+ return dataInBlockSchemaFor(TxEffect.schema).extend({
14
+ txIndexInBlock: schemas.Integer,
15
+ slotNumber: schemas.SlotNumber,
16
+ });
14
17
  }
15
18
 
16
19
  export async function randomIndexedTxEffect(): Promise<IndexedTxEffect> {
17
20
  return {
18
21
  ...randomDataInBlock(await TxEffect.random({ numNullifiers: 1 + Math.floor(Math.random() * 64) })),
19
22
  txIndexInBlock: Math.floor(Math.random() * 1000),
23
+ slotNumber: SlotNumber(Math.floor(Math.random() * 1000)),
20
24
  };
21
25
  }
22
26
 
23
27
  export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
24
- return serializeToBuffer(effect.l2BlockHash, effect.l2BlockNumber, effect.txIndexInBlock, effect.data);
28
+ return serializeToBuffer(
29
+ effect.l2BlockHash,
30
+ effect.l2BlockNumber,
31
+ effect.txIndexInBlock,
32
+ effect.slotNumber,
33
+ effect.data,
34
+ );
25
35
  }
26
36
 
27
37
  export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
28
38
  const reader = BufferReader.asReader(buffer);
29
39
 
30
- const l2BlockHash = new BlockHash(reader.readObject(Fr));
40
+ const l2BlockHash = BlockHash.fromBuffer(reader);
31
41
  const l2BlockNumber = BlockNumber(reader.readNumber());
32
42
  const txIndexInBlock = reader.readNumber();
43
+ const slotNumber = SlotNumber(reader.readNumber());
33
44
  const data = reader.readObject(TxEffect);
34
45
 
35
46
  return {
36
47
  l2BlockHash,
37
48
  l2BlockNumber,
38
49
  txIndexInBlock,
50
+ slotNumber,
39
51
  data,
40
52
  };
41
53
  }