@aztec/stdlib 0.0.1-commit.87a0206 → 0.0.1-commit.88c5703d4

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 (446) hide show
  1. package/dest/abi/decoder.d.ts +2 -2
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +7 -5
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +37 -6
  7. package/dest/abi/event_metadata_definition.d.ts +3 -1
  8. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  9. package/dest/abi/event_metadata_definition.js +1 -1
  10. package/dest/abi/utils.d.ts +14 -1
  11. package/dest/abi/utils.d.ts.map +1 -1
  12. package/dest/abi/utils.js +15 -0
  13. package/dest/auth_witness/auth_witness.js +3 -3
  14. package/dest/avm/avm.d.ts +300 -300
  15. package/dest/avm/avm_proving_request.d.ts +166 -166
  16. package/dest/avm/revert_code.d.ts +16 -1
  17. package/dest/avm/revert_code.d.ts.map +1 -1
  18. package/dest/avm/revert_code.js +15 -5
  19. package/dest/block/block_data.d.ts +52 -0
  20. package/dest/block/block_data.d.ts.map +1 -0
  21. package/dest/block/block_data.js +12 -0
  22. package/dest/block/index.d.ts +2 -1
  23. package/dest/block/index.d.ts.map +1 -1
  24. package/dest/block/index.js +1 -0
  25. package/dest/block/l2_block.d.ts +9 -1
  26. package/dest/block/l2_block.d.ts.map +1 -1
  27. package/dest/block/l2_block.js +12 -2
  28. package/dest/block/l2_block_source.d.ts +33 -8
  29. package/dest/block/l2_block_source.d.ts.map +1 -1
  30. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  31. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  32. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  33. package/dest/checkpoint/checkpoint.d.ts +22 -7
  34. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  35. package/dest/checkpoint/checkpoint.js +32 -16
  36. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  37. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  38. package/dest/checkpoint/checkpoint_data.js +26 -0
  39. package/dest/checkpoint/index.d.ts +3 -1
  40. package/dest/checkpoint/index.d.ts.map +1 -1
  41. package/dest/checkpoint/index.js +2 -0
  42. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  43. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  44. package/dest/checkpoint/published_checkpoint.js +1 -2
  45. package/dest/checkpoint/validate.d.ts +36 -0
  46. package/dest/checkpoint/validate.d.ts.map +1 -0
  47. package/dest/checkpoint/validate.js +120 -0
  48. package/dest/config/index.d.ts +2 -1
  49. package/dest/config/index.d.ts.map +1 -1
  50. package/dest/config/index.js +1 -0
  51. package/dest/config/sequencer-config.d.ts +12 -0
  52. package/dest/config/sequencer-config.d.ts.map +1 -0
  53. package/dest/config/sequencer-config.js +24 -0
  54. package/dest/contract/contract_address.js +4 -4
  55. package/dest/contract/contract_class.d.ts +2 -3
  56. package/dest/contract/contract_class.d.ts.map +1 -1
  57. package/dest/contract/contract_class_id.d.ts +1 -1
  58. package/dest/contract/contract_class_id.d.ts.map +1 -1
  59. package/dest/contract/contract_class_id.js +5 -4
  60. package/dest/contract/interfaces/node-info.d.ts +3 -1
  61. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  62. package/dest/contract/interfaces/node-info.js +2 -1
  63. package/dest/contract/private_function.js +2 -2
  64. package/dest/epoch-helpers/index.d.ts +9 -1
  65. package/dest/epoch-helpers/index.d.ts.map +1 -1
  66. package/dest/epoch-helpers/index.js +6 -2
  67. package/dest/file-store/local.d.ts +3 -3
  68. package/dest/file-store/local.d.ts.map +1 -1
  69. package/dest/file-store/local.js +13 -4
  70. package/dest/file-store/s3.d.ts +1 -1
  71. package/dest/file-store/s3.d.ts.map +1 -1
  72. package/dest/file-store/s3.js +11 -3
  73. package/dest/gas/gas_fees.d.ts +1 -1
  74. package/dest/gas/gas_fees.d.ts.map +1 -1
  75. package/dest/gas/gas_fees.js +4 -1
  76. package/dest/ha-signing/config.d.ts +136 -0
  77. package/dest/ha-signing/config.d.ts.map +1 -0
  78. package/dest/ha-signing/config.js +97 -0
  79. package/dest/ha-signing/index.d.ts +4 -0
  80. package/dest/ha-signing/index.d.ts.map +1 -0
  81. package/dest/ha-signing/index.js +3 -0
  82. package/dest/ha-signing/local_config.d.ts +63 -0
  83. package/dest/ha-signing/local_config.d.ts.map +1 -0
  84. package/dest/ha-signing/local_config.js +24 -0
  85. package/dest/ha-signing/types.d.ts +85 -0
  86. package/dest/ha-signing/types.d.ts.map +1 -0
  87. package/dest/ha-signing/types.js +32 -0
  88. package/dest/hash/hash.d.ts +2 -1
  89. package/dest/hash/hash.d.ts.map +1 -1
  90. package/dest/hash/hash.js +16 -10
  91. package/dest/hash/map_slot.js +2 -2
  92. package/dest/interfaces/allowed_element.d.ts +26 -20
  93. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  94. package/dest/interfaces/allowed_element.js +8 -8
  95. package/dest/interfaces/archiver.d.ts +1 -1
  96. package/dest/interfaces/archiver.d.ts.map +1 -1
  97. package/dest/interfaces/archiver.js +8 -2
  98. package/dest/interfaces/aztec-node-admin.d.ts +114 -31
  99. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  100. package/dest/interfaces/aztec-node-admin.js +9 -3
  101. package/dest/interfaces/aztec-node.d.ts +12 -7
  102. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  103. package/dest/interfaces/aztec-node.js +5 -2
  104. package/dest/interfaces/block-builder.d.ts +18 -10
  105. package/dest/interfaces/block-builder.d.ts.map +1 -1
  106. package/dest/interfaces/block-builder.js +16 -6
  107. package/dest/interfaces/configs.d.ts +82 -32
  108. package/dest/interfaces/configs.d.ts.map +1 -1
  109. package/dest/interfaces/configs.js +11 -3
  110. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  111. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  112. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  113. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  114. package/dest/interfaces/p2p.d.ts +3 -8
  115. package/dest/interfaces/p2p.d.ts.map +1 -1
  116. package/dest/interfaces/prover-client.d.ts +6 -1
  117. package/dest/interfaces/prover-client.d.ts.map +1 -1
  118. package/dest/interfaces/prover-client.js +7 -1
  119. package/dest/interfaces/proving-job.d.ts +168 -168
  120. package/dest/interfaces/slasher.d.ts +5 -1
  121. package/dest/interfaces/slasher.d.ts.map +1 -1
  122. package/dest/interfaces/slasher.js +1 -0
  123. package/dest/interfaces/validator.d.ts +115 -42
  124. package/dest/interfaces/validator.d.ts.map +1 -1
  125. package/dest/interfaces/validator.js +10 -4
  126. package/dest/interfaces/world_state.d.ts +5 -4
  127. package/dest/interfaces/world_state.d.ts.map +1 -1
  128. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  129. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  130. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  131. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  132. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  133. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  134. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  135. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  136. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  137. package/dest/kernel/hints/index.d.ts +2 -2
  138. package/dest/kernel/hints/index.js +2 -2
  139. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  140. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  141. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  142. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  143. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  144. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  145. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  146. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  147. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  148. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  149. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  150. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  151. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  152. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  153. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  154. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  155. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  156. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  157. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  158. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  159. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  160. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  161. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  162. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  163. package/dest/kernel/private_validation_requests.d.ts +3 -3
  164. package/dest/kernel/private_validation_requests.js +9 -9
  165. package/dest/keys/derivation.js +8 -8
  166. package/dest/keys/key_types.d.ts +3 -3
  167. package/dest/keys/key_types.d.ts.map +1 -1
  168. package/dest/keys/public_keys.js +2 -2
  169. package/dest/keys/utils.js +5 -5
  170. package/dest/kv-store/config.d.ts +17 -0
  171. package/dest/kv-store/config.d.ts.map +1 -0
  172. package/dest/kv-store/config.js +26 -0
  173. package/dest/kv-store/index.d.ts +2 -0
  174. package/dest/kv-store/index.d.ts.map +1 -0
  175. package/dest/kv-store/index.js +1 -0
  176. package/dest/logs/debug_log_store.d.ts +30 -0
  177. package/dest/logs/debug_log_store.d.ts.map +1 -0
  178. package/dest/logs/debug_log_store.js +30 -0
  179. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  180. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  181. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  182. package/dest/logs/index.d.ts +4 -2
  183. package/dest/logs/index.d.ts.map +1 -1
  184. package/dest/logs/index.js +3 -1
  185. package/dest/logs/pre_tag.d.ts +16 -11
  186. package/dest/logs/pre_tag.d.ts.map +1 -1
  187. package/dest/logs/pre_tag.js +2 -2
  188. package/dest/logs/private_log.d.ts +2 -2
  189. package/dest/logs/private_log.d.ts.map +1 -1
  190. package/dest/logs/public_log.d.ts +4 -3
  191. package/dest/logs/public_log.d.ts.map +1 -1
  192. package/dest/logs/public_log.js +2 -1
  193. package/dest/logs/siloed_tag.d.ts +5 -3
  194. package/dest/logs/siloed_tag.d.ts.map +1 -1
  195. package/dest/logs/siloed_tag.js +8 -7
  196. package/dest/logs/tag.js +1 -1
  197. package/dest/logs/tagging_index_range.d.ts +40 -0
  198. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  199. package/dest/logs/tagging_index_range.js +8 -0
  200. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  201. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  202. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  203. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  204. package/dest/messaging/l2_to_l1_membership.js +69 -26
  205. package/dest/note/index.d.ts +1 -2
  206. package/dest/note/index.d.ts.map +1 -1
  207. package/dest/note/index.js +0 -1
  208. package/dest/p2p/attestation_utils.d.ts +11 -1
  209. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  210. package/dest/p2p/attestation_utils.js +45 -0
  211. package/dest/p2p/block_proposal.d.ts +2 -2
  212. package/dest/p2p/block_proposal.d.ts.map +1 -1
  213. package/dest/p2p/block_proposal.js +2 -4
  214. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  215. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  216. package/dest/p2p/checkpoint_attestation.js +1 -1
  217. package/dest/p2p/checkpoint_proposal.d.ts +11 -11
  218. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  219. package/dest/p2p/checkpoint_proposal.js +21 -28
  220. package/dest/p2p/client_type.d.ts +2 -5
  221. package/dest/p2p/client_type.d.ts.map +1 -1
  222. package/dest/p2p/client_type.js +0 -7
  223. package/dest/p2p/consensus_payload.d.ts +12 -3
  224. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  225. package/dest/p2p/consensus_payload.js +22 -15
  226. package/dest/p2p/constants.d.ts +3 -1
  227. package/dest/p2p/constants.d.ts.map +1 -1
  228. package/dest/p2p/constants.js +1 -0
  229. package/dest/p2p/index.d.ts +1 -2
  230. package/dest/p2p/index.d.ts.map +1 -1
  231. package/dest/p2p/index.js +0 -1
  232. package/dest/p2p/peer_error.d.ts +3 -1
  233. package/dest/p2p/peer_error.d.ts.map +1 -1
  234. package/dest/p2p/peer_error.js +5 -0
  235. package/dest/p2p/topic_type.d.ts +3 -4
  236. package/dest/p2p/topic_type.d.ts.map +1 -1
  237. package/dest/p2p/topic_type.js +7 -24
  238. package/dest/rollup/checkpoint_header.d.ts +2 -2
  239. package/dest/rollup/checkpoint_header.js +2 -2
  240. package/dest/slashing/empire.d.ts +1 -1
  241. package/dest/slashing/empire.d.ts.map +1 -1
  242. package/dest/slashing/empire.js +1 -0
  243. package/dest/slashing/helpers.d.ts +2 -2
  244. package/dest/slashing/helpers.d.ts.map +1 -1
  245. package/dest/slashing/helpers.js +3 -0
  246. package/dest/slashing/tally.d.ts +7 -2
  247. package/dest/slashing/tally.d.ts.map +1 -1
  248. package/dest/slashing/tally.js +30 -2
  249. package/dest/slashing/types.d.ts +5 -3
  250. package/dest/slashing/types.d.ts.map +1 -1
  251. package/dest/slashing/types.js +7 -1
  252. package/dest/tests/factories.d.ts +3 -1
  253. package/dest/tests/factories.d.ts.map +1 -1
  254. package/dest/tests/factories.js +19 -11
  255. package/dest/tests/mocks.d.ts +8 -3
  256. package/dest/tests/mocks.d.ts.map +1 -1
  257. package/dest/tests/mocks.js +31 -21
  258. package/dest/timetable/index.d.ts +37 -0
  259. package/dest/timetable/index.d.ts.map +1 -0
  260. package/dest/timetable/index.js +39 -0
  261. package/dest/trees/public_data_leaf.d.ts +2 -1
  262. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  263. package/dest/trees/public_data_leaf.js +7 -6
  264. package/dest/tx/block_header.d.ts +3 -1
  265. package/dest/tx/block_header.d.ts.map +1 -1
  266. package/dest/tx/block_header.js +6 -2
  267. package/dest/tx/global_variables.d.ts +4 -4
  268. package/dest/tx/global_variables.d.ts.map +1 -1
  269. package/dest/tx/private_execution_result.d.ts +6 -6
  270. package/dest/tx/private_execution_result.d.ts.map +1 -1
  271. package/dest/tx/private_execution_result.js +6 -6
  272. package/dest/tx/profiling.d.ts +17 -5
  273. package/dest/tx/profiling.d.ts.map +1 -1
  274. package/dest/tx/profiling.js +15 -5
  275. package/dest/tx/protocol_contracts.d.ts +1 -1
  276. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  277. package/dest/tx/protocol_contracts.js +2 -2
  278. package/dest/tx/public_simulation_output.d.ts +4 -2
  279. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  280. package/dest/tx/public_simulation_output.js +7 -3
  281. package/dest/tx/simulated_tx.d.ts +5 -2
  282. package/dest/tx/simulated_tx.d.ts.map +1 -1
  283. package/dest/tx/simulated_tx.js +4 -1
  284. package/dest/tx/tx.d.ts +6 -5
  285. package/dest/tx/tx.d.ts.map +1 -1
  286. package/dest/tx/tx.js +18 -6
  287. package/dest/tx/tx_receipt.d.ts +22 -3
  288. package/dest/tx/tx_receipt.d.ts.map +1 -1
  289. package/dest/tx/tx_receipt.js +15 -4
  290. package/dest/tx/tx_request.js +2 -2
  291. package/dest/tx/validator/empty_validator.d.ts +2 -2
  292. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  293. package/dest/tx/validator/error_texts.d.ts +6 -2
  294. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  295. package/dest/tx/validator/error_texts.js +5 -1
  296. package/dest/tx/validator/tx_validator.d.ts +2 -2
  297. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  298. package/dest/update-checker/index.d.ts +3 -2
  299. package/dest/update-checker/index.d.ts.map +1 -1
  300. package/dest/update-checker/index.js +2 -1
  301. package/dest/update-checker/package_version.d.ts +3 -0
  302. package/dest/update-checker/package_version.d.ts.map +1 -0
  303. package/dest/update-checker/package_version.js +24 -0
  304. package/dest/update-checker/version_checker.d.ts +25 -0
  305. package/dest/update-checker/version_checker.d.ts.map +1 -0
  306. package/dest/update-checker/version_checker.js +50 -0
  307. package/dest/validators/errors.d.ts +6 -1
  308. package/dest/validators/errors.d.ts.map +1 -1
  309. package/dest/validators/errors.js +7 -0
  310. package/dest/validators/schemas.d.ts +30 -30
  311. package/dest/validators/schemas.d.ts.map +1 -1
  312. package/dest/validators/schemas.js +4 -3
  313. package/dest/validators/types.d.ts +3 -3
  314. package/dest/validators/types.d.ts.map +1 -1
  315. package/dest/versioning/versioning.d.ts +4 -2
  316. package/dest/versioning/versioning.d.ts.map +1 -1
  317. package/dest/versioning/versioning.js +4 -1
  318. package/package.json +13 -11
  319. package/src/abi/decoder.ts +15 -6
  320. package/src/abi/encoder.ts +49 -6
  321. package/src/abi/event_metadata_definition.ts +2 -0
  322. package/src/abi/utils.ts +25 -0
  323. package/src/auth_witness/auth_witness.ts +3 -3
  324. package/src/avm/revert_code.ts +15 -0
  325. package/src/block/block_data.ts +26 -0
  326. package/src/block/index.ts +1 -0
  327. package/src/block/l2_block.ts +13 -1
  328. package/src/block/l2_block_source.ts +36 -7
  329. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  330. package/src/checkpoint/checkpoint.ts +43 -16
  331. package/src/checkpoint/checkpoint_data.ts +51 -0
  332. package/src/checkpoint/index.ts +2 -0
  333. package/src/checkpoint/published_checkpoint.ts +3 -1
  334. package/src/checkpoint/validate.ts +230 -0
  335. package/src/config/index.ts +1 -0
  336. package/src/config/sequencer-config.ts +37 -0
  337. package/src/contract/contract_address.ts +4 -4
  338. package/src/contract/contract_class.ts +3 -3
  339. package/src/contract/contract_class_id.ts +5 -4
  340. package/src/contract/interfaces/node-info.ts +3 -0
  341. package/src/contract/private_function.ts +2 -2
  342. package/src/epoch-helpers/index.ts +6 -0
  343. package/src/file-store/local.ts +15 -5
  344. package/src/file-store/s3.ts +12 -3
  345. package/src/gas/README.md +123 -0
  346. package/src/gas/gas_fees.ts +7 -1
  347. package/src/ha-signing/config.ts +156 -0
  348. package/src/ha-signing/index.ts +27 -0
  349. package/src/ha-signing/local_config.ts +46 -0
  350. package/src/ha-signing/types.ts +112 -0
  351. package/src/hash/hash.ts +14 -10
  352. package/src/hash/map_slot.ts +2 -2
  353. package/src/interfaces/allowed_element.ts +29 -9
  354. package/src/interfaces/archiver.ts +8 -2
  355. package/src/interfaces/aztec-node-admin.ts +23 -0
  356. package/src/interfaces/aztec-node.ts +24 -6
  357. package/src/interfaces/block-builder.ts +41 -12
  358. package/src/interfaces/configs.ts +41 -8
  359. package/src/interfaces/l2_logs_source.ts +4 -1
  360. package/src/interfaces/merkle_tree_operations.ts +9 -19
  361. package/src/interfaces/p2p.ts +2 -13
  362. package/src/interfaces/prover-client.ts +8 -0
  363. package/src/interfaces/slasher.ts +2 -0
  364. package/src/interfaces/validator.ts +58 -27
  365. package/src/interfaces/world_state.ts +4 -3
  366. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  367. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  368. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  369. package/src/kernel/hints/index.ts +2 -2
  370. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  371. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  372. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  373. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  374. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  375. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  376. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  377. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  378. package/src/kernel/private_validation_requests.ts +8 -8
  379. package/src/keys/derivation.ts +8 -8
  380. package/src/keys/key_types.ts +6 -2
  381. package/src/keys/public_keys.ts +2 -2
  382. package/src/keys/utils.ts +5 -5
  383. package/src/kv-store/config.ts +36 -0
  384. package/src/kv-store/index.ts +1 -0
  385. package/src/logs/debug_log_store.ts +54 -0
  386. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  387. package/src/logs/index.ts +3 -1
  388. package/src/logs/pre_tag.ts +5 -5
  389. package/src/logs/public_log.ts +4 -2
  390. package/src/logs/siloed_tag.ts +10 -5
  391. package/src/logs/tag.ts +1 -1
  392. package/src/logs/tagging_index_range.ts +24 -0
  393. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  394. package/src/messaging/l2_to_l1_membership.ts +98 -33
  395. package/src/note/index.ts +0 -1
  396. package/src/p2p/attestation_utils.ts +56 -0
  397. package/src/p2p/block_proposal.ts +1 -3
  398. package/src/p2p/checkpoint_attestation.ts +6 -1
  399. package/src/p2p/checkpoint_proposal.ts +36 -31
  400. package/src/p2p/client_type.ts +0 -6
  401. package/src/p2p/consensus_payload.ts +25 -12
  402. package/src/p2p/constants.ts +3 -0
  403. package/src/p2p/index.ts +0 -1
  404. package/src/p2p/peer_error.ts +7 -0
  405. package/src/p2p/topic_type.ts +8 -15
  406. package/src/rollup/checkpoint_header.ts +2 -2
  407. package/src/slashing/empire.ts +2 -1
  408. package/src/slashing/helpers.ts +4 -0
  409. package/src/slashing/tally.ts +34 -1
  410. package/src/slashing/types.ts +7 -0
  411. package/src/tests/factories.ts +21 -12
  412. package/src/tests/mocks.ts +46 -20
  413. package/src/timetable/index.ts +66 -0
  414. package/src/trees/public_data_leaf.ts +11 -5
  415. package/src/tx/block_header.ts +8 -2
  416. package/src/tx/global_variables.ts +3 -3
  417. package/src/tx/private_execution_result.ts +5 -5
  418. package/src/tx/profiling.ts +14 -5
  419. package/src/tx/protocol_contracts.ts +2 -2
  420. package/src/tx/public_simulation_output.ts +4 -0
  421. package/src/tx/simulated_tx.ts +8 -1
  422. package/src/tx/tx.ts +20 -11
  423. package/src/tx/tx_receipt.ts +17 -2
  424. package/src/tx/tx_request.ts +2 -2
  425. package/src/tx/validator/empty_validator.ts +1 -1
  426. package/src/tx/validator/error_texts.ts +5 -1
  427. package/src/tx/validator/tx_validator.ts +1 -1
  428. package/src/update-checker/index.ts +2 -1
  429. package/src/update-checker/package_version.ts +30 -0
  430. package/src/update-checker/version_checker.ts +65 -0
  431. package/src/validators/errors.ts +9 -0
  432. package/src/validators/schemas.ts +8 -1
  433. package/src/validators/types.ts +5 -4
  434. package/src/versioning/versioning.ts +4 -1
  435. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  436. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  437. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  438. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  439. package/dest/note/notes_filter.d.ts +0 -27
  440. package/dest/note/notes_filter.d.ts.map +0 -1
  441. package/dest/note/notes_filter.js +0 -11
  442. package/dest/update-checker/update-checker.d.ts +0 -49
  443. package/dest/update-checker/update-checker.d.ts.map +0 -1
  444. package/dest/update-checker/update-checker.js +0 -130
  445. package/src/note/notes_filter.ts +0 -38
  446. package/src/update-checker/update-checker.ts +0 -166
