@aztec/stdlib 0.0.1-commit.2ed92850 → 0.0.1-commit.2f68f620

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 (1110) 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 +674 -5467
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/index.d.ts +1 -6
  57. package/dest/avm/index.d.ts.map +1 -1
  58. package/dest/avm/index.js +0 -5
  59. package/dest/avm/message_pack.js +12 -3
  60. package/dest/avm/public_data_write.d.ts +6 -12
  61. package/dest/avm/public_data_write.d.ts.map +1 -1
  62. package/dest/avm/revert_code.d.ts +6 -7
  63. package/dest/avm/revert_code.d.ts.map +1 -1
  64. package/dest/avm/revert_code.js +13 -21
  65. package/dest/aztec-address/index.d.ts +8 -8
  66. package/dest/aztec-address/index.d.ts.map +1 -1
  67. package/dest/aztec-address/index.js +9 -6
  68. package/dest/block/attestation_info.d.ts +3 -2
  69. package/dest/block/attestation_info.d.ts.map +1 -1
  70. package/dest/block/attestation_info.js +7 -5
  71. package/dest/block/block_data.d.ts +27 -0
  72. package/dest/block/block_data.d.ts.map +1 -0
  73. package/dest/block/block_data.js +12 -0
  74. package/dest/block/block_hash.d.ts +20 -22
  75. package/dest/block/block_hash.d.ts.map +1 -1
  76. package/dest/block/block_hash.js +22 -34
  77. package/dest/block/block_parameter.d.ts +38 -5
  78. package/dest/block/block_parameter.d.ts.map +1 -1
  79. package/dest/block/block_parameter.js +55 -4
  80. package/dest/block/in_block.d.ts +9 -28
  81. package/dest/block/in_block.d.ts.map +1 -1
  82. package/dest/block/in_block.js +5 -5
  83. package/dest/block/index.d.ts +2 -2
  84. package/dest/block/index.d.ts.map +1 -1
  85. package/dest/block/index.js +1 -1
  86. package/dest/block/l2_block.d.ts +23 -42
  87. package/dest/block/l2_block.d.ts.map +1 -1
  88. package/dest/block/l2_block.js +14 -5
  89. package/dest/block/l2_block_info.d.ts +10 -29
  90. package/dest/block/l2_block_info.d.ts.map +1 -1
  91. package/dest/block/l2_block_info.js +6 -5
  92. package/dest/block/l2_block_source.d.ts +216 -337
  93. package/dest/block/l2_block_source.d.ts.map +1 -1
  94. package/dest/block/l2_block_source.js +67 -1
  95. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  96. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  98. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  100. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  101. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  102. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  103. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  104. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  105. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  106. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  107. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  108. package/dest/block/proposal/attestations_and_signers.js +26 -18
  109. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  110. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  111. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  112. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  113. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  114. package/dest/checkpoint/checkpoint.d.ts +48 -99
  115. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint.js +41 -17
  117. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  118. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  119. package/dest/checkpoint/checkpoint_data.js +38 -0
  120. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  121. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  122. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  123. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  124. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  125. package/dest/checkpoint/digest.d.ts +18 -0
  126. package/dest/checkpoint/digest.d.ts.map +1 -0
  127. package/dest/checkpoint/digest.js +12 -0
  128. package/dest/checkpoint/index.d.ts +6 -1
  129. package/dest/checkpoint/index.d.ts.map +1 -1
  130. package/dest/checkpoint/index.js +5 -0
  131. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  132. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  133. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  134. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  135. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  136. package/dest/checkpoint/published_checkpoint.js +1 -2
  137. package/dest/checkpoint/validate.d.ts +36 -0
  138. package/dest/checkpoint/validate.d.ts.map +1 -0
  139. package/dest/checkpoint/validate.js +120 -0
  140. package/dest/config/chain-config.d.ts +4 -9
  141. package/dest/config/chain-config.d.ts.map +1 -1
  142. package/dest/config/chain-config.js +13 -12
  143. package/dest/config/index.d.ts +2 -1
  144. package/dest/config/index.d.ts.map +1 -1
  145. package/dest/config/index.js +1 -0
  146. package/dest/config/sequencer-config.d.ts +14 -0
  147. package/dest/config/sequencer-config.d.ts.map +1 -0
  148. package/dest/config/sequencer-config.js +38 -0
  149. package/dest/contract/complete_address.d.ts +3 -2
  150. package/dest/contract/complete_address.d.ts.map +1 -1
  151. package/dest/contract/complete_address.js +6 -2
  152. package/dest/contract/contract_address.d.ts +6 -6
  153. package/dest/contract/contract_address.d.ts.map +1 -1
  154. package/dest/contract/contract_address.js +9 -8
  155. package/dest/contract/contract_class.d.ts +2 -3
  156. package/dest/contract/contract_class.d.ts.map +1 -1
  157. package/dest/contract/contract_class_id.d.ts +3 -3
  158. package/dest/contract/contract_class_id.d.ts.map +1 -1
  159. package/dest/contract/contract_class_id.js +7 -6
  160. package/dest/contract/contract_deployment_data.d.ts +15 -61
  161. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  162. package/dest/contract/contract_instance.d.ts +4 -2
  163. package/dest/contract/contract_instance.d.ts.map +1 -1
  164. package/dest/contract/contract_instance.js +10 -3
  165. package/dest/contract/index.d.ts +1 -4
  166. package/dest/contract/index.d.ts.map +1 -1
  167. package/dest/contract/index.js +0 -3
  168. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  169. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  170. package/dest/contract/interfaces/contract_class.js +1 -28
  171. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  172. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  173. package/dest/contract/interfaces/contract_instance.js +4 -2
  174. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  175. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  176. package/dest/contract/interfaces/node-info.d.ts +3 -1
  177. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  178. package/dest/contract/interfaces/node-info.js +2 -1
  179. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  180. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  181. package/dest/contract/private_function.d.ts +1 -1
  182. package/dest/contract/private_function.d.ts.map +1 -1
  183. package/dest/contract/private_function.js +4 -6
  184. package/dest/database-version/database_version.d.ts +52 -0
  185. package/dest/database-version/database_version.d.ts.map +1 -0
  186. package/dest/database-version/database_version.js +69 -0
  187. package/dest/database-version/version_manager.d.ts +7 -51
  188. package/dest/database-version/version_manager.d.ts.map +1 -1
  189. package/dest/database-version/version_manager.js +13 -67
  190. package/dest/epoch-helpers/index.d.ts +16 -18
  191. package/dest/epoch-helpers/index.d.ts.map +1 -1
  192. package/dest/epoch-helpers/index.js +22 -2
  193. package/dest/file-store/factory.d.ts +4 -3
  194. package/dest/file-store/factory.d.ts.map +1 -1
  195. package/dest/file-store/factory.js +2 -2
  196. package/dest/file-store/http.d.ts +9 -2
  197. package/dest/file-store/http.d.ts.map +1 -1
  198. package/dest/file-store/http.js +20 -9
  199. package/dest/file-store/index.d.ts +2 -1
  200. package/dest/file-store/index.d.ts.map +1 -1
  201. package/dest/file-store/local.d.ts +3 -3
  202. package/dest/file-store/local.d.ts.map +1 -1
  203. package/dest/file-store/local.js +13 -4
  204. package/dest/file-store/s3.d.ts +1 -1
  205. package/dest/file-store/s3.d.ts.map +1 -1
  206. package/dest/file-store/s3.js +11 -3
  207. package/dest/gas/fee_math.d.ts +49 -0
  208. package/dest/gas/fee_math.d.ts.map +1 -0
  209. package/dest/gas/fee_math.js +80 -0
  210. package/dest/gas/gas.d.ts +9 -14
  211. package/dest/gas/gas.d.ts.map +1 -1
  212. package/dest/gas/gas.js +6 -3
  213. package/dest/gas/gas_fees.d.ts +13 -14
  214. package/dest/gas/gas_fees.d.ts.map +1 -1
  215. package/dest/gas/gas_fees.js +20 -4
  216. package/dest/gas/gas_settings.d.ts +66 -86
  217. package/dest/gas/gas_settings.d.ts.map +1 -1
  218. package/dest/gas/gas_settings.js +56 -9
  219. package/dest/gas/index.d.ts +2 -1
  220. package/dest/gas/index.d.ts.map +1 -1
  221. package/dest/gas/index.js +1 -0
  222. package/dest/ha-signing/config.d.ts +72 -0
  223. package/dest/ha-signing/config.d.ts.map +1 -0
  224. package/dest/ha-signing/config.js +88 -0
  225. package/dest/ha-signing/index.d.ts +4 -0
  226. package/dest/ha-signing/index.d.ts.map +1 -0
  227. package/dest/ha-signing/index.js +3 -0
  228. package/dest/ha-signing/local_config.d.ts +32 -0
  229. package/dest/ha-signing/local_config.d.ts.map +1 -0
  230. package/dest/ha-signing/local_config.js +24 -0
  231. package/dest/ha-signing/types.d.ts +90 -0
  232. package/dest/ha-signing/types.d.ts.map +1 -0
  233. package/dest/ha-signing/types.js +39 -0
  234. package/dest/hash/hash.d.ts +35 -1
  235. package/dest/hash/hash.d.ts.map +1 -1
  236. package/dest/hash/hash.js +78 -11
  237. package/dest/hash/map_slot.d.ts +1 -1
  238. package/dest/hash/map_slot.d.ts.map +1 -1
  239. package/dest/hash/map_slot.js +4 -3
  240. package/dest/interfaces/allowed_element.d.ts +17 -35
  241. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  242. package/dest/interfaces/allowed_element.js +8 -8
  243. package/dest/interfaces/api_limit.d.ts +1 -1
  244. package/dest/interfaces/api_limit.js +1 -1
  245. package/dest/interfaces/archiver.d.ts +22 -32
  246. package/dest/interfaces/archiver.d.ts.map +1 -1
  247. package/dest/interfaces/archiver.js +215 -64
  248. package/dest/interfaces/aztec-node-admin.d.ts +106 -255
  249. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  250. package/dest/interfaces/aztec-node-admin.js +68 -17
  251. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  252. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  253. package/dest/interfaces/aztec-node-debug.js +21 -0
  254. package/dest/interfaces/aztec-node.d.ts +142 -154
  255. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  256. package/dest/interfaces/aztec-node.js +313 -74
  257. package/dest/interfaces/block-builder.d.ts +46 -11
  258. package/dest/interfaces/block-builder.d.ts.map +1 -1
  259. package/dest/interfaces/block-builder.js +16 -2
  260. package/dest/interfaces/block_response.d.ts +90 -0
  261. package/dest/interfaces/block_response.d.ts.map +1 -0
  262. package/dest/interfaces/block_response.js +30 -0
  263. package/dest/interfaces/chain_tips.d.ts +50 -0
  264. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  265. package/dest/interfaces/chain_tips.js +11 -0
  266. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  267. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  268. package/dest/interfaces/checkpoint_parameter.js +18 -0
  269. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  270. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  271. package/dest/interfaces/checkpoint_response.js +26 -0
  272. package/dest/interfaces/client.d.ts +8 -2
  273. package/dest/interfaces/client.d.ts.map +1 -1
  274. package/dest/interfaces/client.js +7 -1
  275. package/dest/interfaces/configs.d.ts +73 -117
  276. package/dest/interfaces/configs.d.ts.map +1 -1
  277. package/dest/interfaces/configs.js +18 -3
  278. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  279. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  280. package/dest/interfaces/l1_publish_info.js +26 -0
  281. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  282. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  283. package/dest/interfaces/l2_logs_source.js +5 -0
  284. package/dest/interfaces/merkle_tree_operations.d.ts +21 -24
  285. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  286. package/dest/interfaces/p2p-bootstrap.js +8 -2
  287. package/dest/interfaces/p2p.d.ts +18 -13
  288. package/dest/interfaces/p2p.d.ts.map +1 -1
  289. package/dest/interfaces/p2p.js +28 -5
  290. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  291. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  292. package/dest/interfaces/prover-agent.d.ts +5 -23
  293. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  294. package/dest/interfaces/prover-agent.js +4 -1
  295. package/dest/interfaces/prover-broker.d.ts +16 -1
  296. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  297. package/dest/interfaces/prover-broker.js +4 -1
  298. package/dest/interfaces/prover-client.d.ts +12 -23
  299. package/dest/interfaces/prover-client.d.ts.map +1 -1
  300. package/dest/interfaces/prover-client.js +12 -4
  301. package/dest/interfaces/prover-node.js +22 -8
  302. package/dest/interfaces/proving-job-source.js +24 -4
  303. package/dest/interfaces/proving-job.d.ts +763 -5814
  304. package/dest/interfaces/proving-job.d.ts.map +1 -1
  305. package/dest/interfaces/proving-job.js +1 -1
  306. package/dest/interfaces/public_storage_override.d.ts +22 -0
  307. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  308. package/dest/interfaces/public_storage_override.js +7 -0
  309. package/dest/interfaces/server.d.ts +6 -2
  310. package/dest/interfaces/server.d.ts.map +1 -1
  311. package/dest/interfaces/server.js +5 -1
  312. package/dest/interfaces/slasher.d.ts +27 -59
  313. package/dest/interfaces/slasher.d.ts.map +1 -1
  314. package/dest/interfaces/slasher.js +10 -4
  315. package/dest/interfaces/tx_provider.d.ts +6 -1
  316. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  317. package/dest/interfaces/validator.d.ts +77 -169
  318. package/dest/interfaces/validator.d.ts.map +1 -1
  319. package/dest/interfaces/validator.js +16 -5
  320. package/dest/interfaces/world_state.d.ts +6 -5
  321. package/dest/interfaces/world_state.d.ts.map +1 -1
  322. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  323. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  324. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  325. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  326. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  327. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  328. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  329. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  330. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  331. package/dest/kernel/hints/index.d.ts +3 -4
  332. package/dest/kernel/hints/index.d.ts.map +1 -1
  333. package/dest/kernel/hints/index.js +2 -3
  334. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  335. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  336. package/dest/kernel/hints/key_validation_request.js +20 -18
  337. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  338. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  339. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  340. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  341. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  342. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  343. package/dest/kernel/index.d.ts +5 -1
  344. package/dest/kernel/index.d.ts.map +1 -1
  345. package/dest/kernel/index.js +4 -0
  346. package/dest/kernel/log_hash.d.ts +6 -2
  347. package/dest/kernel/log_hash.d.ts.map +1 -1
  348. package/dest/kernel/log_hash.js +21 -9
  349. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  350. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  351. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  352. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  353. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  355. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  356. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  357. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  358. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  359. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  360. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  361. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  362. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  363. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  364. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  365. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  366. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  367. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  368. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  369. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  370. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  371. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  372. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  373. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  374. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  375. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  376. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  377. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  378. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  379. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  380. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  381. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  382. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  383. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  384. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  385. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  387. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  388. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  389. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  390. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  391. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  392. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  393. package/dest/kernel/private_validation_requests.d.ts +3 -3
  394. package/dest/kernel/private_validation_requests.js +9 -9
  395. package/dest/kernel/public_call_request.d.ts +15 -30
  396. package/dest/kernel/public_call_request.d.ts.map +1 -1
  397. package/dest/kernel/public_call_request.js +16 -7
  398. package/dest/kernel/utils/index.d.ts +1 -2
  399. package/dest/kernel/utils/index.d.ts.map +1 -1
  400. package/dest/kernel/utils/index.js +0 -1
  401. package/dest/keys/derivation.d.ts +9 -5
  402. package/dest/keys/derivation.d.ts.map +1 -1
  403. package/dest/keys/derivation.js +28 -18
  404. package/dest/keys/key_types.d.ts +3 -3
  405. package/dest/keys/key_types.d.ts.map +1 -1
  406. package/dest/keys/public_key.d.ts +22 -3
  407. package/dest/keys/public_key.d.ts.map +1 -1
  408. package/dest/keys/public_key.js +20 -1
  409. package/dest/keys/public_keys.d.ts +55 -82
  410. package/dest/keys/public_keys.d.ts.map +1 -1
  411. package/dest/keys/public_keys.js +102 -74
  412. package/dest/keys/utils.d.ts +1 -1
  413. package/dest/keys/utils.d.ts.map +1 -1
  414. package/dest/keys/utils.js +8 -4
  415. package/dest/kv-store/config.d.ts +14 -0
  416. package/dest/kv-store/config.d.ts.map +1 -0
  417. package/dest/kv-store/config.js +21 -0
  418. package/dest/kv-store/index.d.ts +2 -0
  419. package/dest/kv-store/index.d.ts.map +1 -0
  420. package/dest/kv-store/index.js +1 -0
  421. package/dest/l1-contracts/index.d.ts +2 -2
  422. package/dest/l1-contracts/index.d.ts.map +1 -1
  423. package/dest/l1-contracts/index.js +1 -1
  424. package/dest/logs/app_tagging_secret.d.ts +46 -0
  425. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  426. package/dest/logs/app_tagging_secret.js +109 -0
  427. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  428. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  429. package/dest/logs/app_tagging_secret_kind.js +17 -0
  430. package/dest/logs/contract_class_log.d.ts +16 -34
  431. package/dest/logs/contract_class_log.d.ts.map +1 -1
  432. package/dest/logs/contract_class_log.js +11 -9
  433. package/dest/logs/debug_log_store.d.ts +30 -0
  434. package/dest/logs/debug_log_store.d.ts.map +1 -0
  435. package/dest/logs/debug_log_store.js +30 -0
  436. package/dest/logs/index.d.ts +9 -7
  437. package/dest/logs/index.d.ts.map +1 -1
  438. package/dest/logs/index.js +8 -6
  439. package/dest/logs/log_cursor.d.ts +51 -0
  440. package/dest/logs/log_cursor.d.ts.map +1 -0
  441. package/dest/logs/log_cursor.js +82 -0
  442. package/dest/logs/log_result.d.ts +54 -0
  443. package/dest/logs/log_result.d.ts.map +1 -0
  444. package/dest/logs/log_result.js +56 -0
  445. package/dest/logs/logs_query.d.ts +82 -0
  446. package/dest/logs/logs_query.d.ts.map +1 -0
  447. package/dest/logs/logs_query.js +50 -0
  448. package/dest/logs/message_context.d.ts +6 -8
  449. package/dest/logs/message_context.d.ts.map +1 -1
  450. package/dest/logs/message_context.js +27 -9
  451. package/dest/logs/pending_tagged_log.d.ts +2 -3
  452. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  453. package/dest/logs/pending_tagged_log.js +2 -2
  454. package/dest/logs/pre_tag.d.ts +14 -22
  455. package/dest/logs/pre_tag.d.ts.map +1 -1
  456. package/dest/logs/pre_tag.js +2 -2
  457. package/dest/logs/private_log.d.ts +8 -13
  458. package/dest/logs/private_log.d.ts.map +1 -1
  459. package/dest/logs/private_log.js +6 -3
  460. package/dest/logs/public_log.d.ts +4 -3
  461. package/dest/logs/public_log.d.ts.map +1 -1
  462. package/dest/logs/public_log.js +2 -1
  463. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  464. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  465. package/dest/logs/query_all_logs_by_tags.js +64 -0
  466. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  467. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  468. package/dest/logs/shared_secret_derivation.js +15 -9
  469. package/dest/logs/siloed_tag.d.ts +12 -9
  470. package/dest/logs/siloed_tag.d.ts.map +1 -1
  471. package/dest/logs/siloed_tag.js +18 -6
  472. package/dest/logs/tag.d.ts +5 -6
  473. package/dest/logs/tag.d.ts.map +1 -1
  474. package/dest/logs/tag.js +5 -1
  475. package/dest/logs/tagging_index_range.d.ts +22 -0
  476. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  477. package/dest/logs/tagging_index_range.js +8 -0
  478. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  479. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  480. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  481. package/dest/messaging/index.d.ts +2 -1
  482. package/dest/messaging/index.d.ts.map +1 -1
  483. package/dest/messaging/index.js +1 -0
  484. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  485. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  486. package/dest/messaging/l1_to_l2_message.js +11 -13
  487. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  488. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  489. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  490. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  491. package/dest/messaging/l2_to_l1_membership.js +133 -30
  492. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  493. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  494. package/dest/messaging/l2_to_l1_message.js +21 -12
  495. package/dest/noir/index.d.ts +5 -3
  496. package/dest/noir/index.d.ts.map +1 -1
  497. package/dest/note/index.d.ts +1 -2
  498. package/dest/note/index.d.ts.map +1 -1
  499. package/dest/note/index.js +0 -1
  500. package/dest/note/note.d.ts +2 -2
  501. package/dest/note/note.d.ts.map +1 -1
  502. package/dest/note/note_dao.d.ts +1 -1
  503. package/dest/note/note_dao.d.ts.map +1 -1
  504. package/dest/note/note_dao.js +1 -4
  505. package/dest/p2p/attestation_utils.d.ts +11 -1
  506. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  507. package/dest/p2p/attestation_utils.js +45 -0
  508. package/dest/p2p/block_proposal.d.ts +41 -17
  509. package/dest/p2p/block_proposal.d.ts.map +1 -1
  510. package/dest/p2p/block_proposal.js +58 -42
  511. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  512. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  513. package/dest/p2p/checkpoint_attestation.js +23 -24
  514. package/dest/p2p/checkpoint_proposal.d.ts +59 -26
  515. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  516. package/dest/p2p/checkpoint_proposal.js +77 -65
  517. package/dest/p2p/client_type.d.ts +2 -5
  518. package/dest/p2p/client_type.d.ts.map +1 -1
  519. package/dest/p2p/client_type.js +0 -7
  520. package/dest/p2p/consensus_payload.d.ts +32 -17
  521. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  522. package/dest/p2p/consensus_payload.js +47 -21
  523. package/dest/p2p/constants.d.ts +3 -1
  524. package/dest/p2p/constants.d.ts.map +1 -1
  525. package/dest/p2p/constants.js +1 -0
  526. package/dest/p2p/gossipable.d.ts +4 -4
  527. package/dest/p2p/gossipable.d.ts.map +1 -1
  528. package/dest/p2p/index.d.ts +1 -3
  529. package/dest/p2p/index.d.ts.map +1 -1
  530. package/dest/p2p/index.js +0 -2
  531. package/dest/p2p/peer_error.d.ts +3 -1
  532. package/dest/p2p/peer_error.d.ts.map +1 -1
  533. package/dest/p2p/peer_error.js +5 -0
  534. package/dest/p2p/signature_utils.d.ts +28 -19
  535. package/dest/p2p/signature_utils.d.ts.map +1 -1
  536. package/dest/p2p/signature_utils.js +118 -21
  537. package/dest/p2p/signed_txs.d.ts +15 -13
  538. package/dest/p2p/signed_txs.d.ts.map +1 -1
  539. package/dest/p2p/signed_txs.js +26 -24
  540. package/dest/p2p/topic_type.d.ts +3 -4
  541. package/dest/p2p/topic_type.d.ts.map +1 -1
  542. package/dest/p2p/topic_type.js +7 -24
  543. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  544. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  545. package/dest/parity/parity_base_private_inputs.js +7 -5
  546. package/dest/parity/parity_public_inputs.d.ts +8 -4
  547. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  548. package/dest/parity/parity_public_inputs.js +6 -3
  549. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  550. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  551. package/dest/proofs/chonk_proof.d.ts +57 -7
  552. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  553. package/dest/proofs/chonk_proof.js +112 -15
  554. package/dest/proofs/recursive_proof.d.ts +2 -2
  555. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  556. package/dest/rollup/block_headers_hash.d.ts +1 -1
  557. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  558. package/dest/rollup/block_headers_hash.js +8 -2
  559. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  560. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  561. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  562. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  563. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  564. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  565. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/checkpoint_header.d.ts +2 -2
  567. package/dest/rollup/checkpoint_header.js +2 -2
  568. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  569. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  570. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  571. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  572. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  573. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  574. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  575. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  576. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  577. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  578. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  579. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  580. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  581. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  582. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  583. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  584. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  585. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  586. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  587. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  588. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  589. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  590. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  591. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  592. package/dest/schemas/schemas.d.ts +32 -78
  593. package/dest/schemas/schemas.d.ts.map +1 -1
  594. package/dest/schemas/schemas.js +2 -2
  595. package/dest/slashing/helpers.d.ts +2 -2
  596. package/dest/slashing/helpers.d.ts.map +1 -1
  597. package/dest/slashing/helpers.js +16 -7
  598. package/dest/slashing/index.d.ts +2 -3
  599. package/dest/slashing/index.d.ts.map +1 -1
  600. package/dest/slashing/index.js +1 -2
  601. package/dest/slashing/serialization.d.ts +2 -6
  602. package/dest/slashing/serialization.d.ts.map +1 -1
  603. package/dest/slashing/serialization.js +0 -60
  604. package/dest/slashing/types.d.ts +21 -111
  605. package/dest/slashing/types.d.ts.map +1 -1
  606. package/dest/slashing/types.js +28 -24
  607. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  608. package/dest/slashing/votes.d.ts.map +1 -0
  609. package/dest/slashing/{tally.js → votes.js} +35 -3
  610. package/dest/snapshots/types.d.ts +15 -78
  611. package/dest/snapshots/types.d.ts.map +1 -1
  612. package/dest/stats/stats.d.ts +2 -4
  613. package/dest/stats/stats.d.ts.map +1 -1
  614. package/dest/tests/factories.d.ts +25 -56
  615. package/dest/tests/factories.d.ts.map +1 -1
  616. package/dest/tests/factories.js +94 -116
  617. package/dest/tests/mocks.d.ts +19 -7
  618. package/dest/tests/mocks.d.ts.map +1 -1
  619. package/dest/tests/mocks.js +71 -72
  620. package/dest/timetable/index.d.ts +84 -0
  621. package/dest/timetable/index.d.ts.map +1 -0
  622. package/dest/timetable/index.js +209 -0
  623. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  624. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  625. package/dest/trees/append_only_tree_snapshot.js +6 -3
  626. package/dest/trees/nullifier_leaf.d.ts +19 -42
  627. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  628. package/dest/trees/nullifier_leaf.js +3 -0
  629. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  630. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  631. package/dest/trees/nullifier_membership_witness.js +2 -14
  632. package/dest/trees/public_data_leaf.d.ts +22 -53
  633. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  634. package/dest/trees/public_data_leaf.js +7 -6
  635. package/dest/trees/public_data_witness.d.ts +16 -58
  636. package/dest/trees/public_data_witness.d.ts.map +1 -1
  637. package/dest/tx/block_header.d.ts +9 -6
  638. package/dest/tx/block_header.d.ts.map +1 -1
  639. package/dest/tx/block_header.js +14 -7
  640. package/dest/tx/call_context.d.ts +4 -14
  641. package/dest/tx/call_context.d.ts.map +1 -1
  642. package/dest/tx/capsule.d.ts +7 -3
  643. package/dest/tx/capsule.d.ts.map +1 -1
  644. package/dest/tx/capsule.js +9 -3
  645. package/dest/tx/fee_provider.d.ts +10 -0
  646. package/dest/tx/fee_provider.d.ts.map +1 -0
  647. package/dest/tx/fee_provider.js +1 -0
  648. package/dest/tx/function_data.d.ts +4 -10
  649. package/dest/tx/function_data.d.ts.map +1 -1
  650. package/dest/tx/global_variable_builder.d.ts +3 -4
  651. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  652. package/dest/tx/global_variables.d.ts +19 -52
  653. package/dest/tx/global_variables.d.ts.map +1 -1
  654. package/dest/tx/global_variables.js +8 -12
  655. package/dest/tx/hashed_values.d.ts +4 -3
  656. package/dest/tx/hashed_values.d.ts.map +1 -1
  657. package/dest/tx/hashed_values.js +6 -3
  658. package/dest/tx/in_tx.d.ts +6 -18
  659. package/dest/tx/in_tx.d.ts.map +1 -1
  660. package/dest/tx/index.d.ts +2 -2
  661. package/dest/tx/index.d.ts.map +1 -1
  662. package/dest/tx/index.js +1 -1
  663. package/dest/tx/indexed_tx_effect.d.ts +10 -21
  664. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  665. package/dest/tx/indexed_tx_effect.js +10 -6
  666. package/dest/tx/partial_state_reference.d.ts +22 -65
  667. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  668. package/dest/tx/partial_state_reference.js +6 -3
  669. package/dest/tx/private_execution_result.d.ts +11 -21
  670. package/dest/tx/private_execution_result.d.ts.map +1 -1
  671. package/dest/tx/private_execution_result.js +6 -6
  672. package/dest/tx/profiling.d.ts +70 -356
  673. package/dest/tx/profiling.d.ts.map +1 -1
  674. package/dest/tx/profiling.js +19 -9
  675. package/dest/tx/protocol_contracts.d.ts +5 -9
  676. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  677. package/dest/tx/protocol_contracts.js +2 -2
  678. package/dest/tx/proven_tx.d.ts +30 -74
  679. package/dest/tx/proven_tx.d.ts.map +1 -1
  680. package/dest/tx/proven_tx.js +6 -0
  681. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  682. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  683. package/dest/tx/public_call_request_with_calldata.js +6 -3
  684. package/dest/tx/public_simulation_output.d.ts +4 -2
  685. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  686. package/dest/tx/public_simulation_output.js +7 -3
  687. package/dest/tx/simulated_tx.d.ts +68 -1144
  688. package/dest/tx/simulated_tx.d.ts.map +1 -1
  689. package/dest/tx/simulated_tx.js +17 -12
  690. package/dest/tx/state_reference.d.ts +30 -117
  691. package/dest/tx/state_reference.d.ts.map +1 -1
  692. package/dest/tx/state_reference.js +6 -4
  693. package/dest/tx/tree_snapshots.d.ts +27 -84
  694. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  695. package/dest/tx/tree_snapshots.js +6 -4
  696. package/dest/tx/tx.d.ts +19 -17
  697. package/dest/tx/tx.d.ts.map +1 -1
  698. package/dest/tx/tx.js +48 -29
  699. package/dest/tx/tx_constant_data.d.ts +4 -3
  700. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  701. package/dest/tx/tx_constant_data.js +6 -3
  702. package/dest/tx/tx_context.d.ts +32 -131
  703. package/dest/tx/tx_context.d.ts.map +1 -1
  704. package/dest/tx/tx_context.js +6 -6
  705. package/dest/tx/tx_hash.d.ts +6 -4
  706. package/dest/tx/tx_hash.d.ts.map +1 -1
  707. package/dest/tx/tx_hash.js +13 -5
  708. package/dest/tx/tx_receipt.d.ts +152 -52
  709. package/dest/tx/tx_receipt.d.ts.map +1 -1
  710. package/dest/tx/tx_receipt.js +146 -52
  711. package/dest/tx/tx_request.js +2 -2
  712. package/dest/tx/validator/error_texts.d.ts +10 -2
  713. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  714. package/dest/tx/validator/error_texts.js +11 -1
  715. package/dest/tx/validator/tx_validator.d.ts +6 -28
  716. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  717. package/dest/tx/validator/tx_validator.js +0 -4
  718. package/dest/types/shared.d.ts +4 -12
  719. package/dest/types/shared.d.ts.map +1 -1
  720. package/dest/types/shared.js +6 -12
  721. package/dest/update-checker/dev_version.d.ts +3 -0
  722. package/dest/update-checker/dev_version.d.ts.map +1 -0
  723. package/dest/update-checker/dev_version.js +1 -0
  724. package/dest/update-checker/index.d.ts +4 -2
  725. package/dest/update-checker/index.d.ts.map +1 -1
  726. package/dest/update-checker/index.js +3 -1
  727. package/dest/update-checker/package_version.d.ts +6 -0
  728. package/dest/update-checker/package_version.d.ts.map +1 -0
  729. package/dest/update-checker/package_version.js +13 -0
  730. package/dest/update-checker/version_checker.d.ts +25 -0
  731. package/dest/update-checker/version_checker.d.ts.map +1 -0
  732. package/dest/update-checker/version_checker.js +50 -0
  733. package/dest/validators/errors.d.ts +6 -1
  734. package/dest/validators/errors.d.ts.map +1 -1
  735. package/dest/validators/errors.js +7 -0
  736. package/dest/validators/schemas.d.ts +147 -614
  737. package/dest/validators/schemas.d.ts.map +1 -1
  738. package/dest/validators/schemas.js +9 -6
  739. package/dest/validators/types.d.ts +21 -4
  740. package/dest/validators/types.d.ts.map +1 -1
  741. package/dest/versioning/versioning.d.ts +4 -2
  742. package/dest/versioning/versioning.d.ts.map +1 -1
  743. package/dest/versioning/versioning.js +5 -2
  744. package/dest/vks/verification_key.d.ts +4 -139
  745. package/dest/vks/verification_key.d.ts.map +1 -1
  746. package/dest/vks/verification_key.js +5 -126
  747. package/dest/world-state/genesis_data.d.ts +13 -0
  748. package/dest/world-state/genesis_data.d.ts.map +1 -0
  749. package/dest/world-state/genesis_data.js +7 -0
  750. package/dest/world-state/index.d.ts +2 -1
  751. package/dest/world-state/index.d.ts.map +1 -1
  752. package/dest/world-state/index.js +1 -0
  753. package/dest/world-state/world_state_revision.d.ts +11 -39
  754. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  755. package/dest/world-state/world_state_revision.js +7 -21
  756. package/package.json +29 -15
  757. package/src/abi/abi.ts +78 -21
  758. package/src/abi/authorization_selector.ts +2 -8
  759. package/src/abi/buffer.ts +25 -4
  760. package/src/abi/contract_artifact.ts +11 -6
  761. package/src/abi/decoder.ts +36 -82
  762. package/src/abi/encoder.ts +85 -6
  763. package/src/abi/event_metadata_definition.ts +2 -0
  764. package/src/abi/event_selector.ts +2 -8
  765. package/src/abi/function_call.ts +25 -3
  766. package/src/abi/function_selector.ts +4 -13
  767. package/src/abi/function_signature_decoder.ts +77 -0
  768. package/src/abi/index.ts +1 -0
  769. package/src/abi/note_selector.ts +3 -12
  770. package/src/abi/selector.ts +1 -1
  771. package/src/abi/utils.ts +31 -4
  772. package/src/auth_witness/auth_witness.ts +3 -3
  773. package/src/avm/avm.ts +5 -0
  774. package/src/avm/index.ts +0 -5
  775. package/src/avm/message_pack.ts +12 -3
  776. package/src/avm/revert_code.ts +20 -25
  777. package/src/aztec-address/index.ts +15 -12
  778. package/src/block/attestation_info.ts +11 -11
  779. package/src/block/block_data.ts +25 -0
  780. package/src/block/block_hash.ts +31 -49
  781. package/src/block/block_parameter.ts +73 -5
  782. package/src/block/in_block.ts +6 -6
  783. package/src/block/index.ts +1 -1
  784. package/src/block/l2_block.ts +16 -4
  785. package/src/block/l2_block_info.ts +8 -6
  786. package/src/block/l2_block_source.ts +214 -122
  787. package/src/block/l2_block_stream/interfaces.ts +6 -2
  788. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  789. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  790. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  791. package/src/block/proposal/attestations_and_signers.ts +32 -17
  792. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  793. package/src/checkpoint/checkpoint.ts +54 -17
  794. package/src/checkpoint/checkpoint_data.ts +91 -0
  795. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  796. package/src/checkpoint/digest.ts +28 -0
  797. package/src/checkpoint/index.ts +5 -0
  798. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  799. package/src/checkpoint/published_checkpoint.ts +3 -1
  800. package/src/checkpoint/validate.ts +230 -0
  801. package/src/config/chain-config.ts +13 -16
  802. package/src/config/index.ts +1 -0
  803. package/src/config/sequencer-config.ts +65 -0
  804. package/src/contract/complete_address.ts +7 -3
  805. package/src/contract/contract_address.ts +10 -10
  806. package/src/contract/contract_class.ts +3 -3
  807. package/src/contract/contract_class_id.ts +7 -6
  808. package/src/contract/contract_instance.ts +11 -2
  809. package/src/contract/index.ts +0 -3
  810. package/src/contract/interfaces/contract_class.ts +2 -82
  811. package/src/contract/interfaces/contract_instance.ts +6 -2
  812. package/src/contract/interfaces/node-info.ts +3 -0
  813. package/src/contract/private_function.ts +5 -3
  814. package/src/database-version/database_version.ts +87 -0
  815. package/src/database-version/version_manager.ts +18 -77
  816. package/src/epoch-helpers/index.ts +39 -0
  817. package/src/file-store/factory.ts +13 -4
  818. package/src/file-store/http.ts +29 -10
  819. package/src/file-store/index.ts +1 -0
  820. package/src/file-store/local.ts +15 -5
  821. package/src/file-store/s3.ts +12 -3
  822. package/src/gas/README.md +154 -0
  823. package/src/gas/fee_math.ts +120 -0
  824. package/src/gas/gas.ts +8 -3
  825. package/src/gas/gas_fees.ts +29 -10
  826. package/src/gas/gas_settings.ts +73 -15
  827. package/src/gas/index.ts +1 -0
  828. package/src/ha-signing/config.ts +152 -0
  829. package/src/ha-signing/index.ts +29 -0
  830. package/src/ha-signing/local_config.ts +46 -0
  831. package/src/ha-signing/types.ts +126 -0
  832. package/src/hash/hash.ts +76 -11
  833. package/src/hash/map_slot.ts +3 -2
  834. package/src/interfaces/allowed_element.ts +29 -9
  835. package/src/interfaces/api_limit.ts +1 -1
  836. package/src/interfaces/archiver.ts +90 -87
  837. package/src/interfaces/aztec-node-admin.ts +57 -18
  838. package/src/interfaces/aztec-node-debug.ts +40 -0
  839. package/src/interfaces/aztec-node.ts +346 -329
  840. package/src/interfaces/block-builder.ts +70 -11
  841. package/src/interfaces/block_response.ts +92 -0
  842. package/src/interfaces/chain_tips.ts +24 -0
  843. package/src/interfaces/checkpoint_parameter.ts +20 -0
  844. package/src/interfaces/checkpoint_response.ts +84 -0
  845. package/src/interfaces/client.ts +7 -1
  846. package/src/interfaces/configs.ts +75 -8
  847. package/src/interfaces/l1_publish_info.ts +40 -0
  848. package/src/interfaces/l2_logs_source.ts +13 -39
  849. package/src/interfaces/merkle_tree_operations.ts +21 -23
  850. package/src/interfaces/p2p-bootstrap.ts +2 -2
  851. package/src/interfaces/p2p.ts +38 -29
  852. package/src/interfaces/private_kernel_prover.ts +88 -0
  853. package/src/interfaces/prover-agent.ts +1 -1
  854. package/src/interfaces/prover-broker.ts +22 -0
  855. package/src/interfaces/prover-client.ts +17 -5
  856. package/src/interfaces/prover-node.ts +7 -7
  857. package/src/interfaces/proving-job-source.ts +4 -4
  858. package/src/interfaces/proving-job.ts +3 -3
  859. package/src/interfaces/public_storage_override.ts +26 -0
  860. package/src/interfaces/server.ts +5 -1
  861. package/src/interfaces/slasher.ts +21 -10
  862. package/src/interfaces/tx_provider.ts +6 -0
  863. package/src/interfaces/validator.ts +87 -37
  864. package/src/interfaces/world_state.ts +5 -4
  865. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  866. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  867. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  868. package/src/kernel/hints/index.ts +2 -3
  869. package/src/kernel/hints/key_validation_request.ts +18 -16
  870. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  871. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  872. package/src/kernel/index.ts +4 -0
  873. package/src/kernel/log_hash.ts +29 -9
  874. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  875. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  876. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  877. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  878. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  879. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  880. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  881. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  882. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  883. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  884. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  885. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  886. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  887. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  888. package/src/kernel/private_validation_requests.ts +8 -8
  889. package/src/kernel/public_call_request.ts +22 -7
  890. package/src/kernel/utils/index.ts +0 -1
  891. package/src/keys/derivation.ts +33 -21
  892. package/src/keys/key_types.ts +6 -2
  893. package/src/keys/public_key.ts +26 -2
  894. package/src/keys/public_keys.ts +125 -111
  895. package/src/keys/utils.ts +8 -4
  896. package/src/kv-store/config.ts +29 -0
  897. package/src/kv-store/index.ts +1 -0
  898. package/src/l1-contracts/index.ts +1 -1
  899. package/src/logs/app_tagging_secret.ts +137 -0
  900. package/src/logs/app_tagging_secret_kind.ts +21 -0
  901. package/src/logs/contract_class_log.ts +15 -5
  902. package/src/logs/debug_log_store.ts +54 -0
  903. package/src/logs/index.ts +8 -6
  904. package/src/logs/log_cursor.ts +110 -0
  905. package/src/logs/log_result.ts +104 -0
  906. package/src/logs/logs_query.ts +138 -0
  907. package/src/logs/message_context.ts +22 -8
  908. package/src/logs/pending_tagged_log.ts +1 -3
  909. package/src/logs/pre_tag.ts +3 -6
  910. package/src/logs/private_log.ts +9 -3
  911. package/src/logs/public_log.ts +4 -2
  912. package/src/logs/query_all_logs_by_tags.ts +98 -0
  913. package/src/logs/shared_secret_derivation.ts +21 -10
  914. package/src/logs/siloed_tag.ts +28 -13
  915. package/src/logs/tag.ts +9 -9
  916. package/src/logs/tagging_index_range.ts +18 -0
  917. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  918. package/src/messaging/index.ts +1 -0
  919. package/src/messaging/l1_to_l2_message.ts +12 -9
  920. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  921. package/src/messaging/l2_to_l1_membership.ts +192 -38
  922. package/src/messaging/l2_to_l1_message.ts +29 -9
  923. package/src/noir/index.ts +4 -2
  924. package/src/note/index.ts +0 -1
  925. package/src/note/note_dao.ts +1 -4
  926. package/src/p2p/attestation_utils.ts +56 -0
  927. package/src/p2p/block_proposal.ts +121 -41
  928. package/src/p2p/checkpoint_attestation.ts +33 -32
  929. package/src/p2p/checkpoint_proposal.ts +168 -88
  930. package/src/p2p/client_type.ts +0 -6
  931. package/src/p2p/consensus_payload.ts +68 -24
  932. package/src/p2p/constants.ts +3 -0
  933. package/src/p2p/gossipable.ts +4 -4
  934. package/src/p2p/index.ts +0 -2
  935. package/src/p2p/peer_error.ts +7 -0
  936. package/src/p2p/signature_utils.ts +110 -25
  937. package/src/p2p/signed_txs.ts +46 -28
  938. package/src/p2p/topic_type.ts +8 -15
  939. package/src/parity/parity_base_private_inputs.ts +10 -4
  940. package/src/parity/parity_public_inputs.ts +9 -2
  941. package/src/proofs/chonk_proof.ts +132 -12
  942. package/src/rollup/block_headers_hash.ts +11 -2
  943. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  944. package/src/rollup/checkpoint_header.ts +2 -2
  945. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  946. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  947. package/src/schemas/schemas.ts +6 -1
  948. package/src/slashing/helpers.ts +21 -9
  949. package/src/slashing/index.ts +1 -2
  950. package/src/slashing/serialization.ts +1 -81
  951. package/src/slashing/types.ts +38 -49
  952. package/src/slashing/{tally.ts → votes.ts} +41 -2
  953. package/src/stats/stats.ts +4 -2
  954. package/src/tests/factories.ts +120 -157
  955. package/src/tests/mocks.ts +111 -87
  956. package/src/timetable/index.ts +304 -0
  957. package/src/trees/append_only_tree_snapshot.ts +8 -3
  958. package/src/trees/nullifier_leaf.ts +4 -0
  959. package/src/trees/nullifier_membership_witness.ts +2 -12
  960. package/src/trees/public_data_leaf.ts +11 -5
  961. package/src/tx/block_header.ts +22 -11
  962. package/src/tx/capsule.ts +10 -2
  963. package/src/tx/fee_provider.ts +10 -0
  964. package/src/tx/global_variable_builder.ts +2 -3
  965. package/src/tx/global_variables.ts +13 -21
  966. package/src/tx/hashed_values.ts +8 -3
  967. package/src/tx/index.ts +1 -1
  968. package/src/tx/indexed_tx_effect.ts +19 -6
  969. package/src/tx/partial_state_reference.ts +8 -3
  970. package/src/tx/private_execution_result.ts +5 -5
  971. package/src/tx/profiling.ts +18 -9
  972. package/src/tx/protocol_contracts.ts +2 -2
  973. package/src/tx/proven_tx.ts +6 -0
  974. package/src/tx/public_call_request_with_calldata.ts +8 -3
  975. package/src/tx/public_simulation_output.ts +4 -0
  976. package/src/tx/simulated_tx.ts +30 -22
  977. package/src/tx/state_reference.ts +9 -4
  978. package/src/tx/tree_snapshots.ts +9 -4
  979. package/src/tx/tx.ts +63 -35
  980. package/src/tx/tx_constant_data.ts +8 -3
  981. package/src/tx/tx_context.ts +8 -3
  982. package/src/tx/tx_hash.ts +20 -5
  983. package/src/tx/tx_receipt.ts +270 -75
  984. package/src/tx/tx_request.ts +2 -2
  985. package/src/tx/validator/error_texts.ts +13 -1
  986. package/src/tx/validator/tx_validator.ts +2 -6
  987. package/src/types/shared.ts +8 -13
  988. package/src/update-checker/dev_version.ts +2 -0
  989. package/src/update-checker/index.ts +3 -1
  990. package/src/update-checker/package_version.ts +17 -0
  991. package/src/update-checker/version_checker.ts +65 -0
  992. package/src/validators/errors.ts +9 -0
  993. package/src/validators/schemas.ts +13 -4
  994. package/src/validators/types.ts +25 -5
  995. package/src/versioning/versioning.ts +5 -2
  996. package/src/vks/verification_key.ts +5 -184
  997. package/src/world-state/genesis_data.ts +27 -0
  998. package/src/world-state/index.ts +1 -0
  999. package/src/world-state/world_state_revision.ts +9 -34
  1000. package/dest/abi/mocked_keys.d.ts +0 -2
  1001. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1002. package/dest/abi/mocked_keys.js +0 -1
  1003. package/dest/avm/contract_storage_read.d.ts +0 -58
  1004. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1005. package/dest/avm/contract_storage_read.js +0 -65
  1006. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1007. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1008. package/dest/avm/contract_storage_update_request.js +0 -80
  1009. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1010. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1011. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1012. package/dest/avm/public_data_update_request.d.ts +0 -62
  1013. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1014. package/dest/avm/public_data_update_request.js +0 -67
  1015. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1016. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1017. package/dest/avm/public_inner_call_request.js +0 -74
  1018. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1019. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1020. package/dest/block/checkpointed_l2_block.js +0 -46
  1021. package/dest/contract/deployment_info.d.ts +0 -24
  1022. package/dest/contract/deployment_info.d.ts.map +0 -1
  1023. package/dest/contract/deployment_info.js +0 -3
  1024. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1025. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1026. package/dest/contract/private_function_membership_proof.js +0 -124
  1027. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1028. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1029. package/dest/contract/utility_function_membership_proof.js +0 -87
  1030. package/dest/database-version/index.d.ts +0 -2
  1031. package/dest/database-version/index.d.ts.map +0 -1
  1032. package/dest/database-version/index.js +0 -1
  1033. package/dest/interfaces/get_logs_response.d.ts +0 -90
  1034. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1035. package/dest/interfaces/get_logs_response.js +0 -12
  1036. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1037. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1038. package/dest/interfaces/prover-coordination.js +0 -1
  1039. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  1040. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1041. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1042. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1043. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1044. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1045. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1046. package/dest/kernel/utils/optional_number.js +0 -42
  1047. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1048. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1049. package/dest/l1-contracts/slash_factory.js +0 -157
  1050. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1051. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1052. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1053. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1054. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1055. package/dest/logs/extended_contract_class_log.js +0 -67
  1056. package/dest/logs/extended_public_log.d.ts +0 -100
  1057. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1058. package/dest/logs/extended_public_log.js +0 -73
  1059. package/dest/logs/log_filter.d.ts +0 -22
  1060. package/dest/logs/log_filter.d.ts.map +0 -1
  1061. package/dest/logs/log_filter.js +0 -11
  1062. package/dest/logs/log_id.d.ts +0 -82
  1063. package/dest/logs/log_id.d.ts.map +0 -1
  1064. package/dest/logs/log_id.js +0 -91
  1065. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1066. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1067. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1068. package/dest/note/notes_filter.d.ts +0 -27
  1069. package/dest/note/notes_filter.d.ts.map +0 -1
  1070. package/dest/note/notes_filter.js +0 -11
  1071. package/dest/p2p/interface.d.ts +0 -5
  1072. package/dest/p2p/interface.d.ts.map +0 -1
  1073. package/dest/p2p/interface.js +0 -1
  1074. package/dest/slashing/empire.d.ts +0 -31
  1075. package/dest/slashing/empire.d.ts.map +0 -1
  1076. package/dest/slashing/empire.js +0 -85
  1077. package/dest/slashing/tally.d.ts.map +0 -1
  1078. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1079. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1080. package/dest/tx/validator/empty_validator.js +0 -7
  1081. package/dest/update-checker/update-checker.d.ts +0 -49
  1082. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1083. package/dest/update-checker/update-checker.js +0 -130
  1084. package/src/abi/mocked_keys.ts +0 -2
  1085. package/src/avm/contract_storage_read.ts +0 -77
  1086. package/src/avm/contract_storage_update_request.ts +0 -93
  1087. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1088. package/src/avm/public_data_update_request.ts +0 -106
  1089. package/src/avm/public_inner_call_request.ts +0 -85
  1090. package/src/block/checkpointed_l2_block.ts +0 -70
  1091. package/src/contract/deployment_info.ts +0 -25
  1092. package/src/contract/private_function_membership_proof.ts +0 -167
  1093. package/src/contract/utility_function_membership_proof.ts +0 -118
  1094. package/src/database-version/index.ts +0 -1
  1095. package/src/interfaces/get_logs_response.ts +0 -35
  1096. package/src/interfaces/prover-coordination.ts +0 -17
  1097. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1098. package/src/kernel/utils/optional_number.ts +0 -50
  1099. package/src/l1-contracts/slash_factory.ts +0 -179
  1100. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1101. package/src/logs/extended_contract_class_log.ts +0 -87
  1102. package/src/logs/extended_public_log.ts +0 -94
  1103. package/src/logs/log_filter.ts +0 -31
  1104. package/src/logs/log_id.ts +0 -121
  1105. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1106. package/src/note/notes_filter.ts +0 -38
  1107. package/src/p2p/interface.ts +0 -4
  1108. package/src/slashing/empire.ts +0 -102
  1109. package/src/tx/validator/empty_validator.ts +0 -7
  1110. package/src/update-checker/update-checker.ts +0 -166
