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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1048) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +653 -5446
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/message_pack.js +12 -3
  57. package/dest/avm/public_data_write.d.ts +6 -12
  58. package/dest/avm/public_data_write.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +6 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +13 -21
  62. package/dest/aztec-address/index.d.ts +8 -8
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +9 -6
  65. package/dest/block/attestation_info.d.ts +3 -2
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +7 -5
  68. package/dest/block/block_data.d.ts +27 -0
  69. package/dest/block/block_data.d.ts.map +1 -0
  70. package/dest/block/block_data.js +12 -0
  71. package/dest/block/block_hash.d.ts +11 -10
  72. package/dest/block/block_hash.d.ts.map +1 -1
  73. package/dest/block/block_hash.js +10 -9
  74. package/dest/block/block_parameter.d.ts +37 -4
  75. package/dest/block/block_parameter.d.ts.map +1 -1
  76. package/dest/block/block_parameter.js +53 -2
  77. package/dest/block/in_block.d.ts +5 -24
  78. package/dest/block/in_block.d.ts.map +1 -1
  79. package/dest/block/in_block.js +1 -1
  80. package/dest/block/index.d.ts +2 -2
  81. package/dest/block/index.d.ts.map +1 -1
  82. package/dest/block/index.js +1 -1
  83. package/dest/block/l2_block.d.ts +21 -41
  84. package/dest/block/l2_block.d.ts.map +1 -1
  85. package/dest/block/l2_block.js +12 -2
  86. package/dest/block/l2_block_info.d.ts +10 -29
  87. package/dest/block/l2_block_info.d.ts.map +1 -1
  88. package/dest/block/l2_block_info.js +6 -5
  89. package/dest/block/l2_block_source.d.ts +216 -338
  90. package/dest/block/l2_block_source.d.ts.map +1 -1
  91. package/dest/block/l2_block_source.js +67 -1
  92. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  93. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  95. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  100. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  101. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  102. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  103. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  104. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  105. package/dest/block/proposal/attestations_and_signers.js +26 -18
  106. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  107. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  108. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  111. package/dest/checkpoint/checkpoint.d.ts +48 -99
  112. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint.js +41 -17
  114. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  115. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  116. package/dest/checkpoint/checkpoint_data.js +38 -0
  117. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  118. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  119. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  120. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  121. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  122. package/dest/checkpoint/digest.d.ts +18 -0
  123. package/dest/checkpoint/digest.d.ts.map +1 -0
  124. package/dest/checkpoint/digest.js +12 -0
  125. package/dest/checkpoint/index.d.ts +6 -1
  126. package/dest/checkpoint/index.d.ts.map +1 -1
  127. package/dest/checkpoint/index.js +5 -0
  128. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  129. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  130. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  131. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  132. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  133. package/dest/checkpoint/published_checkpoint.js +1 -2
  134. package/dest/checkpoint/validate.d.ts +36 -0
  135. package/dest/checkpoint/validate.d.ts.map +1 -0
  136. package/dest/checkpoint/validate.js +120 -0
  137. package/dest/config/chain-config.d.ts +4 -9
  138. package/dest/config/chain-config.d.ts.map +1 -1
  139. package/dest/config/chain-config.js +13 -12
  140. package/dest/config/index.d.ts +2 -1
  141. package/dest/config/index.d.ts.map +1 -1
  142. package/dest/config/index.js +1 -0
  143. package/dest/config/sequencer-config.d.ts +14 -0
  144. package/dest/config/sequencer-config.d.ts.map +1 -0
  145. package/dest/config/sequencer-config.js +38 -0
  146. package/dest/contract/complete_address.d.ts +3 -2
  147. package/dest/contract/complete_address.d.ts.map +1 -1
  148. package/dest/contract/complete_address.js +6 -2
  149. package/dest/contract/contract_address.d.ts +6 -6
  150. package/dest/contract/contract_address.d.ts.map +1 -1
  151. package/dest/contract/contract_address.js +9 -8
  152. package/dest/contract/contract_class.d.ts +2 -3
  153. package/dest/contract/contract_class.d.ts.map +1 -1
  154. package/dest/contract/contract_class_id.d.ts +3 -3
  155. package/dest/contract/contract_class_id.d.ts.map +1 -1
  156. package/dest/contract/contract_class_id.js +7 -6
  157. package/dest/contract/contract_deployment_data.d.ts +15 -61
  158. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  159. package/dest/contract/contract_instance.d.ts +4 -2
  160. package/dest/contract/contract_instance.d.ts.map +1 -1
  161. package/dest/contract/contract_instance.js +10 -3
  162. package/dest/contract/index.d.ts +1 -3
  163. package/dest/contract/index.d.ts.map +1 -1
  164. package/dest/contract/index.js +0 -2
  165. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  166. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  167. package/dest/contract/interfaces/contract_class.js +1 -28
  168. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  169. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  170. package/dest/contract/interfaces/contract_instance.js +4 -2
  171. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  172. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  173. package/dest/contract/interfaces/node-info.d.ts +3 -1
  174. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  175. package/dest/contract/interfaces/node-info.js +2 -1
  176. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  177. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  178. package/dest/contract/private_function.d.ts +1 -1
  179. package/dest/contract/private_function.d.ts.map +1 -1
  180. package/dest/contract/private_function.js +4 -6
  181. package/dest/database-version/database_version.d.ts +5 -11
  182. package/dest/database-version/database_version.d.ts.map +1 -1
  183. package/dest/database-version/version_manager.d.ts +6 -2
  184. package/dest/database-version/version_manager.d.ts.map +1 -1
  185. package/dest/database-version/version_manager.js +12 -1
  186. package/dest/epoch-helpers/index.d.ts +14 -18
  187. package/dest/epoch-helpers/index.d.ts.map +1 -1
  188. package/dest/epoch-helpers/index.js +18 -2
  189. package/dest/file-store/factory.d.ts +4 -3
  190. package/dest/file-store/factory.d.ts.map +1 -1
  191. package/dest/file-store/factory.js +2 -2
  192. package/dest/file-store/http.d.ts +9 -2
  193. package/dest/file-store/http.d.ts.map +1 -1
  194. package/dest/file-store/http.js +20 -9
  195. package/dest/file-store/index.d.ts +2 -1
  196. package/dest/file-store/index.d.ts.map +1 -1
  197. package/dest/file-store/local.d.ts +3 -3
  198. package/dest/file-store/local.d.ts.map +1 -1
  199. package/dest/file-store/local.js +13 -4
  200. package/dest/file-store/s3.d.ts +1 -1
  201. package/dest/file-store/s3.d.ts.map +1 -1
  202. package/dest/file-store/s3.js +11 -3
  203. package/dest/gas/fee_math.d.ts +49 -0
  204. package/dest/gas/fee_math.d.ts.map +1 -0
  205. package/dest/gas/fee_math.js +80 -0
  206. package/dest/gas/gas.d.ts +9 -14
  207. package/dest/gas/gas.d.ts.map +1 -1
  208. package/dest/gas/gas.js +6 -3
  209. package/dest/gas/gas_fees.d.ts +13 -14
  210. package/dest/gas/gas_fees.d.ts.map +1 -1
  211. package/dest/gas/gas_fees.js +20 -4
  212. package/dest/gas/gas_settings.d.ts +66 -86
  213. package/dest/gas/gas_settings.d.ts.map +1 -1
  214. package/dest/gas/gas_settings.js +56 -9
  215. package/dest/gas/index.d.ts +2 -1
  216. package/dest/gas/index.d.ts.map +1 -1
  217. package/dest/gas/index.js +1 -0
  218. package/dest/ha-signing/config.d.ts +72 -0
  219. package/dest/ha-signing/config.d.ts.map +1 -0
  220. package/dest/ha-signing/config.js +88 -0
  221. package/dest/ha-signing/index.d.ts +4 -0
  222. package/dest/ha-signing/index.d.ts.map +1 -0
  223. package/dest/ha-signing/index.js +3 -0
  224. package/dest/ha-signing/local_config.d.ts +32 -0
  225. package/dest/ha-signing/local_config.d.ts.map +1 -0
  226. package/dest/ha-signing/local_config.js +24 -0
  227. package/dest/ha-signing/types.d.ts +90 -0
  228. package/dest/ha-signing/types.d.ts.map +1 -0
  229. package/dest/ha-signing/types.js +39 -0
  230. package/dest/hash/hash.d.ts +35 -1
  231. package/dest/hash/hash.d.ts.map +1 -1
  232. package/dest/hash/hash.js +78 -11
  233. package/dest/hash/map_slot.js +2 -2
  234. package/dest/interfaces/allowed_element.d.ts +17 -35
  235. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  236. package/dest/interfaces/allowed_element.js +8 -8
  237. package/dest/interfaces/api_limit.d.ts +1 -1
  238. package/dest/interfaces/api_limit.js +1 -1
  239. package/dest/interfaces/archiver.d.ts +22 -32
  240. package/dest/interfaces/archiver.d.ts.map +1 -1
  241. package/dest/interfaces/archiver.js +215 -65
  242. package/dest/interfaces/aztec-node-admin.d.ts +106 -255
  243. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  244. package/dest/interfaces/aztec-node-admin.js +68 -17
  245. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  246. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  247. package/dest/interfaces/aztec-node-debug.js +21 -0
  248. package/dest/interfaces/aztec-node.d.ts +140 -124
  249. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  250. package/dest/interfaces/aztec-node.js +311 -68
  251. package/dest/interfaces/block-builder.d.ts +41 -12
  252. package/dest/interfaces/block-builder.d.ts.map +1 -1
  253. package/dest/interfaces/block-builder.js +13 -6
  254. package/dest/interfaces/block_response.d.ts +90 -0
  255. package/dest/interfaces/block_response.d.ts.map +1 -0
  256. package/dest/interfaces/block_response.js +30 -0
  257. package/dest/interfaces/chain_tips.d.ts +50 -0
  258. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  259. package/dest/interfaces/chain_tips.js +11 -0
  260. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  261. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  262. package/dest/interfaces/checkpoint_parameter.js +18 -0
  263. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  264. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  265. package/dest/interfaces/checkpoint_response.js +26 -0
  266. package/dest/interfaces/client.d.ts +8 -2
  267. package/dest/interfaces/client.d.ts.map +1 -1
  268. package/dest/interfaces/client.js +7 -1
  269. package/dest/interfaces/configs.d.ts +73 -117
  270. package/dest/interfaces/configs.d.ts.map +1 -1
  271. package/dest/interfaces/configs.js +18 -3
  272. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  273. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  274. package/dest/interfaces/l1_publish_info.js +26 -0
  275. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  276. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  277. package/dest/interfaces/l2_logs_source.js +5 -0
  278. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  279. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  280. package/dest/interfaces/p2p-bootstrap.js +8 -2
  281. package/dest/interfaces/p2p.d.ts +18 -13
  282. package/dest/interfaces/p2p.d.ts.map +1 -1
  283. package/dest/interfaces/p2p.js +28 -5
  284. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  285. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  286. package/dest/interfaces/prover-agent.d.ts +5 -23
  287. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  288. package/dest/interfaces/prover-agent.js +4 -1
  289. package/dest/interfaces/prover-broker.d.ts +16 -1
  290. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  291. package/dest/interfaces/prover-broker.js +4 -1
  292. package/dest/interfaces/prover-client.d.ts +12 -23
  293. package/dest/interfaces/prover-client.d.ts.map +1 -1
  294. package/dest/interfaces/prover-client.js +12 -4
  295. package/dest/interfaces/prover-node.js +22 -8
  296. package/dest/interfaces/proving-job-source.js +24 -4
  297. package/dest/interfaces/proving-job.d.ts +742 -5793
  298. package/dest/interfaces/proving-job.d.ts.map +1 -1
  299. package/dest/interfaces/proving-job.js +1 -1
  300. package/dest/interfaces/public_storage_override.d.ts +22 -0
  301. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  302. package/dest/interfaces/public_storage_override.js +7 -0
  303. package/dest/interfaces/server.d.ts +6 -1
  304. package/dest/interfaces/server.d.ts.map +1 -1
  305. package/dest/interfaces/server.js +5 -0
  306. package/dest/interfaces/slasher.d.ts +27 -59
  307. package/dest/interfaces/slasher.d.ts.map +1 -1
  308. package/dest/interfaces/slasher.js +10 -4
  309. package/dest/interfaces/tx_provider.d.ts +6 -1
  310. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  311. package/dest/interfaces/validator.d.ts +76 -168
  312. package/dest/interfaces/validator.d.ts.map +1 -1
  313. package/dest/interfaces/validator.js +16 -5
  314. package/dest/interfaces/world_state.d.ts +6 -5
  315. package/dest/interfaces/world_state.d.ts.map +1 -1
  316. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  317. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  318. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  319. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  320. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  321. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  322. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  323. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  324. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  325. package/dest/kernel/hints/index.d.ts +2 -2
  326. package/dest/kernel/hints/index.js +2 -2
  327. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  328. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  329. package/dest/kernel/hints/key_validation_request.js +20 -18
  330. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  331. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  332. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  333. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  334. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  335. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  336. package/dest/kernel/index.d.ts +5 -1
  337. package/dest/kernel/index.d.ts.map +1 -1
  338. package/dest/kernel/index.js +4 -0
  339. package/dest/kernel/log_hash.d.ts +6 -2
  340. package/dest/kernel/log_hash.d.ts.map +1 -1
  341. package/dest/kernel/log_hash.js +21 -9
  342. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  343. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  344. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  345. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  346. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  347. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  348. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  349. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  350. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  351. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  352. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  353. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  354. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  355. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  356. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  357. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  358. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  359. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  360. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  361. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  362. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  363. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  364. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  365. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  366. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  367. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  368. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  369. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  370. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  371. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  372. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  373. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  374. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  375. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  376. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  377. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  378. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  379. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  380. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  381. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  382. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  383. package/dest/kernel/private_validation_requests.d.ts +3 -3
  384. package/dest/kernel/private_validation_requests.js +9 -9
  385. package/dest/kernel/public_call_request.d.ts +15 -30
  386. package/dest/kernel/public_call_request.d.ts.map +1 -1
  387. package/dest/kernel/public_call_request.js +16 -7
  388. package/dest/keys/derivation.d.ts +9 -5
  389. package/dest/keys/derivation.d.ts.map +1 -1
  390. package/dest/keys/derivation.js +28 -18
  391. package/dest/keys/key_types.d.ts +3 -3
  392. package/dest/keys/key_types.d.ts.map +1 -1
  393. package/dest/keys/public_key.d.ts +22 -3
  394. package/dest/keys/public_key.d.ts.map +1 -1
  395. package/dest/keys/public_key.js +20 -1
  396. package/dest/keys/public_keys.d.ts +55 -82
  397. package/dest/keys/public_keys.d.ts.map +1 -1
  398. package/dest/keys/public_keys.js +102 -74
  399. package/dest/keys/utils.d.ts +1 -1
  400. package/dest/keys/utils.d.ts.map +1 -1
  401. package/dest/keys/utils.js +8 -4
  402. package/dest/kv-store/config.d.ts +14 -0
  403. package/dest/kv-store/config.d.ts.map +1 -0
  404. package/dest/kv-store/config.js +21 -0
  405. package/dest/kv-store/index.d.ts +2 -0
  406. package/dest/kv-store/index.d.ts.map +1 -0
  407. package/dest/kv-store/index.js +1 -0
  408. package/dest/l1-contracts/index.d.ts +2 -2
  409. package/dest/l1-contracts/index.d.ts.map +1 -1
  410. package/dest/l1-contracts/index.js +1 -1
  411. package/dest/logs/app_tagging_secret.d.ts +46 -0
  412. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  413. package/dest/logs/app_tagging_secret.js +109 -0
  414. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  415. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  416. package/dest/logs/app_tagging_secret_kind.js +17 -0
  417. package/dest/logs/contract_class_log.d.ts +16 -34
  418. package/dest/logs/contract_class_log.d.ts.map +1 -1
  419. package/dest/logs/contract_class_log.js +11 -9
  420. package/dest/logs/debug_log_store.d.ts +30 -0
  421. package/dest/logs/debug_log_store.d.ts.map +1 -0
  422. package/dest/logs/debug_log_store.js +30 -0
  423. package/dest/logs/index.d.ts +9 -7
  424. package/dest/logs/index.d.ts.map +1 -1
  425. package/dest/logs/index.js +8 -6
  426. package/dest/logs/log_cursor.d.ts +51 -0
  427. package/dest/logs/log_cursor.d.ts.map +1 -0
  428. package/dest/logs/log_cursor.js +82 -0
  429. package/dest/logs/log_result.d.ts +54 -0
  430. package/dest/logs/log_result.d.ts.map +1 -0
  431. package/dest/logs/log_result.js +56 -0
  432. package/dest/logs/logs_query.d.ts +82 -0
  433. package/dest/logs/logs_query.d.ts.map +1 -0
  434. package/dest/logs/logs_query.js +50 -0
  435. package/dest/logs/message_context.d.ts +6 -8
  436. package/dest/logs/message_context.d.ts.map +1 -1
  437. package/dest/logs/message_context.js +27 -9
  438. package/dest/logs/pending_tagged_log.d.ts +2 -3
  439. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  440. package/dest/logs/pending_tagged_log.js +2 -2
  441. package/dest/logs/pre_tag.d.ts +14 -22
  442. package/dest/logs/pre_tag.d.ts.map +1 -1
  443. package/dest/logs/pre_tag.js +2 -2
  444. package/dest/logs/private_log.d.ts +8 -13
  445. package/dest/logs/private_log.d.ts.map +1 -1
  446. package/dest/logs/private_log.js +6 -3
  447. package/dest/logs/public_log.d.ts +4 -3
  448. package/dest/logs/public_log.d.ts.map +1 -1
  449. package/dest/logs/public_log.js +2 -1
  450. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  451. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  452. package/dest/logs/query_all_logs_by_tags.js +64 -0
  453. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  454. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  455. package/dest/logs/shared_secret_derivation.js +15 -9
  456. package/dest/logs/siloed_tag.d.ts +12 -9
  457. package/dest/logs/siloed_tag.d.ts.map +1 -1
  458. package/dest/logs/siloed_tag.js +18 -7
  459. package/dest/logs/tag.d.ts +5 -6
  460. package/dest/logs/tag.d.ts.map +1 -1
  461. package/dest/logs/tag.js +5 -1
  462. package/dest/logs/tagging_index_range.d.ts +22 -0
  463. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  464. package/dest/logs/tagging_index_range.js +8 -0
  465. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  466. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  467. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  468. package/dest/messaging/index.d.ts +2 -1
  469. package/dest/messaging/index.d.ts.map +1 -1
  470. package/dest/messaging/index.js +1 -0
  471. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  472. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  473. package/dest/messaging/l1_to_l2_message.js +11 -13
  474. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  475. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  476. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  477. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  478. package/dest/messaging/l2_to_l1_membership.js +133 -30
  479. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  480. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  481. package/dest/messaging/l2_to_l1_message.js +21 -12
  482. package/dest/noir/index.d.ts +5 -3
  483. package/dest/noir/index.d.ts.map +1 -1
  484. package/dest/note/index.d.ts +1 -2
  485. package/dest/note/index.d.ts.map +1 -1
  486. package/dest/note/index.js +0 -1
  487. package/dest/note/note.d.ts +2 -2
  488. package/dest/note/note.d.ts.map +1 -1
  489. package/dest/note/note_dao.d.ts +1 -1
  490. package/dest/note/note_dao.d.ts.map +1 -1
  491. package/dest/note/note_dao.js +1 -4
  492. package/dest/p2p/attestation_utils.d.ts +11 -1
  493. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  494. package/dest/p2p/attestation_utils.js +45 -0
  495. package/dest/p2p/block_proposal.d.ts +32 -15
  496. package/dest/p2p/block_proposal.d.ts.map +1 -1
  497. package/dest/p2p/block_proposal.js +58 -42
  498. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  499. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  500. package/dest/p2p/checkpoint_attestation.js +23 -24
  501. package/dest/p2p/checkpoint_proposal.d.ts +50 -24
  502. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  503. package/dest/p2p/checkpoint_proposal.js +77 -65
  504. package/dest/p2p/client_type.d.ts +2 -5
  505. package/dest/p2p/client_type.d.ts.map +1 -1
  506. package/dest/p2p/client_type.js +0 -7
  507. package/dest/p2p/consensus_payload.d.ts +32 -17
  508. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  509. package/dest/p2p/consensus_payload.js +47 -21
  510. package/dest/p2p/constants.d.ts +3 -1
  511. package/dest/p2p/constants.d.ts.map +1 -1
  512. package/dest/p2p/constants.js +1 -0
  513. package/dest/p2p/gossipable.d.ts +4 -4
  514. package/dest/p2p/gossipable.d.ts.map +1 -1
  515. package/dest/p2p/index.d.ts +1 -2
  516. package/dest/p2p/index.d.ts.map +1 -1
  517. package/dest/p2p/index.js +0 -1
  518. package/dest/p2p/peer_error.d.ts +3 -1
  519. package/dest/p2p/peer_error.d.ts.map +1 -1
  520. package/dest/p2p/peer_error.js +5 -0
  521. package/dest/p2p/signature_utils.d.ts +28 -19
  522. package/dest/p2p/signature_utils.d.ts.map +1 -1
  523. package/dest/p2p/signature_utils.js +118 -21
  524. package/dest/p2p/signed_txs.d.ts +15 -13
  525. package/dest/p2p/signed_txs.d.ts.map +1 -1
  526. package/dest/p2p/signed_txs.js +26 -24
  527. package/dest/p2p/topic_type.d.ts +3 -4
  528. package/dest/p2p/topic_type.d.ts.map +1 -1
  529. package/dest/p2p/topic_type.js +7 -24
  530. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  531. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  532. package/dest/parity/parity_base_private_inputs.js +7 -5
  533. package/dest/parity/parity_public_inputs.d.ts +8 -4
  534. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  535. package/dest/parity/parity_public_inputs.js +6 -3
  536. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  537. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  538. package/dest/proofs/chonk_proof.d.ts +57 -7
  539. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  540. package/dest/proofs/chonk_proof.js +112 -15
  541. package/dest/proofs/recursive_proof.d.ts +2 -2
  542. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  543. package/dest/rollup/block_headers_hash.d.ts +1 -1
  544. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  545. package/dest/rollup/block_headers_hash.js +8 -2
  546. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  547. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  548. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  549. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  550. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  551. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  552. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  553. package/dest/rollup/checkpoint_header.d.ts +2 -2
  554. package/dest/rollup/checkpoint_header.js +2 -2
  555. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  556. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  557. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  558. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  559. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  560. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  561. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  562. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  565. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  567. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  568. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  569. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  570. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  571. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  572. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  573. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  574. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  575. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  576. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  577. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  578. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  579. package/dest/schemas/schemas.d.ts +32 -78
  580. package/dest/schemas/schemas.d.ts.map +1 -1
  581. package/dest/schemas/schemas.js +2 -2
  582. package/dest/slashing/helpers.d.ts +2 -2
  583. package/dest/slashing/helpers.d.ts.map +1 -1
  584. package/dest/slashing/helpers.js +16 -7
  585. package/dest/slashing/index.d.ts +2 -3
  586. package/dest/slashing/index.d.ts.map +1 -1
  587. package/dest/slashing/index.js +1 -2
  588. package/dest/slashing/serialization.d.ts +2 -6
  589. package/dest/slashing/serialization.d.ts.map +1 -1
  590. package/dest/slashing/serialization.js +0 -60
  591. package/dest/slashing/types.d.ts +21 -111
  592. package/dest/slashing/types.d.ts.map +1 -1
  593. package/dest/slashing/types.js +28 -24
  594. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  595. package/dest/slashing/votes.d.ts.map +1 -0
  596. package/dest/slashing/{tally.js → votes.js} +35 -3
  597. package/dest/snapshots/types.d.ts +15 -78
  598. package/dest/snapshots/types.d.ts.map +1 -1
  599. package/dest/stats/stats.d.ts +2 -2
  600. package/dest/stats/stats.d.ts.map +1 -1
  601. package/dest/tests/factories.d.ts +25 -30
  602. package/dest/tests/factories.d.ts.map +1 -1
  603. package/dest/tests/factories.js +94 -86
  604. package/dest/tests/mocks.d.ts +15 -7
  605. package/dest/tests/mocks.d.ts.map +1 -1
  606. package/dest/tests/mocks.js +68 -70
  607. package/dest/timetable/index.d.ts +84 -0
  608. package/dest/timetable/index.d.ts.map +1 -0
  609. package/dest/timetable/index.js +209 -0
  610. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  611. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  612. package/dest/trees/append_only_tree_snapshot.js +6 -3
  613. package/dest/trees/nullifier_leaf.d.ts +19 -42
  614. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  615. package/dest/trees/nullifier_leaf.js +3 -0
  616. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  617. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  618. package/dest/trees/nullifier_membership_witness.js +2 -14
  619. package/dest/trees/public_data_leaf.d.ts +22 -53
  620. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  621. package/dest/trees/public_data_leaf.js +7 -6
  622. package/dest/trees/public_data_witness.d.ts +16 -58
  623. package/dest/trees/public_data_witness.d.ts.map +1 -1
  624. package/dest/tx/block_header.d.ts +7 -4
  625. package/dest/tx/block_header.d.ts.map +1 -1
  626. package/dest/tx/block_header.js +13 -6
  627. package/dest/tx/call_context.d.ts +4 -14
  628. package/dest/tx/call_context.d.ts.map +1 -1
  629. package/dest/tx/capsule.d.ts +7 -3
  630. package/dest/tx/capsule.d.ts.map +1 -1
  631. package/dest/tx/capsule.js +9 -3
  632. package/dest/tx/fee_provider.d.ts +10 -0
  633. package/dest/tx/fee_provider.d.ts.map +1 -0
  634. package/dest/tx/fee_provider.js +1 -0
  635. package/dest/tx/function_data.d.ts +4 -10
  636. package/dest/tx/function_data.d.ts.map +1 -1
  637. package/dest/tx/global_variable_builder.d.ts +3 -4
  638. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  639. package/dest/tx/global_variables.d.ts +19 -52
  640. package/dest/tx/global_variables.d.ts.map +1 -1
  641. package/dest/tx/global_variables.js +8 -12
  642. package/dest/tx/hashed_values.d.ts +4 -3
  643. package/dest/tx/hashed_values.d.ts.map +1 -1
  644. package/dest/tx/hashed_values.js +6 -3
  645. package/dest/tx/in_tx.d.ts +5 -17
  646. package/dest/tx/in_tx.d.ts.map +1 -1
  647. package/dest/tx/index.d.ts +2 -1
  648. package/dest/tx/index.d.ts.map +1 -1
  649. package/dest/tx/index.js +1 -0
  650. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  651. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  652. package/dest/tx/indexed_tx_effect.js +9 -6
  653. package/dest/tx/partial_state_reference.d.ts +22 -65
  654. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  655. package/dest/tx/partial_state_reference.js +6 -3
  656. package/dest/tx/private_execution_result.d.ts +11 -21
  657. package/dest/tx/private_execution_result.d.ts.map +1 -1
  658. package/dest/tx/private_execution_result.js +6 -6
  659. package/dest/tx/profiling.d.ts +70 -356
  660. package/dest/tx/profiling.d.ts.map +1 -1
  661. package/dest/tx/profiling.js +19 -9
  662. package/dest/tx/protocol_contracts.d.ts +5 -9
  663. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  664. package/dest/tx/protocol_contracts.js +2 -2
  665. package/dest/tx/proven_tx.d.ts +30 -74
  666. package/dest/tx/proven_tx.d.ts.map +1 -1
  667. package/dest/tx/proven_tx.js +6 -0
  668. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  669. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  670. package/dest/tx/public_call_request_with_calldata.js +6 -3
  671. package/dest/tx/public_simulation_output.d.ts +4 -2
  672. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  673. package/dest/tx/public_simulation_output.js +7 -3
  674. package/dest/tx/simulated_tx.d.ts +68 -1144
  675. package/dest/tx/simulated_tx.d.ts.map +1 -1
  676. package/dest/tx/simulated_tx.js +17 -12
  677. package/dest/tx/state_reference.d.ts +30 -117
  678. package/dest/tx/state_reference.d.ts.map +1 -1
  679. package/dest/tx/state_reference.js +6 -4
  680. package/dest/tx/tree_snapshots.d.ts +27 -84
  681. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  682. package/dest/tx/tree_snapshots.js +6 -4
  683. package/dest/tx/tx.d.ts +19 -17
  684. package/dest/tx/tx.d.ts.map +1 -1
  685. package/dest/tx/tx.js +48 -29
  686. package/dest/tx/tx_constant_data.d.ts +4 -3
  687. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  688. package/dest/tx/tx_constant_data.js +6 -3
  689. package/dest/tx/tx_context.d.ts +32 -131
  690. package/dest/tx/tx_context.d.ts.map +1 -1
  691. package/dest/tx/tx_context.js +6 -6
  692. package/dest/tx/tx_hash.d.ts +6 -4
  693. package/dest/tx/tx_hash.d.ts.map +1 -1
  694. package/dest/tx/tx_hash.js +13 -5
  695. package/dest/tx/tx_receipt.d.ts +151 -51
  696. package/dest/tx/tx_receipt.d.ts.map +1 -1
  697. package/dest/tx/tx_receipt.js +145 -51
  698. package/dest/tx/tx_request.js +2 -2
  699. package/dest/tx/validator/empty_validator.d.ts +2 -2
  700. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  701. package/dest/tx/validator/error_texts.d.ts +10 -2
  702. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  703. package/dest/tx/validator/error_texts.js +11 -1
  704. package/dest/tx/validator/tx_validator.d.ts +6 -28
  705. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  706. package/dest/tx/validator/tx_validator.js +0 -4
  707. package/dest/types/shared.d.ts +4 -12
  708. package/dest/types/shared.d.ts.map +1 -1
  709. package/dest/types/shared.js +6 -12
  710. package/dest/update-checker/dev_version.d.ts +3 -0
  711. package/dest/update-checker/dev_version.d.ts.map +1 -0
  712. package/dest/update-checker/dev_version.js +1 -0
  713. package/dest/update-checker/index.d.ts +4 -2
  714. package/dest/update-checker/index.d.ts.map +1 -1
  715. package/dest/update-checker/index.js +3 -1
  716. package/dest/update-checker/package_version.d.ts +6 -0
  717. package/dest/update-checker/package_version.d.ts.map +1 -0
  718. package/dest/update-checker/package_version.js +13 -0
  719. package/dest/update-checker/version_checker.d.ts +25 -0
  720. package/dest/update-checker/version_checker.d.ts.map +1 -0
  721. package/dest/update-checker/version_checker.js +50 -0
  722. package/dest/validators/errors.d.ts +6 -1
  723. package/dest/validators/errors.d.ts.map +1 -1
  724. package/dest/validators/errors.js +7 -0
  725. package/dest/validators/schemas.d.ts +147 -614
  726. package/dest/validators/schemas.d.ts.map +1 -1
  727. package/dest/validators/schemas.js +9 -6
  728. package/dest/validators/types.d.ts +21 -4
  729. package/dest/validators/types.d.ts.map +1 -1
  730. package/dest/versioning/versioning.d.ts +4 -2
  731. package/dest/versioning/versioning.d.ts.map +1 -1
  732. package/dest/versioning/versioning.js +5 -2
  733. package/dest/vks/verification_key.d.ts +4 -139
  734. package/dest/vks/verification_key.d.ts.map +1 -1
  735. package/dest/vks/verification_key.js +5 -126
  736. package/dest/world-state/genesis_data.d.ts +13 -0
  737. package/dest/world-state/genesis_data.d.ts.map +1 -0
  738. package/dest/world-state/genesis_data.js +7 -0
  739. package/dest/world-state/index.d.ts +2 -1
  740. package/dest/world-state/index.d.ts.map +1 -1
  741. package/dest/world-state/index.js +1 -0
  742. package/dest/world-state/world_state_revision.d.ts +15 -26
  743. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  744. package/dest/world-state/world_state_revision.js +7 -1
  745. package/package.json +27 -14
  746. package/src/abi/abi.ts +78 -21
  747. package/src/abi/authorization_selector.ts +2 -8
  748. package/src/abi/buffer.ts +25 -4
  749. package/src/abi/contract_artifact.ts +11 -6
  750. package/src/abi/decoder.ts +36 -82
  751. package/src/abi/encoder.ts +85 -6
  752. package/src/abi/event_metadata_definition.ts +2 -0
  753. package/src/abi/event_selector.ts +2 -8
  754. package/src/abi/function_call.ts +25 -3
  755. package/src/abi/function_selector.ts +4 -13
  756. package/src/abi/function_signature_decoder.ts +77 -0
  757. package/src/abi/index.ts +1 -0
  758. package/src/abi/note_selector.ts +3 -12
  759. package/src/abi/selector.ts +1 -1
  760. package/src/abi/utils.ts +31 -4
  761. package/src/auth_witness/auth_witness.ts +3 -3
  762. package/src/avm/avm.ts +5 -0
  763. package/src/avm/message_pack.ts +12 -3
  764. package/src/avm/revert_code.ts +20 -25
  765. package/src/aztec-address/index.ts +15 -12
  766. package/src/block/attestation_info.ts +11 -11
  767. package/src/block/block_data.ts +25 -0
  768. package/src/block/block_hash.ts +21 -14
  769. package/src/block/block_parameter.ts +72 -4
  770. package/src/block/in_block.ts +1 -1
  771. package/src/block/index.ts +1 -1
  772. package/src/block/l2_block.ts +13 -1
  773. package/src/block/l2_block_info.ts +8 -6
  774. package/src/block/l2_block_source.ts +214 -123
  775. package/src/block/l2_block_stream/interfaces.ts +6 -2
  776. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  777. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  778. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  779. package/src/block/proposal/attestations_and_signers.ts +32 -17
  780. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  781. package/src/checkpoint/checkpoint.ts +54 -17
  782. package/src/checkpoint/checkpoint_data.ts +91 -0
  783. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  784. package/src/checkpoint/digest.ts +28 -0
  785. package/src/checkpoint/index.ts +5 -0
  786. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  787. package/src/checkpoint/published_checkpoint.ts +3 -1
  788. package/src/checkpoint/validate.ts +230 -0
  789. package/src/config/chain-config.ts +13 -16
  790. package/src/config/index.ts +1 -0
  791. package/src/config/sequencer-config.ts +65 -0
  792. package/src/contract/complete_address.ts +7 -3
  793. package/src/contract/contract_address.ts +10 -10
  794. package/src/contract/contract_class.ts +3 -3
  795. package/src/contract/contract_class_id.ts +7 -6
  796. package/src/contract/contract_instance.ts +11 -2
  797. package/src/contract/index.ts +0 -2
  798. package/src/contract/interfaces/contract_class.ts +2 -82
  799. package/src/contract/interfaces/contract_instance.ts +6 -2
  800. package/src/contract/interfaces/node-info.ts +3 -0
  801. package/src/contract/private_function.ts +5 -3
  802. package/src/database-version/version_manager.ts +17 -0
  803. package/src/epoch-helpers/index.ts +30 -0
  804. package/src/file-store/factory.ts +13 -4
  805. package/src/file-store/http.ts +29 -10
  806. package/src/file-store/index.ts +1 -0
  807. package/src/file-store/local.ts +15 -5
  808. package/src/file-store/s3.ts +12 -3
  809. package/src/gas/README.md +154 -0
  810. package/src/gas/fee_math.ts +120 -0
  811. package/src/gas/gas.ts +8 -3
  812. package/src/gas/gas_fees.ts +29 -10
  813. package/src/gas/gas_settings.ts +73 -15
  814. package/src/gas/index.ts +1 -0
  815. package/src/ha-signing/config.ts +152 -0
  816. package/src/ha-signing/index.ts +29 -0
  817. package/src/ha-signing/local_config.ts +46 -0
  818. package/src/ha-signing/types.ts +126 -0
  819. package/src/hash/hash.ts +76 -11
  820. package/src/hash/map_slot.ts +2 -2
  821. package/src/interfaces/allowed_element.ts +29 -9
  822. package/src/interfaces/api_limit.ts +1 -1
  823. package/src/interfaces/archiver.ts +90 -88
  824. package/src/interfaces/aztec-node-admin.ts +57 -18
  825. package/src/interfaces/aztec-node-debug.ts +40 -0
  826. package/src/interfaces/aztec-node.ts +344 -266
  827. package/src/interfaces/block-builder.ts +63 -14
  828. package/src/interfaces/block_response.ts +92 -0
  829. package/src/interfaces/chain_tips.ts +24 -0
  830. package/src/interfaces/checkpoint_parameter.ts +20 -0
  831. package/src/interfaces/checkpoint_response.ts +84 -0
  832. package/src/interfaces/client.ts +7 -1
  833. package/src/interfaces/configs.ts +75 -8
  834. package/src/interfaces/l1_publish_info.ts +40 -0
  835. package/src/interfaces/l2_logs_source.ts +13 -39
  836. package/src/interfaces/merkle_tree_operations.ts +12 -21
  837. package/src/interfaces/p2p-bootstrap.ts +2 -2
  838. package/src/interfaces/p2p.ts +38 -29
  839. package/src/interfaces/private_kernel_prover.ts +88 -0
  840. package/src/interfaces/prover-agent.ts +1 -1
  841. package/src/interfaces/prover-broker.ts +22 -0
  842. package/src/interfaces/prover-client.ts +17 -5
  843. package/src/interfaces/prover-node.ts +7 -7
  844. package/src/interfaces/proving-job-source.ts +4 -4
  845. package/src/interfaces/proving-job.ts +3 -3
  846. package/src/interfaces/public_storage_override.ts +26 -0
  847. package/src/interfaces/server.ts +5 -0
  848. package/src/interfaces/slasher.ts +21 -10
  849. package/src/interfaces/tx_provider.ts +6 -0
  850. package/src/interfaces/validator.ts +87 -36
  851. package/src/interfaces/world_state.ts +5 -4
  852. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  853. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  854. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  855. package/src/kernel/hints/index.ts +2 -2
  856. package/src/kernel/hints/key_validation_request.ts +18 -16
  857. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  858. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  859. package/src/kernel/index.ts +4 -0
  860. package/src/kernel/log_hash.ts +29 -9
  861. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  862. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  863. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  864. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  865. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  866. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  867. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  868. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  869. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  870. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  871. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  872. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  873. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  874. package/src/kernel/private_validation_requests.ts +8 -8
  875. package/src/kernel/public_call_request.ts +22 -7
  876. package/src/keys/derivation.ts +33 -21
  877. package/src/keys/key_types.ts +6 -2
  878. package/src/keys/public_key.ts +26 -2
  879. package/src/keys/public_keys.ts +125 -111
  880. package/src/keys/utils.ts +8 -4
  881. package/src/kv-store/config.ts +29 -0
  882. package/src/kv-store/index.ts +1 -0
  883. package/src/l1-contracts/index.ts +1 -1
  884. package/src/logs/app_tagging_secret.ts +137 -0
  885. package/src/logs/app_tagging_secret_kind.ts +21 -0
  886. package/src/logs/contract_class_log.ts +15 -5
  887. package/src/logs/debug_log_store.ts +54 -0
  888. package/src/logs/index.ts +8 -6
  889. package/src/logs/log_cursor.ts +110 -0
  890. package/src/logs/log_result.ts +104 -0
  891. package/src/logs/logs_query.ts +138 -0
  892. package/src/logs/message_context.ts +22 -8
  893. package/src/logs/pending_tagged_log.ts +1 -3
  894. package/src/logs/pre_tag.ts +3 -6
  895. package/src/logs/private_log.ts +9 -3
  896. package/src/logs/public_log.ts +4 -2
  897. package/src/logs/query_all_logs_by_tags.ts +98 -0
  898. package/src/logs/shared_secret_derivation.ts +21 -10
  899. package/src/logs/siloed_tag.ts +28 -14
  900. package/src/logs/tag.ts +9 -9
  901. package/src/logs/tagging_index_range.ts +18 -0
  902. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  903. package/src/messaging/index.ts +1 -0
  904. package/src/messaging/l1_to_l2_message.ts +12 -9
  905. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  906. package/src/messaging/l2_to_l1_membership.ts +192 -38
  907. package/src/messaging/l2_to_l1_message.ts +29 -9
  908. package/src/noir/index.ts +4 -2
  909. package/src/note/index.ts +0 -1
  910. package/src/note/note_dao.ts +1 -4
  911. package/src/p2p/attestation_utils.ts +56 -0
  912. package/src/p2p/block_proposal.ts +112 -39
  913. package/src/p2p/checkpoint_attestation.ts +33 -32
  914. package/src/p2p/checkpoint_proposal.ts +159 -86
  915. package/src/p2p/client_type.ts +0 -6
  916. package/src/p2p/consensus_payload.ts +68 -24
  917. package/src/p2p/constants.ts +3 -0
  918. package/src/p2p/gossipable.ts +4 -4
  919. package/src/p2p/index.ts +0 -1
  920. package/src/p2p/peer_error.ts +7 -0
  921. package/src/p2p/signature_utils.ts +110 -25
  922. package/src/p2p/signed_txs.ts +46 -28
  923. package/src/p2p/topic_type.ts +8 -15
  924. package/src/parity/parity_base_private_inputs.ts +10 -4
  925. package/src/parity/parity_public_inputs.ts +9 -2
  926. package/src/proofs/chonk_proof.ts +132 -12
  927. package/src/rollup/block_headers_hash.ts +11 -2
  928. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  929. package/src/rollup/checkpoint_header.ts +2 -2
  930. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  931. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  932. package/src/schemas/schemas.ts +6 -1
  933. package/src/slashing/helpers.ts +21 -9
  934. package/src/slashing/index.ts +1 -2
  935. package/src/slashing/serialization.ts +1 -81
  936. package/src/slashing/types.ts +38 -49
  937. package/src/slashing/{tally.ts → votes.ts} +41 -2
  938. package/src/stats/stats.ts +4 -0
  939. package/src/tests/factories.ts +120 -119
  940. package/src/tests/mocks.ts +106 -84
  941. package/src/timetable/index.ts +304 -0
  942. package/src/trees/append_only_tree_snapshot.ts +8 -3
  943. package/src/trees/nullifier_leaf.ts +4 -0
  944. package/src/trees/nullifier_membership_witness.ts +2 -12
  945. package/src/trees/public_data_leaf.ts +11 -5
  946. package/src/tx/block_header.ts +18 -7
  947. package/src/tx/capsule.ts +10 -2
  948. package/src/tx/fee_provider.ts +10 -0
  949. package/src/tx/global_variable_builder.ts +2 -3
  950. package/src/tx/global_variables.ts +13 -21
  951. package/src/tx/hashed_values.ts +8 -3
  952. package/src/tx/index.ts +1 -0
  953. package/src/tx/indexed_tx_effect.ts +18 -6
  954. package/src/tx/partial_state_reference.ts +8 -3
  955. package/src/tx/private_execution_result.ts +5 -5
  956. package/src/tx/profiling.ts +18 -9
  957. package/src/tx/protocol_contracts.ts +2 -2
  958. package/src/tx/proven_tx.ts +6 -0
  959. package/src/tx/public_call_request_with_calldata.ts +8 -3
  960. package/src/tx/public_simulation_output.ts +4 -0
  961. package/src/tx/simulated_tx.ts +30 -22
  962. package/src/tx/state_reference.ts +9 -4
  963. package/src/tx/tree_snapshots.ts +9 -4
  964. package/src/tx/tx.ts +63 -35
  965. package/src/tx/tx_constant_data.ts +8 -3
  966. package/src/tx/tx_context.ts +8 -3
  967. package/src/tx/tx_hash.ts +20 -5
  968. package/src/tx/tx_receipt.ts +269 -74
  969. package/src/tx/tx_request.ts +2 -2
  970. package/src/tx/validator/empty_validator.ts +1 -1
  971. package/src/tx/validator/error_texts.ts +13 -1
  972. package/src/tx/validator/tx_validator.ts +2 -6
  973. package/src/types/shared.ts +8 -13
  974. package/src/update-checker/dev_version.ts +2 -0
  975. package/src/update-checker/index.ts +3 -1
  976. package/src/update-checker/package_version.ts +17 -0
  977. package/src/update-checker/version_checker.ts +65 -0
  978. package/src/validators/errors.ts +9 -0
  979. package/src/validators/schemas.ts +13 -4
  980. package/src/validators/types.ts +25 -5
  981. package/src/versioning/versioning.ts +5 -2
  982. package/src/vks/verification_key.ts +5 -184
  983. package/src/world-state/genesis_data.ts +27 -0
  984. package/src/world-state/index.ts +1 -0
  985. package/src/world-state/world_state_revision.ts +9 -1
  986. package/dest/abi/mocked_keys.d.ts +0 -2
  987. package/dest/abi/mocked_keys.d.ts.map +0 -1
  988. package/dest/abi/mocked_keys.js +0 -1
  989. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  990. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  991. package/dest/block/checkpointed_l2_block.js +0 -46
  992. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  993. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  994. package/dest/contract/private_function_membership_proof.js +0 -124
  995. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  996. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  997. package/dest/contract/utility_function_membership_proof.js +0 -87
  998. package/dest/interfaces/get_logs_response.d.ts +0 -90
  999. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1000. package/dest/interfaces/get_logs_response.js +0 -12
  1001. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  1002. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1003. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1004. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1005. package/dest/l1-contracts/slash_factory.js +0 -158
  1006. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1007. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1008. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1009. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1010. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1011. package/dest/logs/extended_contract_class_log.js +0 -67
  1012. package/dest/logs/extended_public_log.d.ts +0 -100
  1013. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1014. package/dest/logs/extended_public_log.js +0 -73
  1015. package/dest/logs/log_filter.d.ts +0 -22
  1016. package/dest/logs/log_filter.d.ts.map +0 -1
  1017. package/dest/logs/log_filter.js +0 -11
  1018. package/dest/logs/log_id.d.ts +0 -82
  1019. package/dest/logs/log_id.d.ts.map +0 -1
  1020. package/dest/logs/log_id.js +0 -92
  1021. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1022. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1023. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1024. package/dest/note/notes_filter.d.ts +0 -27
  1025. package/dest/note/notes_filter.d.ts.map +0 -1
  1026. package/dest/note/notes_filter.js +0 -11
  1027. package/dest/slashing/empire.d.ts +0 -31
  1028. package/dest/slashing/empire.d.ts.map +0 -1
  1029. package/dest/slashing/empire.js +0 -85
  1030. package/dest/slashing/tally.d.ts.map +0 -1
  1031. package/dest/update-checker/update-checker.d.ts +0 -49
  1032. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1033. package/dest/update-checker/update-checker.js +0 -130
  1034. package/src/abi/mocked_keys.ts +0 -2
  1035. package/src/block/checkpointed_l2_block.ts +0 -70
  1036. package/src/contract/private_function_membership_proof.ts +0 -167
  1037. package/src/contract/utility_function_membership_proof.ts +0 -118
  1038. package/src/interfaces/get_logs_response.ts +0 -35
  1039. package/src/l1-contracts/slash_factory.ts +0 -180
  1040. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1041. package/src/logs/extended_contract_class_log.ts +0 -87
  1042. package/src/logs/extended_public_log.ts +0 -94
  1043. package/src/logs/log_filter.ts +0 -31
  1044. package/src/logs/log_id.ts +0 -122
  1045. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1046. package/src/note/notes_filter.ts +0 -38
  1047. package/src/slashing/empire.ts +0 -102
  1048. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1,167 @@