@@ -4,9 +4,9 @@ import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
4
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { Signature } from '@aztec/foundation/eth-signature';
7
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
- import { DutyType } from '@aztec/validator-ha-signer/types';
7
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
9
8
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
9
+ import { DutyType } from '../ha-signing/index.js';
10
10
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
11
11
  import { BlockHeader } from '../tx/block_header.js';
12
12
  import { TxHash } from '../tx/index.js';
@@ -28,12 +28,13 @@ export class CheckpointProposalHash extends Buffer32 {
28
28
  */ export class CheckpointProposal extends Gossipable {
29
29
  checkpointHeader;
30
30
  archive;
31
+ feeAssetPriceModifier;
31
32
  signature;
32
33
  lastBlock;
33
34
  static p2pTopic = TopicType.checkpoint_proposal;
34
35
  sender;
35
- constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
36
- super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.signature = signature, this.lastBlock = lastBlock;
36
+ constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
37
+ super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.lastBlock = lastBlock;
37
38
  }
38
39
  generateP2PMessageIdentifier() {
39
40
  return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
@@ -41,18 +42,6 @@ export class CheckpointProposalHash extends Buffer32 {
41
42
  get slotNumber() {
42
43
  return this.checkpointHeader.slotNumber;
43
44
  }
44
- get blockNumber() {
45
- if (!this.lastBlock) {
46
- throw new Error('Cannot get blockNumber without lastBlock');
47
- }
48
- return this.lastBlock.blockHeader.getBlockNumber();
49
- }
50
- /** Convenience getter for txHashes from lastBlock */ get txHashes() {
51
- return this.lastBlock?.txHashes ?? [];
52
- }
53
- /** Convenience getter for txs from lastBlock */ get txs() {
54
- return this.lastBlock?.signedTxs?.txs;
55
- }
56
45
  /**
57
46
  * Extract a BlockProposal from the last block info.
58
47
  * Uses inHash from checkpointHeader.contentCommitment.inHash
@@ -85,17 +74,18 @@ export class CheckpointProposalHash extends Buffer32 {
85
74
  }
86
75
  /**
87
76
  * Get the payload to sign for this checkpoint proposal.
88
- * The signature is over the checkpoint header + archive root (for consensus).
77
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
89
78
  */ getPayloadToSign(domainSeparator) {
90
79
  return serializeToBuffer([
91
80
  domainSeparator,
92
81
  this.checkpointHeader,
93
- this.archive
82
+ this.archive,
83
+ serializeSignedBigInt(this.feeAssetPriceModifier)
94
84
  ]);
95
85
  }
96
- static async createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, payloadSigner) {
86
+ static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockInfo, payloadSigner) {
97
87
  // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
98
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
88
+ const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
99
89
  const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
100
90
  const checkpointContext = {
101
91
  slot: checkpointHeader.slotNumber,
@@ -104,10 +94,10 @@ export class CheckpointProposalHash extends Buffer32 {
104
94
  };
105
95
  const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
106
96
  if (!lastBlockInfo) {
107
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
97
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
108
98
  }
109
99
  const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
110
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
100
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
111
101
  blockHeader: lastBlockInfo.blockHeader,
112
102
  indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
113
103
  txHashes: lastBlockInfo.txHashes,
@@ -143,6 +133,7 @@ export class CheckpointProposalHash extends Buffer32 {
143
133
  const buffer = [
144
134
  this.checkpointHeader,
145
135
  this.archive,
136
+ serializeSignedBigInt(this.feeAssetPriceModifier),
146
137
  this.signature
147
138
  ];
148
139
  if (this.lastBlock) {
@@ -167,6 +158,7 @@ export class CheckpointProposalHash extends Buffer32 {
167
158
  const reader = BufferReader.asReader(buf);
168
159
  const checkpointHeader = reader.readObject(CheckpointHeader);
169
160
  const archive = reader.readObject(Fr);
161
+ const feeAssetPriceModifier = reader.readInt256();
170
162
  const signature = reader.readObject(Signature);
171
163
  const hasLastBlock = reader.readNumber();
172
164
  if (hasLastBlock) {
@@ -185,7 +177,7 @@ export class CheckpointProposalHash extends Buffer32 {
185
177
  signedTxs = SignedTxs.fromBuffer(reader);
186
178
  }
187
179
  }
188
- return new CheckpointProposal(checkpointHeader, archive, signature, {
180
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
189
181
  blockHeader,
190
182
  indexWithinCheckpoint,
191
183
  txHashes,
@@ -193,20 +185,20 @@ export class CheckpointProposalHash extends Buffer32 {
193
185
  signedTxs
194
186
  });
195
187
  }
196
- return new CheckpointProposal(checkpointHeader, archive, signature);
188
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
197
189
  }
198
190
  getSize() {
199
- let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 4; /* hasLastBlock flag */
191
+ let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
200
192
  if (this.lastBlock) {
201
193
  size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
202
194
  }
203
195
  return size;
204
196
  }
205
197
  static empty() {
206
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
198
+ return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
207
199
  }
208
200
  static random() {
209
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
201
+ return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
210
202
  blockHeader: BlockHeader.random(),
211
203
  indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
212
204
  txHashes: [
@@ -221,6 +213,7 @@ export class CheckpointProposalHash extends Buffer32 {
221
213
  checkpointHeader: this.checkpointHeader.toInspect(),
222
214
  archive: this.archive.toString(),
223
215
  signature: this.signature.toString(),
216
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
224
217
  lastBlock: this.lastBlock ? {
225
218
  blockHeader: this.lastBlock.blockHeader.toInspect(),
226
219
  indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
@@ -233,6 +226,6 @@ export class CheckpointProposalHash extends Buffer32 {
233
226
  * Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
234
227
  * Used when the lastBlock has been extracted and stored separately.
235
228
  */ toCore() {
236
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
229
+ return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
237
230
  }
238
231
  }
@@ -1,5 +1,2 @@
1
- export declare enum P2PClientType {
2
- Full = 0,
3
- Prover = 1
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQVksYUFBYTtJQUV2QixJQUFJLElBQUE7SUFFSixNQUFNLElBQUE7Q0FDUCJ9
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IAEvB,IAAI,IAAA;IAEJ,MAAM,IAAA;CACP"}
1
+ {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- export var P2PClientType = /*#__PURE__*/ function(P2PClientType) {
2
- // Full p2p clients will subscribe to all gossip topics
3
- P2PClientType[P2PClientType["Full"] = 0] = "Full";
4
- // Prove p2p clients will only subscribe to transaction and proving topics
5
- P2PClientType[P2PClientType["Prover"] = 1] = "Prover";
6
- return P2PClientType;
7
- }({});
@@ -12,26 +12,34 @@ export declare class ConsensusPayload implements Signable {
12
12
  readonly header: CheckpointHeader;
13
13
  /** The archive root after the block is added */
14
14
  readonly archive: Fr;
15
+ /** The fee asset price modifier in basis points (from oracle) */
16
+ readonly feeAssetPriceModifier: bigint;
15
17
  private size;
16
18
  constructor(
17
19
  /** The proposed block header the attestation is made over */
18
20
  header: CheckpointHeader,
19
21
  /** The archive root after the block is added */
20
- archive: Fr);
22
+ archive: Fr,
23
+ /** The fee asset price modifier in basis points (from oracle) */
24
+ feeAssetPriceModifier?: bigint);
21
25
  static get schema(): z.ZodEffects<z.ZodObject<{
22
26
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
23
27
  archive: z.ZodType<Fr, any, string>;
28
+ feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
24
29
  }, "strip", z.ZodTypeAny, {
25
30
  header: CheckpointHeader;
26
31
  archive: Fr;
32
+ feeAssetPriceModifier: bigint;
27
33
  }, {
28
34
  header?: any;
29
35
  archive: string;
36
+ feeAssetPriceModifier: string | number | bigint;
30
37
  }>, ConsensusPayload, {
31
38
  header?: any;
32
39
  archive: string;
40
+ feeAssetPriceModifier: string | number | bigint;
33
41
  }>;
34
- static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr];
42
+ static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, bigint];
35
43
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
36
44
  toBuffer(): Buffer;
37
45
  equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean;
@@ -63,7 +71,8 @@ export declare class ConsensusPayload implements Signable {
63
71
  totalManaUsed: bigint;
64
72
  };
65
73
  archive: `0x${string}`;
74
+ feeAssetPriceModifier: string;
66
75
  };
67
76
  toString(): string;
68
77
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBSTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQU43QixPQUFPLENBQUMsSUFBSSxDQUFxQjtJQUVqQztJQUNFLDZEQUE2RDtJQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDtJQUNoQyxPQUFPLEVBQUUsRUFBRSxFQUN6QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7T0FPaEI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsbUNBRWxEO0lBRUQsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLE1BQU0sQ0FrQmxFO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLE9BQU8sQ0FHNUY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUk5RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGdCQUFnQixDQUV0RTtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxnQkFBZ0IsQ0FFOUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGdCQUFnQixDQUUvQjtJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBRWhDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxJQUFJLE1BQU0sQ0FPaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFLUjtJQUVELFFBQVEsV0FFUDtDQUNGIn0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQTRDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBSTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7YUFDakQscUJBQXFCLEVBQUUsTUFBTTtJQVIvQyxPQUFPLENBQUMsSUFBSSxDQUFxQjtJQUVqQztJQUNFLDZEQUE2RDtJQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDtJQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7SUFDakQscUJBQXFCLEdBQUUsTUFBVyxFQUNoRDtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDJDQUVsRDtJQUVELGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBa0JsRTtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBUTVGO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FROUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FFdEU7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsZ0JBQWdCLENBRTlEO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUVoQztJQUVEOzs7T0FHRztJQUNILE9BQU8sSUFBSSxNQUFNLENBT2hCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,+EAA+E;AAC/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAN7B,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE,EACzB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mCAElD;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAkBlE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,OAAO,CAG5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAI9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;MAKR;IAED,QAAQ,WAEP;CACF"}
1
+ {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,+EAA+E;AAC/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAR/C,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;IACjD,qBAAqB,GAAE,MAAW,EAChD;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,2CAElD;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAkBlE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,OAAO,CAQ5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAQ9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;MAMR;IAED,QAAQ,WAEP;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { schemas } from '@aztec/foundation/schemas';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { hexToBuffer } from '@aztec/foundation/string';
5
5
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
6
6
  import { z } from 'zod';
@@ -8,21 +8,25 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
8
  /** Checkpoint consensus payload as signed by validators and verified on L1. */ export class ConsensusPayload {
9
9
  header;
10
10
  archive;
11
+ feeAssetPriceModifier;
11
12
  size;
12
- constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive){
13
+ constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier = 0n){
13
14
  this.header = header;
14
15
  this.archive = archive;
16
+ this.feeAssetPriceModifier = feeAssetPriceModifier;
15
17
  }
16
18
  static get schema() {
17
19
  return z.object({
18
20
  header: CheckpointHeader.schema,
19
- archive: schemas.Fr
20
- }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive));
21
+ archive: schemas.Fr,
22
+ feeAssetPriceModifier: schemas.BigInt
23
+ }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier));
21
24
  }
22
25
  static getFields(fields) {
23
26
  return [
24
27
  fields.header,
25
- fields.archive
28
+ fields.archive,
29
+ fields.feeAssetPriceModifier
26
30
  ];
27
31
  }
28
32
  getPayloadToSign(domainSeparator) {
@@ -38,7 +42,7 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
38
42
  [
39
43
  archiveRoot,
40
44
  [
41
- 0n
45
+ this.feeAssetPriceModifier
42
46
  ],
43
47
  headerHash
44
48
  ]
@@ -48,29 +52,31 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
48
52
  toBuffer() {
49
53
  return serializeToBuffer([
50
54
  this.header,
51
- this.archive
55
+ this.archive,
56
+ serializeSignedBigInt(this.feeAssetPriceModifier)
52
57
  ]);
53
58
  }
54
59
  equals(other) {
55
60
  const otherHeader = 'checkpointHeader' in other ? other.checkpointHeader : other.header;
56
- return this.header.equals(otherHeader) && this.archive.equals(other.archive);
61
+ const otherModifier = 'feeAssetPriceModifier' in other ? other.feeAssetPriceModifier : 0n;
62
+ return this.header.equals(otherHeader) && this.archive.equals(other.archive) && this.feeAssetPriceModifier === otherModifier;
57
63
  }
58
64
  static fromBuffer(buf) {
59
65
  const reader = BufferReader.asReader(buf);
60
- const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr));
66
+ const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr), reader.readInt256());
61
67
  return payload;
62
68
  }
63
69
  static fromFields(fields) {
64
- return new ConsensusPayload(fields.header, fields.archive);
70
+ return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier);
65
71
  }
66
72
  static fromCheckpoint(checkpoint) {
67
- return new ConsensusPayload(checkpoint.header, checkpoint.archive.root);
73
+ return new ConsensusPayload(checkpoint.header, checkpoint.archive.root, checkpoint.feeAssetPriceModifier);
68
74
  }
69
75
  static empty() {
70
- return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO);
76
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n);
71
77
  }