@@ -1,4 +1,4 @@
1
- import { FIXED_DA_GAS, FIXED_L2_GAS, MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
1
+ import { MAX_ENQUEUED_CALLS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TX_LIFETIME, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import { Buffer32 } from '@aztec/foundation/buffer';
@@ -6,15 +6,16 @@ import { padArrayEnd, times } from '@aztec/foundation/collection';
6
6
  import { randomBytes } from '@aztec/foundation/crypto/random';
7
7
  import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
8
8
  import { Fr } from '@aztec/foundation/curves/bn254';
9
+ import { EthAddress } from '@aztec/foundation/eth-address';
9
10
  import { Signature } from '@aztec/foundation/eth-signature';
11
+ import { hashTypedData } from 'viem';
10
12
  import { PublicTxEffect } from '../avm/avm.js';
11
13
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
12
14
  import { PublicDataWrite } from '../avm/public_data_write.js';
13
15
  import { RevertCode } from '../avm/revert_code.js';
14
16
  import { AztecAddress } from '../aztec-address/index.js';
15
- import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
17
+ import { L2Block } from '../block/index.js';
16
18
  import { Checkpoint } from '../checkpoint/checkpoint.js';
17
- import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
18
19
  import { computeContractAddressFromInstance } from '../contract/contract_address.js';
19
20
  import { getContractClassFromArtifact } from '../contract/contract_class.js';
20
21
  import { SerializableContractInstance } from '../contract/contract_instance.js';
@@ -33,25 +34,35 @@ import { BlockProposal } from '../p2p/block_proposal.js';
33
34
  import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
34
35
  import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
35
36
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
36
- import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
37
+ import { getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
37
38
  import { ChonkProof } from '../proofs/chonk_proof.js';
38
39
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
39
40
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
40
41
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
41
- import { GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
42
+ import { BlockHeader, GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
42
43
  import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
43
44
  import { TxSimulationResult } from '../tx/simulated_tx.js';
44
45
  import { TxEffect } from '../tx/tx_effect.js';
45
46
  import { TxHash } from '../tx/tx_hash.js';
47
+ import { DEV_VERSION } from '../update-checker/dev_version.js';
46
48
  import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
49
+ export const TEST_COORDINATION_SIGNATURE_CONTEXT = {
50
+ chainId: 31337,
51
+ rollupAddress: EthAddress.fromNumber(1)
52
+ };
53
+ function signTypedData(signer, typedData) {
54
+ return signer.sign(Buffer32.fromString(hashTypedData(typedData)));
55
+ }
47
56
  export const randomTxHash = ()=>TxHash.random();
48
- export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO } = {})=>{
57
+ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), gasLimits, maxFeesPerGas = new GasFees(10, 10), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO, anchorBlockHeader = BlockHeader.empty() } = {})=>{
49
58
  const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
50
59
  const isForPublic = totalPublicCallRequests > 0;
51
60
  const data = PrivateKernelTailCircuitPublicInputs.empty();
52
61
  const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
53
- data.constants.txContext.gasSettings = GasSettings.default({
54
- maxFeesPerGas: new GasFees(10, 10),
62
+ data.constants.anchorBlockHeader = anchorBlockHeader;
63
+ data.constants.txContext.gasSettings = GasSettings.fallback({
64
+ gasLimits,
65
+ maxFeesPerGas,
55
66
  maxPriorityFeesPerGas
56
67
  });
57
68
  data.feePayer = feePayer ?? await AztecAddress.random();
@@ -60,8 +71,8 @@ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests
60
71
  data.constants.txContext.version = version;
61
72
  data.constants.vkTreeRoot = vkTreeRoot;
62
73
  data.constants.protocolContractsHash = protocolContractsHash;
63
- // Set includeByTimestamp to the maximum allowed duration from the current time.
64
- data.includeByTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_INCLUDE_BY_TIMESTAMP_DURATION);
74
+ // Set expirationTimestamp to the maximum allowed duration from the current time.
75
+ data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
65
76
  const publicFunctionCalldata = [];
66
77
  if (!isForPublic) {
67
78
  data.forRollup.end.nullifiers[0] = firstNullifier.value;
@@ -99,13 +110,13 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
99
110
  numberOfNonRevertiblePublicCallRequests: 0,
100
111
  numberOfRevertiblePublicCallRequests: 0
101
112
  });
102
- /** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.default({
113
+ /** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.fallback({
103
114
  maxFeesPerGas: new GasFees(10, 10)
104
115
  }), vkTreeRoot = Fr.ZERO, protocolContracts = makeProtocolContracts(seed + 0x100), globalVariables = GlobalVariables.empty(), newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(), feePayer, feePaymentPublicDataWrite, // The default gasUsed is the tx overhead.
105
- gasUsed = Gas.from({
106
- daGas: FIXED_DA_GAS,
107
- l2Gas: FIXED_L2_GAS
108
- }), privateOnly = false, avmAccumulatedData, ...mockTxOpts } = {}) {
116
+ privateOnly = false, gasUsed = Gas.from({
117
+ daGas: TX_DA_GAS_OVERHEAD,
118
+ l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD
119
+ }), avmAccumulatedData, ...mockTxOpts } = {}) {
109
120
  seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
110
121
  anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
111
122
  feePayer ??= makeAztecAddress(seed + 0x100);
@@ -214,6 +225,10 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
214
225
  }
215
226
  export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
216
227
  const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
228
+ const globals = GlobalVariables.random({
229
+ slotNumber,
230
+ ...options
231
+ });
217
232
  const blocksAndMessages = [];
218
233
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
219
234
  // The current block's header.lastArchive must equal the previous block's archive.
@@ -226,11 +241,11 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
226
241
  const blockNumber = BlockNumber(startBlockNumber + i);
227
242
  const { block, messages } = {
228
243
  block: blocks?.[i] ?? await L2Block.random(blockNumber, {
244
+ ...globals,
229
245
  checkpointNumber,
230
246
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
231
247
  txsPerBlock: numTxsPerBlock,
232
248
  txOptions,
233
- slotNumber,
234
249
  ...options,
235
250
  ...makeBlockOptions(blockNumber),
236
251
  ...lastArchive ? {
@@ -248,17 +263,17 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
248
263
  }
249
264
  const messages = blocksAndMessages[0].messages;
250
265
  const inHash = computeInHashFromL1ToL2Messages(messages);
266
+ const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
251
267
  const checkpoint = await Checkpoint.random(checkpointNumber, {
252
268
  numBlocks: 0,
253
- slotNumber,
254
269
  inHash,
255
- ...options
270
+ ...options,
271
+ ...globals,
272
+ lastArchive: firstBlockLastArchive,
273
+ lastArchiveRoot: firstBlockLastArchive.root,
274
+ archive: lastArchive
256
275
  });
257
276
  checkpoint.blocks = blocksAndMessages.map(({ block })=>block);
258
- // Set the checkpoint's archive to match the last block's archive for proper chaining.
259
- // When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
260
- // from the L1 event to set the last block's archive. Without this, the archive chain breaks.
261
- checkpoint.archive = lastArchive;
262
277
  // Return lastArchive so callers can chain it across multiple checkpoints
263
278
  return {
264
279
  checkpoint,
@@ -268,6 +283,7 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
268
283
  }
269
284
  export const randomContractArtifact = ()=>({
270
285
  name: randomBytes(4).toString('hex'),
286
+ aztecVersion: DEV_VERSION,
271
287
  functions: [],
272
288
  nonDispatchPublicFunctions: [],
273
289
  outputs: {
@@ -295,14 +311,16 @@ export const randomDeployedContract = async ()=>{
295
311
  };
296
312
  };
297
313
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
298
- const makeAndSignConsensusPayload = (domainSeparator, options)=>{
314
+ const makeAndSignConsensusPayload = (options)=>{
299
315
  const header = options?.header ?? makeCheckpointHeader(1);
300
- const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
316
+ const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
301
317
  const payload = ConsensusPayload.fromFields({
302
318
  header,
303
- archive
319
+ archive,
320
+ feeAssetPriceModifier,
321
+ signatureContext: TEST_COORDINATION_SIGNATURE_CONTEXT
304
322
  });
305
- const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
323
+ const hash = getHashedSignaturePayloadTypedData(payload);
306
324
  const signature = signer.sign(hash);
307
325
  return {
308
326
  blockNumber: header.slotNumber,
@@ -311,7 +329,7 @@ const makeAndSignConsensusPayload = (domainSeparator, options)=>{
311
329
  };
312
330
  };
313
331
  export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigners, signer = Secp256k1Signer.random())=>{
314
- const hash = getHashedSignaturePayloadEthSignedMessage(attestationsAndSigners, SignatureDomainSeparator.attestationsAndSigners);
332
+ const hash = getHashedSignaturePayloadTypedData(attestationsAndSigners);
315
333
  return signer.sign(hash);
316
334
  };
317
335
  export const makeBlockProposal = (options)=>{
@@ -329,54 +347,55 @@ export const makeBlockProposal = (options)=>{
329
347
  ].map(()=>TxHash.random());
330
348
  const txs = options?.txs;
331
349
  const signer = options?.signer ?? Secp256k1Signer.random();
332
- return BlockProposal.createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
350
+ const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
351
+ return BlockProposal.createProposalFromSigner(blockHeader, CheckpointNumber(1), indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)), (typedData, _context)=>Promise.resolve(signTypedData(signer, typedData)));
333
352
  };
334
- export const makeCheckpointProposal = (options)=>{
335
- const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
353
+ export const makeCheckpointProposal = async (options)=>{
336
354
  const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
337
355
  const archiveRoot = options?.archiveRoot ?? Fr.random();
356
+ const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
338
357
  const signer = options?.signer ?? Secp256k1Signer.random();
339
- // Build lastBlock info if provided
340
- const lastBlockInfo = options?.lastBlock ? {
341
- blockHeader,
358
+ const signatureContext = options?.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
359
+ // Build a signed block proposal if lastBlock options are provided
360
+ const lastBlockProposal = options?.lastBlock ? await makeBlockProposal({
361
+ blockHeader: options.lastBlock.blockHeader,
342
362
  indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
343
- txHashes: options.lastBlock.txHashes ?? [
344
- 0,
345
- 1,
346
- 2,
347
- 3,
348
- 4,
349
- 5
350
- ].map(()=>TxHash.random()),
351
- txs: options.lastBlock.txs
352
- } : undefined;
353
- return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, (payload)=>Promise.resolve(signer.signMessage(payload)));
363
+ inHash: checkpointHeader.inHash,
364
+ archiveRoot,
365
+ txHashes: options.lastBlock.txHashes,
366
+ txs: options.lastBlock.txs,
367
+ signer,
368
+ signatureContext
369
+ }) : undefined;
370
+ return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, CheckpointNumber(1), feeAssetPriceModifier, lastBlockProposal, signatureContext, (typedData)=>Promise.resolve(signTypedData(signer, typedData)));
354
371
  };
355
372
  /**
356
373
  * Create a checkpoint attestation for testing
357
374
  */ export const makeCheckpointAttestation = (options = {})=>{
358
375
  const header = options.header ?? makeCheckpointHeader(1);
359
376
  const archive = options.archive ?? Fr.random();
377
+ const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
378
+ const signatureContext = options.signatureContext ?? TEST_COORDINATION_SIGNATURE_CONTEXT;
360
379
  const { signer, attesterSigner = signer, proposerSigner = signer } = options;
361
- const payload = new ConsensusPayload(header, archive);
380
+ const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
362
381
  // Sign as attester
363
- const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
382
+ const attestationHash = getHashedSignaturePayloadTypedData(payload);
364
383
  const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
365
384
  const attestationSignature = attestationSigner.sign(attestationHash);
366
385
  // Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
367
386
  // This is different from ConsensusPayload's format (ABI encoding)
368
387
  const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
369
- const tempProposal = new CheckpointProposal(header, archive, Signature.empty());
370
- const proposalHash = getHashedSignaturePayloadEthSignedMessage(tempProposal, SignatureDomainSeparator.checkpointProposal);
388
+ const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty(), signatureContext);
389
+ const proposalHash = getHashedSignaturePayloadTypedData(tempProposal);
371
390
  const proposerSignature = proposalSignerToUse.sign(proposalHash);
372
391
  return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
373
392
  };
374
393
  /**
375
394
  * Create a checkpoint attestation from a checkpoint proposal
376
395
  */ export const makeCheckpointAttestationFromProposal = (proposal, attesterSigner)=>{
377
- const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive);
396
+ const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier, proposal.signatureContext);
378
397
  // Sign as attester
