@aztec/stdlib 0.0.1-commit.8afd444 → 0.0.1-commit.934299a21

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 (321) hide show
  1. package/dest/abi/function_call.d.ts +39 -9
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/function_call.js +20 -3
  4. package/dest/auth_witness/auth_witness.js +3 -3
  5. package/dest/block/block_data.d.ts +52 -0
  6. package/dest/block/block_data.d.ts.map +1 -0
  7. package/dest/block/block_data.js +12 -0
  8. package/dest/block/in_block.js +1 -1
  9. package/dest/block/index.d.ts +2 -1
  10. package/dest/block/index.d.ts.map +1 -1
  11. package/dest/block/index.js +1 -0
  12. package/dest/block/l2_block_source.d.ts +20 -1
  13. package/dest/block/l2_block_source.d.ts.map +1 -1
  14. package/dest/checkpoint/checkpoint.d.ts +21 -7
  15. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  16. package/dest/checkpoint/checkpoint.js +24 -13
  17. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  18. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  19. package/dest/checkpoint/checkpoint_data.js +26 -0
  20. package/dest/checkpoint/index.d.ts +2 -1
  21. package/dest/checkpoint/index.d.ts.map +1 -1
  22. package/dest/checkpoint/index.js +1 -0
  23. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  24. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  25. package/dest/checkpoint/published_checkpoint.js +1 -2
  26. package/dest/config/index.d.ts +2 -1
  27. package/dest/config/index.d.ts.map +1 -1
  28. package/dest/config/index.js +1 -0
  29. package/dest/config/sequencer-config.d.ts +10 -0
  30. package/dest/config/sequencer-config.d.ts.map +1 -0
  31. package/dest/config/sequencer-config.js +18 -0
  32. package/dest/contract/contract_address.js +4 -4
  33. package/dest/contract/contract_class.d.ts +2 -3
  34. package/dest/contract/contract_class.d.ts.map +1 -1
  35. package/dest/contract/contract_class_id.d.ts +1 -1
  36. package/dest/contract/contract_class_id.d.ts.map +1 -1
  37. package/dest/contract/contract_class_id.js +5 -4
  38. package/dest/contract/interfaces/node-info.d.ts +3 -1
  39. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  40. package/dest/contract/interfaces/node-info.js +2 -1
  41. package/dest/contract/private_function.js +2 -2
  42. package/dest/epoch-helpers/index.d.ts +5 -1
  43. package/dest/epoch-helpers/index.d.ts.map +1 -1
  44. package/dest/epoch-helpers/index.js +4 -2
  45. package/dest/file-store/local.d.ts +3 -3
  46. package/dest/file-store/local.d.ts.map +1 -1
  47. package/dest/file-store/local.js +13 -4
  48. package/dest/file-store/s3.d.ts +1 -1
  49. package/dest/file-store/s3.d.ts.map +1 -1
  50. package/dest/file-store/s3.js +11 -3
  51. package/dest/ha-signing/config.d.ts +101 -0
  52. package/dest/ha-signing/config.d.ts.map +1 -0
  53. package/dest/ha-signing/config.js +92 -0
  54. package/dest/ha-signing/index.d.ts +3 -0
  55. package/dest/ha-signing/index.d.ts.map +1 -0
  56. package/dest/ha-signing/index.js +2 -0
  57. package/dest/ha-signing/types.d.ts +85 -0
  58. package/dest/ha-signing/types.d.ts.map +1 -0
  59. package/dest/ha-signing/types.js +32 -0
  60. package/dest/hash/hash.d.ts +2 -1
  61. package/dest/hash/hash.d.ts.map +1 -1
  62. package/dest/hash/hash.js +16 -10
  63. package/dest/hash/map_slot.js +2 -2
  64. package/dest/interfaces/archiver.d.ts +1 -1
  65. package/dest/interfaces/archiver.d.ts.map +1 -1
  66. package/dest/interfaces/archiver.js +5 -0
  67. package/dest/interfaces/aztec-node-admin.d.ts +39 -2
  68. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  69. package/dest/interfaces/aztec-node-admin.js +9 -3
  70. package/dest/interfaces/aztec-node.d.ts +1 -1
  71. package/dest/interfaces/block-builder.d.ts +2 -2
  72. package/dest/interfaces/block-builder.d.ts.map +1 -1
  73. package/dest/interfaces/configs.d.ts +17 -2
  74. package/dest/interfaces/configs.d.ts.map +1 -1
  75. package/dest/interfaces/configs.js +4 -1
  76. package/dest/interfaces/get_logs_response.d.ts +8 -1
  77. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  78. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  79. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  80. package/dest/interfaces/p2p.d.ts +2 -2
  81. package/dest/interfaces/p2p.d.ts.map +1 -1
  82. package/dest/interfaces/proving-job.d.ts +168 -168
  83. package/dest/interfaces/slasher.d.ts +9 -1
  84. package/dest/interfaces/slasher.d.ts.map +1 -1
  85. package/dest/interfaces/slasher.js +2 -0
  86. package/dest/interfaces/validator.d.ts +18 -4
  87. package/dest/interfaces/validator.d.ts.map +1 -1
  88. package/dest/interfaces/validator.js +5 -2
  89. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  90. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  91. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  92. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  93. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  94. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  95. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  96. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  97. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  98. package/dest/kernel/hints/index.d.ts +2 -2
  99. package/dest/kernel/hints/index.js +2 -2
  100. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  101. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  102. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  103. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  104. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  105. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  106. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  107. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  108. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  109. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  110. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  111. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  112. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  113. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  114. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  115. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +3 -3
  116. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  117. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
  118. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  119. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  120. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  121. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  122. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  123. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  124. package/dest/kernel/private_validation_requests.d.ts +3 -3
  125. package/dest/kernel/private_validation_requests.js +9 -9
  126. package/dest/keys/derivation.js +8 -8
  127. package/dest/keys/key_types.d.ts +3 -3
  128. package/dest/keys/key_types.d.ts.map +1 -1
  129. package/dest/keys/public_keys.js +2 -2
  130. package/dest/keys/utils.js +5 -5
  131. package/dest/logs/debug_log_store.d.ts +30 -0
  132. package/dest/logs/debug_log_store.d.ts.map +1 -0
  133. package/dest/logs/debug_log_store.js +30 -0
  134. package/dest/logs/extended_public_log.d.ts +7 -1
  135. package/dest/logs/extended_public_log.d.ts.map +1 -1
  136. package/dest/logs/index.d.ts +2 -1
  137. package/dest/logs/index.d.ts.map +1 -1
  138. package/dest/logs/index.js +1 -0
  139. package/dest/logs/log_id.d.ts +10 -7
  140. package/dest/logs/log_id.d.ts.map +1 -1
  141. package/dest/logs/log_id.js +15 -13
  142. package/dest/logs/private_log.d.ts +2 -2
  143. package/dest/logs/private_log.d.ts.map +1 -1
  144. package/dest/logs/siloed_tag.d.ts +1 -1
  145. package/dest/logs/siloed_tag.d.ts.map +1 -1
  146. package/dest/logs/siloed_tag.js +2 -6
  147. package/dest/messaging/l2_to_l1_membership.d.ts +2 -2
  148. package/dest/messaging/l2_to_l1_membership.js +3 -3
  149. package/dest/note/index.d.ts +1 -2
  150. package/dest/note/index.d.ts.map +1 -1
  151. package/dest/note/index.js +0 -1
  152. package/dest/p2p/attestation_utils.d.ts +11 -1
  153. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  154. package/dest/p2p/attestation_utils.js +45 -0
  155. package/dest/p2p/block_proposal.d.ts +2 -2
  156. package/dest/p2p/block_proposal.d.ts.map +1 -1
  157. package/dest/p2p/block_proposal.js +2 -4
  158. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  159. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  160. package/dest/p2p/checkpoint_attestation.js +1 -1
  161. package/dest/p2p/checkpoint_proposal.d.ts +18 -6
  162. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  163. package/dest/p2p/checkpoint_proposal.js +30 -16
  164. package/dest/p2p/consensus_payload.d.ts +12 -3
  165. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  166. package/dest/p2p/consensus_payload.js +22 -15
  167. package/dest/p2p/constants.d.ts +3 -1
  168. package/dest/p2p/constants.d.ts.map +1 -1
  169. package/dest/p2p/constants.js +1 -0
  170. package/dest/rollup/checkpoint_header.d.ts +2 -2
  171. package/dest/rollup/checkpoint_header.js +2 -2
  172. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  173. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  174. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  175. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  176. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  177. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  178. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  179. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  180. package/dest/slashing/empire.d.ts +1 -1
  181. package/dest/slashing/empire.d.ts.map +1 -1
  182. package/dest/slashing/empire.js +2 -0
  183. package/dest/slashing/helpers.d.ts +2 -2
  184. package/dest/slashing/helpers.d.ts.map +1 -1
  185. package/dest/slashing/helpers.js +6 -0
  186. package/dest/slashing/tally.d.ts +2 -1
  187. package/dest/slashing/tally.d.ts.map +1 -1
  188. package/dest/slashing/tally.js +6 -2
  189. package/dest/slashing/types.d.ts +7 -3
  190. package/dest/slashing/types.d.ts.map +1 -1
  191. package/dest/slashing/types.js +13 -1
  192. package/dest/tests/factories.js +13 -13
  193. package/dest/tests/mocks.d.ts +5 -2
  194. package/dest/tests/mocks.d.ts.map +1 -1
  195. package/dest/tests/mocks.js +18 -13
  196. package/dest/timetable/index.d.ts +37 -0
  197. package/dest/timetable/index.d.ts.map +1 -0
  198. package/dest/timetable/index.js +39 -0
  199. package/dest/trees/public_data_leaf.d.ts +2 -1
  200. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  201. package/dest/trees/public_data_leaf.js +7 -6
  202. package/dest/tx/block_header.js +2 -2
  203. package/dest/tx/global_variables.d.ts +4 -4
  204. package/dest/tx/global_variables.d.ts.map +1 -1
  205. package/dest/tx/profiling.d.ts +4 -4
  206. package/dest/tx/profiling.d.ts.map +1 -1
  207. package/dest/tx/profiling.js +3 -3
  208. package/dest/tx/protocol_contracts.d.ts +1 -1
  209. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  210. package/dest/tx/protocol_contracts.js +2 -2
  211. package/dest/tx/public_simulation_output.d.ts +4 -2
  212. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  213. package/dest/tx/public_simulation_output.js +7 -3
  214. package/dest/tx/tx_receipt.d.ts +16 -2
  215. package/dest/tx/tx_receipt.d.ts.map +1 -1
  216. package/dest/tx/tx_receipt.js +11 -3
  217. package/dest/tx/tx_request.js +2 -2
  218. package/dest/tx/validator/empty_validator.d.ts +2 -2
  219. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  220. package/dest/tx/validator/error_texts.d.ts +1 -1
  221. package/dest/tx/validator/error_texts.js +1 -1
  222. package/dest/tx/validator/tx_validator.d.ts +2 -2
  223. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  224. package/dest/validators/schemas.d.ts +30 -30
  225. package/dest/validators/schemas.d.ts.map +1 -1
  226. package/dest/validators/schemas.js +4 -3
  227. package/dest/validators/types.d.ts +3 -3
  228. package/dest/validators/types.d.ts.map +1 -1
  229. package/package.json +22 -11
  230. package/src/abi/function_call.ts +25 -3
  231. package/src/auth_witness/auth_witness.ts +3 -3
  232. package/src/block/block_data.ts +26 -0
  233. package/src/block/in_block.ts +1 -1
  234. package/src/block/index.ts +1 -0
  235. package/src/block/l2_block_source.ts +22 -0
  236. package/src/checkpoint/checkpoint.ts +32 -14
  237. package/src/checkpoint/checkpoint_data.ts +51 -0
  238. package/src/checkpoint/index.ts +1 -0
  239. package/src/checkpoint/published_checkpoint.ts +3 -1
  240. package/src/config/index.ts +1 -0
  241. package/src/config/sequencer-config.ts +29 -0
  242. package/src/contract/contract_address.ts +4 -4
  243. package/src/contract/contract_class.ts +3 -3
  244. package/src/contract/contract_class_id.ts +5 -4
  245. package/src/contract/interfaces/node-info.ts +3 -0
  246. package/src/contract/private_function.ts +2 -2
  247. package/src/epoch-helpers/index.ts +3 -0
  248. package/src/file-store/local.ts +15 -5
  249. package/src/file-store/s3.ts +12 -3
  250. package/src/ha-signing/config.ts +149 -0
  251. package/src/ha-signing/index.ts +18 -0
  252. package/src/ha-signing/types.ts +112 -0
  253. package/src/hash/hash.ts +14 -10
  254. package/src/hash/map_slot.ts +2 -2
  255. package/src/interfaces/archiver.ts +5 -0
  256. package/src/interfaces/aztec-node-admin.ts +23 -0
  257. package/src/interfaces/aztec-node.ts +1 -1
  258. package/src/interfaces/block-builder.ts +1 -0
  259. package/src/interfaces/configs.ts +12 -1
  260. package/src/interfaces/merkle_tree_operations.ts +1 -1
  261. package/src/interfaces/p2p.ts +1 -1
  262. package/src/interfaces/slasher.ts +4 -0
  263. package/src/interfaces/validator.ts +12 -2
  264. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  265. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  266. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  267. package/src/kernel/hints/index.ts +2 -2
  268. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  269. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  270. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  271. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  272. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  273. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
  274. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  275. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  276. package/src/kernel/private_validation_requests.ts +8 -8
  277. package/src/keys/derivation.ts +8 -8
  278. package/src/keys/key_types.ts +6 -2
  279. package/src/keys/public_keys.ts +2 -2
  280. package/src/keys/utils.ts +5 -5
  281. package/src/logs/debug_log_store.ts +54 -0
  282. package/src/logs/index.ts +1 -0
  283. package/src/logs/log_id.ts +15 -12
  284. package/src/logs/siloed_tag.ts +2 -3
  285. package/src/messaging/l2_to_l1_membership.ts +3 -3
  286. package/src/note/index.ts +0 -1
  287. package/src/p2p/attestation_utils.ts +56 -0
  288. package/src/p2p/block_proposal.ts +1 -3
  289. package/src/p2p/checkpoint_attestation.ts +6 -1
  290. package/src/p2p/checkpoint_proposal.ts +46 -14
  291. package/src/p2p/consensus_payload.ts +25 -12
  292. package/src/p2p/constants.ts +3 -0
  293. package/src/rollup/checkpoint_header.ts +2 -2
  294. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  295. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  296. package/src/slashing/empire.ts +3 -1
  297. package/src/slashing/helpers.ts +8 -0
  298. package/src/slashing/tally.ts +8 -2
  299. package/src/slashing/types.ts +14 -0
  300. package/src/tests/factories.ts +17 -17
  301. package/src/tests/mocks.ts +28 -13
  302. package/src/timetable/index.ts +66 -0
  303. package/src/trees/public_data_leaf.ts +11 -5
  304. package/src/tx/block_header.ts +2 -2
  305. package/src/tx/global_variables.ts +3 -3
  306. package/src/tx/profiling.ts +5 -5
  307. package/src/tx/protocol_contracts.ts +2 -2
  308. package/src/tx/public_simulation_output.ts +4 -0
  309. package/src/tx/tx_receipt.ts +10 -0
  310. package/src/tx/tx_request.ts +2 -2
  311. package/src/tx/validator/empty_validator.ts +1 -1
  312. package/src/tx/validator/error_texts.ts +1 -1
  313. package/src/tx/validator/tx_validator.ts +1 -1
  314. package/src/validators/schemas.ts +8 -1
  315. package/src/validators/types.ts +5 -4
  316. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  317. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  318. package/dest/note/notes_filter.d.ts +0 -27
  319. package/dest/note/notes_filter.d.ts.map +0 -1
  320. package/dest/note/notes_filter.js +0 -11
  321. package/src/note/notes_filter.ts +0 -38