72
78
  static random() {
73
- return new ConsensusPayload(CheckpointHeader.random(), Fr.random());
79
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n);
74
80
  }
75
81
  /**
76
82
  * Get the size of the consensus payload in bytes.
@@ -86,10 +92,11 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
86
92
  toInspect() {
87
93
  return {
88
94
  header: this.header.toInspect(),
89
- archive: this.archive.toString()
95
+ archive: this.archive.toString(),
96
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString()
90
97
  };
91
98
  }
92
99
  toString() {
93
- return `header: ${this.header.toString()}, archive: ${this.archive.toString()}}`;
100
+ return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}}`;
94
101
  }
95
102
  }
@@ -1,3 +1,5 @@
1
1
  export declare const MAX_TX_SIZE_KB: number;
2
2
  export declare const MAX_MESSAGE_SIZE_KB: number;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sY0FBYyxFQUFFLE1BQVksQ0FBQztBQUUxQyxlQUFPLE1BQU0sbUJBQW1CLEVBQUUsTUFBa0IsQ0FBQyJ9
3
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */
4
+ export declare const MAX_L2_BLOCK_SIZE_KB: number;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sY0FBYyxFQUFFLE1BQVksQ0FBQztBQUUxQyxlQUFPLE1BQU0sbUJBQW1CLEVBQUUsTUFBa0IsQ0FBQztBQUVyRCx1RkFBdUY7QUFDdkYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLE1BQWlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/p2p/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAE,MAAY,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/p2p/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAE,MAAY,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC;AAErD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,MAAiB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export const MAX_TX_SIZE_KB = 512;
2
2
  export const MAX_MESSAGE_SIZE_KB = 10 * 1024;
