@aztec/pxe 0.23.0 → 0.26.1

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 (76) hide show
  1. package/dest/config/index.js +2 -2
  2. package/dest/database/deferred_note_dao.d.ts +8 -4
  3. package/dest/database/deferred_note_dao.d.ts.map +1 -1
  4. package/dest/database/deferred_note_dao.js +9 -6
  5. package/dest/database/note_dao.d.ts +4 -0
  6. package/dest/database/note_dao.d.ts.map +1 -1
  7. package/dest/database/note_dao.js +7 -2
  8. package/dest/database/pxe_database_test_suite.js +5 -5
  9. package/dest/kernel_oracle/index.d.ts +1 -0
  10. package/dest/kernel_oracle/index.d.ts.map +1 -1
  11. package/dest/kernel_oracle/index.js +4 -1
  12. package/dest/kernel_prover/hints_builder.d.ts +36 -0
  13. package/dest/kernel_prover/hints_builder.d.ts.map +1 -0
  14. package/dest/kernel_prover/hints_builder.js +115 -0
  15. package/dest/kernel_prover/kernel_prover.d.ts +2 -24
  16. package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
  17. package/dest/kernel_prover/kernel_prover.js +32 -103
  18. package/dest/kernel_prover/proof_creator.d.ts +11 -11
  19. package/dest/kernel_prover/proof_creator.d.ts.map +1 -1
  20. package/dest/kernel_prover/proof_creator.js +6 -6
  21. package/dest/kernel_prover/proving_data_oracle.d.ts +2 -0
  22. package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
  23. package/dest/note_processor/note_processor.d.ts.map +1 -1
  24. package/dest/note_processor/note_processor.js +15 -14
  25. package/dest/note_processor/produce_note_dao.d.ts +2 -2
  26. package/dest/note_processor/produce_note_dao.d.ts.map +1 -1
  27. package/dest/note_processor/produce_note_dao.js +8 -8
  28. package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
  29. package/dest/pxe_http/pxe_http_server.js +7 -6
  30. package/dest/pxe_service/create_pxe_service.d.ts.map +1 -1
  31. package/dest/pxe_service/create_pxe_service.js +5 -1
  32. package/dest/pxe_service/pxe_service.d.ts +5 -3
  33. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  34. package/dest/pxe_service/pxe_service.js +51 -44
  35. package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
  36. package/dest/pxe_service/test/pxe_test_suite.js +3 -3
  37. package/dest/simulator_oracle/index.d.ts +7 -4
  38. package/dest/simulator_oracle/index.d.ts.map +1 -1
  39. package/dest/simulator_oracle/index.js +17 -8
  40. package/dest/synchronizer/synchronizer.d.ts.map +1 -1
  41. package/dest/synchronizer/synchronizer.js +14 -42
  42. package/package.json +14 -13
  43. package/src/bin/index.ts +42 -0
  44. package/src/config/index.ts +40 -0
  45. package/src/contract_data_oracle/index.ts +185 -0
  46. package/src/contract_data_oracle/private_functions_tree.ts +127 -0
  47. package/src/contract_database/index.ts +1 -0
  48. package/src/contract_database/memory_contract_database.ts +58 -0
  49. package/src/database/contracts/contract_artifact_db.ts +19 -0
  50. package/src/database/contracts/contract_instance_db.ts +18 -0
  51. package/src/database/deferred_note_dao.ts +55 -0
  52. package/src/database/index.ts +1 -0
  53. package/src/database/kv_pxe_database.ts +409 -0
  54. package/src/database/note_dao.ts +97 -0
  55. package/src/database/pxe_database.ts +162 -0
  56. package/src/database/pxe_database_test_suite.ts +258 -0
  57. package/src/index.ts +11 -0
  58. package/src/kernel_oracle/index.ts +65 -0
  59. package/src/kernel_prover/hints_builder.ts +170 -0
  60. package/src/kernel_prover/index.ts +2 -0
  61. package/src/kernel_prover/kernel_prover.ts +309 -0
  62. package/src/kernel_prover/proof_creator.ts +157 -0
  63. package/src/kernel_prover/proving_data_oracle.ts +79 -0
  64. package/src/note_processor/index.ts +1 -0
  65. package/src/note_processor/note_processor.ts +275 -0
  66. package/src/note_processor/produce_note_dao.ts +132 -0
  67. package/src/pxe_http/index.ts +1 -0
  68. package/src/pxe_http/pxe_http_server.ts +75 -0
  69. package/src/pxe_service/create_pxe_service.ts +53 -0
  70. package/src/pxe_service/index.ts +3 -0
  71. package/src/pxe_service/pxe_service.ts +769 -0
  72. package/src/pxe_service/test/pxe_test_suite.ts +140 -0
  73. package/src/simulator/index.ts +24 -0
  74. package/src/simulator_oracle/index.ts +222 -0
  75. package/src/synchronizer/index.ts +1 -0
  76. package/src/synchronizer/synchronizer.ts +385 -0
@@ -1,8 +1,10 @@
1
- import { CallRequest, Fr, GrumpkinScalar, MAX_NEW_NULLIFIERS_PER_TX, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_READ_REQUESTS_PER_CALL, MAX_READ_REQUESTS_PER_TX, PreviousKernelData, PrivateCallData, PrivateKernelInputsInit, PrivateKernelInputsInner, PrivateKernelInputsOrdering, PrivateKernelPublicInputs, ReadRequestMembershipWitness, VK_TREE_HEIGHT, VerificationKey, makeEmptyProof, } from '@aztec/circuits.js';
1
+ import { CallRequest, Fr, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, NoteHashReadRequestMembershipWitness, PrivateCallData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelInnerCircuitPublicInputs, PrivateKernelInnerData, PrivateKernelTailCircuitPrivateInputs, VK_TREE_HEIGHT, VerificationKey, makeEmptyProof, } from '@aztec/circuits.js';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { padArrayEnd } from '@aztec/foundation/collection';
4
+ import { createDebugLogger } from '@aztec/foundation/log';
4
5
  import { assertLength, mapTuple } from '@aztec/foundation/serialize';
