@aztec/stdlib 0.0.1-commit.8f9871590 → 0.0.1-commit.9117c5f5a

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 (235) hide show
  1. package/dest/abi/decoder.d.ts +1 -1
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +1 -4
  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 +9 -5
  7. package/dest/auth_witness/auth_witness.js +3 -3
  8. package/dest/avm/avm.d.ts +300 -300
  9. package/dest/avm/avm_proving_request.d.ts +166 -166
  10. package/dest/avm/revert_code.d.ts +16 -1
  11. package/dest/avm/revert_code.d.ts.map +1 -1
  12. package/dest/avm/revert_code.js +15 -5
  13. package/dest/block/block_data.d.ts +52 -0
  14. package/dest/block/block_data.d.ts.map +1 -0
  15. package/dest/block/block_data.js +12 -0
  16. package/dest/block/index.d.ts +2 -1
  17. package/dest/block/index.d.ts.map +1 -1
  18. package/dest/block/index.js +1 -0
  19. package/dest/block/l2_block_source.d.ts +20 -1
  20. package/dest/block/l2_block_source.d.ts.map +1 -1
  21. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  22. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  23. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  24. package/dest/checkpoint/checkpoint.d.ts +6 -1
  25. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  26. package/dest/checkpoint/checkpoint.js +5 -4
  27. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  28. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  29. package/dest/checkpoint/checkpoint_data.js +26 -0
  30. package/dest/checkpoint/index.d.ts +2 -1
  31. package/dest/checkpoint/index.d.ts.map +1 -1
  32. package/dest/checkpoint/index.js +1 -0
  33. package/dest/checkpoint/published_checkpoint.d.ts +11 -2
  34. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  35. package/dest/checkpoint/published_checkpoint.js +1 -2
  36. package/dest/config/sequencer-config.d.ts +2 -2
  37. package/dest/config/sequencer-config.d.ts.map +1 -1
  38. package/dest/config/sequencer-config.js +6 -0
  39. package/dest/contract/contract_address.js +4 -4
  40. package/dest/contract/contract_class.d.ts +2 -3
  41. package/dest/contract/contract_class.d.ts.map +1 -1
  42. package/dest/contract/contract_class_id.js +3 -3
  43. package/dest/contract/private_function.js +2 -2
  44. package/dest/file-store/local.d.ts +3 -3
  45. package/dest/file-store/local.d.ts.map +1 -1
  46. package/dest/file-store/local.js +13 -4
  47. package/dest/file-store/s3.d.ts +1 -1
  48. package/dest/file-store/s3.d.ts.map +1 -1
  49. package/dest/file-store/s3.js +11 -3
  50. package/dest/ha-signing/config.d.ts +101 -0
  51. package/dest/ha-signing/config.d.ts.map +1 -0
  52. package/dest/ha-signing/config.js +92 -0
  53. package/dest/ha-signing/index.d.ts +3 -0
  54. package/dest/ha-signing/index.d.ts.map +1 -0
  55. package/dest/ha-signing/index.js +2 -0
  56. package/dest/ha-signing/types.d.ts +85 -0
  57. package/dest/ha-signing/types.d.ts.map +1 -0
  58. package/dest/ha-signing/types.js +32 -0
  59. package/dest/hash/hash.js +11 -11
  60. package/dest/hash/map_slot.js +2 -2
  61. package/dest/interfaces/archiver.d.ts +1 -1
  62. package/dest/interfaces/archiver.d.ts.map +1 -1
  63. package/dest/interfaces/archiver.js +5 -0
  64. package/dest/interfaces/aztec-node-admin.d.ts +30 -2
  65. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  66. package/dest/interfaces/aztec-node-admin.js +9 -3
  67. package/dest/interfaces/configs.d.ts +17 -2
  68. package/dest/interfaces/configs.d.ts.map +1 -1
  69. package/dest/interfaces/configs.js +4 -1
  70. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  71. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  72. package/dest/interfaces/p2p.d.ts +3 -8
  73. package/dest/interfaces/p2p.d.ts.map +1 -1
  74. package/dest/interfaces/validator.d.ts +2 -2
  75. package/dest/interfaces/validator.d.ts.map +1 -1
  76. package/dest/interfaces/validator.js +1 -1
  77. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  78. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  79. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  80. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  81. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  82. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  83. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  84. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  85. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  86. package/dest/kernel/hints/index.d.ts +2 -2
  87. package/dest/kernel/hints/index.js +2 -2
  88. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  89. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  90. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  91. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  92. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  93. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  94. package/dest/kernel/private_circuit_public_inputs.d.ts +6 -6
  95. package/dest/kernel/private_circuit_public_inputs.js +11 -11
  96. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +2 -2
  97. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +2 -2
  98. package/dest/kernel/private_validation_requests.d.ts +3 -3
  99. package/dest/kernel/private_validation_requests.js +9 -9
  100. package/dest/keys/derivation.js +8 -8
  101. package/dest/keys/key_types.d.ts +3 -3
  102. package/dest/keys/key_types.d.ts.map +1 -1
  103. package/dest/keys/public_keys.js +2 -2
  104. package/dest/keys/utils.js +5 -5
  105. package/dest/logs/debug_log_store.d.ts +30 -0
  106. package/dest/logs/debug_log_store.d.ts.map +1 -0
  107. package/dest/logs/debug_log_store.js +30 -0
  108. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  109. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  110. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  111. package/dest/logs/index.d.ts +3 -2
  112. package/dest/logs/index.d.ts.map +1 -1
  113. package/dest/logs/index.js +2 -1
  114. package/dest/logs/pre_tag.d.ts +16 -11
  115. package/dest/logs/pre_tag.d.ts.map +1 -1
  116. package/dest/logs/pre_tag.js +2 -2
  117. package/dest/logs/private_log.d.ts +2 -2
  118. package/dest/logs/private_log.d.ts.map +1 -1
  119. package/dest/logs/siloed_tag.d.ts +5 -3
  120. package/dest/logs/siloed_tag.d.ts.map +1 -1
  121. package/dest/logs/siloed_tag.js +6 -1
  122. package/dest/logs/tag.js +1 -1
  123. package/dest/p2p/attestation_utils.d.ts +11 -1
  124. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  125. package/dest/p2p/attestation_utils.js +45 -0
  126. package/dest/p2p/block_proposal.d.ts +2 -2
  127. package/dest/p2p/block_proposal.d.ts.map +1 -1
  128. package/dest/p2p/block_proposal.js +2 -4
  129. package/dest/p2p/checkpoint_proposal.d.ts +2 -2
  130. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  131. package/dest/p2p/checkpoint_proposal.js +1 -1
  132. package/dest/p2p/client_type.d.ts +2 -5
  133. package/dest/p2p/client_type.d.ts.map +1 -1
  134. package/dest/p2p/client_type.js +0 -7
  135. package/dest/p2p/index.d.ts +1 -2
  136. package/dest/p2p/index.d.ts.map +1 -1
  137. package/dest/p2p/index.js +0 -1
  138. package/dest/p2p/topic_type.d.ts +3 -4
  139. package/dest/p2p/topic_type.d.ts.map +1 -1
  140. package/dest/p2p/topic_type.js +7 -24
  141. package/dest/rollup/checkpoint_header.d.ts +2 -2
  142. package/dest/rollup/checkpoint_header.js +2 -2
  143. package/dest/tests/factories.d.ts +3 -1
  144. package/dest/tests/factories.d.ts.map +1 -1
  145. package/dest/tests/factories.js +18 -10
  146. package/dest/tests/mocks.d.ts +2 -2
  147. package/dest/tests/mocks.d.ts.map +1 -1
  148. package/dest/tests/mocks.js +5 -5
  149. package/dest/tx/block_header.js +2 -2
  150. package/dest/tx/global_variables.d.ts +4 -4
  151. package/dest/tx/global_variables.d.ts.map +1 -1
  152. package/dest/tx/profiling.d.ts +4 -4
  153. package/dest/tx/profiling.d.ts.map +1 -1
  154. package/dest/tx/profiling.js +3 -3
  155. package/dest/tx/protocol_contracts.d.ts +1 -1
  156. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  157. package/dest/tx/protocol_contracts.js +2 -2
  158. package/dest/tx/public_simulation_output.d.ts +4 -2
  159. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  160. package/dest/tx/public_simulation_output.js +7 -3
  161. package/dest/tx/tx_receipt.d.ts +16 -2
  162. package/dest/tx/tx_receipt.d.ts.map +1 -1
  163. package/dest/tx/tx_receipt.js +11 -3
  164. package/dest/tx/tx_request.js +2 -2
  165. package/package.json +10 -10
  166. package/src/abi/decoder.ts +1 -4
  167. package/src/abi/encoder.ts +8 -5
  168. package/src/auth_witness/auth_witness.ts +3 -3
  169. package/src/avm/revert_code.ts +15 -0
  170. package/src/block/block_data.ts +26 -0
  171. package/src/block/index.ts +1 -0
  172. package/src/block/l2_block_source.ts +22 -0
  173. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  174. package/src/checkpoint/checkpoint.ts +5 -3
  175. package/src/checkpoint/checkpoint_data.ts +51 -0
  176. package/src/checkpoint/index.ts +1 -0
  177. package/src/checkpoint/published_checkpoint.ts +3 -1
  178. package/src/config/sequencer-config.ts +11 -1
  179. package/src/contract/contract_address.ts +4 -4
  180. package/src/contract/contract_class.ts +3 -3
  181. package/src/contract/contract_class_id.ts +3 -3
  182. package/src/contract/private_function.ts +2 -2
  183. package/src/file-store/local.ts +15 -5
  184. package/src/file-store/s3.ts +12 -3
  185. package/src/ha-signing/config.ts +149 -0
  186. package/src/ha-signing/index.ts +18 -0
  187. package/src/ha-signing/types.ts +112 -0
  188. package/src/hash/hash.ts +11 -11
  189. package/src/hash/map_slot.ts +2 -2
  190. package/src/interfaces/archiver.ts +5 -0
  191. package/src/interfaces/aztec-node-admin.ts +23 -0
  192. package/src/interfaces/configs.ts +12 -1
  193. package/src/interfaces/merkle_tree_operations.ts +1 -1
  194. package/src/interfaces/p2p.ts +2 -13
  195. package/src/interfaces/validator.ts +1 -1
  196. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  197. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  198. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  199. package/src/kernel/hints/index.ts +2 -2
  200. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  201. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  202. package/src/kernel/private_circuit_public_inputs.ts +10 -10
  203. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
  204. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  205. package/src/kernel/private_validation_requests.ts +8 -8
  206. package/src/keys/derivation.ts +8 -8
  207. package/src/keys/key_types.ts +6 -2
  208. package/src/keys/public_keys.ts +2 -2
  209. package/src/keys/utils.ts +5 -5
  210. package/src/logs/debug_log_store.ts +54 -0
  211. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  212. package/src/logs/index.ts +2 -1
  213. package/src/logs/pre_tag.ts +5 -5
  214. package/src/logs/siloed_tag.ts +8 -2
  215. package/src/logs/tag.ts +1 -1
  216. package/src/p2p/attestation_utils.ts +56 -0
  217. package/src/p2p/block_proposal.ts +1 -3
  218. package/src/p2p/checkpoint_proposal.ts +1 -1
  219. package/src/p2p/client_type.ts +0 -6
  220. package/src/p2p/index.ts +0 -1
  221. package/src/p2p/topic_type.ts +8 -15
  222. package/src/rollup/checkpoint_header.ts +2 -2
  223. package/src/tests/factories.ts +20 -11
  224. package/src/tests/mocks.ts +7 -3
  225. package/src/tx/block_header.ts +2 -2
  226. package/src/tx/global_variables.ts +3 -3
  227. package/src/tx/profiling.ts +5 -5
  228. package/src/tx/protocol_contracts.ts +2 -2
  229. package/src/tx/public_simulation_output.ts +4 -0
  230. package/src/tx/tx_receipt.ts +10 -0
  231. package/src/tx/tx_request.ts +2 -2
  232. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  233. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  234. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  235. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