379
- const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
398
+ const attestationHash = getHashedSignaturePayloadTypedData(payload);
380
399
  const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
381
400
  const attestationSignature = attestationSigner.sign(attestationHash);
382
401
  // Use the proposal's signature as the proposer signature
@@ -387,9 +406,11 @@ export const makeCheckpointProposal = (options)=>{
387
406
  */ export const makeCheckpointAttestationFromCheckpoint = (checkpoint, attesterSigner, proposerSigner)=>{
388
407
  const header = checkpoint.header;
389
408
  const archive = checkpoint.archive.root;
409
+ const feeAssetPriceModifier = checkpoint.feeAssetPriceModifier;
390
410
  return makeCheckpointAttestation({
391
411
  header,
392
412
  archive,
413
+ feeAssetPriceModifier,
393
414
  attesterSigner,
394
415
  proposerSigner
395
416
  });
@@ -413,25 +434,3 @@ export const makeCheckpointProposal = (options)=>{
413
434
  proposerSigner
414
435
  });
415
436
  };
416
- export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
417
- const block = await L2Block.random(BlockNumber(l2BlockNumber));
418
- const l1 = L1PublishedData.fromFields({
419
- blockNumber: BigInt(block.number),
420
- timestamp: block.header.globalVariables.timestamp,
421
- blockHash: Buffer32.random().toString()
422
- });
423
- const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
424
- const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
425
- numBlocks: 0
426
- });
427
- checkpoint.blocks = [
428
- block
429
- ];
430
- const atts = signers.map((signer)=>makeCheckpointAttestation({
431
- signer,
432
- archive: block.archive.root,
433
- header: checkpoint.header
434
- }));
435
- const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
436
- return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
437
- }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Timetable constants used for sequencer timing calculations.
3
+ * These define the time budgets for various phases of block production.
4
+ *
5
+ * The sequencer slot is divided into phases:
6
+ * 1. Checkpoint initialization (sync + proposer check)
7
+ * 2. Block building (execution)
8
+ * 3. Checkpoint assembly
9
+ * 4. P2P propagation for proposal and attestations (round-trip)
10
+ * 5. L1 publishing
11
+ */
12
+ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */
13
+ export declare const CHECKPOINT_INITIALIZATION_TIME = 1;
14
+ /** Time budget for assembling a checkpoint after building the last block in seconds */
15
+ export declare const CHECKPOINT_ASSEMBLE_TIME = 1;
16
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */
17
+ export declare const DEFAULT_P2P_PROPAGATION_TIME = 2;
18
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */
19
+ export declare const DEFAULT_L1_PUBLISHING_TIME = 12;
20
+ /** Minimum execution time for building a block in seconds */
21
+ export declare const MIN_EXECUTION_TIME = 2;
22
+ export type CheckpointTimingConfig = {
23
+ aztecSlotDuration: number;
24
+ ethereumSlotDuration?: number;
25
+ blockDuration?: number;
26
+ checkpointAssembleTime?: number;
27
+ checkpointInitializationTime?: number;
28
+ l1PublishingTime?: number;
29
+ minExecutionTime?: number;
30
+ p2pPropagationTime?: number;
31
+ };
32
+ export interface CheckpointTiming {
33
+ readonly aztecSlotDuration: number;
34
+ readonly blockDuration: number | undefined;
35
+ readonly checkpointAssembleTime: number;
36
+ readonly checkpointInitializationTime: number;
37
+ readonly l1PublishingTime: number;
38
+ readonly minExecutionTime: number;
39
+ readonly p2pPropagationTime: number;
40
+ readonly checkpointFinalizationTime: number;
41
+ readonly pipeliningAttestationGracePeriod: number;
42
+ readonly timeReservedAtEnd: number;
43
+ readonly minimumBuildSlotWork: number;
44
+ readonly initializeDeadline: number;
45
+ readonly checkpointAssemblyDeadline: number;
46
+ readonly checkpointAttestationStartDeadline: number;
47
+ readonly checkpointAttestationDeadline: number;
48
+ readonly checkpointPublishingDeadline: number;
49
+ calculateMaxBlocksPerSlot(): number;
50
+ }
51
+ export interface PipelinedCheckpointTiming extends CheckpointTiming {
52
+ readonly proposalWindowIntoTargetSlot: number;
53
+ readonly attestationWindowIntoTargetSlot: number;
54
+ }
55
+ /**
56
+ * Creates a checkpoint timing model.
57
+ *
58
+ * Most callers should use this factory and depend only on the shared
59
+ * `CheckpointTiming` interface.
60
+ */
61
+ export declare function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming;
62
+ /**
63
+ * Creates a checkpoint timing model exposing the target-slot window accessors.
64
+ *
65
+ * Use this when the caller specifically needs the pipelined timing surface, such
66
+ * as proposal or attestation acceptance windows into the target slot.
67
+ */
68
+ export declare function createPipelinedCheckpointTimingModel(opts: CheckpointTimingConfig): PipelinedCheckpointTiming;
69
+ /**
70
+ * Calculates the maximum number of blocks that can be built in a slot.
71
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
72
+ *
73
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
74
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
75
+ * @param opts - Optional overrides for timing constants
76
+ * @returns Maximum number of blocks per slot
77
+ */
78
+ export declare function calculateMaxBlocksPerSlot(aztecSlotDurationSec: number, blockDurationSec: number | undefined, opts?: {
79
+ checkpointInitializationTime?: number;
80
+ checkpointAssembleTime?: number;
81
+ p2pPropagationTime?: number;
82
+ l1PublishingTime?: number;
83
+ }): number;
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1ldGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILG1GQUFtRjtBQUNuRixlQUFPLE1BQU0sOEJBQThCLElBQUksQ0FBQztBQUVoRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLHdCQUF3QixJQUFJLENBQUM7QUFFMUMscUZBQXFGO0FBQ3JGLGVBQU8sTUFBTSw0QkFBNEIsSUFBSSxDQUFDO0FBRTlDLHdGQUF3RjtBQUN4RixlQUFPLE1BQU0sMEJBQTBCLEtBQUssQ0FBQztBQUU3Qyw2REFBNkQ7QUFDN0QsZUFBTyxNQUFNLGtCQUFrQixJQUFJLENBQUM7QUFFcEMsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsUUFBUSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUNuQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDM0MsUUFBUSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUN4QyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0lBQzlDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUNsQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7SUFDNUMsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQztJQUNsRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQ25DLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDdEMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQzVDLFFBQVEsQ0FBQyxrQ0FBa0MsRUFBRSxNQUFNLENBQUM7SUFDcEQsUUFBUSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQztJQUMvQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0lBRTlDLHlCQUF5QixJQUFJLE1BQU0sQ0FBQztDQUNyQztBQUVELE1BQU0sV0FBVyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUFDakUsUUFBUSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUM5QyxRQUFRLENBQUMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0NBQ2xEO0FBaUhEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDJCQUEyQixDQUFDLElBQUksRUFBRSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FFMUY7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixvQ0FBb0MsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEdBQUcseUJBQXlCLENBTzVHO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsZ0JBQWdCLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDcEMsSUFBSSxHQUFFO0lBQ0osNEJBQTRCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEMsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDdEIsR0FDTCxNQUFNLENBU1IifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timetable/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAE9C,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,MAAM,CAAC;CAClD;AAiHD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,sBAAsB,GAAG,yBAAyB,CAO5G;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,IAAI,GAAE;IACJ,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtB,GACL,MAAM,CASR"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Timetable constants used for sequencer timing calculations.
3
+ * These define the time budgets for various phases of block production.
4
+ *
5
+ * The sequencer slot is divided into phases:
6
+ * 1. Checkpoint initialization (sync + proposer check)
7
+ * 2. Block building (execution)
8
+ * 3. Checkpoint assembly
9
+ * 4. P2P propagation for proposal and attestations (round-trip)
10
+ * 5. L1 publishing
11
+ */ /** Time budget for checkpoint initialization (sync + proposer check) in seconds */ export const CHECKPOINT_INITIALIZATION_TIME = 1;
12
+ /** Time budget for assembling a checkpoint after building the last block in seconds */ export const CHECKPOINT_ASSEMBLE_TIME = 1;
13
+ /** Default one-way P2P propagation time for proposals and attestations in seconds */ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
14
+ /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */ export const DEFAULT_L1_PUBLISHING_TIME = 12;
15
+ /** Minimum execution time for building a block in seconds */ export const MIN_EXECUTION_TIME = 2;
16
+ /**
17
+ * Checkpoint timing model for proposer pipelining.
18
+ *
19
+ * The build work starts at the wall-clock slot boundary and the checkpoint
20
+ * proposal is broadcast early enough that attestations complete by the end of
21
+ * the build slot. L1 submission can then be sent at the boundary of the target
22
+ * slot. The target-slot window getters are intended for consumers such as P2P
23
+ * validators that need to validate pipelined messages against wallclock time.
24
+ */ class CheckpointTimingModel {
25
+ aztecSlotDuration;
26
+ blockDuration;
27
+ checkpointAssembleTime;
28
+ checkpointInitializationTime;
29
+ l1PublishingTime;
30
+ minExecutionTime;
31
+ p2pPropagationTime;
32
+ ethereumSlotDuration;
33
+ constructor(opts){
34
+ this.aztecSlotDuration = opts.aztecSlotDuration;
35
+ this.blockDuration = opts.blockDuration;
36
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
37
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
38
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
39
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
40
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
41
+ this.ethereumSlotDuration = opts.ethereumSlotDuration ?? this.l1PublishingTime;
42
+ }
43
+ get checkpointFinalizationTime() {
44
+ // Allow enough time to
45
+ // - build the checkpoint
46
+ // - Round-trip over p2p
47
+ // - Publish to L1
48
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
49
+ }
50
+ get proposalWindowIntoTargetSlot() {
51
+ // Proposals no longer spill into the target slot: they are broadcast early
52
+ // enough in the build slot that attestations complete before the boundary.
53
+ // Any residual tolerance into the target slot is covered by clock disparity.
54
+ return 0;
55
+ }
56
+ get attestationWindowIntoTargetSlot() {
57
+ // Span from the target-slot start to the L1 publish deadline (12s before the last L1 block of
58
+ // the target slot). The p2p layer accepts slot-N attestations until right before the publish
59
+ // deadline so the proposer can keep collecting useful attestations up to the latest moment the
60
+ // checkpoint can still land on L1 in the target slot.
61
+ return Math.max(0, this.aztecSlotDuration - 2 * this.ethereumSlotDuration);
62
+ }
63
+ get pipeliningAttestationGracePeriod() {
64
+ // Under the early-pipelining regime attestations complete inside the build slot itself. Local
65
+ // networks can publish much faster than the Ethereum slot geometry, so they may use the target
66
+ // slot attestation window without moving the L1 publish cutoff.
67
+ return this.l1PublishingTime < this.ethereumSlotDuration ? this.attestationWindowIntoTargetSlot : 0;
68
+ }
69
+ get timeReservedAtEnd() {
70
+ // Reserve enough time at the end of the build slot for:
71
+ // - assembling and broadcasting the checkpoint proposal
72
+ // - round-trip p2p propagation (proposal out, attestations back)
73
+ // - validators re-executing the last block
74
+ return this.checkpointAssembleTime + 2 * this.p2pPropagationTime + (this.blockDuration ?? 0);
75
+ }
76
+ get minimumBuildSlotWork() {
77
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
78
+ }
79
+ get initializeDeadline() {
80
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
81
+ }
82
+ get checkpointAssemblyDeadline() {
83
+ // Allow enough time to build all blocks and receive attestations. With
84
+ // `pipeliningAttestationGracePeriod = 0` this equals `aztecSlotDuration`.
85
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
86
+ }
87
+ get checkpointAttestationStartDeadline() {
88
+ return this.checkpointAssemblyDeadline;
89
+ }
90
+ get checkpointAttestationDeadline() {
91
+ // L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
92
+ // the latest the checkpoint can be submitted and still land on L1 in the target slot. This is an
93
+ // L1-geometry bound (ethereumSlotDuration), matching the publisher's send lead in sendRequestsAt
94
+ // (which also targets one Ethereum slot before the target slot start).
95
+ return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
96
+ }
97
+ get checkpointPublishingDeadline() {
98
+ // L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
99
+ // the latest the checkpoint can be submitted and still land on L1 in the target slot.
100
+ return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
101
+ }
102
+ calculateMaxBlocksPerSlot() {
103
+ if (!this.blockDuration) {
104
+ return 1;
105
+ }
106
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
107
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
108
+ }
109
+ }
110
+ /**
111
+ * Creates a checkpoint timing model.
112
+ *
113
+ * Most callers should use this factory and depend only on the shared
114
+ * `CheckpointTiming` interface.
115
+ */ export function createCheckpointTimingModel(opts) {
116
+ return createPipelinedCheckpointTimingModel(opts);
117
+ }
118
+ /**
119
+ * Creates a checkpoint timing model exposing the target-slot window accessors.
120
+ *
121
+ * Use this when the caller specifically needs the pipelined timing surface, such
122
+ * as proposal or attestation acceptance windows into the target slot.
123
+ */ export function createPipelinedCheckpointTimingModel(opts) {
124
+ validateCheckpointTimingConfig(opts);
125
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
126
+ const timing = new CheckpointTimingModel(normalizedOpts);
127
+ validateCheckpointTimingModel(timing);
128
+ return timing;
129
+ }
130
+ /**
131
+ * Calculates the maximum number of blocks that can be built in a slot.
132
+ * Used by both the sequencer timetable and p2p gossipsub scoring.
133
+ *
134
+ * @param aztecSlotDurationSec - Aztec slot duration in seconds
135
+ * @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
136
+ * @param opts - Optional overrides for timing constants
137
+ * @returns Maximum number of blocks per slot
138
+ */ export function calculateMaxBlocksPerSlot(aztecSlotDurationSec, blockDurationSec, opts = {}) {
139
+ return createCheckpointTimingModel({
140
+ aztecSlotDuration: aztecSlotDurationSec,
141
+ blockDuration: blockDurationSec,
142
+ checkpointAssembleTime: opts.checkpointAssembleTime,
143
+ checkpointInitializationTime: opts.checkpointInitializationTime,
144
+ l1PublishingTime: opts.l1PublishingTime,
145
+ p2pPropagationTime: opts.p2pPropagationTime
146
+ }).calculateMaxBlocksPerSlot();
147
+ }
148
+ function assertNonNegative(name, value) {
149
+ if (value < 0) {
150
+ throw new Error(`${name} must be non-negative (got ${value})`);
151
+ }
152
+ }
153
+ function validateCheckpointTimingConfig(opts) {
154
+ if (opts.aztecSlotDuration <= 0) {
155
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
156
+ }
157
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
158
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
159
+ }
160
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
161
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
162
+ }
163
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
164
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
165
+ }
166
+ if (opts.checkpointAssembleTime !== undefined) {
167
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
168
+ }
169
+ if (opts.checkpointInitializationTime !== undefined) {
170
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
171
+ }
172
+ if (opts.l1PublishingTime !== undefined) {
173
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
174
+ }
175
+ if (opts.p2pPropagationTime !== undefined) {
176
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
177
+ }
178
+ }
179
+ function normalizeCheckpointTimingConfig(opts) {
180
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
181
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
182
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
183
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
184
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
185
+ p2pPropagationTime = 0;
186
+ checkpointAssembleTime = 0.5;
187
+ checkpointInitializationTime = 0.5;
188
+ minExecutionTime = 1;
189
+ }
190
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
191
+ minExecutionTime = opts.blockDuration;
192
+ }
193
+ return {
194
+ ...opts,
195
+ checkpointAssembleTime,
196
+ checkpointInitializationTime,
197
+ minExecutionTime,
198
+ p2pPropagationTime
199
+ };
200
+ }
201
+ function validateCheckpointTimingModel(model) {
202
+ if (model.blockDuration === undefined) {
203
+ return;
204
+ }
205
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
206
+ if (timeAvailableForBlocks < model.blockDuration) {
207
+ throw new Error(`Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`);
208
+ }
209
+ }
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, FieldReader } from '@aztec/foundation/serialize';
3
3
  import { inspect } from 'util';
