@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
@@ -1,5 +1,5 @@
1
1
  import { BlobAccumulator, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
2
- import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
2
+ import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
@@ -38,11 +38,11 @@ export class CheckpointRollupPublicInputs {
38
38
  /**
39
39
  * The hashes of the headers of the constituent checkpoints.
40
40
  */
41
- public checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
41
+ public checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>,
42
42
  /**
43
43
  * The summed transaction fees and recipients of the constituent checkpoints.
44
44
  */
45
- public fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
45
+ public fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>,
46
46
  /**
47
47
  * Accumulated opening proofs for all blobs before this checkpoint range.
48
48
  */
@@ -65,8 +65,8 @@ export class CheckpointRollupPublicInputs {
65
65
  reader.readObject(AppendOnlyTreeSnapshot),
66
66
  reader.readObject(AppendOnlyTreeSnapshot),
67
67
  reader.readObject(AppendOnlyTreeSnapshot),
68
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr),
69
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
68
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr),
69
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient),
70
70
  reader.readObject(BlobAccumulator),
71
71
  reader.readObject(BlobAccumulator),
72
72
  reader.readObject(FinalBlobBatchingChallenges),
@@ -101,6 +101,16 @@ export class CheckpointRollupPublicInputs {
101
101
  return this.toBuffer();
102
102
  }
103
103
 
104
+ toInspect() {
105
+ return {
106
+ checkpointHeaderHash: this.checkpointHeaderHashes[0].toString(),
107
+ previousArchiveRoot: this.previousArchive.root.toString(),
108
+ newArchiveRoot: this.newArchive.root.toString(),
109
+ previousOutHashRoot: this.previousOutHash.root.toString(),
110
+ newOutHashRoot: this.newOutHash.root.toString(),
111
+ };
112
+ }
113
+
104
114
  /** Creates an instance from a hex string. */
105
115
  static get schema() {
106
116
  return bufferSchemaFor(CheckpointRollupPublicInputs);
@@ -1,5 +1,5 @@
1
1
  import { FinalBlobAccumulator } from '@aztec/blob-lib/types';
2
- import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
2
+ import { MAX_CHECKPOINTS_PER_EPOCH } from '@aztec/constants';
3
3
  import { makeTuple } from '@aztec/foundation/array';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
@@ -27,8 +27,8 @@ export class RootRollupPublicInputs {
27
27
  */
28
28
  public outHash: Fr,
29
29
  /** Hashes of checkpoint headers for this rollup. */
30
- public checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
31
- public fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
30
+ public checkpointHeaderHashes: Tuple<Fr, typeof MAX_CHECKPOINTS_PER_EPOCH>,
31
+ public fees: Tuple<FeeRecipient, typeof MAX_CHECKPOINTS_PER_EPOCH>,
32
32
  public constants: EpochConstantData,
33
33
  public blobPublicInputs: FinalBlobAccumulator,
34
34
  ) {}
@@ -68,8 +68,8 @@ export class RootRollupPublicInputs {
68
68
  Fr.fromBuffer(reader),
69
69
  Fr.fromBuffer(reader),
70
70
  Fr.fromBuffer(reader),
71
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr),
72
- reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
71
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr),
72
+ reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient),
73
73
  EpochConstantData.fromBuffer(reader),
74
74
  reader.readObject(FinalBlobAccumulator),
75
75
  );
@@ -99,8 +99,8 @@ export class RootRollupPublicInputs {
99
99
  Fr.random(),
100
100
  Fr.random(),
101
101
  Fr.random(),
102
- makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random),
103
- makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random),
102
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, Fr.random),
103
+ makeTuple(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient.random),
104
104
  new EpochConstantData(Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random()),
105
105
  FinalBlobAccumulator.random(),
106
106
  );
@@ -89,7 +89,10 @@ export const AbiDecodedSchema: ZodFor<AbiDecoded> = z.union([
89
89
  z.boolean(),
90
90
  schemas.AztecAddress,
91
91
  z.array(z.lazy(() => AbiDecodedSchema)),
92
- z.record(z.lazy(() => AbiDecodedSchema)),
92
+ z.record(
93
+ z.string(),
94
+ z.lazy(() => AbiDecodedSchema),
95
+ ),
93
96
  ]);
94
97
 
95
98
  // C++ only supports null values, which we want to convert to undefined.