1
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+
4
+ /**
5
+ * Outcome of attempting to re-execute a checkpoint proposal locally.
6
+ *
7
+ * - `valid` — re-execution succeeded and the computed checkpoint matched the proposal.
8
+ * - `invalid` — the proposal disagreed with the computed checkpoint, or violated a deterministic
9
+ * constraint (limits, signatures, etc).
10
+ * - `unvalidated` — the local node could not complete validation for non-deterministic reasons
11
+ * (missing blocks/txs, timeouts, infra errors). Treated as proposer-fault for
12
+ * slashing but surfaced separately for telemetry.
13
+ */
14
+ export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
15
+
16
+ /**
17
+ * Tracks two pieces of per-slot state collected during proposal handling:
18
+ *
19
+ * 1. Whether each block proposal's transactions were successfully collected locally
20
+ * (keyed by `slot` + `indexWithinCheckpoint`). Consumed by the data-withholding watcher.
21
+ * 2. The outcome of locally re-executing each checkpoint proposal (keyed by
22
+ * `(checkpointNumber, archiveRoot)` and by `slot`). Consumed by the data-withholding
23
+ * watcher (via `hasReexecuted`) and the sentinel (via `getOutcomeForSlot`).
24
+ *
25
+ * Both pieces of state live on the same per-slot `Entry`, so cleanup via `removeBefore`
26
+ * naturally drops everything for a pruned slot in one step.
27
+ */
28
+ interface Entry {
29
+ // Set by recordOutcome — these may be undefined until the checkpoint proposal has been
30
+ // evaluated. recordTxsCollected may create an Entry before any of them are known.
31
+ checkpointNumber: CheckpointNumber | undefined;
32
+ archiveRoot: string | undefined;
33
+ outcome: ReexecutionOutcome | undefined;
34
+
35
+ slot: SlotNumber;
36
+
37
+ // Per block-proposal at this slot: indexWithinCheckpoint → true (collected) | false (failed to collect).
38
+ txsCollected: Map<number, boolean>;
39
+ }
40
+
41
+ export class CheckpointReexecutionTracker {
42
+ private readonly byCheckpoint = new Map<CheckpointNumber, Map<string, Entry>>();
43
+ private readonly bySlot = new Map<SlotNumber, Entry>();
44
+
45
+ /**
46
+ * Record the outcome of evaluating a checkpoint proposal.
47
+ * @param slot - Slot the proposal was for. Always required.
48
+ * @param archiveRoot - Archive root in the proposal.
49
+ * @param outcome - Outcome of evaluation.
50
+ * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
51
+ * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
52
+ */
53
+ public recordOutcome(
54
+ slot: SlotNumber,
55
+ archiveRoot: Fr,
56
+ outcome: ReexecutionOutcome,
57
+ checkpointNumber?: CheckpointNumber,
58
+ ): void {
59
+ const archiveRootStr = archiveRoot.toString();
60
+
61
+ // Preserve any per-block txsCollected already accumulated for this slot.
62
+ const existing = this.bySlot.get(slot);
63
+ const entry: Entry = {
64
+ checkpointNumber,
65
+ archiveRoot: archiveRootStr,
66
+ slot,
67
+ outcome,
68
+ txsCollected: existing?.txsCollected ?? new Map(),
69
+ };
70
+
71
+ if (checkpointNumber !== undefined) {
72
+ let archives = this.byCheckpoint.get(checkpointNumber);
73
+ if (!archives) {
74
+ archives = new Map();
75
+ this.byCheckpoint.set(checkpointNumber, archives);
76
+ }
77
+ archives.set(archiveRootStr, entry);
78
+ }
79
+
80
+ this.bySlot.set(slot, entry);
81
+ }
82
+
83
+ /**
84
+ * Record whether the local node successfully collected the transactions for a block proposal.
85
+ * Called from the validator's proposal handler immediately after tx collection completes
86
+ * (regardless of whether re-execution will subsequently succeed). The data-withholding
87
+ * watcher consults these records as an authoritative signal: tx availability now is too
88
+ * weak (txs may have been evicted from the mempool by the time the watcher runs), but a
89
+ * record that the txs *were* available at proposal time still vouches for the proposer.
90
+ *
91
+ * @param slot - Slot the block proposal was for.
92
+ * @param indexWithinCheckpoint - Index of the block within its enclosing checkpoint.
93
+ * @param collected - True if every tx in the proposal was collected locally before deadline.
94
+ */
95
+ public recordTxsCollected(slot: SlotNumber, indexWithinCheckpoint: number, collected: boolean): void {
96
+ let entry = this.bySlot.get(slot);
97
+ if (!entry) {
98
+ entry = {
99
+ checkpointNumber: undefined,
100
+ archiveRoot: undefined,
101
+ slot,
102
+ outcome: undefined,
103
+ txsCollected: new Map(),
104
+ };
105
+ this.bySlot.set(slot, entry);
106
+ }
107
+ entry.txsCollected.set(indexWithinCheckpoint, collected);
108
+ }
109
+
110
+ /**
111
+ * Returns true if the given (checkpoint number, archive root) has been successfully
112
+ * re-executed locally (outcome `valid`).
113
+ */
114
+ public hasReexecuted(checkpointNumber: CheckpointNumber, archiveRoot: Fr): boolean {
115
+ return this.byCheckpoint.get(checkpointNumber)?.get(archiveRoot.toString())?.outcome === 'valid';
116
+ }
117
+
118
+ /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */
119
+ public getOutcomeForSlot(slot: SlotNumber): ReexecutionOutcome | undefined {
120
+ return this.bySlot.get(slot)?.outcome;
121
+ }
122
+
123
+ /**
124
+ * Returns the recorded tx-collection result for a block proposal at the given slot and
125
+ * `indexWithinCheckpoint`, or `undefined` if no record exists.
126
+ *
127
+ * Three-valued by design:
128
+ * - `true` — we collected every tx for this block proposal before the deadline.
129
+ * - `false` — we tried and failed (missing txs at the deadline).
130
+ * - `undefined` — no record (e.g. we never saw the block proposal). Callers should fall
131
+ * back to a current-state check (e.g. mempool probe) for this case.
132
+ */
133
+ public getTxsCollectedRecord(slot: SlotNumber, indexWithinCheckpoint: number): boolean | undefined {
134
+ return this.bySlot.get(slot)?.txsCollected.get(indexWithinCheckpoint);
135
+ }
136
+
137
+ /** Drops entries for checkpoints with `number < checkpointNumber`. */
138
+ public removeBefore(checkpointNumber: CheckpointNumber): void {
139
+ // Track the highest slot among checkpoints we're pruning. Once we know it, any slot
140
+ // strictly below that watermark is older than the most recently pruned checkpoint and
141
+ // can be dropped from `bySlot` too — including slot-only entries (no checkpoint number)
142
+ // which would otherwise leak, because removing by checkpoint number can't reach them.
143
+ let maxRemovedSlot: SlotNumber | undefined;
144
+ for (const [n, archives] of this.byCheckpoint) {
145
+ if (n < checkpointNumber) {
146
+ for (const entry of archives.values()) {
147
+ // Only drop the slot index if it still points at the entry we're removing.
148
+ if (this.bySlot.get(entry.slot) === entry) {
149
+ this.bySlot.delete(entry.slot);
150
+ }
151
+ if (maxRemovedSlot === undefined || entry.slot > maxRemovedSlot) {
152
+ maxRemovedSlot = entry.slot;
153
+ }
154
+ }
155
+ this.byCheckpoint.delete(n);
156
+ }
157
+ }
158
+
159
+ if (maxRemovedSlot !== undefined) {
160
+ for (const slot of [...this.bySlot.keys()]) {
161
+ if (slot < maxRemovedSlot) {
162
+ this.bySlot.delete(slot);
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
@@ -0,0 +1,28 @@
1
+ import type { Buffer32 } from '@aztec/foundation/buffer';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+
4
+ import { ConsensusPayload } from '../p2p/consensus_payload.js';
5
+ import { type CoordinationSignatureContext, getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
6
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
7
+
8
+ /**
9
+ * Computes the EIP-712 payload digest for a checkpoint proposal — the digest validators sign
10
+ * and the L1 contract verifies during `propose()`. Mirrors `ProposeLib.digest(ProposePayload)` on L1.
11
+ *
12
+ * The result is the same `bytes32` that gets stored in `tempCheckpointLogs[checkpointNumber].payloadDigest`,
13
+ * so this helper is also reused when constructing simulation state overrides for pipelined proposals.
14
+ */
15
+ export function computeCheckpointPayloadDigest(args: {
16
+ header: CheckpointHeader;
17
+ archiveRoot: Fr;
18
+ feeAssetPriceModifier: bigint;
19
+ signatureContext: CoordinationSignatureContext;
20
+ }): Buffer32 {
21
+ const consensusPayload = new ConsensusPayload(
22
+ args.header,
23
+ args.archiveRoot,
24
+ args.feeAssetPriceModifier,
25
+ args.signatureContext,
26
+ );
27
+ return getHashedSignaturePayloadTypedData(consensusPayload);
28
+ }
@@ -1,3 +1,8 @@
1
1
  export * from './checkpoint.js';
2
+ export * from './checkpoint_data.js';
2
3
  export * from './checkpoint_info.js';
4
+ export * from './checkpoint_reexecution_tracker.js';
5
+ export * from './digest.js';
6
+ export * from './previous_checkpoint_out_hashes.js';
3
7
  export * from './published_checkpoint.js';
8
+ export * from './validate.js';
@@ -0,0 +1,61 @@
1
+ import { CheckpointNumber, type EpochNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { Logger } from '@aztec/foundation/log';
4
+
5
+ import type { L2BlockSource } from '../block/l2_block_source.js';
6
+ import { type L1RollupConstants, getEpochAtSlot } from '../epoch-helpers/index.js';
7
+ import type { ProposedCheckpointData } from './checkpoint_data.js';
8
+
9
+ /**
10
+ * Returns the out hashes (in epoch order) of all checkpoints in `epoch` that precede
11
+ * `checkpointNumber`, used to compute the `epochOutHash` baked into that checkpoint's header.
12
+ *
13
+ * Under proposer pipelining the parent checkpoint may not be confirmed on L1 by the time the
14
+ * builder runs, so the on-chain archiver query (`getCheckpointsData`) is missing it and the
15
+ * resulting `epochOutHash` would diverge from what other validators (and L1) compute after the
16
+ * parent lands. To avoid that, the parent's `checkpointOutHash` is spliced in from the locally
17
+ * known proposed checkpoint when:
18
+ * - pipelining is enabled,
19
+ * - the archiver lookup is genuinely short (its last entry is not already cp `N-1`),
20
+ * - and the proposed cp `N-1` is in the same target epoch (otherwise we're at an epoch boundary
21
+ * and the previous-epoch cps must be excluded).
22
+ *
23
+ * Callers may either pass the already-loaded `proposedCheckpointData` (the proposer has it on
24
+ * hand) or leave it undefined, in which case it's fetched via `getProposedCheckpointData`.
25
+ */
26
+ export async function getPreviousCheckpointOutHashes(input: {
27
+ blockSource: Pick<L2BlockSource, 'getCheckpointsData' | 'getProposedCheckpointData'>;
28
+ epoch: EpochNumber;
29
+ checkpointNumber: CheckpointNumber;
30
+ l1Constants: Pick<L1RollupConstants, 'epochDuration'>;
31
+ pipeliningEnabled: boolean;
32
+ proposedCheckpointData?: ProposedCheckpointData;
33
+ log?: Logger;
34
+ }): Promise<Fr[]> {
35
+ const { blockSource, epoch, checkpointNumber, l1Constants, pipeliningEnabled, log } = input;
36
+
37
+ const checkpointed = (await blockSource.getCheckpointsData({ epoch }))
38
+ .filter(c => c.checkpointNumber < checkpointNumber)
39
+ .sort((a, b) => a.checkpointNumber - b.checkpointNumber);
40
+
41
+ if (!pipeliningEnabled || checkpointNumber === 0) {
42
+ return checkpointed.map(c => c.checkpointOutHash);
43
+ }
44
+
45
+ const parentCheckpoint = CheckpointNumber(checkpointNumber - 1);
46
+ if (checkpointed.at(-1)?.checkpointNumber === parentCheckpoint) {
47
+ return checkpointed.map(c => c.checkpointOutHash);
48
+ }
49
+
50
+ const proposedParent =
51
+ input.proposedCheckpointData ?? (await blockSource.getProposedCheckpointData({ number: parentCheckpoint }));
52
+ if (!proposedParent || proposedParent.checkpointNumber !== parentCheckpoint) {
53
+ return checkpointed.map(c => c.checkpointOutHash);
54
+ }
55
+ if (getEpochAtSlot(proposedParent.header.slotNumber, l1Constants) !== epoch) {
56
+ return checkpointed.map(c => c.checkpointOutHash);
57
+ }
58
+
59
+ log?.debug(`Splicing pipelined parent cp ${parentCheckpoint} outHash for cp ${checkpointNumber}`);
60
+ return [...checkpointed.map(c => c.checkpointOutHash), proposedParent.checkpointOutHash];
61
+ }
@@ -55,9 +55,11 @@ export class L1PublishedData {
55
55
 
56
56
  export class PublishedCheckpoint {
57
57
  constructor(
58
+ /** The checkpoint itself. */
58
59
  public checkpoint: Checkpoint,
60
+ /** Info on when this checkpoint was published on L1. */
59
61
  public l1: L1PublishedData,
60
- // The attestations for the last block in the checkpoint.
62
+ /** The attestations for the last block in the checkpoint. */
61
63
  public attestations: CommitteeAttestation[],
62
64
  ) {}
63
65
 
@@ -0,0 +1,230 @@
1
+ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT } from '@aztec/constants';
2
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { sum } from '@aztec/foundation/collection';
4
+
5
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
6
+ import type { Checkpoint } from './checkpoint.js';
7
+
8
+ export class CheckpointValidationError extends Error {
9
+ constructor(
10
+ message: string,
11
+ public readonly checkpointNumber: CheckpointNumber,
12
+ public readonly slot: SlotNumber,
13
+ ) {
14
+ super(message);
15
+ this.name = 'CheckpointValidationError';
16
+ }
17
+ }
18
+
19
+ /**
20
+ * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
21
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
22
+ * - Validates checkpoint blob field count against maxBlobFields limit
23
+ * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
24
+ * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
25
+ * - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
26
+ */
27
+ export function validateCheckpoint(
28
+ checkpoint: Checkpoint,
29
+ opts: {
30
+ rollupManaLimit?: number;
31
+ maxL2BlockGas?: number;
32
+ maxDABlockGas?: number;
33
+ maxTxsPerCheckpoint?: number;
34
+ maxTxsPerBlock?: number;
35
+ },
36
+ ): void {
37
+ validateCheckpointStructure(checkpoint);
38
+ validateCheckpointLimits(checkpoint, opts);
39
+ validateCheckpointBlocksLimits(checkpoint, opts);
40
+ }
41
+
42
+ /**
43
+ * Validates structural integrity of a checkpoint.
44
+ * - Non-empty block list
45
+ * - Block count within MAX_BLOCKS_PER_CHECKPOINT
46
+ * - Checkpoint slot matches the first block's slot
47
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
48
+ * - Sequential block numbers without gaps
49
+ * - Sequential indexWithinCheckpoint starting at 0
50
+ * - Archive root chaining between consecutive blocks
51
+ * - Consistent slot number across all blocks
52
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
53
+ */
54
+ export function validateCheckpointStructure(checkpoint: Checkpoint): void {
55
+ const { blocks, number, slot } = checkpoint;
56
+
57
+ if (blocks.length === 0) {
58
+ throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
59
+ }
60
+
61
+ if (blocks.length > MAX_BLOCKS_PER_CHECKPOINT) {
62
+ throw new CheckpointValidationError(
63
+ `Checkpoint has ${blocks.length} blocks, exceeding limit of ${MAX_BLOCKS_PER_CHECKPOINT}`,
64
+ number,
65
+ slot,
66
+ );
67
+ }
68
+
69
+ const firstBlock = blocks[0];
70
+
71
+ if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
72
+ throw new CheckpointValidationError(
73
+ `Checkpoint lastArchiveRoot does not match first block's lastArchive root`,
74
+ number,
75
+ slot,
76
+ );
77
+ }
78
+
79
+ for (let i = 0; i < blocks.length; i++) {
80
+ const block = blocks[i];
81
+
82
+ if (block.indexWithinCheckpoint !== i) {
83
+ throw new CheckpointValidationError(
84
+ `Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`,
85
+ number,
86
+ slot,
87
+ );
88
+ }
89
+
90
+ if (block.slot !== slot) {
91
+ throw new CheckpointValidationError(
92
+ `Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`,
93
+ number,
94
+ slot,
95
+ );
96
+ }
97
+
98
+ if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
99
+ throw new CheckpointValidationError(
100
+ `Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`,
101
+ number,
102
+ slot,
103
+ );
104
+ }
105
+
106
+ if (i > 0) {
107
+ const prev = blocks[i - 1];
108
+ if (block.number !== prev.number + 1) {
109
+ throw new CheckpointValidationError(
110
+ `Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`,
111
+ number,
112
+ slot,
113
+ );
114
+ }
115
+
116
+ if (!block.header.lastArchive.root.equals(prev.archive.root)) {
117
+ throw new CheckpointValidationError(
118
+ `Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`,
119
+ number,
120
+ slot,
121
+ );
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ /** Validates checkpoint blocks gas limits */
128
+ function validateCheckpointBlocksLimits(
129
+ checkpoint: Checkpoint,
130
+ opts: {
131
+ maxL2BlockGas?: number;
132
+ maxDABlockGas?: number;
133
+ maxTxsPerBlock?: number;
134
+ },
135
+ ): void {
136
+ const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
137
+
138
+ if (maxL2BlockGas !== undefined) {
139
+ for (const block of checkpoint.blocks) {
140
+ const blockL2Gas = block.header.totalManaUsed.toNumber();
141
+ if (blockL2Gas > maxL2BlockGas) {
142
+ throw new CheckpointValidationError(
143
+ `Block ${block.number} in checkpoint has L2 gas used ${blockL2Gas} exceeding limit of ${maxL2BlockGas}`,
144
+ checkpoint.number,
145
+ checkpoint.slot,
146
+ );
147
+ }
148
+ }
149
+ }
150
+
151
+ if (maxDABlockGas !== undefined) {
152
+ for (const block of checkpoint.blocks) {
153
+ const blockDAGas = block.computeDAGasUsed();
154
+ if (blockDAGas > maxDABlockGas) {
155
+ throw new CheckpointValidationError(
156
+ `Block ${block.number} in checkpoint has DA gas used ${blockDAGas} exceeding limit of ${maxDABlockGas}`,
157
+ checkpoint.number,
158
+ checkpoint.slot,
159
+ );
160
+ }
161
+ }
162
+ }
163
+
164
+ if (maxTxsPerBlock !== undefined) {
165
+ for (const block of checkpoint.blocks) {
166
+ const blockTxCount = block.body.txEffects.length;
167
+ if (blockTxCount > maxTxsPerBlock) {
168
+ throw new CheckpointValidationError(
169
+ `Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`,
170
+ checkpoint.number,
171
+ checkpoint.slot,
172
+ );
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ /** Validates checkpoint max blob fields, gas limits, and tx limits */
179
+ function validateCheckpointLimits(
180
+ checkpoint: Checkpoint,
181
+ opts: {
182
+ rollupManaLimit?: number;
183
+ maxTxsPerCheckpoint?: number;
184
+ },
185
+ ): void {
186
+ const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
187
+
188
+ const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
189
+ const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
190
+
191
+ if (rollupManaLimit !== undefined) {
192
+ const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
193
+ if (checkpointMana > rollupManaLimit) {
194
+ throw new CheckpointValidationError(
195
+ `Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
196
+ checkpoint.number,
197
+ checkpoint.slot,
198
+ );
199
+ }
200
+ }
201
+
202
+ const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
203
+ if (checkpointDAGas > maxDAGas) {
204
+ throw new CheckpointValidationError(
205
+ `Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
206
+ checkpoint.number,
207
+ checkpoint.slot,
208
+ );
209
+ }
210
+
211
+ const checkpointBlobFields = checkpoint.toBlobFields().length;
212
+ if (checkpointBlobFields > maxBlobFields) {
213
+ throw new CheckpointValidationError(
214
+ `Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
215
+ checkpoint.number,
216
+ checkpoint.slot,
217
+ );
218
+ }
219
+
220
+ if (maxTxsPerCheckpoint !== undefined) {
221
+ const checkpointTxCount = sum(checkpoint.blocks.map(block => block.body.txEffects.length));
222
+ if (checkpointTxCount > maxTxsPerCheckpoint) {
223
+ throw new CheckpointValidationError(
224
+ `Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`,
225
+ checkpoint.number,
226
+ checkpoint.slot,
227
+ );
228
+ }
229
+ }
230
+ }
@@ -1,5 +1,5 @@
1
- import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type L1ContractAddresses, pickL1ContractAddressMappings } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
4
 
5
5
  export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
@@ -7,26 +7,28 @@ export { type AllowedElement } from '../interfaces/allowed_element.js';
7
7
 
8
8
  export const emptyChainConfig: ChainConfig = {
9
9
  l1ChainId: 0,
10
- l1Contracts: { rollupAddress: EthAddress.ZERO },
11
10
  rollupVersion: 0,
11
+ rollupAddress: EthAddress.ZERO,
12
12
  };
13
13
 
14
14
  export const chainConfigMappings: ConfigMappingsType<ChainConfig> = {
15
15
  l1ChainId: {
16
16
  env: 'L1_CHAIN_ID',
17
- parseEnv: (val: string) => +val,
18
- defaultValue: 31337,
17
+ ...numberConfigHelper(31337),
19
18
  description: 'The chain ID of the ethereum host.',
20
19
  },
21
20
  rollupVersion: {
22
21
  env: 'ROLLUP_VERSION',
23
22
  description: 'The version of the rollup.',
24
- parseEnv: (val: string) => (Number.isSafeInteger(parseInt(val, 10)) ? parseInt(val, 10) : undefined),
25
- },
26
- l1Contracts: {
27
- description: 'The deployed L1 contract addresses',
28
- nested: l1ContractAddressesMapping,
23
+ parseEnv: (val: string) => {
24
+ const parsed = parseInt(val, 10);
25
+ if (!Number.isSafeInteger(parsed)) {
26
+ throw new Error(`Invalid rollup version: ${val}`);
27
+ }
28
+ return parsed;
29
+ },
29
30
  },
31
+ ...pickL1ContractAddressMappings('rollupAddress'),
30
32
  };
31
33
 
32
34
  /** Chain configuration. */
@@ -35,9 +37,4 @@ export type ChainConfig = {
35
37
  l1ChainId: number;
36
38
  /** The version of the rollup. */
37
39
  rollupVersion: number;
38
- /** The address to the L1 contracts. */
39
- l1Contracts: {
40
- /** The address to rollup */
41
- rollupAddress: EthAddress;
42
- };
43
- };
40
+ } & Pick<L1ContractAddresses, 'rollupAddress'>;
@@ -1,2 +1,3 @@
1
1
  export * from './chain-config.js';
2
2
  export * from './node-rpc-config.js';
3
+ export * from './sequencer-config.js';
@@ -0,0 +1,65 @@
1
+ import {
2
+ type ConfigMappingsType,
3
+ floatConfigHelper,
4
+ numberConfigHelper,
5
+ optionalNumberConfigHelper,
6
+ } from '@aztec/foundation/config';
7
+
8
+ import type { SequencerConfig } from '../interfaces/configs.js';
9
+ import { DEFAULT_P2P_PROPAGATION_TIME } from '../timetable/index.js';
10
+
11
+ /** Default maximum number of transactions per block. */
12
+ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
13
+
14
+ /** Default maximum number of blocks the sequencer packs into a single checkpoint. */
15
+ export const DEFAULT_MAX_BLOCKS_PER_CHECKPOINT = 24;
16
+
17
+ /**
18
+ * Partial sequencer config mappings for fields that need to be shared across packages.
19
+ * The full sequencer config mappings remain in sequencer-client, but shared fields
20
+ * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
21
+ * to avoid duplication.
22
+ */
23
+ export const sharedSequencerConfigMappings: ConfigMappingsType<
24
+ Pick<
25
+ SequencerConfig,
26
+ | 'blockDurationMs'
27
+ | 'expectedBlockProposalsPerSlot'
28
+ | 'maxTxsPerBlock'
29
+ | 'attestationPropagationTime'
30
+ | 'maxBlocksPerCheckpoint'
31
+ >
32
+ > = {
33
+ blockDurationMs: {
34
+ env: 'SEQ_BLOCK_DURATION_MS',
35
+ description:
36
+ 'Duration per block in milliseconds when building multiple blocks per slot. ' +
37
+ 'If undefined (default), builds a single block per slot using the full slot duration.',
38
+ ...optionalNumberConfigHelper(),
39
+ },
40
+ expectedBlockProposalsPerSlot: {
41
+ env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
42
+ description:
43
+ 'Expected number of block proposals per slot for P2P peer scoring. ' +
44
+ '0 (default) disables block proposal scoring. Set to a positive value to enable.',
45
+ ...numberConfigHelper(0),
46
+ },
47
+ maxTxsPerBlock: {
48
+ env: 'SEQ_MAX_TX_PER_BLOCK',
49
+ description: 'The maximum number of txs to include in a block.',
50
+ ...optionalNumberConfigHelper(),
51
+ },
52
+ attestationPropagationTime: {
53
+ env: 'SEQ_ATTESTATION_PROPAGATION_TIME',
54
+ description: 'How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).',
55
+ defaultValue: DEFAULT_P2P_PROPAGATION_TIME,
56
+ ...floatConfigHelper(DEFAULT_P2P_PROPAGATION_TIME),
57
+ },
58
+ maxBlocksPerCheckpoint: {
59
+ env: 'MAX_BLOCKS_PER_CHECKPOINT',
60
+ description:
61
+ 'Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.',
62
+ parseEnv: (val: string) => parseInt(val, 10),
63
+ defaultValue: DEFAULT_MAX_BLOCKS_PER_CHECKPOINT,
64
+ },
65
+ };
@@ -38,7 +38,8 @@ export class CompleteAddress {
38
38
  }
39
39
 
40
40
  /** Size in bytes of an instance */
41
- static readonly SIZE_IN_BYTES = 32 * 10;
41
+ // address (1 Fr) + publicKeys (1 Fr hash + 1 Point + 4 Fr hashes = 7 Fr) + partialAddress (1 Fr) = 9 Fr
42
+ static readonly SIZE_IN_BYTES = 32 * 9;
42
43
 
43
44
  static get schema() {
44
45
  return hexSchemaFor(CompleteAddress);
@@ -54,8 +55,11 @@ export class CompleteAddress {
54
55
 
55
56
  static async fromSecretKeyAndPartialAddress(secretKey: Fr, partialAddress: Fr): Promise<CompleteAddress> {
56
57
  const { publicKeys } = await deriveKeys(secretKey);
57
- const address = await computeAddress(publicKeys, partialAddress);
58
+ return await this.fromPublicKeysAndPartialAddress(publicKeys, partialAddress);
59
+ }
58
60
 
61
+ static async fromPublicKeysAndPartialAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<CompleteAddress> {
62
+ const address = await computeAddress(publicKeys, partialAddress);
59
63
  return new CompleteAddress(address, publicKeys, partialAddress);
60
64
  }
61
65
 
@@ -87,7 +91,7 @@ export class CompleteAddress {
87
91
  * @returns A readable string representation of the complete address.
88
92
  */
89
93
  public toReadableString(): string {
90
- return `Address: ${this.address.toString()}\nMaster Nullifier Public Key: ${this.publicKeys.masterNullifierPublicKey.toString()}\nMaster Incoming Viewing Public Key: ${this.publicKeys.masterIncomingViewingPublicKey.toString()}\nMaster Outgoing Viewing Public Key: ${this.publicKeys.masterOutgoingViewingPublicKey.toString()}\nMaster Tagging Public Key: ${this.publicKeys.masterTaggingPublicKey.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
94
+ return `Address: ${this.address.toString()}\nNpkM hash: ${this.publicKeys.npkMHash.toString()}\nIvpkM: ${this.publicKeys.ivpkM.toString()}\nOvpkM hash: ${this.publicKeys.ovpkMHash.toString()}\nTpkM hash: ${this.publicKeys.tpkMHash.toString()}\nMspkM hash: ${this.publicKeys.mspkMHash.toString()}\nFbpkM hash: ${this.publicKeys.fbpkMHash.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
91
95
  }
92
96
 
93
97
  /**