4
4
  import { z } from 'zod';
5
5
  import type { UInt32 } from '../types/shared.js';
@@ -38,21 +38,16 @@ export declare class AppendOnlyTreeSnapshot {
38
38
  * preserved when verifying state transitions.
39
39
  */
40
40
  nextAvailableLeafIndex: UInt32);
41
- static get schema(): z.ZodEffects<z.ZodObject<{
42
- root: z.ZodType<Fr, any, string>;
43
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
44
- }, "strip", z.ZodTypeAny, {
41
+ static get schema(): z.ZodPipe<z.ZodObject<{
42
+ root: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
43
+ nextAvailableLeafIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
44
+ }, z.core.$strip>, z.ZodTransform<AppendOnlyTreeSnapshot, {
45
45
  root: Fr;
46
46
  nextAvailableLeafIndex: number;
47
- }, {
48
- root: string;
49
- nextAvailableLeafIndex: string | number | bigint;
50
- }>, AppendOnlyTreeSnapshot, {
51
- root: string;
52
- nextAvailableLeafIndex: string | number | bigint;
53
- }>;
47
+ }>>;
54
48
  getSize(): number;
55
- toBuffer(): Buffer<ArrayBufferLike>;
49
+ toBuffer(): Buffer;
50
+ toBuffer(sink: BufferSink): void;
56
51
  toFields(): Fr[];