@@ -103,6 +106,8 @@ export {
103
106
  hexSchemaFor,
104
107
  bufferSchemaFor,
105
108
  type ApiSchemaFor,
109
+ getSchemaParameters,
110
+ getSchemaReturnType,
106
111
  optional,
107
112
  mapSchema,
108
113
  pickFromSchema,
@@ -48,9 +48,12 @@ export function getPenaltyForOffense(
48
48
  offense: OffenseType,
49
49
  config: Pick<
50
50
  SlasherConfig,
51
- | 'slashAttestDescendantOfInvalidPenalty'
51
+ | 'slashProposeDescendantOfCheckpointWithInvalidAttestationsPenalty'
52
52
  | 'slashBroadcastedInvalidBlockPenalty'
53
- | 'slashPrunePenalty'
53
+ | 'slashBroadcastedInvalidCheckpointProposalPenalty'
54
+ | 'slashDuplicateProposalPenalty'
55
+ | 'slashDuplicateAttestationPenalty'
56
+ | 'slashAttestInvalidCheckpointProposalPenalty'
54
57
  | 'slashDataWithholdingPenalty'
55
58
  | 'slashUnknownPenalty'
56
59
  | 'slashInactivityPenalty'
@@ -58,8 +61,6 @@ export function getPenaltyForOffense(
58
61
  >,
59
62
  ) {
60
63
  switch (offense) {
61
- case OffenseType.VALID_EPOCH_PRUNED:
62
- return config.slashPrunePenalty;
63
64
  case OffenseType.DATA_WITHHOLDING:
64
65
  return config.slashDataWithholdingPenalty;
65
66
  case OffenseType.INACTIVITY:
@@ -67,10 +68,18 @@ export function getPenaltyForOffense(
67
68
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
68
69
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
69
70
  return config.slashProposeInvalidAttestationsPenalty;
70
- case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
71
- return config.slashAttestDescendantOfInvalidPenalty;
71
+ case OffenseType.PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS:
72
+ return config.slashProposeDescendantOfCheckpointWithInvalidAttestationsPenalty;
72
73
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
73
74
  return config.slashBroadcastedInvalidBlockPenalty;
75
+ case OffenseType.BROADCASTED_INVALID_CHECKPOINT_PROPOSAL:
76
+ return config.slashBroadcastedInvalidCheckpointProposalPenalty;
77
+ case OffenseType.DUPLICATE_PROPOSAL:
78
+ return config.slashDuplicateProposalPenalty;
79
+ case OffenseType.DUPLICATE_ATTESTATION:
80
+ return config.slashDuplicateAttestationPenalty;
81
+ case OffenseType.ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL:
82
+ return config.slashAttestInvalidCheckpointProposalPenalty;
74
83
  case OffenseType.UNKNOWN:
75
84
  return config.slashUnknownPenalty;
76
85
  default: {
@@ -83,15 +92,18 @@ export function getPenaltyForOffense(
83
92
  /** Returns whether the `epochOrSlot` field for an offense references an epoch or a slot */
84
93
  export function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot' {
85
94
  switch (offense) {
86
- case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
95
+ case OffenseType.PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS:
87
96
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
97
+ case OffenseType.DATA_WITHHOLDING:
98
+ case OffenseType.BROADCASTED_INVALID_CHECKPOINT_PROPOSAL:
99
+ case OffenseType.DUPLICATE_PROPOSAL:
100
+ case OffenseType.DUPLICATE_ATTESTATION:
101
+ case OffenseType.ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL:
88
102
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
89
103
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
90
104
  return 'slot';
91
105
  case OffenseType.INACTIVITY:
92
- case OffenseType.DATA_WITHHOLDING:
93
106
  case OffenseType.UNKNOWN:
94
- case OffenseType.VALID_EPOCH_PRUNED:
95
107
  return 'epoch';
96
108
  default: {
97
109
  const _exhaustiveCheck: never = offense;
@@ -1,6 +1,5 @@
1
1
  export * from './types.js';
2
2
  export * from './interfaces.js';
3
3
  export * from './helpers.js';
4
- export * from './empire.js';
5
- export * from './tally.js';
4
+ export * from './votes.js';
6
5
  export * from './serialization.js';
@@ -1,15 +1,7 @@
1
- import { times } from '@aztec/foundation/collection';
2
1
  import { EthAddress } from '@aztec/foundation/eth-address';
3
2
  import { BufferReader, bigintToUInt64BE, bigintToUInt128BE, serializeToBuffer } from '@aztec/foundation/serialize';
4
3
 
5
- import type {
6
- Offense,
7
- OffenseType,
8
- SlashPayload,
9
- SlashPayloadRound,
10
- ValidatorSlash,
11
- ValidatorSlashOffense,
12
- } from './types.js';
4
+ import type { Offense, OffenseType } from './types.js';
13
5
 
14
6
  export function serializeOffense(offense: Offense): Buffer {
15
7
  return serializeToBuffer(
@@ -29,75 +21,3 @@ export function deserializeOffense(buffer: Buffer): Offense {
29
21
 
30
22
  return { validator, amount, offenseType: offense, epochOrSlot };
31
23
  }
32
-
33
- function serializeValidatorSlashOffense(offense: ValidatorSlashOffense): Buffer {
34
- return serializeToBuffer(bigintToUInt64BE(offense.epochOrSlot), offense.offenseType);
35
- }
36
-
37
- function deserializeValidatorSlashOffense(buffer: Buffer | BufferReader): ValidatorSlashOffense {
38
- const reader = BufferReader.asReader(buffer);
39
- return {
40
- epochOrSlot: reader.readUInt64(),
41
- offenseType: reader.readNumber() as OffenseType,
42
- };
43
- }
44
-
45
- function serializeValidatorSlash(slash: ValidatorSlash): Buffer {
46
- return serializeToBuffer(
47
- slash.validator,
48
- bigintToUInt128BE(slash.amount),
49
- slash.offenses.length,
50
- slash.offenses.map(serializeValidatorSlashOffense),
51
- );
52
- }
53
-
54
- function deserializeValidatorSlash(buffer: Buffer | BufferReader): ValidatorSlash {
55
- const reader = BufferReader.asReader(buffer);
56
- const validator = reader.readObject(EthAddress);
57
- const amount = reader.readUInt128();
58
- const offensesCount = reader.readNumber();
59
- const offenses = times(offensesCount, () => deserializeValidatorSlashOffense(reader));
60
-
61
- return { validator, amount, offenses };
62
- }
63
-
64
- export function serializeSlashPayload(payload: SlashPayload): Buffer {
65
- return serializeToBuffer(
66
- payload.address,
67
- payload.slashes.length,
68
- payload.slashes.map(serializeValidatorSlash),
69
- bigintToUInt64BE(payload.timestamp),
70
- );
71
- }
72
-
73
- export function deserializeSlashPayload(buffer: Buffer): SlashPayload {
74
- const reader = BufferReader.asReader(buffer);
75
- const address = reader.readObject(EthAddress);
76
- const slashesCount = reader.readNumber();
77
- const slashes = times(slashesCount, () => deserializeValidatorSlash(reader));
78
- const timestamp = reader.readUInt64();
79
- return { address, slashes, timestamp };
80
- }
81
-
82
- export function serializeSlashPayloadRound(payload: SlashPayloadRound): Buffer {
83
- return serializeToBuffer(
84
- payload.address,
85
- payload.slashes.length,
86
- payload.slashes.map(serializeValidatorSlash),
87
- bigintToUInt64BE(payload.timestamp),
88
- Number(payload.votes),
89
- bigintToUInt64BE(payload.round),
90
- );
91
- }
92
-
93
- export function deserializeSlashPayloadRound(buffer: Buffer): SlashPayloadRound {
94
- const reader = BufferReader.asReader(buffer);
95
- const address = reader.readObject(EthAddress);
96
- const slashesCount = reader.readNumber();
97
- const slashes = times(slashesCount, () => deserializeValidatorSlash(reader));
98
- const timestamp = reader.readUInt64();
99
- const votes = BigInt(reader.readNumber());
100
- const round = reader.readUInt64();
101
-
102
- return { address, slashes, timestamp, votes, round };
103
- }
@@ -6,10 +6,8 @@ import { schemas, zodFor } from '../schemas/index.js';
6
6
 
7
7
  export enum OffenseType {
8
8
  UNKNOWN = 0,
9
- /** The data for proving an epoch was not publicly available, we slash its committee */
9
+ /** The data for the txs in a published checkpoint was not available within the tolerance window, we slash the checkpoint's attesters */
10
10
  DATA_WITHHOLDING = 1,
11
- /** An epoch was not successfully proven in time, we slash its committee */
12
- VALID_EPOCH_PRUNED = 2,
13
11
  /** A proposer failed to attest or propose during an epoch according to the Sentinel */
14
12
  INACTIVITY = 3,
15
13
  /** A proposer sent an invalid block proposal over the p2p network to the committee */
@@ -18,8 +16,16 @@ export enum OffenseType {
18
16
  PROPOSED_INSUFFICIENT_ATTESTATIONS = 5,
19
17
  /** A proposer pushed to L1 a block with incorrect committee attestations (ie signature from a non-committee member) */
20
18
  PROPOSED_INCORRECT_ATTESTATIONS = 6,
21
- /** A committee member attested to a block that was built as a descendent of an invalid block (as in a block with invalid attestations) */
22
- ATTESTED_DESCENDANT_OF_INVALID = 7,
19
+ /** A proposer published a checkpoint to L1 that builds on an invalid checkpoint (as in a checkpoint with invalid or insufficient attestations) */
20
+ PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS = 7,
21
+ /** A proposer sent duplicate proposals for the same position (slot, indexWithinCheckpoint for blocks or slot for checkpoints) */
22
+ DUPLICATE_PROPOSAL = 8,
23
+ /** A validator signed attestations for different proposals at the same slot (equivocation) */
24
+ DUPLICATE_ATTESTATION = 9,
25
+ /** A committee member attested to a checkpoint proposal in a slot with an invalid block proposal */
26
+ ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL = 10,
27
+ /** A proposer broadcast an invalid checkpoint proposal, detected by retained evidence or deterministic recomputation */
28
+ BROADCASTED_INVALID_CHECKPOINT_PROPOSAL = 11,
23
29
  }
24
30
 
25
31
  export function getOffenseTypeName(offense: OffenseType) {
@@ -28,8 +34,6 @@ export function getOffenseTypeName(offense: OffenseType) {
28
34
  return 'unknown';
29
35
  case OffenseType.DATA_WITHHOLDING:
30
36
  return 'data_withholding';
31
- case OffenseType.VALID_EPOCH_PRUNED:
32
- return 'valid_epoch_pruned';
33
37
  case OffenseType.INACTIVITY:
34
38
  return 'inactivity';
35
39
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
@@ -38,8 +42,16 @@ export function getOffenseTypeName(offense: OffenseType) {
38
42
  return 'proposed_insufficient_attestations';
39
43
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
40
44
  return 'proposed_incorrect_attestations';
41
- case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
42
- return 'attested_descendant_of_invalid';
45
+ case OffenseType.PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS:
46
+ return 'proposed_descendant_of_checkpoint_with_invalid_attestations';
47
+ case OffenseType.DUPLICATE_PROPOSAL:
48
+ return 'duplicate_proposal';
49
+ case OffenseType.DUPLICATE_ATTESTATION:
50
+ return 'duplicate_attestation';
51
+ case OffenseType.ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL:
52
+ return 'attested_to_invalid_checkpoint_proposal';
53
+ case OffenseType.BROADCASTED_INVALID_CHECKPOINT_PROPOSAL:
54
+ return 'broadcasted_invalid_checkpoint_proposal';
43
55
  default:
44
56
  throw new Error(`Unknown offense type: ${offense}`);
45
57
  }
@@ -50,12 +62,15 @@ export const OffenseTypeSchema = z.nativeEnum(OffenseType);
50
62
  export const OffenseToBigInt: Record<OffenseType, bigint> = {
51
63
  [OffenseType.UNKNOWN]: 0n,
52
64
  [OffenseType.DATA_WITHHOLDING]: 1n,
53
- [OffenseType.VALID_EPOCH_PRUNED]: 2n,
54
65
  [OffenseType.INACTIVITY]: 3n,
55
66
  [OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL]: 4n,
56
67
  [OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS]: 5n,
57
68
  [OffenseType.PROPOSED_INCORRECT_ATTESTATIONS]: 6n,
58
- [OffenseType.ATTESTED_DESCENDANT_OF_INVALID]: 7n,
69
+ [OffenseType.PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS]: 7n,
70
+ [OffenseType.DUPLICATE_PROPOSAL]: 8n,
71
+ [OffenseType.DUPLICATE_ATTESTATION]: 9n,
72
+ [OffenseType.ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL]: 10n,
73
+ [OffenseType.BROADCASTED_INVALID_CHECKPOINT_PROPOSAL]: 11n,
59
74
  };
60
75
 
61
76
  export function bigIntToOffense(offense: bigint): OffenseType {
@@ -64,8 +79,6 @@ export function bigIntToOffense(offense: bigint): OffenseType {
64
79
  return OffenseType.UNKNOWN;
65
80
  case 1n:
66
81
  return OffenseType.DATA_WITHHOLDING;
67
- case 2n:
68
- return OffenseType.VALID_EPOCH_PRUNED;
69
82
  case 3n:
70
83
  return OffenseType.INACTIVITY;
71
84
  case 4n:
@@ -75,7 +88,15 @@ export function bigIntToOffense(offense: bigint): OffenseType {
75
88
  case 6n:
76
89
  return OffenseType.PROPOSED_INCORRECT_ATTESTATIONS;
77
90
  case 7n:
78
- return OffenseType.ATTESTED_DESCENDANT_OF_INVALID;
91
+ return OffenseType.PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS;
92
+ case 8n:
93
+ return OffenseType.DUPLICATE_PROPOSAL;
94
+ case 9n:
95
+ return OffenseType.DUPLICATE_ATTESTATION;
96
+ case 10n:
97
+ return OffenseType.ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL;
98
+ case 11n:
99
+ return OffenseType.BROADCASTED_INVALID_CHECKPOINT_PROPOSAL;
79
100
  default:
80
101
  throw new Error(`Unknown offense: ${offense}`);
81
102
  }
@@ -112,45 +133,13 @@ export type ValidatorSlash = {
112
133
  offenses: ValidatorSlashOffense[];
113
134
  };
114
135
 
115
- /** Slash payload as published by the empire slash proposer */
116
- export type SlashPayload = {
117
- address: EthAddress;
118
- slashes: ValidatorSlash[];
119
- timestamp: bigint;
120
- };
121
-
122
- /** Slash payload with round information from empire slash proposer */
123
- export type SlashPayloadRound = SlashPayload & { votes: bigint; round: bigint };
124
-
125
- export const SlashPayloadRoundSchema = zodFor<SlashPayloadRound>()(
126
- z.object({
127
- address: schemas.EthAddress,
128
- timestamp: schemas.BigInt,
129
- votes: schemas.BigInt,
130
- round: schemas.BigInt,
131
- slashes: z.array(
132
- z.object({
133
- validator: schemas.EthAddress,
134
- amount: schemas.BigInt,
135
- offenses: z.array(z.object({ offenseType: OffenseTypeSchema, epochOrSlot: schemas.BigInt })),
136
- }),
137
- ),
138
- }),
139
- );
140
-
141
- /** Votes for a validator slash in the consensus slash proposer */
136
+ /** Votes for a validator slash in the slashing proposer */
142
137
  export type ValidatorSlashVote = number;
143
138
 
144
139
  export type ProposerSlashAction =
145
- /** Create a new slash payload on an empire-based slash proposer */
146
- | { type: 'create-empire-payload'; data: ValidatorSlash[] }
147
- /** Vote for a slashing payload on an empire-based slash proposer */
148
- | { type: 'vote-empire-payload'; payload: EthAddress }
149
- /** Execute a slashing payload on an empire-based slash proposer */
150
- | { type: 'execute-empire-payload'; round: bigint }
151
- /** Vote for offenses on a consensus slashing proposer */
140
+ /** Vote for offenses on the slashing proposer */
152
141
  | { type: 'vote-offenses'; votes: ValidatorSlashVote[]; committees: EthAddress[][]; round: bigint }
153
- /** Execute a slashing round on a consensus slashing proposer */
142
+ /** Execute a slashing round on the slashing proposer */
154
143
  | { type: 'execute-slash'; committees: EthAddress[][]; round: bigint };
155
144
 
156
145
  export type ProposerSlashActionType = ProposerSlashAction['type'];
@@ -1,5 +1,7 @@
1
1
  import { sumBigint } from '@aztec/foundation/bigint';
2
+ import { padArrayEnd } from '@aztec/foundation/collection';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
+ import { type Logger, createLogger } from '@aztec/foundation/log';
3
5
  import type { PartialBy } from '@aztec/foundation/types';
4
6
 
5
7
  import { getEpochForOffense } from './helpers.js';
@@ -11,6 +13,9 @@ import type { Offense, ValidatorSlashVote } from './types.js';
11
13
  * @param committees - Array of committees (each containing array of validator addresses)
12
14
  * @param epochsForCommittees - Array of epochs corresponding to each committee
13
15
  * @param settings - Settings including slashingAmounts and optional validator override lists
16
+ * @param settings.maxSlashedValidators - If set, limits the total number of [validator, epoch] pairs
17
+ * with non-zero votes. The lowest-vote pairs are zeroed out to stay within the limit.
18
+ * @param logger - Logger, logs which validators were dropped.
14
19
  * @returns Array of ValidatorSlashVote, where each vote is how many slash units the validator in that position should be slashed
15
20
  */
16
21
  export function getSlashConsensusVotesFromOffenses(
@@ -20,9 +25,12 @@ export function getSlashConsensusVotesFromOffenses(
20
25
  settings: {
21
26
  slashingAmounts: [bigint, bigint, bigint];
22
27
  epochDuration: number;
28
+ targetCommitteeSize: number;
29
+ maxSlashedValidators?: number;
23
30
  },
31
+ logger: Logger = createLogger('slasher:votes'),
24
32
  ): ValidatorSlashVote[] {
25
- const { slashingAmounts } = settings;
33
+ const { slashingAmounts, targetCommitteeSize, maxSlashedValidators } = settings;
26
34
 
27
35
  if (committees.length !== epochsForCommittees.length) {
28
36
  throw new Error('committees and epochsForCommittees must have the same length');
@@ -31,7 +39,9 @@ export function getSlashConsensusVotesFromOffenses(
31
39
  const votes = committees.flatMap((committee, committeeIndex) => {
32
40
  const committeeEpoch = epochsForCommittees[committeeIndex];
33
41
 
34
- return committee.map(validator => {
42
+ // Map over actual committee members, then pad to targetCommitteeSize.
43
+ // Padding handles cases where committees may be empty (e.g., when there aren't enough validators to fill the committee size during network startup).
44
+ const votes = committee.map(validator => {
35
45
  // Find offenses for this validator in this specific epoch.
36
46
  // If an offense has no epoch, it is considered for all epochs due to a slashAlways setting.
37
47
  const validatorOffenses = offenses.filter(
@@ -45,8 +55,37 @@ export function getSlashConsensusVotesFromOffenses(
45
55
  const slashUnits = getSlashUnitsForAmount(slashAmount, slashingAmounts);
46
56
  return Number(slashUnits);
47
57
  });
58
+
59
+ return padArrayEnd(votes, 0, targetCommitteeSize);
48
60
  });
49
61
 
62
+ // if a cap is set, zero out the lowest-vote [validator, epoch] pairs so that the most severe slashes stay.
63
+ if (maxSlashedValidators === undefined) {
64
+ return votes;
65
+ }
66
+
67
+ const nonZeroByDescendingVote = [...votes.entries()].filter(([, vote]) => vote > 0).sort(([, a], [, b]) => b - a);
68
+
69
+ const toTruncate = nonZeroByDescendingVote.slice(maxSlashedValidators);
70
+ for (const [idx] of toTruncate) {
71
+ votes[idx] = 0;
72
+ }
73
+
74
+ if (toTruncate.length > 0) {
75
+ const truncated = toTruncate.map(([idx]) => {
76
+ const committeeIndex = Math.floor(idx / targetCommitteeSize);
77
+ const positionInCommittee = idx % targetCommitteeSize;
78
+ return {
79
+ validator: committees[committeeIndex][positionInCommittee].toString(),
80
+ epoch: epochsForCommittees[committeeIndex],
81
+ };
82
+ });
83
+ logger.warn(
84
+ `Truncated ${toTruncate.length} validator-epoch pairs to stay within limit of ${maxSlashedValidators}`,
85
+ { truncated },
86
+ );
87
+ }
88
+
50
89
  return votes;
51
90
  }
52
91
 
@@ -84,7 +84,11 @@ export type NodeSyncedChainHistoryStats = {
84
84
 
85
85
  export type ClientCircuitName =
86
86
  | 'private-kernel-init'
87
+ | 'private-kernel-init-2'
88
+ | 'private-kernel-init-3'
87
89
  | 'private-kernel-inner'
90
+ | 'private-kernel-inner-2'
91
+ | 'private-kernel-inner-3'
88
92
  | 'private-kernel-reset'
89
93
  | 'private-kernel-tail'
90
94
  | 'private-kernel-tail-to-public'