@@ -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
  }
@@ -1,19 +1,19 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
3
3
  import { AztecAddress } from '../../aztec-address/index.js';
4
- import { KeyValidationRequestAndGenerator } from './key_validation_request_and_generator.js';
4
+ import { KeyValidationRequestAndSeparator } from './key_validation_request_and_separator.js';
5
5
  /**
6
6
  * Request for validating keys used in the app.
7
7
  */
8
- export declare class ScopedKeyValidationRequestAndGenerator {
9
- readonly request: KeyValidationRequestAndGenerator;
8
+ export declare class ScopedKeyValidationRequestAndSeparator {
9
+ readonly request: KeyValidationRequestAndSeparator;
10
10
  readonly contractAddress: AztecAddress;
11
- constructor(request: KeyValidationRequestAndGenerator, contractAddress: AztecAddress);
11
+ constructor(request: KeyValidationRequestAndSeparator, contractAddress: AztecAddress);
12
12
  toBuffer(): Buffer<ArrayBufferLike>;
13
- static fromBuffer(buffer: Buffer | BufferReader): ScopedKeyValidationRequestAndGenerator;
13
+ static fromBuffer(buffer: Buffer | BufferReader): ScopedKeyValidationRequestAndSeparator;
14
14
  toFields(): Fr[];
15
- static fromFields(fields: Fr[] | FieldReader): ScopedKeyValidationRequestAndGenerator;
15
+ static fromFields(fields: Fr[] | FieldReader): ScopedKeyValidationRequestAndSeparator;
16
16
  isEmpty(): boolean;
17
- static empty(): ScopedKeyValidationRequestAndGenerator;
17
+ static empty(): ScopedKeyValidationRequestAndSeparator;
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVkX2tleV92YWxpZGF0aW9uX3JlcXVlc3RfYW5kX2dlbmVyYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9zY29wZWRfa2V5X3ZhbGlkYXRpb25fcmVxdWVzdF9hbmRfZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3Rjs7R0FFRztBQUNILHFCQUFhLHNDQUFzQzthQUUvQixPQUFPLEVBQUUsZ0NBQWdDO2FBQ3pDLGVBQWUsRUFBRSxZQUFZO0lBRi9DLFlBQ2tCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFDekMsZUFBZSxFQUFFLFlBQVksRUFDM0M7SUFFSixRQUFRLDRCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksMENBTTlDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLHNDQUFzQyxDQU1wRjtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxLQUFLLDJDQUVYO0NBQ0YifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVkX2tleV92YWxpZGF0aW9uX3JlcXVlc3RfYW5kX3NlcGFyYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9zY29wZWRfa2V5X3ZhbGlkYXRpb25fcmVxdWVzdF9hbmRfc2VwYXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3Rjs7R0FFRztBQUNILHFCQUFhLHNDQUFzQzthQUUvQixPQUFPLEVBQUUsZ0NBQWdDO2FBQ3pDLGVBQWUsRUFBRSxZQUFZO0lBRi9DLFlBQ2tCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFDekMsZUFBZSxFQUFFLFlBQVksRUFDM0M7SUFFSixRQUFRLDRCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksMENBTTlDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLHNDQUFzQyxDQU1wRjtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxLQUFLLDJDQUVYO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"scoped_key_validation_request_and_generator.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/scoped_key_validation_request_and_generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAE7F;;GAEG;AACH,qBAAa,sCAAsC;aAE/B,OAAO,EAAE,gCAAgC;aACzC,eAAe,EAAE,YAAY;IAF/C,YACkB,OAAO,EAAE,gCAAgC,EACzC,eAAe,EAAE,YAAY,EAC3C;IAEJ,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,0CAM9C;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,sCAAsC,CAMpF;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,2CAEX;CACF"}
1
+ {"version":3,"file":"scoped_key_validation_request_and_separator.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/scoped_key_validation_request_and_separator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAE7F;;GAEG;AACH,qBAAa,sCAAsC;aAE/B,OAAO,EAAE,gCAAgC;aACzC,eAAe,EAAE,YAAY;IAF/C,YACkB,OAAO,EAAE,gCAAgC,EACzC,eAAe,EAAE,YAAY,EAC3C;IAEJ,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,0CAM9C;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,sCAAsC,CAMpF;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,2CAEX;CACF"}
@@ -1,10 +1,10 @@
1
1
  import { SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import { AztecAddress } from '../../aztec-address/index.js';
4
- import { KeyValidationRequestAndGenerator } from './key_validation_request_and_generator.js';
4
+ import { KeyValidationRequestAndSeparator } from './key_validation_request_and_separator.js';
5
5
  /**
6
6
  * Request for validating keys used in the app.
7
- */ export class ScopedKeyValidationRequestAndGenerator {
7
+ */ export class ScopedKeyValidationRequestAndSeparator {
8
8
  request;
9
9
  contractAddress;
10
10
  constructor(request, contractAddress){
@@ -16,7 +16,7 @@ import { KeyValidationRequestAndGenerator } from './key_validation_request_and_g
16
16
  }
17
17
  static fromBuffer(buffer) {
18
18
  const reader = BufferReader.asReader(buffer);
19
- return new ScopedKeyValidationRequestAndGenerator(KeyValidationRequestAndGenerator.fromBuffer(reader), AztecAddress.fromBuffer(reader));
19
+ return new ScopedKeyValidationRequestAndSeparator(KeyValidationRequestAndSeparator.fromBuffer(reader), AztecAddress.fromBuffer(reader));
20
20
  }
21
21
  toFields() {
22
22
  const fields = [
@@ -24,18 +24,18 @@ import { KeyValidationRequestAndGenerator } from './key_validation_request_and_g
24
24
  this.contractAddress.toField()
25
25
  ];
26
26
  if (fields.length !== SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH) {
27
- throw new Error(`Invalid number of fields for ScopedKeyValidationRequestAndGenerator. Expected ${SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`);
27
+ throw new Error(`Invalid number of fields for ScopedKeyValidationRequestAndSeparator. Expected ${SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`);
28
28
  }
29
29
  return fields;
30
30
  }
31
31
  static fromFields(fields) {
32
32
  const reader = FieldReader.asReader(fields);
33
- return new ScopedKeyValidationRequestAndGenerator(KeyValidationRequestAndGenerator.fromFields(reader), AztecAddress.fromFields(reader));
33
+ return new ScopedKeyValidationRequestAndSeparator(KeyValidationRequestAndSeparator.fromFields(reader), AztecAddress.fromFields(reader));
34
34
  }
35
35
  isEmpty() {
36
36
  return this.request.isEmpty() && this.contractAddress.isZero();
37
37
  }
38
38
  static empty() {
39
- return new ScopedKeyValidationRequestAndGenerator(KeyValidationRequestAndGenerator.empty(), AztecAddress.ZERO);
39
+ return new ScopedKeyValidationRequestAndSeparator(KeyValidationRequestAndSeparator.empty(), AztecAddress.ZERO);
40
40
  }
41
41
  }
@@ -2,7 +2,7 @@ import { MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL, MAX_KEY_
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
- import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js';
5
+ import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js';
6
6
  import { CountedLogHash } from '../kernel/log_hash.js';
7
7
  import { PrivateCallRequest } from '../kernel/private_call_request.js';
8
8
  import { PrivateLogData } from '../kernel/private_log_data.js';
@@ -81,9 +81,9 @@ export declare class PrivateCircuitPublicInputs {
81
81
  */
82
82
  nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_CALL>;
83
83
  /**
84
- * Key validation requests and generators created by the corresponding function call.
84
+ * Key validation requests and separators created by the corresponding function call.
85
85
  */
86
- keyValidationRequestsAndGenerators: ClaimedLengthArray<KeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL>;
86
+ keyValidationRequestsAndSeparators: ClaimedLengthArray<KeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL>;
87
87
  /**
88
88
  * Private call requests made within the current kernel iteration.
89
89
  */
@@ -178,9 +178,9 @@ export declare class PrivateCircuitPublicInputs {
178
178
  */
179
179
  nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,
180
180
  /**
181
- * Key validation requests and generators created by the corresponding function call.
181
+ * Key validation requests and separators created by the corresponding function call.
182
182
  */
183
- keyValidationRequestsAndGenerators: ClaimedLengthArray<KeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,
183
+ keyValidationRequestsAndSeparators: ClaimedLengthArray<KeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,
184
184
  /**
185
185
  * Private call requests made within the current kernel iteration.
186
186
  */
@@ -237,7 +237,7 @@ export declare class PrivateCircuitPublicInputs {
237
237
  * @param fields - Object with fields.
238
238
  * @returns The array.
239
239
  */
240
- static getFields(fields: FieldsOf<PrivateCircuitPublicInputs>): readonly [CallContext, Fr, Fr, BlockHeader, TxContext, Fr, boolean, bigint, Fr, Fr, Fr, Fr, ClaimedLengthArray<ScopedReadRequest, 16>, ClaimedLengthArray<ScopedReadRequest, 16>, ClaimedLengthArray<KeyValidationRequestAndGenerator, 16>, ClaimedLengthArray<PrivateCallRequest, 8>, ClaimedLengthArray<CountedPublicCallRequest, 32>, PublicCallRequest, ClaimedLengthArray<NoteHash, 16>, ClaimedLengthArray<Nullifier, 16>, ClaimedLengthArray<CountedL2ToL1Message, 8>, ClaimedLengthArray<PrivateLogData, 16>, ClaimedLengthArray<CountedLogHash, 1>];
240
+ static getFields(fields: FieldsOf<PrivateCircuitPublicInputs>): readonly [CallContext, Fr, Fr, BlockHeader, TxContext, Fr, boolean, bigint, Fr, Fr, Fr, Fr, ClaimedLengthArray<ScopedReadRequest, 16>, ClaimedLengthArray<ScopedReadRequest, 16>, ClaimedLengthArray<KeyValidationRequestAndSeparator, 16>, ClaimedLengthArray<PrivateCallRequest, 8>, ClaimedLengthArray<CountedPublicCallRequest, 32>, PublicCallRequest, ClaimedLengthArray<NoteHash, 16>, ClaimedLengthArray<Nullifier, 16>, ClaimedLengthArray<CountedL2ToL1Message, 8>, ClaimedLengthArray<PrivateLogData, 16>, ClaimedLengthArray<CountedLogHash, 1>];
241
241
  /**
242
242
  * Serialize this as a buffer.
243
243
  * @returns The buffer.
@@ -2,7 +2,7 @@ import { MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL, MAX_KEY_
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, FieldReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
- import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js';
5
+ import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js';
6
6
  import { CountedLogHash } from '../kernel/log_hash.js';
7
7
  import { PrivateCallRequest } from '../kernel/private_call_request.js';
8
8
  import { PrivateLogData } from '../kernel/private_log_data.js';
@@ -32,7 +32,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
32
32
  expectedRevertibleSideEffectCounter;
33
33
  noteHashReadRequests;
34
34
  nullifierReadRequests;
35
- keyValidationRequestsAndGenerators;
35
+ keyValidationRequestsAndSeparators;
36
36
  privateCallRequests;
37
37
  publicCallRequests;
38
38
  publicTeardownCallRequest;
@@ -74,8 +74,8 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
74
74
  */ noteHashReadRequests, /**
75
75
  * Nullifier read requests created by the corresponding function call.
76
76
  */ nullifierReadRequests, /**
77
- * Key validation requests and generators created by the corresponding function call.
78
- */ keyValidationRequestsAndGenerators, /**
77
+ * Key validation requests and separators created by the corresponding function call.
78
+ */ keyValidationRequestsAndSeparators, /**
79
79
  * Private call requests made within the current kernel iteration.
80
80
  */ privateCallRequests, /**
81
81
  * Public call stack at the current kernel iteration.
@@ -106,7 +106,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
106
106
  this.expectedRevertibleSideEffectCounter = expectedRevertibleSideEffectCounter;
107
107
  this.noteHashReadRequests = noteHashReadRequests;
108
108
  this.nullifierReadRequests = nullifierReadRequests;
109
- this.keyValidationRequestsAndGenerators = keyValidationRequestsAndGenerators;
109
+ this.keyValidationRequestsAndSeparators = keyValidationRequestsAndSeparators;
110
110
  this.privateCallRequests = privateCallRequests;
111
111
  this.publicCallRequests = publicCallRequests;
112
112
  this.publicTeardownCallRequest = publicTeardownCallRequest;
@@ -129,20 +129,20 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
129
129
  * @returns The deserialized instance.
130
130
  */ static fromBuffer(buffer) {
131
131
  const reader = BufferReader.asReader(buffer);
132
- return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readObject(Fr), reader.readBoolean(), reader.readUInt64(), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
132
+ return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readObject(Fr), reader.readBoolean(), reader.readUInt64(), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
133
133
  }
134
134
  static fromFields(fields) {
135
135
  const reader = FieldReader.asReader(fields);
136
- return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readField(), reader.readField(), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readField(), reader.readBoolean(), reader.readU64(), reader.readField(), reader.readField(), reader.readField(), reader.readField(), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
136
+ return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readField(), reader.readField(), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readField(), reader.readBoolean(), reader.readU64(), reader.readField(), reader.readField(), reader.readField(), reader.readField(), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
137
137
  }
138
138
  /**
139
139
  * Create an empty PrivateCircuitPublicInputs.
140
140
  * @returns An empty PrivateCircuitPublicInputs object.
141
141
  */ static empty() {
142
- return new PrivateCircuitPublicInputs(CallContext.empty(), Fr.ZERO, Fr.ZERO, BlockHeader.empty(), TxContext.empty(), Fr.ZERO, false, 0n, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL), ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL), PublicCallRequest.empty(), ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL), ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL), ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL), ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL), ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL));
142
+ return new PrivateCircuitPublicInputs(CallContext.empty(), Fr.ZERO, Fr.ZERO, BlockHeader.empty(), TxContext.empty(), Fr.ZERO, false, 0n, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL), ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL), PublicCallRequest.empty(), ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL), ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL), ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL), ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL), ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL));
143
143
  }