57
52
  toString(): string;
58
53
  static fromBuffer(buffer: Buffer | BufferReader): AppendOnlyTreeSnapshot;
@@ -73,4 +68,4 @@ export declare class AppendOnlyTreeSnapshot {
73
68
  equals(other: this): boolean;
74
69
  static random(): AppendOnlyTreeSnapshot;
75
70
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kX29ubHlfdHJlZV9zbmFwc2hvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2FwcGVuZF9vbmx5X3RyZWVfc25hcHNob3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRzNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gscUJBQWEsc0JBQXNCO0lBRS9COztPQUVHO0lBQ0ksSUFBSSxFQUFFLEVBQUU7SUFDZjs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixFQUFFLE1BQU07SUFkdkM7SUFDRTs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7Ozs7Ozs7O09BUUc7SUFDSSxzQkFBc0IsRUFBRSxNQUFNLEVBQ25DO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7OztPQU9oQjtJQUVELE9BQU8sV0FFTjtJQUVELFFBQVEsNEJBRVA7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsc0JBQXNCLENBR3ZFO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLHNCQUFzQixDQUVyRDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxzQkFBc0IsQ0FJcEU7SUFFRCxLQUFLLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUUvQjtJQUVELE1BQU0sQ0FBQyxLQUFLLDJCQUVYO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHNCQUFzQixDQUV2RDtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBSWY7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksV0FFeEI7SUFFRCxNQUFNLENBQUMsTUFBTSwyQkFFWjtDQUNGIn0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kX29ubHlfdHJlZV9zbmFwc2hvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2FwcGVuZF9vbmx5X3RyZWVfc25hcHNob3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQztBQUdyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILHFCQUFhLHNCQUFzQjtJQUUvQjs7T0FFRztJQUNJLElBQUksRUFBRSxFQUFFO0lBQ2Y7Ozs7Ozs7O09BUUc7SUFDSSxzQkFBc0IsRUFBRSxNQUFNO0lBZHZDO0lBQ0U7O09BRUc7SUFDSSxJQUFJLEVBQUUsRUFBRTtJQUNmOzs7Ozs7OztPQVFHO0lBQ0ksc0JBQXNCLEVBQUUsTUFBTSxFQUNuQztJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7UUFPaEI7SUFFRCxPQUFPLFdBRU47SUFFRCxRQUFRLElBQUksTUFBTSxDQUFDO0lBQ25CLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FBQztJQVFqQyxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsc0JBQXNCLENBR3ZFO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLHNCQUFzQixDQUVyRDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxzQkFBc0IsQ0FJcEU7SUFFRCxLQUFLLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUUvQjtJQUVELE1BQU0sQ0FBQyxLQUFLLDJCQUVYO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHNCQUFzQixDQUV2RDtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBSWY7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksV0FFeEI7SUFFRCxNQUFNLENBQUMsTUFBTSwyQkFFWjtDQUNGIn0=