5
6
  import { pushTestData } from '@aztec/foundation/testing';
7
+ import { HintsBuilder } from './hints_builder.js';
6
8
  import { KernelProofCreator } from './proof_creator.js';
7
9
  /**
8
10
  * The KernelProver class is responsible for generating kernel proofs.
@@ -14,6 +16,8 @@ export class KernelProver {
14
16
  constructor(oracle, proofCreator = new KernelProofCreator()) {
15
17
  this.oracle = oracle;
16
18
  this.proofCreator = proofCreator;
19
+ this.log = createDebugLogger('aztec:kernel-prover');
20
+ this.hintsBuilder = new HintsBuilder(oracle);
17
21
  }
18
22
  /**
19
23
  * Generate a proof for a given transaction request and execution result.
@@ -31,18 +35,18 @@ export class KernelProver {
31
35
  let firstIteration = true;
32
36
  let previousVerificationKey = VerificationKey.makeFake();
33
37
  let output = {
34
- publicInputs: PrivateKernelPublicInputs.empty(),
38
+ publicInputs: PrivateKernelInnerCircuitPublicInputs.empty(),
35
39
  proof: makeEmptyProof(),
36
40
  };
37
41
  while (executionStack.length) {
38
42
  const currentExecution = executionStack.pop();
39
43
  executionStack.push(...currentExecution.nestedExecutions);
40
- const privateCallRequests = currentExecution.nestedExecutions.map(result => result.callStackItem.toCallRequest());
44
+ const privateCallRequests = currentExecution.nestedExecutions.map(result => result.callStackItem.toCallRequest(currentExecution.callStackItem.publicInputs.callContext));
41
45
  const publicCallRequests = currentExecution.enqueuedPublicFunctionCalls.map(result => result.toCallRequest());
42
46
  // Start with the partially filled in read request witnesses from the simulator
43
47
  // and fill the non-transient ones in with sibling paths via oracle.
44
- const readRequestMembershipWitnesses = currentExecution.readRequestPartialWitnesses;
45
- for (let rr = 0; rr < readRequestMembershipWitnesses.length; rr++) {
48
+ const noteHashReadRequestMembershipWitnesses = currentExecution.noteHashReadRequestPartialWitnesses;
49
+ for (let rr = 0; rr < noteHashReadRequestMembershipWitnesses.length; rr++) {
46
50
  // Pretty sure this check was forever broken. I made some changes to Fr and this started triggering.
47
51
  // The conditional makes no sense to me anyway.
48
52
  // if (currentExecution.callStackItem.publicInputs.readRequests[rr] == Fr.ZERO) {
@@ -50,7 +54,7 @@ export class KernelProver {
50
54
  // 'Number of read requests output from Noir circuit does not match number of read request commitment indices output from simulator.',
51
55
  // );
52
56
  // }
53
- const rrWitness = readRequestMembershipWitnesses[rr];
57
+ const rrWitness = noteHashReadRequestMembershipWitnesses[rr];
54
58
  if (!rrWitness.isTransient) {
55
59
  // Non-transient reads must contain full membership witness with sibling path from commitment to root.
56
60
  // Get regular membership witness to fill in sibling path in the read request witness.
@@ -59,19 +63,19 @@ export class KernelProver {
59
63
  }
60
64
  }
61
65
  // fill in witnesses for remaining/empty read requests
62
- readRequestMembershipWitnesses.push(...Array(MAX_READ_REQUESTS_PER_CALL - readRequestMembershipWitnesses.length)
66
+ noteHashReadRequestMembershipWitnesses.push(...Array(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL - noteHashReadRequestMembershipWitnesses.length)
63
67
  .fill(0)
64
- .map(() => ReadRequestMembershipWitness.empty(BigInt(0))));
65
- const privateCallData = await this.createPrivateCallData(currentExecution, privateCallRequests, publicCallRequests, readRequestMembershipWitnesses);
68
+ .map(() => NoteHashReadRequestMembershipWitness.empty(BigInt(0))));
69
+ const privateCallData = await this.createPrivateCallData(currentExecution, privateCallRequests, publicCallRequests, noteHashReadRequestMembershipWitnesses);
66
70
  if (firstIteration) {
67
- const proofInput = new PrivateKernelInputsInit(txRequest, privateCallData);
71
+ const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, privateCallData);
68
72
  pushTestData('private-kernel-inputs-init', proofInput);
69
73
  output = await this.proofCreator.createProofInit(proofInput);
70
74
  }
71
75
  else {
72
76
  const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
73
- const previousKernelData = new PreviousKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
74
- const proofInput = new PrivateKernelInputsInner(previousKernelData, privateCallData);
77
+ const previousKernelData = new PrivateKernelInnerData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
78
+ const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
75
79
  pushTestData('private-kernel-inputs-inner', proofInput);
76
80
  output = await this.proofCreator.createProofInner(proofInput);
77
81
  }
@@ -82,37 +86,23 @@ export class KernelProver {
82
86
  previousVerificationKey = privateCallData.vk;
83
87
  }
84
88
  const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
85
- const previousKernelData = new PreviousKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
86
- const [sortedCommitments, sortedCommitmentsIndexes] = this.sortSideEffects(output.publicInputs.end.newCommitments);
87
- const [sortedNullifiers, sortedNullifiersIndexes] = this.sortSideEffects(output.publicInputs.end.newNullifiers);
88
- const readCommitmentHints = this.getReadRequestHints(output.publicInputs.end.readRequests, sortedCommitments);
89
- const nullifierCommitmentHints = this.getNullifierHints(mapTuple(sortedNullifiers, n => n.noteHash), sortedCommitments);
90
- const masterNullifierSecretKeys = await this.getMasterNullifierSecretKeys(output.publicInputs.end.nullifierKeyValidationRequests);
91
- const privateInputs = new PrivateKernelInputsOrdering(previousKernelData, sortedCommitments, sortedCommitmentsIndexes, readCommitmentHints, sortedNullifiers, sortedNullifiersIndexes, nullifierCommitmentHints, masterNullifierSecretKeys);
89
+ const previousKernelData = new PrivateKernelInnerData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
90
+ const [sortedNoteHashes, sortedNoteHashesIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNoteHashes);
91
+ const [sortedNullifiers, sortedNullifiersIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNullifiers);
92
+ const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(output.publicInputs.end.noteHashReadRequests, sortedNoteHashes);
93
+ const nullifierReadRequestResetHints = await this.hintsBuilder.getNullifierReadRequestResetHints(output.publicInputs.end.nullifierReadRequests, output.publicInputs.end.newNullifiers);
94
+ const nullifierNoteHashHints = this.hintsBuilder.getNullifierHints(mapTuple(sortedNullifiers, n => n.noteHash), sortedNoteHashes);
95
+ const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(output.publicInputs.end.nullifierKeyValidationRequests);
96
+ this.log.debug(`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`);
97
+ const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData, sortedNoteHashes, sortedNoteHashesIndexes, readNoteHashHints, sortedNullifiers, sortedNullifiersIndexes, nullifierReadRequestResetHints, nullifierNoteHashHints, masterNullifierSecretKeys);
92
98
  pushTestData('private-kernel-inputs-ordering', privateInputs);
93
- const outputFinal = await this.proofCreator.createProofOrdering(privateInputs);
99
+ const outputFinal = await this.proofCreator.createProofTail(privateInputs);
94
100
  // Only return the notes whose commitment is in the commitments of the final proof.
95
- const finalNewCommitments = outputFinal.publicInputs.end.newCommitments;
101
+ const finalNewCommitments = outputFinal.publicInputs.end.newNoteHashes;
96
102
  const outputNotes = finalNewCommitments.map(c => newNotes[c.value.toString()]).filter(c => !!c);
97
103
  return { ...outputFinal, outputNotes };
98
104
  }
99
- sortSideEffects(sideEffects) {
100
- const sorted = sideEffects
101
- .map((sideEffect, index) => ({ sideEffect, index }))
102
- .sort((a, b) => {
103
- // Empty ones go to the right
104
- if (a.sideEffect.isEmpty()) {
105
- return 1;
106
- }
107
- return Number(a.sideEffect.counter.toBigInt() - b.sideEffect.counter.toBigInt());
108
- });
109
- const originalToSorted = sorted.map(() => 0);
110
- sorted.forEach(({ index }, i) => {
111
- originalToSorted[index] = i;
112
- });
113
- return [sorted.map(({ sideEffect }) => sideEffect), originalToSorted];
114
- }
115
- async createPrivateCallData({ callStackItem, vk }, privateCallRequests, publicCallRequests, readRequestMembershipWitnesses) {
105
+ async createPrivateCallData({ callStackItem, vk }, privateCallRequests, publicCallRequests, noteHashReadRequestMembershipWitnesses) {
116
106
  const { contractAddress, functionData, publicInputs } = callStackItem;
117
107
  const { portalContractAddress } = publicInputs.callContext;
118
108
  // Pad with empty items to reach max/const length expected by circuit.
@@ -137,7 +127,7 @@ export class KernelProver {
137
127
  contractClassPublicBytecodeCommitment,
138
128
  saltedInitializationHash,
139
129
  functionLeafMembershipWitness,
140
- readRequestMembershipWitnesses: makeTuple(MAX_READ_REQUESTS_PER_CALL, i => readRequestMembershipWitnesses[i], 0),
130
+ noteHashReadRequestMembershipWitnesses: makeTuple(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, i => noteHashReadRequestMembershipWitnesses[i], 0),
141
131
  portalContractAddress: portalContractAddress.toField(),
142
132
  acirHash,
143
133
  });
@@ -155,73 +145,12 @@ export class KernelProver {
155
145
  const { callStackItem: { publicInputs }, newNotes, } = executionResult;
156
146
  const contractAddress = publicInputs.callContext.storageContractAddress;
157
147
  // Assuming that for each new commitment there's an output note added to the execution result.
158
- const newCommitments = await this.proofCreator.getSiloedCommitments(publicInputs);
148
+ const newNoteHashes = await this.proofCreator.getSiloedCommitments(publicInputs);
159
149
  return newNotes.map((data, i) => ({
160
150
  contractAddress,
161
151
  data,
162
- commitment: newCommitments[i],
152
+ commitment: newNoteHashes[i],
163
153
  }));
164
154
  }
165
- /**
166
- * Performs the matching between an array of read request and an array of commitments. This produces
167
- * hints for the private kernel ordering circuit to efficiently match a read request with the corresponding
168
- * commitment.
169
- *
170
- * @param readRequests - The array of read requests.
171
- * @param commitments - The array of commitments.
172
- * @returns An array of hints where each element is the index of the commitment in commitments array
173
- * corresponding to the read request. In other words we have readRequests[i] == commitments[hints[i]].
174
- */
175
- getReadRequestHints(readRequests, commitments) {
176
- const hints = makeTuple(MAX_READ_REQUESTS_PER_TX, Fr.zero);
177
- for (let i = 0; i < MAX_READ_REQUESTS_PER_TX && !readRequests[i].isEmpty(); i++) {
178
- const equalToRR = (cmt) => cmt.value.equals(readRequests[i].value);
179
- const result = commitments.findIndex(equalToRR);
180
- if (result == -1) {
181
- throw new Error(`The read request at index ${i} with value ${readRequests[i].toString()} does not match to any commitment.`);
182
- }
183
- else {
184
- hints[i] = new Fr(result);
185
- }
186
- }
187
- return hints;
188
- }
189
- /**
190
- * Performs the matching between an array of nullified commitments and an array of commitments. This produces
191
- * hints for the private kernel ordering circuit to efficiently match a nullifier with the corresponding
192
- * commitment.
193
- *
194
- * @param nullifiedCommitments - The array of nullified commitments.
195
- * @param commitments - The array of commitments.
196
- * @returns An array of hints where each element is the index of the commitment in commitments array
197
- * corresponding to the nullified commitments. In other words we have nullifiedCommitments[i] == commitments[hints[i]].
198
- */
199
- getNullifierHints(nullifiedCommitments, commitments) {
200
- const hints = makeTuple(MAX_NEW_NULLIFIERS_PER_TX, Fr.zero);
201
- for (let i = 0; i < MAX_NEW_NULLIFIERS_PER_TX; i++) {
202
- if (!nullifiedCommitments[i].isZero()) {
203
- const equalToCommitment = (cmt) => cmt.value.equals(nullifiedCommitments[i]);
204
- const result = commitments.findIndex(equalToCommitment);
205
- if (result == -1) {
206
- throw new Error(`The nullified commitment at index ${i} with value ${nullifiedCommitments[i].toString()} does not match to any commitment.`);
207
- }
208
- else {
209
- hints[i] = new Fr(result);
210
- }
211
- }
212
- }
213
- return hints;
214
- }
215
- async getMasterNullifierSecretKeys(nullifierKeyValidationRequests) {
216
- const keys = makeTuple(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX, GrumpkinScalar.zero);
217
- for (let i = 0; i < nullifierKeyValidationRequests.length; ++i) {
218
- const request = nullifierKeyValidationRequests[i];
219
- if (request.isEmpty()) {
220
- break;
221
- }
222
- keys[i] = await this.oracle.getMasterNullifierSecretKey(request.publicKey);
223
- }
224
- return keys;
225
- }
226
155
  }
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFdBQVcsRUFDWCxFQUFFLEVBQ0YsY0FBYyxFQUVkLHlCQUF5QixFQUN6Qiw0Q0FBNEMsRUFDNUMsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUNyQywwQkFBMEIsRUFDMUIsd0JBQXdCLEVBRXhCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUs1QixjQUFjLEVBQ2QsZUFBZSxFQUNmLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFTLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLGtCQUFrQixFQUErQyxNQUFNLG9CQUFvQixDQUFDO0FBa0NyRzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLE1BQXlCLEVBQVUsZUFBNkIsSUFBSSxrQkFBa0IsRUFBRTtRQUF4RixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUF5QztJQUFHLENBQUM7SUFFaEg7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFvQixFQUFFLGVBQWdDO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQWdELEVBQUUsQ0FBQztRQUNqRSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSx1QkFBdUIsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekQsSUFBSSxNQUFNLEdBQWdCO1lBQ3hCLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLEVBQUU7WUFDL0MsS0FBSyxFQUFFLGNBQWMsRUFBRTtTQUN4QixDQUFDO1FBRUYsT0FBTyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsR0FBRyxFQUFHLENBQUM7WUFDL0MsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFMUQsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDbEgsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUU5RywrRUFBK0U7WUFDL0Usb0VBQW9FO1lBQ3BFLE1BQU0sOEJBQThCLEdBQUcsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUM7WUFDcEYsS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLDhCQUE4QixDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNsRSxvR0FBb0c7Z0JBQ3BHLCtDQUErQztnQkFDL0MsaUZBQWlGO2dCQUNqRixxQkFBcUI7Z0JBQ3JCLDBJQUEwSTtnQkFDMUksT0FBTztnQkFDUCxJQUFJO2dCQUNKLE1BQU0sU0FBUyxHQUFHLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMzQixzR0FBc0c7b0JBQ3RHLHNGQUFzRjtvQkFDdEYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNyRyxTQUFTLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztnQkFDeEQsQ0FBQztZQUNILENBQUM7WUFFRCxzREFBc0Q7WUFDdEQsOEJBQThCLENBQUMsSUFBSSxDQUNqQyxHQUFHLEtBQUssQ0FBQywwQkFBMEIsR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLENBQUM7aUJBQ3pFLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ1AsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1RCxDQUFDO1lBRUYsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQ3RELGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLDhCQUE4QixDQUMvQixDQUFDO1lBRUYsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQzNFLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sMkJBQTJCLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3RHLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FDL0MsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLEtBQUssRUFDWix1QkFBdUIsRUFDdkIsTUFBTSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUM3QyxZQUFZLENBQTRCLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FDakcsQ0FBQztnQkFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUNyRixZQUFZLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JELFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUN2Qix1QkFBdUIsR0FBRyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxNQUFNLDJCQUEyQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FDL0MsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLEtBQUssRUFDWix1QkFBdUIsRUFDdkIsTUFBTSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUM3QyxZQUFZLENBQTRCLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FDakcsQ0FBQztRQUVGLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBR3hFLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBR3RFLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlHLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUNyRCxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzNDLGlCQUFpQixDQUNsQixDQUFDO1FBRUYsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FDdkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQ3ZELENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLDJCQUEyQixDQUNuRCxrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIseUJBQXlCLENBQzFCLENBQUM7UUFDRixZQUFZLENBQUMsZ0NBQWdDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9FLG1GQUFtRjtRQUNuRixNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztRQUN4RSxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLE9BQU8sRUFBRSxHQUFHLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sZUFBZSxDQUNyQixXQUF3QjtRQUV4QixNQUFNLE1BQU0sR0FBRyxXQUFXO2FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDYiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkYsQ0FBQyxDQUFDLENBQUM7UUFFTCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQWdCLEVBQUUsZ0JBQW9DLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU8sS0FBSyxDQUFDLHFCQUFxQixDQUNqQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQW1CLEVBQ3RDLG1CQUFrQyxFQUNsQyxrQkFBaUMsRUFDakMsOEJBQThEO1FBRTlELE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUN0RSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1FBRTNELHNFQUFzRTtRQUN0RSxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FDbEMsbUJBQW1CLEVBQ25CLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFDbkIsc0NBQXNDLENBQ3ZDLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLHFDQUFxQyxDQUFDLENBQUM7UUFFcEgsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQ2xGLGVBQWUsRUFDZixZQUFZLENBQUMsUUFBUSxDQUN0QixDQUFDO1FBQ0YsTUFBTSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQ2hILGVBQWUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUscUNBQXFDLEVBQUUsR0FDaEgsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhFLGlDQUFpQztRQUNqQyx5REFBeUQ7UUFDekQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELE9BQU87UUFDUCxNQUFNLEtBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUUvQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsS0FBSztZQUNMLEVBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxjQUFjO1lBQ2QseUJBQXlCO1lBQ3pCLHFDQUFxQztZQUNyQyx3QkFBd0I7WUFDeEIsNkJBQTZCO1lBQzdCLDhCQUE4QixFQUFFLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoSCxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUU7WUFDdEQsUUFBUTtTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBZ0M7UUFDeEQsTUFBTSxFQUNKLGFBQWEsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUMvQixRQUFRLEdBQ1QsR0FBRyxlQUFlLENBQUM7UUFDcEIsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUN4RSw4RkFBOEY7UUFDOUYsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEMsZUFBZTtZQUNmLElBQUk7WUFDSixVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztTQUM5QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSyxtQkFBbUIsQ0FDekIsWUFBZ0UsRUFDaEUsV0FBaUU7UUFFakUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsd0JBQXdCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoRixNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQWUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9FLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEQsSUFBSSxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FDYiw2QkFBNkIsQ0FBQyxlQUFlLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsb0NBQW9DLENBQzVHLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssaUJBQWlCLENBQ3ZCLG9CQUFpRSxFQUNqRSxXQUFpRTtRQUVqRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBZSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6RixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3hELElBQUksTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2IscUNBQXFDLENBQUMsZUFBZSxvQkFBb0IsQ0FDdkUsQ0FBQyxDQUNGLENBQUMsUUFBUSxFQUFFLG9DQUFvQyxDQUNqRCxDQUFDO2dCQUNKLENBQUM7cUJBQU0sQ0FBQztvQkFDTixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLEtBQUssQ0FBQyw0QkFBNEIsQ0FDeEMsOEJBR0M7UUFFRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsNENBQTRDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLE9BQU8sR0FBRyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixNQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiJ9
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFdBQVcsRUFDWCxFQUFFLEVBR0Ysb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGVBQWUsRUFDZixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUNyQyxzQkFBc0IsRUFDdEIscUNBQXFDLEVBSXJDLGNBQWMsRUFDZCxlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUErQyxNQUFNLG9CQUFvQixDQUFDO0FBa0NyRzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQW9CLE1BQXlCLEVBQVUsZUFBNkIsSUFBSSxrQkFBa0IsRUFBRTtRQUF4RixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUF5QztRQUhwRyxRQUFHLEdBQUcsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUlyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9D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
@@ -1,4 +1,4 @@
1
- import { KernelCircuitPublicInputs, KernelCircuitPublicInputsFinal, PrivateCircuitPublicInputs, PrivateKernelInputsInit, PrivateKernelInputsInner, PrivateKernelInputsOrdering, Proof } from '@aztec/circuits.js';
1
+ import { PrivateCircuitPublicInputs, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelInnerCircuitPublicInputs, PrivateKernelTailCircuitPrivateInputs, PrivateKernelTailCircuitPublicInputs, Proof } from '@aztec/circuits.js';
2
2
  import { Fr } from '@aztec/foundation/fields';