144
144
  isEmpty() {
145
- return this.callContext.isEmpty() && this.argsHash.isZero() && this.returnsHash.isZero() && this.anchorBlockHeader.isEmpty() && this.txContext.isEmpty() && this.minRevertibleSideEffectCounter.isZero() && !this.isFeePayer && !this.expirationTimestamp && this.startSideEffectCounter.isZero() && this.endSideEffectCounter.isZero() && this.expectedNonRevertibleSideEffectCounter.isZero() && this.expectedRevertibleSideEffectCounter.isZero() && this.noteHashReadRequests.isEmpty() && this.nullifierReadRequests.isEmpty() && this.keyValidationRequestsAndGenerators.isEmpty() && this.privateCallRequests.isEmpty() && this.publicCallRequests.isEmpty() && this.publicTeardownCallRequest.isEmpty() && this.noteHashes.isEmpty() && this.nullifiers.isEmpty() && this.l2ToL1Msgs.isEmpty() && this.privateLogs.isEmpty() && this.contractClassLogsHashes.isEmpty();
145
+ return this.callContext.isEmpty() && this.argsHash.isZero() && this.returnsHash.isZero() && this.anchorBlockHeader.isEmpty() && this.txContext.isEmpty() && this.minRevertibleSideEffectCounter.isZero() && !this.isFeePayer && !this.expirationTimestamp && this.startSideEffectCounter.isZero() && this.endSideEffectCounter.isZero() && this.expectedNonRevertibleSideEffectCounter.isZero() && this.expectedRevertibleSideEffectCounter.isZero() && this.noteHashReadRequests.isEmpty() && this.nullifierReadRequests.isEmpty() && this.keyValidationRequestsAndSeparators.isEmpty() && this.privateCallRequests.isEmpty() && this.publicCallRequests.isEmpty() && this.publicTeardownCallRequest.isEmpty() && this.noteHashes.isEmpty() && this.nullifiers.isEmpty() && this.l2ToL1Msgs.isEmpty() && this.privateLogs.isEmpty() && this.contractClassLogsHashes.isEmpty();
146
146
  }