@@ -14,6 +14,8 @@ export interface SlasherConfig {
14
14
  slashDataWithholdingPenalty: bigint;
15
15
  slashInactivityPenalty: bigint;
16
16
  slashBroadcastedInvalidBlockPenalty: bigint;
17
+ slashDuplicateProposalPenalty: bigint;
18
+ slashDuplicateAttestationPenalty: bigint;
17
19
  slashProposeInvalidAttestationsPenalty: bigint;
18
20
  slashAttestDescendantOfInvalidPenalty: bigint;
19
21
  slashUnknownPenalty: bigint;
@@ -34,6 +36,8 @@ export declare const SlasherConfigSchema: z.ZodObject<{
34
36
  slashInactivityConsecutiveEpochThreshold: z.ZodNumber;
35
37
  slashInactivityPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
36
38
  slashProposeInvalidAttestationsPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
39
+ slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
40
+ slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
37
41
  slashAttestDescendantOfInvalidPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
38
42
  slashUnknownPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
39
43
  slashOffenseExpirationRounds: z.ZodNumber;
@@ -54,6 +58,8 @@ export declare const SlasherConfigSchema: z.ZodObject<{
54
58
  slashInactivityConsecutiveEpochThreshold: number;
55
59
  slashInactivityPenalty: bigint;
56
60
  slashProposeInvalidAttestationsPenalty: bigint;
61
+ slashDuplicateProposalPenalty: bigint;
62
+ slashDuplicateAttestationPenalty: bigint;
57
63
  slashAttestDescendantOfInvalidPenalty: bigint;
58
64
  slashUnknownPenalty: bigint;
59
65
  slashOffenseExpirationRounds: number;
@@ -74,6 +80,8 @@ export declare const SlasherConfigSchema: z.ZodObject<{
74
80
  slashInactivityConsecutiveEpochThreshold: number;
75
81
  slashInactivityPenalty: string | number | bigint;
76
82
  slashProposeInvalidAttestationsPenalty: string | number | bigint;
83
+ slashDuplicateProposalPenalty: string | number | bigint;
84
+ slashDuplicateAttestationPenalty: string | number | bigint;
77
85
  slashAttestDescendantOfInvalidPenalty: string | number | bigint;
78
86
  slashUnknownPenalty: string | number | bigint;
79
87
  slashOffenseExpirationRounds: number;
@@ -83,4 +91,4 @@ export declare const SlasherConfigSchema: z.ZodObject<{
83
91
  slashExecuteRoundsLookBack: number;
84
92
  slashSelfAllowed?: boolean | undefined;
85
93
  }>;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsc0NBQXNDLEVBQUUsTUFBTSxDQUFDO0lBQy9DLHFDQUFxQyxFQUFFLE1BQU0sQ0FBQztJQUM5QyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0lBQ3JDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qix1QkFBdUIsRUFBRSxNQUFNLENBQUM7SUFDaEMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0NBQ3BDO0FBRUQsZUFBTyxNQUFNLG1CQUFtQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBc0IvQixDQUFDIn0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQztJQUN6QyxzQ0FBc0MsRUFBRSxNQUFNLENBQUM7SUFDL0MscUNBQXFDLEVBQUUsTUFBTSxDQUFDO0lBQzlDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qiw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDckMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7Q0FDcEM7QUFFRCxlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qi9CLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB/B,CAAC"}
1
+ {"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,6BAA6B,EAAE,MAAM,CAAC;IACtC,gCAAgC,EAAE,MAAM,CAAC;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAC"}
@@ -12,6 +12,8 @@ export const SlasherConfigSchema = zodFor()(z.object({
12
12
  slashInactivityConsecutiveEpochThreshold: z.number(),
13
13
  slashInactivityPenalty: schemas.BigInt,
14
14
  slashProposeInvalidAttestationsPenalty: schemas.BigInt,
15
+ slashDuplicateProposalPenalty: schemas.BigInt,
16
+ slashDuplicateAttestationPenalty: schemas.BigInt,
15
17
  slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
16
18
  slashUnknownPenalty: schemas.BigInt,
17
19
  slashOffenseExpirationRounds: z.number(),
@@ -7,10 +7,10 @@ import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/se
7
7
  import type { BlockProposal, BlockProposalOptions, CheckpointAttestation, CheckpointLastBlockData, CheckpointProposal, CheckpointProposalOptions } from '@aztec/stdlib/p2p';
8
8
  import type { CheckpointHeader } from '@aztec/stdlib/rollup';
9
9
  import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
10
- import { type ValidatorHASignerConfig } from '@aztec/validator-ha-signer/config';
11
10
  import type { PeerId } from '@libp2p/interface';
12
11
  import { z } from 'zod';
13
12
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
13
+ import { type ValidatorHASignerConfig } from '../ha-signing/index.js';
14
14
  /**
15
15
  * Validator client configuration
16
16
  */
@@ -35,8 +35,10 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
35
35
  skipCheckpointProposalValidation?: boolean;
36
36
  /** Skip pushing re-executed blocks to archiver (default: false) */
37
37
  skipPushProposedBlocksToArchiver?: boolean;
38
+ /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
39
+ attestToEquivocatedProposals?: boolean;
38
40
  };
39
- export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'> & {
41
+ export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'> & {
40
42
  /**
41
43
  * Whether transactions are disabled for this node
42
44
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
@@ -72,6 +74,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
72
74
  fishermanMode: z.ZodOptional<z.ZodBoolean>;
73
75
  skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
74
76
  skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
77
+ attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
75
78
  }, "strip", z.ZodTypeAny, {
76
79
  haSigningEnabled: boolean;
77
80
  l1Contracts: {
@@ -96,6 +99,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
96
99
  fishermanMode?: boolean | undefined;
97
100
  skipCheckpointProposalValidation?: boolean | undefined;
98
101
  skipPushProposedBlocksToArchiver?: boolean | undefined;
102
+ attestToEquivocatedProposals?: boolean | undefined;
99
103
  }, {
100
104
  haSigningEnabled: boolean;
101
105
  l1Contracts: {
@@ -120,6 +124,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
120
124
  fishermanMode?: boolean | undefined;
121
125
  skipCheckpointProposalValidation?: boolean | undefined;
122
126
  skipPushProposedBlocksToArchiver?: boolean | undefined;
127
+ attestToEquivocatedProposals?: boolean | undefined;
123
128
  }>;
124
129
  export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
125
130
  haSigningEnabled: z.ZodBoolean;
@@ -150,6 +155,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
150
155
  fishermanMode: z.ZodOptional<z.ZodBoolean>;
151
156
  skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
152
157
  skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
158
+ attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
153
159
  } & {
154
160
  txPublicSetupAllowList: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
155
161
  address: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
@@ -184,6 +190,8 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
184
190
  }>]>, "many">>;
185
191
  broadcastInvalidBlockProposal: z.ZodOptional<z.ZodBoolean>;
186
192
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
193
+ slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
194
+ slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
187
195
  disableTransactions: z.ZodOptional<z.ZodBoolean>;
188
196
  }, "strip", z.ZodTypeAny, {
189
197
  haSigningEnabled: boolean;
@@ -209,6 +217,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
209
217
  fishermanMode?: boolean | undefined;
210
218
  skipCheckpointProposalValidation?: boolean | undefined;
211
219
  skipPushProposedBlocksToArchiver?: boolean | undefined;
220
+ attestToEquivocatedProposals?: boolean | undefined;
212
221
  txPublicSetupAllowList?: ({
213
222
  address: import("../aztec-address/index.js").AztecAddress;
214
223
  selector: import("../abi/function_selector.js").FunctionSelector;
@@ -222,6 +231,8 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
222
231
  })[] | undefined;
223
232
  broadcastInvalidBlockProposal?: boolean | undefined;
224
233
  slashBroadcastedInvalidBlockPenalty: bigint;
234
+ slashDuplicateProposalPenalty: bigint;
235
+ slashDuplicateAttestationPenalty: bigint;
225
236
  disableTransactions?: boolean | undefined;
226
237
  }, {
227
238
  haSigningEnabled: boolean;
@@ -247,6 +258,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
247
258
  fishermanMode?: boolean | undefined;
248
259
  skipCheckpointProposalValidation?: boolean | undefined;
249
260
  skipPushProposedBlocksToArchiver?: boolean | undefined;
261
+ attestToEquivocatedProposals?: boolean | undefined;
250
262
  txPublicSetupAllowList?: ({
251
263
  address?: any;
252
264
  selector?: any;
@@ -260,6 +272,8 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
260
272
  })[] | undefined;
261
273
  broadcastInvalidBlockProposal?: boolean | undefined;
262
274
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
275
+ slashDuplicateProposalPenalty: string | number | bigint;
276
+ slashDuplicateAttestationPenalty: string | number | bigint;
263
277
  disableTransactions?: boolean | undefined;
264
278
  }>;
265
279
  export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & {
@@ -270,7 +284,7 @@ export interface Validator {
270
284
  updateConfig(config: Partial<ValidatorClientFullConfig>): void;
271
285
  createBlockProposal(blockHeader: BlockHeader, indexWithinCheckpoint: number, inHash: Fr, archive: Fr, txs: Tx[], proposerAddress: EthAddress | undefined, options: BlockProposalOptions): Promise<BlockProposal | undefined>;
272
286
  /** Creates a checkpoint proposal for the last block in a checkpoint */
273
- createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined, proposerAddress: EthAddress | undefined, options: CheckpointProposalOptions): Promise<CheckpointProposal>;
287
+ createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, feeAssetPriceModifier: bigint, lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined, proposerAddress: EthAddress | undefined, options: CheckpointProposalOptions): Promise<CheckpointProposal>;
274
288
  /**
275
289
  * Validate a block proposal from a peer.
276
290
  * Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
@@ -289,4 +303,4 @@ export interface Validator {
289
303
  collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
290
304
  signAttestationsAndSigners(attestationsAndSigners: CommitteeAttestationsAndSigners, proposer: EthAddress, slot: SlotNumber, blockNumber: BlockNumber | CheckpointNumber): Promise<Signature>;
291
305
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyx1QkFBdUIsRUFBaUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoSCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHekU7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLEdBQUc7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
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssdUJBQXVCLEVBQWlDLE1BQU0sd0JBQXdCLENBQUM7QUFHckc7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLEdBQUc7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
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { schemas, zodFor } from '@aztec/foundation/schemas';
2
- import { ValidatorHASignerConfigSchema } from '@aztec/validator-ha-signer/config';
3
2
  import { z } from 'zod';
3
+ import { ValidatorHASignerConfigSchema } from '../ha-signing/index.js';
4
4
  import { AllowedElementSchema } from './allowed_element.js';
5
5
  export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchema.extend({
6
6
  validatorAddresses: z.array(schemas.EthAddress).optional(),
@@ -11,11 +11,14 @@ export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchem
11
11
  alwaysReexecuteBlockProposals: z.boolean().optional(),
12
12
  fishermanMode: z.boolean().optional(),
13
13
  skipCheckpointProposalValidation: z.boolean().optional(),
14
- skipPushProposedBlocksToArchiver: z.boolean().optional()
14
+ skipPushProposedBlocksToArchiver: z.boolean().optional(),
15
+ attestToEquivocatedProposals: z.boolean().optional()
15
16
  }));
16
17
  export const ValidatorClientFullConfigSchema = zodFor()(ValidatorClientConfigSchema.extend({
17
18
  txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
18
19
  broadcastInvalidBlockProposal: z.boolean().optional(),
19
20
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
21
+ slashDuplicateProposalPenalty: schemas.BigInt,
22
+ slashDuplicateAttestationPenalty: schemas.BigInt,
20
23
  disableTransactions: z.boolean().optional()
21
24
  }));
@@ -6,11 +6,11 @@ import type { ScopedNoteHash } from '../note_hash.js';
6
6
  import type { ScopedReadRequest } from './read_request.js';
7
7
  import { ReadRequestResetActions } from './read_request_hints.js';
8
8
  export declare function isValidNoteHashReadRequest(readRequest: ScopedReadRequest, noteHash: ScopedNoteHash): boolean;
9
- export declare function getNoteHashReadRequestResetActions(noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, futureNoteHashes: ScopedNoteHash[]): ReadRequestResetActions<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>;
9
+ export declare function getNoteHashReadRequestResetActions(noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>): ReadRequestResetActions<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>;
10
10
  export declare function buildNoteHashReadRequestHintsFromResetActions<PENDING extends number, SETTLED extends number>(oracle: {
11
11
  getNoteHashMembershipWitness(noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
12
12
  }, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, resetActions: ReadRequestResetActions<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./note_hash_read_request_hints.js").NoteHashReadRequestHints<PENDING, SETTLED>>;
13
13
  export declare function buildNoteHashReadRequestHints<PENDING extends number, SETTLED extends number>(oracle: {
14
14
  getNoteHashMembershipWitness(noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>>;
15
- }, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, futureNoteHashes: ScopedNoteHash[], maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./note_hash_read_request_hints.js").NoteHashReadRequestHints<PENDING, SETTLED>>;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbm90ZV9oYXNoX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9ub3RlX2hhc2hfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQUMzQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQTBDLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHMUcsd0JBQWdCLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxXQU1sRztBQUVELHdCQUFnQixrQ0FBa0MsQ0FDaEQsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN0RyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsRUFDN0UsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLEdBQ2pDLHVCQUF1QixDQUFDLE9BQU8sa0NBQWtDLENBQUMsQ0FpQ3BFO0FBRUQsd0JBQXNCLDZDQUE2QyxDQUFDLE9BQU8sU0FBUyxNQUFNLEVBQUUsT0FBTyxTQUFTLE1BQU0sRUFDaEgsTUFBTSxFQUFFO0lBQ04sNEJBQTRCLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0NBQ2xILEVBQ0Qsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN0RyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsRUFDN0UsWUFBWSxFQUFFLHVCQUF1QixDQUFDLE9BQU8sa0NBQWtDLENBQUMsRUFDaEYsVUFBVSxHQUFFLE9BQXVELEVBQ25FLFVBQVUsR0FBRSxPQUF1RCxtR0F1Q3BFO0FBRUQsd0JBQXNCLDZCQUE2QixDQUFDLE9BQU8sU0FBUyxNQUFNLEVBQUUsT0FBTyxTQUFTLE1BQU0sRUFDaEcsTUFBTSxFQUFFO0lBQ04sNEJBQTRCLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7Q0FDdEcsRUFDRCxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3RHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxFQUM3RSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsRUFDbEMsVUFBVSxHQUFFLE9BQXVELEVBQ25FLFVBQVUsR0FBRSxPQUF1RCxtR0FXcEUifQ==
15
+ }, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./note_hash_read_request_hints.js").NoteHashReadRequestHints<PENDING, SETTLED>>;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbm90ZV9oYXNoX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9ub3RlX2hhc2hfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQUMzQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQTBDLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUcsd0JBQWdCLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxXQU1sRztBQUVELHdCQUFnQixrQ0FBa0MsQ0FDaEQsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN0RyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsR0FDNUUsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxDQWdDcEU7QUFFRCx3QkFBc0IsNkNBQTZDLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNoSCxNQUFNLEVBQUU7SUFDTiw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7Q0FDbEgsRUFDRCxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3RHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxFQUM3RSxZQUFZLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxFQUNoRixVQUFVLEdBQUUsT0FBdUQsRUFDbkUsVUFBVSxHQUFFLE9BQXVELG1HQXVDcEU7QUFFRCx3QkFBc0IsNkJBQTZCLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNoRyxNQUFNLEVBQUU7SUFDTiw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBQUMsQ0FBQztDQUN0RyxFQUNELG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sa0NBQWtDLENBQUMsRUFDdEcsVUFBVSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEVBQzdFLFVBQVUsR0FBRSxPQUF1RCxFQUNuRSxVQUFVLEdBQUUsT0FBdUQsbUdBV3BFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"build_note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG1G,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,WAMlG;AAED,wBAAgB,kCAAkC,CAChD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,gBAAgB,EAAE,cAAc,EAAE,GACjC,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAiCpE;AAED,wBAAsB,6CAA6C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChH,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAAC;CAClH,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAuCpE;AAED,wBAAsB,6BAA6B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChG,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;CACtG,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,gBAAgB,EAAE,cAAc,EAAE,EAClC,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAWpE"}
1
+ {"version":3,"file":"build_note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE1G,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,WAMlG;AAED,wBAAgB,kCAAkC,CAChD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,GAC5E,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAgCpE;AAED,wBAAsB,6CAA6C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChH,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAAC;CAClH,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAuCpE;AAED,wBAAsB,6BAA6B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChG,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;CACtG,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAWpE"}
@@ -1,11 +1,10 @@
1
1
  import { MAX_NOTE_HASH_READ_REQUESTS_PER_TX } from '@aztec/constants';
2
2
  import { NoteHashReadRequestHintsBuilder } from './note_hash_read_request_hints.js';
3
3
  import { PendingReadHint, ReadRequestActionEnum, ReadRequestResetActions } from './read_request_hints.js';
4
- import { ScopedValueCache } from './scoped_value_cache.js';
5
4
  export function isValidNoteHashReadRequest(readRequest, noteHash) {
6
5
  return noteHash.value.equals(readRequest.value) && noteHash.contractAddress.equals(readRequest.contractAddress) && readRequest.counter > noteHash.counter;
7
6
  }
8
- export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes, futureNoteHashes) {
7
+ export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes) {
9
8
  const resetActions = ReadRequestResetActions.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
10
9
  const noteHashMap = new Map();
11
10
  noteHashes.getActiveItems().forEach((noteHash, index)=>{
@@ -17,15 +16,19 @@ export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHas
17
16
  });
18
17
  noteHashMap.set(value, arr);
19
18
  });
20
- const futureNoteHashMap = new ScopedValueCache(futureNoteHashes);
21
19
  for(let i = 0; i < noteHashReadRequests.claimedLength; ++i){
22
20
  const readRequest = noteHashReadRequests.array[i];
23
- const pendingNoteHash = noteHashMap.get(readRequest.value.toBigInt())?.find((n)=>isValidNoteHashReadRequest(readRequest, n.noteHash));
24
- if (pendingNoteHash !== undefined) {
25
- resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
26
- resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNoteHash.index));
27
- } else if (!futureNoteHashMap.get(readRequest).find((futureNoteHash)=>isValidNoteHashReadRequest(readRequest, futureNoteHash))) {
21
+ if (readRequest.contractAddress.isZero()) {
22
+ // Settled read: empty contract address means resolve against the note hash tree.
28
23
  resetActions.actions[i] = ReadRequestActionEnum.READ_AS_SETTLED;
24
+ } else {
25
+ // Pending read: non-empty contract address means match against a pending note hash.
26
+ const pendingNoteHash = noteHashMap.get(readRequest.value.toBigInt())?.find((n)=>isValidNoteHashReadRequest(readRequest, n.noteHash));
27
+ if (pendingNoteHash) {
28
+ resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
29
+ resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNoteHash.index));
30
+ }
31
+ // Otherwise, the read request may be resolved by a future note hash. Leave as NOOP.
29
32
  }
30
33
  }
31
34
  return resetActions;
@@ -67,7 +70,7 @@ export async function buildNoteHashReadRequestHintsFromResetActions(oracle, note
67
70
  });
68
71
  return builder.toHints();
69
72
  }
70
- export async function buildNoteHashReadRequestHints(oracle, noteHashReadRequests, noteHashes, futureNoteHashes, maxPending = MAX_NOTE_HASH_READ_REQUESTS_PER_TX, maxSettled = MAX_NOTE_HASH_READ_REQUESTS_PER_TX) {
71
- const resetActions = getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes, futureNoteHashes);
73
+ export async function buildNoteHashReadRequestHints(oracle, noteHashReadRequests, noteHashes, maxPending = MAX_NOTE_HASH_READ_REQUESTS_PER_TX, maxSettled = MAX_NOTE_HASH_READ_REQUESTS_PER_TX) {
74
+ const resetActions = getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes);
72
75
  return await buildNoteHashReadRequestHintsFromResetActions(oracle, noteHashReadRequests, noteHashes, resetActions, maxPending, maxSettled);
73
76
  }
@@ -11,12 +11,12 @@ interface NullifierMembershipWitnessWithPreimage {
11
11
  membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>;
12
12
  leafPreimage: NullifierLeafPreimage;
13
13
  }
14
- export declare function getNullifierReadRequestResetActions(nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>, futureNullifiers: ScopedNullifier[]): ReadRequestResetActions<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>;
14
+ export declare function getNullifierReadRequestResetActions(nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>): ReadRequestResetActions<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>;
15
15
  export declare function buildNullifierReadRequestHintsFromResetActions<PENDING extends number, SETTLED extends number>(oracle: {
16
16
  getNullifierMembershipWitness(nullifier: Fr): Promise<NullifierMembershipWitnessWithPreimage>;
17
17
  }, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, resetActions: ReadRequestResetActions<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./nullifier_read_request_hints.js").NullifierReadRequestHints<PENDING, SETTLED>>;
18
18
  export declare function buildNullifierReadRequestHints<PENDING extends number, SETTLED extends number>(oracle: {
19
19
  getNullifierMembershipWitness(nullifier: Fr): Promise<NullifierMembershipWitnessWithPreimage>;
20
- }, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>, futureNullifiers: ScopedNullifier[], maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./nullifier_read_request_hints.js").NullifierReadRequestHints<PENDING, SETTLED>>;
20
+ }, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./nullifier_read_request_hints.js").NullifierReadRequestHints<PENDING, SETTLED>>;
21
21
  export {};
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbnVsbGlmaWVyX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9udWxsaWZpZXJfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHFCQUFxQixFQUMxQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUEwQyx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzFHLHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsV0FNckc7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsWUFBWSxFQUFFLHFCQUFxQixDQUFDO0NBQ3JDO0FBRUQsd0JBQWdCLG1DQUFtQyxDQUNqRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxFQUM3RSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FDbEMsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxDQWdDcEU7QUFFRCx3QkFBc0IsOENBQThDLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNqSCxNQUFNLEVBQUU7SUFDTiw2QkFBNkIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0NBQy9GLEVBQ0QscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN2RyxZQUFZLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxFQUNoRixVQUFVLEdBQUUsT0FBdUQsRUFDbkUsVUFBVSxHQUFFLE9BQXVELG9HQStCcEU7QUFFRCx3QkFBc0IsOEJBQThCLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNqRyxNQUFNLEVBQUU7SUFDTiw2QkFBNkIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0NBQy9GLEVBQ0QscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN2RyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxFQUFFLE9BQU8scUJBQXFCLENBQUMsRUFDN0UsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEVBQ25DLFVBQVUsR0FBRSxPQUF1RCxFQUNuRSxVQUFVLEdBQUUsT0FBdUQsb0dBVXBFIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbnVsbGlmaWVyX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9udWxsaWZpZXJfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHFCQUFxQixFQUMxQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUEwQyx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTFHLHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsV0FNckc7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsWUFBWSxFQUFFLHFCQUFxQixDQUFDO0NBQ3JDO0FBRUQsd0JBQWdCLG1DQUFtQyxDQUNqRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxHQUM1RSx1QkFBdUIsQ0FBQyxPQUFPLGtDQUFrQyxDQUFDLENBZ0NwRTtBQUVELHdCQUFzQiw4Q0FBOEMsQ0FBQyxPQUFPLFNBQVMsTUFBTSxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQ2pILE1BQU0sRUFBRTtJQUNOLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDL0YsRUFDRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxPQUFPLGtDQUFrQyxDQUFDLEVBQ2hGLFVBQVUsR0FBRSxPQUF1RCxFQUNuRSxVQUFVLEdBQUUsT0FBdUQsb0dBK0JwRTtBQUVELHdCQUFzQiw4QkFBOEIsQ0FBQyxPQUFPLFNBQVMsTUFBTSxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQ2pHLE1BQU0sRUFBRTtJQUNOLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDL0YsRUFDRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxFQUM3RSxVQUFVLEdBQUUsT0FBdUQsRUFDbkUsVUFBVSxHQUFFLE9BQXVELG9HQVVwRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"build_nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG1G,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,WAMrG;AAED,UAAU,sCAAsC;IAC9C,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACnE,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,wBAAgB,mCAAmC,CACjD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,EAC7E,gBAAgB,EAAE,eAAe,EAAE,GAClC,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAgCpE;AAED,wBAAsB,8CAA8C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjH,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGA+BpE;AAED,wBAAsB,8BAA8B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjG,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,EAC7E,gBAAgB,EAAE,eAAe,EAAE,EACnC,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGAUpE"}
1
+ {"version":3,"file":"build_nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE1G,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,WAMrG;AAED,UAAU,sCAAsC;IAC9C,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACnE,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,wBAAgB,mCAAmC,CACjD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,GAC5E,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAgCpE;AAED,wBAAsB,8CAA8C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjH,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGA+BpE;AAED,wBAAsB,8BAA8B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjG,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,EAC7E,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGAUpE"}
@@ -1,11 +1,10 @@
1
1
  import { MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
2
2
  import { NullifierReadRequestHintsBuilder } from './nullifier_read_request_hints.js';
3
3
  import { PendingReadHint, ReadRequestActionEnum, ReadRequestResetActions } from './read_request_hints.js';
4
- import { ScopedValueCache } from './scoped_value_cache.js';
5
4
  export function isValidNullifierReadRequest(readRequest, nullifier) {
6
5
  return readRequest.value.equals(nullifier.value) && nullifier.contractAddress.equals(readRequest.contractAddress) && readRequest.counter > nullifier.counter;
7
6
  }
8
- export function getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers, futureNullifiers) {
7
+ export function getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers) {
9
8
  const resetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
10
9
  const nullifierMap = new Map();
11
10
  nullifiers.getActiveItems().forEach((nullifier, index)=>{
@@ -17,15 +16,19 @@ export function getNullifierReadRequestResetActions(nullifierReadRequests, nulli
17
16
  });
18
17
  nullifierMap.set(value, arr);
19
18
  });
20
- const futureNullifiersMap = new ScopedValueCache(futureNullifiers);
21
19
  for(let i = 0; i < nullifierReadRequests.claimedLength; ++i){
22
20
  const readRequest = nullifierReadRequests.array[i];
23
- const pendingNullifier = nullifierMap.get(readRequest.value.toBigInt())?.find(({ nullifier })=>isValidNullifierReadRequest(readRequest, nullifier));
24
- if (pendingNullifier !== undefined) {
25
- resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
26
- resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
27
- } else if (!futureNullifiersMap.get(readRequest).some((futureNullifier)=>isValidNullifierReadRequest(readRequest, futureNullifier))) {
21
+ if (readRequest.contractAddress.isZero()) {
22
+ // Settled read: empty contract address means resolve against the nullifier tree.
28
23
  resetActions.actions[i] = ReadRequestActionEnum.READ_AS_SETTLED;
24
+ } else {
25
+ // Pending read: non-empty contract address means match against a pending nullifier.
26
+ const pendingNullifier = nullifierMap.get(readRequest.value.toBigInt())?.find(({ nullifier })=>isValidNullifierReadRequest(readRequest, nullifier));
27
+ if (pendingNullifier) {
28
+ resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
29
+ resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
30
+ }
31
+ // Otherwise, the read request may be resolved by a future nullifier. Leave as NOOP.
29
32
  }
30
33
  }
31
34
  return resetActions;
@@ -54,7 +57,7 @@ export async function buildNullifierReadRequestHintsFromResetActions(oracle, nul
54
57
  }
55
58
  return builder.toHints();
56
59
  }
57
- export async function buildNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers, futureNullifiers, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX) {
58
- const resetActions = getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers, futureNullifiers);
60
+ export async function buildNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX) {
61
+ const resetActions = getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers);
59
62
  return await buildNullifierReadRequestHintsFromResetActions(oracle, nullifierReadRequests, resetActions, maxPending, maxSettled);
60
63
  }
@@ -2,10 +2,13 @@ import type { Tuple } from '@aztec/foundation/serialize';
2
2
  import type { ClaimedLengthArray } from '../claimed_length_array.js';
3
3
  import type { ScopedNoteHash } from '../note_hash.js';
4
4
  import type { ScopedNullifier } from '../nullifier.js';
5
+ import type { PrivateLogData, ScopedPrivateLogData } from '../private_log_data.js';
5
6
  import type { ScopedReadRequest } from './read_request.js';
6
7
  import { TransientDataSquashingHint } from './transient_data_squashing_hint.js';
7
- export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: ClaimedLengthArray<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], noteHashNullifierCounterMap: Map<number, number>, splitCounter: number): {
8
+ export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: ClaimedLengthArray<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], futureLogs: PrivateLogData[], noteHashNullifierCounterMap: Map<number, number>, splitCounter: number): {
8
9
  numTransientData: number;
9
10
  hints: Tuple<TransientDataSquashingHint, NULLIFIERS_LEN>;
10
11
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWwvaGludHMvYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLHdCQUFnQix1QkFBdUIsQ0FBQyxlQUFlLFNBQVMsTUFBTSxFQUFFLGNBQWMsU0FBUyxNQUFNLEVBQ25HLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQy9ELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLEVBQy9ELG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLEVBQ3hDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLEVBQ3pDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQ2hELFlBQVksRUFBRSxNQUFNLEdBQ25CO0lBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxjQUFjLENBQUMsQ0FBQTtDQUFFLENBMkR4RiJ9
12
+ /** Counts private logs that are linked to squashed note hashes and would be removed along with them. */
13
+ export declare function countSquashedLogs<NOTE_HASHES_LEN extends number, LOGS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, privateLogs: ClaimedLengthArray<ScopedPrivateLogData, LOGS_LEN>, squashingHints: TransientDataSquashingHint[]): number;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWwvaGludHMvYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUduRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLHdCQUFnQix1QkFBdUIsQ0FBQyxlQUFlLFNBQVMsTUFBTSxFQUFFLGNBQWMsU0FBUyxNQUFNLEVBQ25HLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQy9ELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLEVBQy9ELG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLEVBQ3hDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLEVBQ3pDLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFDNUIsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFDaEQsWUFBWSxFQUFFLE1BQU0sR0FDbkI7SUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0NBQUUsQ0E4RHhGO0FBRUQsd0dBQXdHO0FBQ3hHLHdCQUFnQixpQkFBaUIsQ0FBQyxlQUFlLFNBQVMsTUFBTSxFQUFFLFFBQVEsU0FBUyxNQUFNLEVBQ3ZGLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQy9ELFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsRUFDL0QsY0FBYyxFQUFFLDBCQUEwQixFQUFFLEdBQzNDLE1BQU0sQ0FHUiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,wBAAgB,uBAAuB,CAAC,eAAe,SAAS,MAAM,EAAE,cAAc,SAAS,MAAM,EACnG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,EAC/D,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,YAAY,EAAE,MAAM,GACnB;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;CAAE,CA2DxF"}
1
+ {"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,wBAAgB,uBAAuB,CAAC,eAAe,SAAS,MAAM,EAAE,cAAc,SAAS,MAAM,EACnG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,EAC/D,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,UAAU,EAAE,cAAc,EAAE,EAC5B,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,YAAY,EAAE,MAAM,GACnB;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;CAAE,CA8DxF;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,eAAe,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,EACvF,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,WAAW,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAC/D,cAAc,EAAE,0BAA0B,EAAE,GAC3C,MAAM,CAGR"}
@@ -3,17 +3,19 @@ import { isValidNoteHashReadRequest } from './build_note_hash_read_request_hints
3
3
  import { isValidNullifierReadRequest } from './build_nullifier_read_request_hints.js';
4
4
  import { ScopedValueCache } from './scoped_value_cache.js';
5
5
  import { TransientDataSquashingHint } from './transient_data_squashing_hint.js';
6
- export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, noteHashNullifierCounterMap, splitCounter) {
6
+ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, futureLogs, noteHashNullifierCounterMap, splitCounter) {
7
7
  const futureNoteHashReadsMap = new ScopedValueCache(futureNoteHashReads);
8
8
  const futureNullifierReadsMap = new ScopedValueCache(futureNullifierReads);
9
+ const futureLogNoteHashCounters = new Set(futureLogs.filter((l)=>l.noteHashCounter > 0).map((l)=>l.noteHashCounter));
9
10
  const nullifierIndexMap = new Map();
10
11
  nullifiers.getActiveItems().forEach((n, i)=>nullifierIndexMap.set(n.counter, i));
11
12
  const hints = [];
12
13
  for(let noteHashIndex = 0; noteHashIndex < noteHashes.claimedLength; noteHashIndex++){
13
14
  const noteHash = noteHashes.array[noteHashIndex];
14
15
  const noteHashNullifierCounter = noteHashNullifierCounterMap.get(noteHash.counter);
15
- // The note hash might not be linked to a nullifier or it might be read in the future
16
- if (!noteHashNullifierCounter || futureNoteHashReadsMap.get(noteHash).find((read)=>isValidNoteHashReadRequest(read, noteHash))) {
16
+ // The note hash might not be linked to a nullifier, or it might be read in the future, or a future log might be
17
+ // linked to it.
18
+ if (!noteHashNullifierCounter || futureNoteHashReadsMap.get(noteHash).find((read)=>isValidNoteHashReadRequest(read, noteHash)) || futureLogNoteHashCounters.has(noteHash.counter)) {
17
19
  continue;
18
20
  }
19
21
  const nullifierIndex = nullifierIndexMap.get(noteHashNullifierCounter);
@@ -48,3 +50,7 @@ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashRe
48
50
  hints: padArrayEnd(hints, noActionHint, nullifiers.array.length)
49
51
  };
50
52
  }
53
+ /** Counts private logs that are linked to squashed note hashes and would be removed along with them. */ export function countSquashedLogs(noteHashes, privateLogs, squashingHints) {
54
+ const squashedNoteHashCounters = new Set(squashingHints.map((h)=>noteHashes.array[h.noteHashIndex].counter));
55
+ return privateLogs.getActiveItems().filter((l)=>squashedNoteHashCounters.has(l.inner.noteHashCounter)).length;
56
+ }
@@ -6,10 +6,10 @@ export * from './note_hash_read_request_hints.js';
6
6
  export * from './nullifier_read_request_hints.js';
7
7
  export * from './read_request_hints.js';
8
8
  export * from './key_validation_hint.js';
9
- export * from './key_validation_request_and_generator.js';
9
+ export * from './key_validation_request_and_separator.js';
10
10
  export * from './read_request.js';
11
11
  export * from './key_validation_request.js';
12
- export * from './scoped_key_validation_request_and_generator.js';
12
+ export * from './scoped_key_validation_request_and_separator.js';
13
13
  export * from './transient_data_squashing_hint.js';
14
14
  export * from './private_kernel_reset_hints.js';
15
15
  export * from './tree_leaf_read_request.js';
@@ -6,10 +6,10 @@ export * from './note_hash_read_request_hints.js';
6
6
  export * from './nullifier_read_request_hints.js';
7
7
  export * from './read_request_hints.js';
8
8
  export * from './key_validation_hint.js';
9
- export * from './key_validation_request_and_generator.js';
9
+ export * from './key_validation_request_and_separator.js';
10
10
  export * from './read_request.js';
11
11
  export * from './key_validation_request.js';
12
- export * from './scoped_key_validation_request_and_generator.js';
12
+ export * from './scoped_key_validation_request_and_separator.js';
13
13
  export * from './transient_data_squashing_hint.js';
14
14
  export * from './private_kernel_reset_hints.js';
15
15
  export * from './tree_leaf_read_request.js';
@@ -0,0 +1,24 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
3
+ import { KeyValidationRequest } from './key_validation_request.js';
4
+ /**
5
+ * Request for validating keys used in the app, along with a domain separator for the key type.
6
+ */
7
+ export declare class KeyValidationRequestAndSeparator {
8
+ /** The key validation request. */
9
+ readonly request: KeyValidationRequest;
10
+ /** Domain separator for the key type, used along with sk_m to derive the sk_app stored in the request. */
11
+ readonly keyTypeDomainSeparator: Fr;
12
+ constructor(
13
+ /** The key validation request. */
14
+ request: KeyValidationRequest,
15
+ /** Domain separator for the key type, used along with sk_m to derive the sk_app stored in the request. */
16
+ keyTypeDomainSeparator: Fr);
17
+ toBuffer(): Buffer<ArrayBufferLike>;
18
+ static fromBuffer(buffer: Buffer | BufferReader): KeyValidationRequestAndSeparator;
19
+ toFields(): Fr[];
20
+ static fromFields(fields: Fr[] | FieldReader): KeyValidationRequestAndSeparator;
21
+ isEmpty(): boolean;
22
+ static empty(): KeyValidationRequestAndSeparator;
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3ZhbGlkYXRpb25fcmVxdWVzdF9hbmRfc2VwYXJhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMva2VybmVsL2hpbnRzL2tleV92YWxpZGF0aW9uX3JlcXVlc3RfYW5kX3NlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxxQkFBYSxnQ0FBZ0M7SUFFekMsa0NBQWtDO2FBQ2xCLE9BQU8sRUFBRSxvQkFBb0I7SUFDN0MsMEdBQTBHO2FBQzFGLHNCQUFzQixFQUFFLEVBQUU7SUFKNUM7SUFDRSxrQ0FBa0M7SUFDbEIsT0FBTyxFQUFFLG9CQUFvQjtJQUM3QywwR0FBMEc7SUFDMUYsc0JBQXNCLEVBQUUsRUFBRSxFQUN4QztJQUVKLFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxvQ0FHOUM7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBUWY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsZ0NBQWdDLENBRzlFO0lBRUQsT0FBTyxZQUVOO0lBRUQsTUFBTSxDQUFDLEtBQUsscUNBRVg7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key_validation_request_and_separator.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/key_validation_request_and_separator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;GAEG;AACH,qBAAa,gCAAgC;IAEzC,kCAAkC;aAClB,OAAO,EAAE,oBAAoB;IAC7C,0GAA0G;aAC1F,sBAAsB,EAAE,EAAE;IAJ5C;IACE,kCAAkC;IAClB,OAAO,EAAE,oBAAoB;IAC7C,0GAA0G;IAC1F,sBAAsB,EAAE,EAAE,EACxC;IAEJ,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,oCAG9C;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,gCAAgC,CAG9E;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,qCAEX;CACF"}
@@ -3,42 +3,39 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { KeyValidationRequest } from './key_validation_request.js';
5
5
  /**
6
- * Request for validating keys used in the app and a generator.
7
- */ export class KeyValidationRequestAndGenerator {
6
+ * Request for validating keys used in the app, along with a domain separator for the key type.
7
+ */ export class KeyValidationRequestAndSeparator {
8
8
  request;
9
- skAppGenerator;
10
- constructor(/** The key validation request. */ request, /**
11
- * The generator index which can be used along with sk_m to derive the sk_app stored in the request.
12
- * Note: This generator constrains that a correct key type gets validated in the kernel.
13
- */ skAppGenerator){
9
+ keyTypeDomainSeparator;
10
+ constructor(/** The key validation request. */ request, /** Domain separator for the key type, used along with sk_m to derive the sk_app stored in the request. */ keyTypeDomainSeparator){
14
11
  this.request = request;
15
- this.skAppGenerator = skAppGenerator;
12
+ this.keyTypeDomainSeparator = keyTypeDomainSeparator;
16
13
  }
17
14
  toBuffer() {
18
- return serializeToBuffer(this.request, this.skAppGenerator);
15
+ return serializeToBuffer(this.request, this.keyTypeDomainSeparator);
19
16
  }
20
17
  static fromBuffer(buffer) {
21
18
  const reader = BufferReader.asReader(buffer);
22
- return new KeyValidationRequestAndGenerator(reader.readObject(KeyValidationRequest), Fr.fromBuffer(reader));
19
+ return new KeyValidationRequestAndSeparator(reader.readObject(KeyValidationRequest), Fr.fromBuffer(reader));
23
20
  }
24
21
  toFields() {
25
22
  const fields = [
26
23
  ...this.request.toFields(),
27
- this.skAppGenerator
24
+ this.keyTypeDomainSeparator
28
25
  ];
29
26
  if (fields.length !== KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH) {
30
- throw new Error(`Invalid number of fields for KeyValidationRequestAndGenerator. Expected ${KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`);
27
+ throw new Error(`Invalid number of fields for KeyValidationRequestAndSeparator. Expected ${KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`);
31
28
  }
32
29
  return fields;
33
30
  }
34
31
  static fromFields(fields) {
35
32
  const reader = FieldReader.asReader(fields);
36
- return new KeyValidationRequestAndGenerator(KeyValidationRequest.fromFields(reader), reader.readField());
33
+ return new KeyValidationRequestAndSeparator(KeyValidationRequest.fromFields(reader), reader.readField());
37
34
  }
38
35
  isEmpty() {
39
- return this.request.isEmpty() && this.skAppGenerator.isZero();
36
+ return this.request.isEmpty() && this.keyTypeDomainSeparator.isZero();
40
37
  }
41
38
  static empty() {
42
- return new KeyValidationRequestAndGenerator(KeyValidationRequest.empty(), Fr.ZERO);
39
+ return new KeyValidationRequestAndSeparator(KeyValidationRequest.empty(), Fr.ZERO);
43
40
  }
44
41
  }