3
3
  /**
4
4
  * Represents the output of the proof creation process for init and inner private kernel circuit.
@@ -8,7 +8,7 @@ export interface ProofOutput {
8
8
  /**
9
9
  * The public inputs required for the proof generation process.
10
10
  */
11
- publicInputs: KernelCircuitPublicInputs;
11
+ publicInputs: PrivateKernelInnerCircuitPublicInputs;
12
12
  /**
13
13
  * The zk-SNARK proof for the kernel execution.
14
14
  */
@@ -22,7 +22,7 @@ export interface ProofOutputFinal {
22
22
  /**
23
23
  * The public inputs required for the proof generation process.
24
24
  */
25
- publicInputs: KernelCircuitPublicInputsFinal;
25
+ publicInputs: PrivateKernelTailCircuitPublicInputs;
26
26
  /**
27
27
  * The zk-SNARK proof for the kernel execution.
28
28
  */
@@ -36,7 +36,7 @@ export interface ProofCreator {
36
36
  /**
37
37
  * Computes the siloed commitments for a given set of public inputs.
38
38
  *
39
- * @param publicInputs - The public inputs containing the contract address and new commitments to be used in generating siloed commitments.
39
+ * @param publicInputs - The public inputs containing the contract address and new note hashes to be used in generating siloed note hashes.
40
40
  * @returns An array of Fr (finite field) elements representing the siloed commitments.
41
41
  */
42
42
  getSiloedCommitments(publicInputs: PrivateCircuitPublicInputs): Promise<Fr[]>;
@@ -46,21 +46,21 @@ export interface ProofCreator {
46
46
  * @param privateKernelInputsInit - The private data structure for the initial iteration.
47
47
  * @returns A Promise resolving to a ProofOutput object containing public inputs and the kernel proof.
48
48
  */
49
- createProofInit(privateKernelInputsInit: PrivateKernelInputsInit): Promise<ProofOutput>;
49
+ createProofInit(privateKernelInputsInit: PrivateKernelInitCircuitPrivateInputs): Promise<ProofOutput>;
50
50
  /**
51
51
  * Creates a proof output for a given previous kernel data and private call data for an inner iteration.
52
52
  *
53
53
  * @param privateKernelInputsInner - The private input data structure for the inner iteration.
54
54
  * @returns A Promise resolving to a ProofOutput object containing public inputs and the kernel proof.
55
55
  */
56
- createProofInner(privateKernelInputsInner: PrivateKernelInputsInner): Promise<ProofOutput>;
56
+ createProofInner(privateKernelInputsInner: PrivateKernelInnerCircuitPrivateInputs): Promise<ProofOutput>;
57
57
  /**
58
58
  * Creates a proof output based on the last inner kernel iteration kernel data for the final ordering iteration.
59
59
  *
60
- * @param privateKernelInputsOrdering - The private input data structure for the final ordering iteration.
60
+ * @param privateKernelInputsTail - The private input data structure for the final ordering iteration.
61
61
  * @returns A Promise resolving to a ProofOutput object containing public inputs and the kernel proof.
62
62
  */
63
- createProofOrdering(privateKernelInputsOrdering: PrivateKernelInputsOrdering): Promise<ProofOutputFinal>;
63
+ createProofTail(privateKernelInputsTail: PrivateKernelTailCircuitPrivateInputs): Promise<ProofOutputFinal>;
64
64
  }
65
65
  /**
66
66
  * The KernelProofCreator class is responsible for generating siloed commitments and zero-knowledge proofs
@@ -73,8 +73,8 @@ export declare class KernelProofCreator implements ProofCreator {
73
73
  private log;
74
74
  constructor(log?: import("@aztec/foundation/log").DebugLogger);
75
75
  getSiloedCommitments(publicInputs: PrivateCircuitPublicInputs): Promise<Fr[]>;
76
- createProofInit(privateInputs: PrivateKernelInputsInit): Promise<ProofOutput>;
77
- createProofInner(privateInputs: PrivateKernelInputsInner): Promise<ProofOutput>;
78
- createProofOrdering(privateInputs: PrivateKernelInputsOrdering): Promise<ProofOutputFinal>;
76
+ createProofInit(privateInputs: PrivateKernelInitCircuitPrivateInputs): Promise<ProofOutput>;
77
+ createProofInner(privateInputs: PrivateKernelInnerCircuitPrivateInputs): Promise<ProofOutput>;
78
+ createProofTail(privateInputs: PrivateKernelTailCircuitPrivateInputs): Promise<ProofOutputFinal>;
79
79
  }
80
80
  //# sourceMappingURL=proof_creator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,EAEN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,yBAAyB,CAAC;IACxC;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,EAAE,8BAA8B,CAAC;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,oBAAoB,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExF;;;;;OAKG;IACH,gBAAgB,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3F;;;;;OAKG;IACH,mBAAmB,CAAC,2BAA2B,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1G;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,GAAG;gBAAH,GAAG,8CAAkD;IAElE,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAQvD,eAAe,CAAC,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB7E,gBAAgB,CAAC,aAAa,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB/E,mBAAmB,CAAC,aAAa,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiBxG"}
1
+ {"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,qCAAqC,EACrC,sCAAsC,EACtC,qCAAqC,EACrC,qCAAqC,EACrC,oCAAoC,EACpC,KAAK,EAEN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,qCAAqC,CAAC;IACpD;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,EAAE,oCAAoC,CAAC;IACnD;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,oBAAoB,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,qCAAqC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEtG;;;;;OAKG;IACH,gBAAgB,CAAC,wBAAwB,EAAE,sCAAsC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzG;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC5G;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,GAAG;gBAAH,GAAG,8CAAkD;IAElE,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAQvD,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB3F,gBAAgB,CAAC,aAAa,EAAE,sCAAsC,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB7F,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiB9G"}
@@ -1,8 +1,8 @@
1
1
  import { makeEmptyProof, } from '@aztec/circuits.js';
2
- import { siloCommitment } from '@aztec/circuits.js/abis';
2
+ import { siloNoteHash } from '@aztec/circuits.js/hash';
3
3
  import { createDebugLogger } from '@aztec/foundation/log';
4
4
  import { elapsed } from '@aztec/foundation/timer';
5
- import { executeInit, executeInner, executeOrdering } from '@aztec/noir-protocol-circuits';
5
+ import { executeInit, executeInner, executeTail } from '@aztec/noir-protocol-circuits-types';
6
6
  /**
7
7
  * The KernelProofCreator class is responsible for generating siloed commitments and zero-knowledge proofs
8
8
  * for private kernel circuit. It leverages Barretenberg to perform cryptographic operations and proof creation.
@@ -16,7 +16,7 @@ export class KernelProofCreator {
16
16
  }
17
17
  getSiloedCommitments(publicInputs) {
18
18
  const contractAddress = publicInputs.callContext.storageContractAddress;
19
- return Promise.resolve(publicInputs.newCommitments.map(commitment => siloCommitment(contractAddress, commitment.value)));
19
+ return Promise.resolve(publicInputs.newNoteHashes.map(commitment => siloNoteHash(contractAddress, commitment.value)));
20
20
  }
21
21
  async createProofInit(privateInputs) {
22
22
  const [duration, result] = await elapsed(() => executeInit(privateInputs));
@@ -50,8 +50,8 @@ export class KernelProofCreator {
50
50
  proof: proof,
51
51
  };
52
52
  }
53
- async createProofOrdering(privateInputs) {
54
- const [duration, result] = await elapsed(() => executeOrdering(privateInputs));
53
+ async createProofTail(privateInputs) {
54
+ const [duration, result] = await elapsed(() => executeTail(privateInputs));
55
55
  this.log(`Simulated private kernel ordering`, {
56
56
  eventName: 'circuit-simulation',
57
57
  circuitName: 'private-kernel-ordering',
@@ -67,4 +67,4 @@ export class KernelProofCreator {
67
67
  };
68
68
  }
69
69
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2ZfY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Byb29mX2NyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQVFMLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFzRTNGOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQztRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFrRDtJQUFHLENBQUM7SUFFdEUsb0JBQW9CLENBQUMsWUFBd0M7UUFDbEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQXNDO1FBQ2pFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRTtZQUN4QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQXVDO1FBQ25FLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN6QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLGFBQTBDO1FBQ3pFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsRUFBRTtZQUM1QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2ZfY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Byb29mX2NyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQVFMLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFzRTdGOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQztRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFrRDtJQUFHLENBQUM7SUFFdEUsb0JBQW9CLENBQUMsWUFBd0M7UUFDbEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQW9EO1FBQy9FLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRTtZQUN4QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQXFEO1FBQ2pGLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN6QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUTtZQUNSLFNBQVMsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUMxQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFvRDtRQUMvRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsbUNBQW1DLEVBQUU7WUFDNUMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUseUJBQXlCO1lBQ3RDLFFBQVE7WUFDUixTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDMUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUUvQixPQUFPO1lBQ0wsWUFBWSxFQUFFLE1BQU07WUFDcEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -1,3 +1,4 @@
1
+ import { NullifierMembershipWitness } from '@aztec/circuit-types';
1
2
  import { FUNCTION_TREE_HEIGHT, Fr, FunctionSelector, GrumpkinPrivateKey, MembershipWitness, NOTE_HASH_TREE_HEIGHT, Point, VK_TREE_HEIGHT, VerificationKey } from '@aztec/circuits.js';
2
3
  import { AztecAddress } from '@aztec/foundation/aztec-address';
3
4
  /**
@@ -44,6 +45,7 @@ export interface ProvingDataOracle {
44
45
  * @returns the MembershipWitness for the note.
45
46
  */
46
47
  getNoteMembershipWitness(leafIndex: bigint): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>>;
48
+ getNullifierMembershipWitness(blockNumber: number, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
47
49
  /**
48
50
  * Get the root of the note hash tree.
49
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,EAAE,EACF,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,EACL,cAAc,EACd,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,cAAc,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEtF,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAE/F;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAEtG;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,2BAA2B,CAAC,kBAAkB,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrF"}
1
+ {"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,EAAE,EACF,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,EACL,cAAc,EACd,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,cAAc,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEtF,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAE/F;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAEtG,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEnH;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,2BAA2B,CAAC,kBAAkB,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,QAAQ,EAER,cAAc,EACd,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAA8B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAkBlD;;;GAGG;AACH,qBAAa,aAAa;IAQtB;;OAEG;aACa,SAAS,EAAE,SAAS;IACpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAhBb,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CAAwE;;IAG/G;;OAEG;IACa,SAAS,EAAE,SAAS,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,SAAS,EACf,aAAa,GAAE,MAA6B,EAC5C,SAAS,2CAAuC,EAChD,GAAG,8CAA4C;IAGzD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;;;OASG;IACU,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmG7G;;;;;;;;OAQG;YACW,qBAAqB;IAwBnC;;;;OAIG;YACW,oBAAoB;IAalC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA2B1F"}
1
+ {"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAiB,cAAc,EAAE,aAAa,EAAc,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAoD,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIjG,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAkBlD;;;GAGG;AACH,qBAAa,aAAa;IAQtB;;OAEG;aACa,SAAS,EAAE,SAAS;IACpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAhBb,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CAAwE;;IAG/G;;OAEG;IACa,SAAS,EAAE,SAAS,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,SAAS,EACf,aAAa,GAAE,MAA6B,EAC5C,SAAS,2CAAuC,EAChD,GAAG,8CAA4C;IAGzD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;;;OASG;IACU,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkG7G;;;;;;;;OAQG;YACW,qBAAqB;IA0BnC;;;;OAIG;YACW,oBAAoB;IAalC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4B1F"}
@@ -1,5 +1,5 @@
1
- import { INITIAL_L2_BLOCK_NUM, L1NotePayload, } from '@aztec/circuit-types';
2
- import { MAX_NEW_COMMITMENTS_PER_TX } from '@aztec/circuits.js';
1
+ import { L1NotePayload, TaggedNote } from '@aztec/circuit-types';
2
+ import { INITIAL_L2_BLOCK_NUM, MAX_NEW_NOTE_HASHES_PER_TX } from '@aztec/circuits.js';
3
3
  import { Grumpkin } from '@aztec/circuits.js/barretenberg';
4
4
  import { createDebugLogger } from '@aztec/foundation/log';
5
5
  import { Timer } from '@aztec/foundation/timer';
@@ -84,21 +84,22 @@ export class NoteProcessor {
84
84
  // Iterate over all the encrypted logs and try decrypting them. If successful, store the note.
85
85
  for (let indexOfTxInABlock = 0; indexOfTxInABlock < txLogs.length; ++indexOfTxInABlock) {
86
86
  this.stats.txs++;
87
- const dataStartIndexForTx = dataEndIndexForBlock - (txLogs.length - indexOfTxInABlock) * MAX_NEW_COMMITMENTS_PER_TX;
88
- const newCommitments = block.newCommitments.slice(indexOfTxInABlock * MAX_NEW_COMMITMENTS_PER_TX, (indexOfTxInABlock + 1) * MAX_NEW_COMMITMENTS_PER_TX);
87
+ const dataStartIndexForTx = dataEndIndexForBlock - (txLogs.length - indexOfTxInABlock) * MAX_NEW_NOTE_HASHES_PER_TX;
88
+ const newNoteHashes = block.body.txEffects[indexOfTxInABlock].noteHashes;
89
89
  // Note: Each tx generates a `TxL2Logs` object and for this reason we can rely on its index corresponding
90
90
  // to the index of a tx in a block.
91
91
  const txFunctionLogs = txLogs[indexOfTxInABlock].functionLogs;
92
92
  const excludedIndices = new Set();
93
93
  for (const functionLogs of txFunctionLogs) {
94
- for (const logs of functionLogs.logs) {
94
+ for (const log of functionLogs.logs) {
95
95
  this.stats.seen++;
96
- const payload = L1NotePayload.fromEncryptedBuffer(logs, privateKey, curve);
97
- if (payload) {
96
+ const taggedNote = TaggedNote.fromEncryptedBuffer(log, privateKey, curve);
97
+ if (taggedNote?.notePayload) {
98
+ const { notePayload: payload } = taggedNote;
98
99
  // We have successfully decrypted the data.
99
100
  const txHash = blockContext.getTxHash(indexOfTxInABlock);
100
101
  try {
101
- const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newCommitments, dataStartIndexForTx, excludedIndices);
102
+ const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newNoteHashes, dataStartIndexForTx, excludedIndices);
102
103
  noteDaos.push(noteDao);
103
104
  this.stats.decrypted++;
104
105
  }
@@ -106,7 +107,7 @@ export class NoteProcessor {
106
107
  if (e instanceof ContractNotFoundError) {
107
108
  this.stats.deferred++;
108
109
  this.log.warn(e.message);
109
- const deferredNoteDao = new DeferredNoteDao(this.publicKey, payload.note, payload.contractAddress, payload.storageSlot, txHash, newCommitments, dataStartIndexForTx);
110
+ const deferredNoteDao = new DeferredNoteDao(this.publicKey, payload.note, payload.contractAddress, payload.storageSlot, payload.noteTypeId, txHash, newNoteHashes, dataStartIndexForTx);
110
111
  deferredNoteDaos.push(deferredNoteDao);
111
112
  }
112
113
  else {
@@ -146,7 +147,7 @@ export class NoteProcessor {
146
147
  this.log(`Added note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
147
148
  });
148
149
  }
149
- const newNullifiers = blocksAndNotes.flatMap(b => b.blockContext.block.newNullifiers);
150
+ const newNullifiers = blocksAndNotes.flatMap(b => b.blockContext.block.body.txEffects.flatMap(txEffect => txEffect.nullifiers));
150
151
  const removedNotes = await this.db.removeNullifiedNotes(newNullifiers, this.publicKey);
151
152
  removedNotes.forEach(noteDao => {
152
153
  this.log(`Removed note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
@@ -178,10 +179,10 @@ export class NoteProcessor {
178
179
  const excludedIndices = new Set();
179
180
  const noteDaos = [];
180
181
  for (const deferredNote of deferredNoteDaos) {
181
- const { note, contractAddress, storageSlot, txHash, newCommitments, dataStartIndexForTx } = deferredNote;
182
- const payload = new L1NotePayload(note, contractAddress, storageSlot);
182
+ const { note, contractAddress, storageSlot, noteTypeId, txHash, newNoteHashes, dataStartIndexForTx } = deferredNote;
183
+ const payload = new L1NotePayload(note, contractAddress, storageSlot, noteTypeId);
183
184
  try {
184
- const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newCommitments, dataStartIndexForTx, excludedIndices);
185
+ const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newNoteHashes, dataStartIndexForTx, excludedIndices);
185
186
  noteDaos.push(noteDao);
186
187
  this.stats.decrypted++;
187
188
  }
@@ -193,4 +194,4 @@ export class NoteProcessor {
193
194
  return noteDaos;
194
195
  }
195
196
  }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG9CQUFvQixFQUVwQixhQUFhLEdBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsMEJBQTBCLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFnQnZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBT3hCO0lBQ0U7O09BRUc7SUFDYSxTQUFvQixFQUM1QixRQUFrQixFQUNsQixFQUFlLEVBQ2YsSUFBZSxFQUNmLGdCQUF3QixvQkFBb0IsRUFDNUMsWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUNoRCxNQUFNLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDO1FBTnZDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBVztRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUErQjtRQUM1QyxjQUFTLEdBQVQsU0FBUyxDQUF1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
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixhQUFhLEVBQWlDLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWdCdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFPeEI7SUFDRTs7T0FFRztJQUNhLFNBQW9CLEVBQzVCLFFBQWtCLEVBQ2xCLEVBQWUsRUFDZixJQUFlLEVBQ2YsZ0JBQXdCLG9CQUFvQixFQUM1QyxZQUFZLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQ2hELE1BQU0saUJBQWlCLENBQUMsc0JBQXNCLENBQUM7UUFOdkMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQStCO1FBQzVDLGNBQVMsR0FB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
@@ -11,11 +11,11 @@ import { NoteDao } from '../database/note_dao.js';
11
11
  * @param publicKey - The public counterpart to the private key to be used in note decryption.
12
12
  * @param payload - An instance of l1NotePayload.
13
13
  * @param txHash - The hash of the transaction that created the note. Equivalent to the first nullifier of the transaction.
14
- * @param newCommitments - New commitments in this transaction, one of which belongs to this note.
14
+ * @param newNoteHashes - New note hashes in this transaction, one of which belongs to this note.
15
15
  * @param dataStartIndexForTx - The next available leaf index for the note hash tree for this transaction.
16
16
  * @param excludedIndices - Indices that have been assigned a note in the same tx. Notes in a tx can have the same l1NotePayload, we need to find a different index for each replicate.
17
17
  * @param simulator - An instance of AcirSimulator.
18
18
  * @returns an instance of NoteDao, or throws. inserts the index of the note into the excludedIndices set.
19
19
  */
20
- export declare function produceNoteDao(simulator: AcirSimulator, publicKey: PublicKey, payload: L1NotePayload, txHash: TxHash, newCommitments: Fr[], dataStartIndexForTx: number, excludedIndices: Set<number>): Promise<NoteDao>;
20
+ export declare function produceNoteDao(simulator: AcirSimulator, publicKey: PublicKey, payload: L1NotePayload, txHash: TxHash, newNoteHashes: Fr[], dataStartIndexForTx: number, excludedIndices: Set<number>): Promise<NoteDao>;
21
21
  //# sourceMappingURL=produce_note_dao.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"produce_note_dao.d.ts","sourceRoot":"","sources":["../../src/note_processor/produce_note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,EAAE,EAAE,EACpB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
1
+ {"version":3,"file":"produce_note_dao.d.ts","sourceRoot":"","sources":["../../src/note_processor/produce_note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,EAAE,EAAE,EACnB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAsBlB"}