3
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */ export const MAX_L2_BLOCK_SIZE_KB = 3 * 1024; // 3 MB
@@ -8,8 +8,7 @@ export * from './interface.js';
8
8
  export * from './signature_utils.js';
9
9
  export * from './signed_txs.js';
10
10
  export * from './topic_type.js';
11
- export * from './client_type.js';
12
11
  export * from './message_validator.js';
13
12
  export * from './peer_error.js';
14
13
  export * from './constants.js';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
package/dest/p2p/index.js CHANGED
@@ -8,7 +8,6 @@ export * from './interface.js';
8
8
  export * from './signature_utils.js';
9
9
  export * from './signed_txs.js';
10
10
  export * from './topic_type.js';
11
- export * from './client_type.js';
12
11
  export * from './message_validator.js';
13
12
  export * from './peer_error.js';
14
13
  export * from './constants.js';
@@ -15,4 +15,6 @@ export declare enum PeerErrorSeverity {
15
15
  */
16
16
  HighToleranceError = "HighToleranceError"
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9wZWVyX2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFZLGlCQUFpQjtJQUMzQjs7O09BR0c7SUFDSCxpQkFBaUIsc0JBQXNCO0lBQ3ZDOzs7T0FHRztJQUNILGlCQUFpQixzQkFBc0I7SUFDdkM7OztPQUdHO0lBQ0gsa0JBQWtCLHVCQUF1QjtDQUMxQyJ9
18
+ /** Severities ordered from mildest to harshest. */
19
+ export declare const PeerErrorSeverityByHarshness: readonly [PeerErrorSeverity.HighToleranceError, PeerErrorSeverity.MidToleranceError, PeerErrorSeverity.LowToleranceError];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9wZWVyX2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFZLGlCQUFpQjtJQUMzQjs7O09BR0c7SUFDSCxpQkFBaUIsc0JBQXNCO0lBQ3ZDOzs7T0FHRztJQUNILGlCQUFpQixzQkFBc0I7SUFDdkM7OztPQUdHO0lBQ0gsa0JBQWtCLHVCQUF1QjtDQUMxQztBQUVELG1EQUFtRDtBQUNuRCxlQUFPLE1BQU0sNEJBQTRCLDJIQUkvQixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"peer_error.d.ts","sourceRoot":"","sources":["../../src/p2p/peer_error.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,kBAAkB,uBAAuB;CAC1C"}
1
+ {"version":3,"file":"peer_error.d.ts","sourceRoot":"","sources":["../../src/p2p/peer_error.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,kBAAkB,uBAAuB;CAC1C;AAED,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,2HAI/B,CAAC"}
@@ -13,3 +13,8 @@ export var PeerErrorSeverity = /*#__PURE__*/ function(PeerErrorSeverity) {
13
13
  */ PeerErrorSeverity["HighToleranceError"] = "HighToleranceError";
14
14
  return PeerErrorSeverity;
15
15
  }({});
16
+ /** Severities ordered from mildest to harshest. */ export const PeerErrorSeverityByHarshness = [
17
+ "HighToleranceError",
18
+ "MidToleranceError",
19
+ "LowToleranceError"
20
+ ];
@@ -1,4 +1,3 @@
1
- import { P2PClientType } from './client_type.js';
2
1
  /**
3
2
  * Creates the topic channel identifier string from a given topic type
4
3
  */
@@ -11,8 +10,8 @@ export declare enum TopicType {
11
10
  checkpoint_proposal = "checkpoint_proposal",
12
11
  checkpoint_attestation = "checkpoint_attestation"
13
12
  }
14
- export declare function getTopicTypeForClientType(clientType: P2PClientType): TopicType[];
15
- export declare function getTopicsForClientAndConfig(clientType: P2PClientType, disableTransactions: boolean): TopicType[];
13
+ /** Returns all gossip topics, optionally filtering out transactions. */
14
+ export declare function getTopicsForConfig(disableTransactions: boolean): TopicType[];
16
15
  /**
17
16
  * Convert the topic string into a set of labels
18
17
  *
@@ -23,4 +22,4 @@ export declare function getTopicsForClientAndConfig(clientType: P2PClientType, d
23
22
  * }
24
23
  */
25
24
  export declare function metricsTopicStrToLabels(protocolVersion: string): Map<string, string>;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfdHlwZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC90b3BpY190eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRDs7R0FFRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBRTlFO0FBRUQsa0RBQWtEO0FBQ2xELHdCQUFnQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxTQUFTLENBVTFFO0FBRUQsb0JBQVksU0FBUztJQUNuQixFQUFFLE9BQU87SUFDVCxjQUFjLG1CQUFtQjtJQUNqQyxtQkFBbUIsd0JBQXdCO0lBQzNDLHNCQUFzQiwyQkFBMkI7Q0FDbEQ7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsVUFBVSxFQUFFLGFBQWEsZUFTbEU7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLGVBTWxHO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0IsdUJBQXVCLENBQUMsZUFBZSxFQUFFLE1BQU0sdUJBTzlEIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfdHlwZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC90b3BpY190eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFFOUU7QUFFRCxrREFBa0Q7QUFDbEQsd0JBQWdCLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FVMUU7QUFFRCxvQkFBWSxTQUFTO0lBQ25CLEVBQUUsT0FBTztJQUNULGNBQWMsbUJBQW1CO0lBQ2pDLG1CQUFtQix3QkFBd0I7SUFDM0Msc0JBQXNCLDJCQUEyQjtDQUNsRDtBQUVELHdFQUF3RTtBQUN4RSx3QkFBZ0Isa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxlQVc5RDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxNQUFNLHVCQU85RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAE9E;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU1E;AAED,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,aAAa,eASlE;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,eAMlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,uBAO9D"}
1
+ {"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAE9E;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU1E;AAED,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,mBAAmB,EAAE,OAAO,eAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,uBAO9D"}
@@ -1,4 +1,3 @@
1
- import { P2PClientType } from './client_type.js';
2
1
  /**
3
2
  * Creates the topic channel identifier string from a given topic type
4
3
  */ export function createTopicString(topicType, protocolVersion) {
@@ -22,29 +21,13 @@ export var TopicType = /*#__PURE__*/ function(TopicType) {
22
21
  TopicType["checkpoint_attestation"] = "checkpoint_attestation";
23
22
  return TopicType;
24
23
  }({});
25
- export function getTopicTypeForClientType(clientType) {
26
- if (clientType === P2PClientType.Full) {
27
- return [
28
- "tx",
29
- "block_proposal",
30
- "checkpoint_proposal",
31
- "checkpoint_attestation"
32
- ];
33
- } else if (clientType === P2PClientType.Prover) {
34
- return [
35
- "tx",
36
- "block_proposal",
37
- "checkpoint_proposal"
38
- ];
39
- } else {
40
- const _ = clientType;
41
- return [
42
- "tx"
43
- ];
44
- }
45
- }
46
- export function getTopicsForClientAndConfig(clientType, disableTransactions) {
47
- const topics = getTopicTypeForClientType(clientType);
24
+ /** Returns all gossip topics, optionally filtering out transactions. */ export function getTopicsForConfig(disableTransactions) {
25
+ const topics = [
26
+ "tx",
27
+ "block_proposal",
28
+ "checkpoint_proposal",
29
+ "checkpoint_attestation"
30
+ ];
48
31
  if (disableTransactions) {
49
32
  return topics.filter((topic)=>topic !== "tx");
50
33
  }
@@ -12,8 +12,8 @@ import type { GlobalVariables } from '../tx/global_variables.js';
12
12
  import type { UInt64 } from '../types/shared.js';
13
13
  /**
14
14
  * Header of a checkpoint. A checkpoint is a collection of blocks submitted to L1 all within the same slot.
15
- * TODO(palla/mbps): Should this include chainId and version as well? Is this used just in circuits?
16
- * TODO(palla/mbps): What about CheckpointNumber?
15
+ * This header is verified as-is in the rollup circuits, posted to the L1 rollup contract, stored in the archiver,
16
+ * and exposed via the Aztec Node API. See `CheckpointData` for a struct that includes the header plus extra metadata.
17
17
  */
18
18
  export declare class CheckpointHeader {
19
19
  /** Root of the archive tree before this block is added. */
@@ -13,8 +13,8 @@ import { schemas } from '../schemas/index.js';
13
13
  _computedKey = inspect.custom;
14
14
  /**
15
15
  * Header of a checkpoint. A checkpoint is a collection of blocks submitted to L1 all within the same slot.
16
- * TODO(palla/mbps): Should this include chainId and version as well? Is this used just in circuits?
17
- * TODO(palla/mbps): What about CheckpointNumber?
16
+ * This header is verified as-is in the rollup circuits, posted to the L1 rollup contract, stored in the archiver,
17
+ * and exposed via the Aztec Node API. See `CheckpointData` for a struct that includes the header plus extra metadata.
18
18
  */ export class CheckpointHeader {
19
19
  lastArchiveRoot;
20
20
  blockHeadersHash;
@@ -28,4 +28,4 @@ export declare function getFirstEligibleRoundForOffense(offense: OffenseIdentifi
28
28
  epochDuration: number;
29
29
  proofSubmissionEpochs: number;
30
30
  }): bigint;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBc0NSIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBdUNSIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"empire.d.ts","sourceRoot":"","sources":["../../src/slashing/empire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMtE;AAED,sGAAsG;AACtG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAQ/G;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,GAC7F,MAAM,CAsCR"}
1
+ {"version":3,"file":"empire.d.ts","sourceRoot":"","sources":["../../src/slashing/empire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMtE;AAED,sGAAsG;AACtG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAQ/G;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,GAC7F,MAAM,CAuCR"}
@@ -65,6 +65,7 @@ import { OffenseType } from './types.js';
65
65
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
66
66
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
67
67
  case OffenseType.DUPLICATE_PROPOSAL:
68
+ case OffenseType.DUPLICATE_ATTESTATION:
68
69
  {
69
70
  const slot = offense.epochOrSlot;
70
71
  const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
@@ -20,7 +20,7 @@ export declare function getEpochsForRound(round: bigint, constants: {
20
20
  epochDuration: number;
21
21
  }): EpochNumber[];
22
22
  /** Reads the configured penalty for a given offense type from a slasher config struct */
23
- export declare function getPenaltyForOffense(offense: OffenseType, config: Pick<SlasherConfig, 'slashAttestDescendantOfInvalidPenalty' | 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashPrunePenalty' | 'slashDataWithholdingPenalty' | 'slashUnknownPenalty' | 'slashInactivityPenalty' | 'slashProposeInvalidAttestationsPenalty'>): bigint;
23
+ export declare function getPenaltyForOffense(offense: OffenseType, config: Pick<SlasherConfig, 'slashAttestDescendantOfInvalidPenalty' | 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty' | 'slashPrunePenalty' | 'slashDataWithholdingPenalty' | 'slashUnknownPenalty' | 'slashInactivityPenalty' | 'slashProposeInvalidAttestationsPenalty'>): bigint;
24
24
  /** Returns whether the `epochOrSlot` field for an offense references an epoch or a slot */
25
25
  export declare function getTimeUnitForOffense(offense: OffenseType): 'epoch' | 'slot';
26
26
  /** Returns the slot for a given offense. If the offense references an epoch, returns the first slot of the epoch. */
@@ -33,4 +33,4 @@ export declare function getRoundForOffense(offense: Pick<Offense, 'epochOrSlot'
33
33
  slashingRoundSize: number;
34
34
  epochDuration: number;
35
35
  }): bigint;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0MsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZELDRGQUE0RjtBQUM1Rix3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN2QztJQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FNM0M7QUFFRCxnR0FBZ0c7QUFDaEcsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsV0FBVyxFQUNsQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBS2xCO0FBRUQsK0RBQStEO0FBQy9ELHdCQUFnQixpQkFBaUIsQ0FDL0IsS0FBSyxFQUFFLE1BQU0sRUFDYixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsV0FBVyxFQUFFLENBVWY7QUFFRCx5RkFBeUY7QUFDekYsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixNQUFNLEVBQUUsSUFBSSxDQUNWLGFBQWEsRUFDWCx1Q0FBdUMsR0FDdkMscUNBQXFDLEdBQ3JDLCtCQUErQixHQUMvQixtQkFBbUIsR0FDbkIsNkJBQTZCLEdBQzdCLHFCQUFxQixHQUNyQix3QkFBd0IsR0FDeEIsd0NBQXdDLENBQzNDLFVBeUJGO0FBRUQsMkZBQTJGO0FBQzNGLHdCQUFnQixxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBa0I1RTtBQUVELHFIQUFxSDtBQUNySCx3QkFBZ0IsaUJBQWlCLENBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsVUFBVSxDQUtaO0FBRUQsNkdBQTZHO0FBQzdHLHdCQUFnQixrQkFBa0IsQ0FDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxNQUFNLENBQUM7QUFDVix3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFDOUQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQVl0QixvRUFBb0U7QUFDcEUsd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQ3JELFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM5RCxNQUFNLENBR1IifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NsYXNoaW5nL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0MsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZELDRGQUE0RjtBQUM1Rix3QkFBZ0IsZUFBZSxDQUM3QixJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN2QztJQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FNM0M7QUFFRCxnR0FBZ0c7QUFDaEcsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsV0FBVyxFQUNsQixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBS2xCO0FBRUQsK0RBQStEO0FBQy9ELHdCQUFnQixpQkFBaUIsQ0FDL0IsS0FBSyxFQUFFLE1BQU0sRUFDYixTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsV0FBVyxFQUFFLENBVWY7QUFFRCx5RkFBeUY7QUFDekYsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUNwQixNQUFNLEVBQUUsSUFBSSxDQUNWLGFBQWEsRUFDWCx1Q0FBdUMsR0FDdkMscUNBQXFDLEdBQ3JDLCtCQUErQixHQUMvQixrQ0FBa0MsR0FDbEMsbUJBQW1CLEdBQ25CLDZCQUE2QixHQUM3QixxQkFBcUIsR0FDckIsd0JBQXdCLEdBQ3hCLHdDQUF3QyxDQUMzQyxVQTJCRjtBQUVELDJGQUEyRjtBQUMzRix3QkFBZ0IscUJBQXFCLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQW1CNUU7QUFFRCxxSEFBcUg7QUFDckgsd0JBQWdCLGlCQUFpQixDQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQ3JELFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ2xELFVBQVUsQ0FLWjtBQUVELDZHQUE2RztBQUM3Ryx3QkFBZ0Isa0JBQWtCLENBQ2hDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsR0FDbEQsTUFBTSxDQUFDO0FBQ1Ysd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQ2xELE1BQU0sR0FBRyxTQUFTLENBQUM7QUFZdEIsb0VBQW9FO0FBQ3BFLHdCQUFnQixrQkFBa0IsQ0FDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUNyRCxTQUFTLEVBQUU7SUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDOUQsTUFBTSxDQUdSIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/slashing/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,KAAK,iBAAiB,EAAwC,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAM3C;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlB;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,WAAW,EAAE,CAUf;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,IAAI,CACV,aAAa,EACX,uCAAuC,GACvC,qCAAqC,GACrC,+BAA+B,GAC/B,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,wBAAwB,GACxB,wCAAwC,CAC3C,UAyBF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAkB5E;AAED,qHAAqH;AACrH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,UAAU,CAKZ;AAED,6GAA6G;AAC7G,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,CAAC;AACV,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,EAC9D,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,GAAG,SAAS,CAAC;AAYtB,oEAAoE;AACpE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAGR"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/slashing/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,KAAK,iBAAiB,EAAwC,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAM3C;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlB;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,WAAW,EAAE,CAUf;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,IAAI,CACV,aAAa,EACX,uCAAuC,GACvC,qCAAqC,GACrC,+BAA+B,GAC/B,kCAAkC,GAClC,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,wBAAwB,GACxB,wCAAwC,CAC3C,UA2BF;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAmB5E;AAED,qHAAqH;AACrH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,UAAU,CAKZ;AAED,6GAA6G;AAC7G,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,CAAC;AACV,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,EAC9D,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,MAAM,GAAG,SAAS,CAAC;AAYtB,oEAAoE;AACpE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,EACrD,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,CAGR"}
@@ -48,6 +48,8 @@ import { OffenseType } from './types.js';
48
48
  return config.slashBroadcastedInvalidBlockPenalty;
49
49
  case OffenseType.DUPLICATE_PROPOSAL:
50
50
  return config.slashDuplicateProposalPenalty;
51
+ case OffenseType.DUPLICATE_ATTESTATION:
52
+ return config.slashDuplicateAttestationPenalty;
51
53
  case OffenseType.UNKNOWN:
52
54
  return config.slashUnknownPenalty;
53
55
  default:
@@ -62,6 +64,7 @@ import { OffenseType } from './types.js';
62
64
  case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
63
65
  case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
64
66
  case OffenseType.DUPLICATE_PROPOSAL:
67
+ case OffenseType.DUPLICATE_ATTESTATION:
65
68
  case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
66
69
  case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
67
70
  return 'slot';