147
147
  /**
148
148
  * Serialize into a field array. Low-level utility.
@@ -164,7 +164,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
164
164
  fields.expectedRevertibleSideEffectCounter,
165
165
  fields.noteHashReadRequests,
166
166
  fields.nullifierReadRequests,
167
- fields.keyValidationRequestsAndGenerators,
167
+ fields.keyValidationRequestsAndSeparators,
168
168
  fields.privateCallRequests,
169
169
  fields.publicCallRequests,
170
170
  fields.publicTeardownCallRequest,
@@ -196,7 +196,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
196
196
  this.expectedRevertibleSideEffectCounter,
197
197
  this.noteHashReadRequests,
198
198
  this.nullifierReadRequests,
199
- this.keyValidationRequestsAndGenerators,
199
+ this.keyValidationRequestsAndSeparators,
200
200
  this.privateCallRequests,
201
201
  this.publicCallRequests,
202
202
  this.publicTeardownCallRequest,
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
1
+ import { DomainSeparator, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
@@ -60,7 +60,7 @@ export class PrivateToPublicKernelCircuitPublicInputs {
60
60
  return fields;
61
61
  }
62
62
  hash() {
63
- return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PUBLIC_TX_HASH);
63
+ return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PUBLIC_TX_HASH);
64
64
  }
65
65
  toJSON() {
66
66
  return this.toBuffer();
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
1
+ import { DomainSeparator, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
@@ -79,6 +79,6 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
79
79
  return fields;
80
80
  }
81
81
  hash() {
82
- return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PRIVATE_TX_HASH);
82
+ return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PRIVATE_TX_HASH);
83
83
  }
84
84
  }
@@ -1,7 +1,7 @@
1
1
  import { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import { inspect } from 'util';
4
- import { ScopedKeyValidationRequestAndGenerator } from '../kernel/hints/scoped_key_validation_request_and_generator.js';
4
+ import { ScopedKeyValidationRequestAndSeparator } from '../kernel/hints/scoped_key_validation_request_and_separator.js';
5
5
  import { ClaimedLengthArray } from './claimed_length_array.js';
6
6
  import { ScopedReadRequest } from './hints/read_request.js';
7
7
  /**
@@ -19,7 +19,7 @@ export declare class PrivateValidationRequests {
19
19
  /**
20
20
  * All the key validation requests made in this transaction.
21
21
  */
22
- scopedKeyValidationRequestsAndGenerators: ClaimedLengthArray<ScopedKeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>;
22
+ scopedKeyValidationRequestsAndSeparators: ClaimedLengthArray<ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>;
23
23
  constructor(
24
24
  /**
25
25
  * All the read requests made in this transaction.
@@ -32,7 +32,7 @@ export declare class PrivateValidationRequests {
32
32
  /**
33
33
  * All the key validation requests made in this transaction.
34
34
  */
35
- scopedKeyValidationRequestsAndGenerators: ClaimedLengthArray<ScopedKeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>);
35
+ scopedKeyValidationRequestsAndSeparators: ClaimedLengthArray<ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>);
36
36
  getSize(): number;
37
37
  toBuffer(): Buffer<ArrayBufferLike>;
38
38
  toString(): `0x${string}`;