@aztec/pxe 0.32.1 → 0.34.0
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.
- package/dest/database/kv_pxe_database.d.ts +1 -1
- package/dest/database/kv_pxe_database.d.ts.map +1 -1
- package/dest/database/pxe_database.d.ts +1 -1
- package/dest/database/pxe_database.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.d.ts +3 -42
- package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.js +9 -37
- package/dest/kernel_prover/proof_creator.d.ts +3 -3
- package/dest/kernel_prover/proof_creator.d.ts.map +1 -1
- package/dest/kernel_prover/proof_creator.js +7 -9
- package/dest/note_processor/note_processor.d.ts +8 -10
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +22 -24
- package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
- package/dest/pxe_http/pxe_http_server.js +3 -3
- package/dest/pxe_service/pxe_service.d.ts +3 -2
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +58 -40
- package/dest/pxe_service/test/pxe_test_suite.js +3 -3
- package/dest/simulator_oracle/index.d.ts +1 -1
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +16 -20
- package/package.json +22 -16
- package/src/database/kv_pxe_database.ts +1 -1
- package/src/database/pxe_database.ts +1 -1
- package/src/kernel_prover/kernel_prover.ts +22 -88
- package/src/kernel_prover/proof_creator.ts +10 -10
- package/src/note_processor/note_processor.ts +25 -30
- package/src/pxe_http/pxe_http_server.ts +2 -1
- package/src/pxe_service/pxe_service.ts +69 -46
- package/src/pxe_service/test/pxe_test_suite.ts +2 -2
- package/src/synchronizer/synchronizer.ts +18 -22
|
@@ -43,7 +43,7 @@ export declare class KVPxeDatabase implements PxeDatabase {
|
|
|
43
43
|
getCompleteAddress(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
44
44
|
getCompleteAddresses(): Promise<CompleteAddress[]>;
|
|
45
45
|
getSynchedBlockNumberForPublicKey(publicKey: Point): number | undefined;
|
|
46
|
-
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<
|
|
46
|
+
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<void>;
|
|
47
47
|
estimateSize(): number;
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=kv_pxe_database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"kv_pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/kv_pxe_database.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,7 +130,7 @@ export interface PxeDatabase extends ContractArtifactDatabase, ContractInstanceD
|
|
|
130
130
|
* @param publicKey - The public key to set the synched block number for.
|
|
131
131
|
* @param blockNumber - The block number to set.
|
|
132
132
|
*/
|
|
133
|
-
setSynchedBlockNumberForPublicKey(publicKey: PublicKey, blockNumber: number): Promise<
|
|
133
|
+
setSynchedBlockNumberForPublicKey(publicKey: PublicKey, blockNumber: number): Promise<void>;
|
|
134
134
|
/**
|
|
135
135
|
* Get the synched block number for a given public key.
|
|
136
136
|
* @param publicKey - The public key to get the synched block number for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/pxe_database.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pxe_database.d.ts","sourceRoot":"","sources":["../../src/database/pxe_database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,7 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type ExecutionResult
|
|
1
|
+
import { type TxRequest } from '@aztec/circuits.js';
|
|
2
|
+
import { type ExecutionResult } from '@aztec/simulator';
|
|
3
3
|
import { type ProofCreator, type ProofOutputFinal } from './proof_creator.js';
|
|
4
4
|
import { type ProvingDataOracle } from './proving_data_oracle.js';
|
|
5
|
-
/**
|
|
6
|
-
* Represents an output note data object.
|
|
7
|
-
* Contains the contract address, new note data and commitment for the note,
|
|
8
|
-
* resulting from the execution of a transaction in the Aztec network.
|
|
9
|
-
*/
|
|
10
|
-
export interface OutputNoteData {
|
|
11
|
-
/**
|
|
12
|
-
* The address of the contract the note was created in.
|
|
13
|
-
*/
|
|
14
|
-
contractAddress: AztecAddress;
|
|
15
|
-
/**
|
|
16
|
-
* The encrypted note data for an output note.
|
|
17
|
-
*/
|
|
18
|
-
data: NoteAndSlot;
|
|
19
|
-
/**
|
|
20
|
-
* The unique value representing the note.
|
|
21
|
-
*/
|
|
22
|
-
commitment: Fr;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Represents the output data of the Kernel Prover.
|
|
26
|
-
* Provides information about the newly created notes, along with the public inputs and proof.
|
|
27
|
-
*/
|
|
28
|
-
export interface KernelProverOutput extends ProofOutputFinal {
|
|
29
|
-
/**
|
|
30
|
-
* An array of output notes containing the contract address, note data, and commitment for each new note.
|
|
31
|
-
*/
|
|
32
|
-
outputNotes: OutputNoteData[];
|
|
33
|
-
}
|
|
34
5
|
/**
|
|
35
6
|
* The KernelProver class is responsible for generating kernel proofs.
|
|
36
7
|
* It takes a transaction request, its signature, and the simulation result as inputs, and outputs a proof
|
|
@@ -53,17 +24,7 @@ export declare class KernelProver {
|
|
|
53
24
|
* @param executionResult - The execution result object containing nested executions and preimages.
|
|
54
25
|
* @returns A Promise that resolves to a KernelProverOutput object containing proof, public inputs, and output notes.
|
|
55
26
|
*/
|
|
56
|
-
prove(txRequest: TxRequest, executionResult: ExecutionResult): Promise<
|
|
27
|
+
prove(txRequest: TxRequest, executionResult: ExecutionResult): Promise<ProofOutputFinal>;
|
|
57
28
|
private createPrivateCallData;
|
|
58
|
-
/**
|
|
59
|
-
* Retrieves the new output notes for a given execution result.
|
|
60
|
-
* The function maps over the new notes and associates them with their corresponding
|
|
61
|
-
* commitments in the public inputs of the execution result. It also includes the contract address
|
|
62
|
-
* from the call context of the public inputs.
|
|
63
|
-
*
|
|
64
|
-
* @param executionResult - The execution result object containing notes and public inputs.
|
|
65
|
-
* @returns An array of OutputNoteData objects, each representing an output note with its associated data.
|
|
66
|
-
*/
|
|
67
|
-
private getNewNotes;
|
|
68
29
|
}
|
|
69
30
|
//# sourceMappingURL=kernel_prover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel_prover.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/kernel_prover.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"kernel_prover.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/kernel_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAiBL,KAAK,SAAS,EAIf,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAsB,KAAK,YAAY,EAAoB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;GAKG;AACH,qBAAa,YAAY;IAIX,OAAO,CAAC,MAAM;IAAqB,OAAO,CAAC,YAAY;IAHnE,OAAO,CAAC,GAAG,CAA4C;IACvD,OAAO,CAAC,YAAY,CAAe;gBAEf,MAAM,EAAE,iBAAiB,EAAU,YAAY,GAAE,YAAuC;IAI5G;;;;;;;;;OASG;IACG,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAmIhF,qBAAqB;CAsDpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
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,
|
|
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, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, 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
4
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
@@ -31,11 +31,10 @@ export class KernelProver {
|
|
|
31
31
|
*/
|
|
32
32
|
async prove(txRequest, executionResult) {
|
|
33
33
|
const executionStack = [executionResult];
|
|
34
|
-
const newNotes = {};
|
|
35
34
|
let firstIteration = true;
|
|
36
35
|
let previousVerificationKey = VerificationKey.makeFake();
|
|
37
36
|
let output = {
|
|
38
|
-
publicInputs:
|
|
37
|
+
publicInputs: PrivateKernelCircuitPublicInputs.empty(),
|
|
39
38
|
proof: makeEmptyProof(),
|
|
40
39
|
};
|
|
41
40
|
while (executionStack.length) {
|
|
@@ -74,33 +73,26 @@ export class KernelProver {
|
|
|
74
73
|
}
|
|
75
74
|
else {
|
|
76
75
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
77
|
-
const previousKernelData = new
|
|
76
|
+
const previousKernelData = new PrivateKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
|
|
78
77
|
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
|
|
79
78
|
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
80
79
|
output = await this.proofCreator.createProofInner(proofInput);
|
|
81
80
|
}
|
|
82
|
-
(await this.getNewNotes(currentExecution)).forEach(n => {
|
|
83
|
-
newNotes[n.commitment.toString()] = n;
|
|
84
|
-
});
|
|
85
81
|
firstIteration = false;
|
|
86
82
|
previousVerificationKey = privateCallData.vk;
|
|
87
83
|
}
|
|
88
84
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
89
|
-
const previousKernelData = new
|
|
85
|
+
const previousKernelData = new PrivateKernelData(output.publicInputs, output.proof, previousVerificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
|
|
86
|
+
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(output.publicInputs.validationRequests.noteHashReadRequests, output.publicInputs.end.newNoteHashes);
|
|
87
|
+
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(output.publicInputs.validationRequests.nullifierReadRequests, output.publicInputs.end.newNullifiers);
|
|
88
|
+
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(output.publicInputs.validationRequests.nullifierKeyValidationRequests);
|
|
90
89
|
const [sortedNoteHashes, sortedNoteHashesIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNoteHashes);
|
|
91
90
|
const [sortedNullifiers, sortedNullifiersIndexes] = this.hintsBuilder.sortSideEffects(output.publicInputs.end.newNullifiers);
|
|
92
|
-
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(output.publicInputs.validationRequests.noteHashReadRequests, sortedNoteHashes);
|
|
93
|
-
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(output.publicInputs.validationRequests.nullifierReadRequests, output.publicInputs.end.newNullifiers);
|
|
94
91
|
const nullifierNoteHashHints = this.hintsBuilder.getNullifierHints(mapTuple(sortedNullifiers, n => n.noteHash), sortedNoteHashes);
|
|
95
|
-
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(output.publicInputs.validationRequests.nullifierKeyValidationRequests);
|
|
96
92
|
this.log.debug(`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`);
|
|
97
93
|
const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData, sortedNoteHashes, sortedNoteHashesIndexes, readNoteHashHints, sortedNullifiers, sortedNullifiersIndexes, nullifierReadRequestHints, nullifierNoteHashHints, masterNullifierSecretKeys);
|
|
98
94
|
pushTestData('private-kernel-inputs-ordering', privateInputs);
|
|
99
|
-
|
|
100
|
-
// Only return the notes whose commitment is in the commitments of the final proof.
|
|
101
|
-
const finalNewCommitments = outputFinal.publicInputs.end.newNoteHashes;
|
|
102
|
-
const outputNotes = finalNewCommitments.map(c => newNotes[c.value.toString()]).filter(c => !!c);
|
|
103
|
-
return { ...outputFinal, outputNotes };
|
|
95
|
+
return await this.proofCreator.createProofTail(privateInputs);
|
|
104
96
|
}
|
|
105
97
|
async createPrivateCallData({ callStackItem, vk }, privateCallRequests, publicCallRequests, noteHashReadRequestMembershipWitnesses) {
|
|
106
98
|
const { contractAddress, functionData, publicInputs } = callStackItem;
|
|
@@ -132,25 +124,5 @@ export class KernelProver {
|
|
|
132
124
|
acirHash,
|
|
133
125
|
});
|
|
134
126
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves the new output notes for a given execution result.
|
|
137
|
-
* The function maps over the new notes and associates them with their corresponding
|
|
138
|
-
* commitments in the public inputs of the execution result. It also includes the contract address
|
|
139
|
-
* from the call context of the public inputs.
|
|
140
|
-
*
|
|
141
|
-
* @param executionResult - The execution result object containing notes and public inputs.
|
|
142
|
-
* @returns An array of OutputNoteData objects, each representing an output note with its associated data.
|
|
143
|
-
*/
|
|
144
|
-
async getNewNotes(executionResult) {
|
|
145
|
-
const { callStackItem: { publicInputs }, newNotes, } = executionResult;
|
|
146
|
-
const contractAddress = publicInputs.callContext.storageContractAddress;
|
|
147
|
-
// Assuming that for each new commitment there's an output note added to the execution result.
|
|
148
|
-
const newNoteHashes = await this.proofCreator.getSiloedCommitments(publicInputs);
|
|
149
|
-
return newNotes.map((data, i) => ({
|
|
150
|
-
contractAddress,
|
|
151
|
-
data,
|
|
152
|
-
commitment: newNoteHashes[i],
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
127
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxFQUFFLEVBR0Ysb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsaUJBQWlCLEVBQ2pCLHFDQUFxQyxFQUNyQyxzQ0FBc0MsRUFDdEMscUNBQXFDLEVBSXJDLGNBQWMsRUFDZCxlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUE4RCxNQUFNLG9CQUFvQixDQUFDO0FBR3BIOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFJdkIsWUFBb0IsTUFBeUIsRUFBVSxlQUE2QixJQUFJLGtCQUFrQixFQUFFO1FBQXhGLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXlDO1FBSHBHLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSXJELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0Ms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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PrivateCircuitPublicInputs, type
|
|
1
|
+
import { type PrivateCircuitPublicInputs, type PrivateKernelCircuitPublicInputs, type PrivateKernelInitCircuitPrivateInputs, type PrivateKernelInnerCircuitPrivateInputs, type PrivateKernelTailCircuitPrivateInputs, type PrivateKernelTailCircuitPublicInputs, type Proof } from '@aztec/circuits.js';
|
|
2
2
|
import { type 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:
|
|
11
|
+
publicInputs: PrivateKernelCircuitPublicInputs;
|
|
12
12
|
/**
|
|
13
13
|
* The zk-SNARK proof for the kernel execution.
|
|
14
14
|
*/
|
|
@@ -71,7 +71,7 @@ export interface ProofCreator {
|
|
|
71
71
|
*/
|
|
72
72
|
export declare class KernelProofCreator implements ProofCreator {
|
|
73
73
|
private log;
|
|
74
|
-
constructor(log?: import("@aztec/foundation/log").
|
|
74
|
+
constructor(log?: import("@aztec/foundation/log").Logger);
|
|
75
75
|
getSiloedCommitments(publicInputs: PrivateCircuitPublicInputs): Promise<Fr[]>;
|
|
76
76
|
createProofInit(privateInputs: PrivateKernelInitCircuitPrivateInputs): Promise<ProofOutput>;
|
|
77
77
|
createProofInner(privateInputs: PrivateKernelInnerCircuitPrivateInputs): Promise<ProofOutput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,
|
|
1
|
+
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,KAAK,EAEX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAKnD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,YAAY,EAAE,gCAAgC,CAAC;IAC/C;;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,yCAAkD;IAElE,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAQvD,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB3F,gBAAgB,CAAC,aAAa,EAAE,sCAAsC,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB7F,eAAe,CAAC,aAAa,EAAE,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAmB9G"}
|
|
@@ -2,7 +2,7 @@ import { makeEmptyProof, } from '@aztec/circuits.js';
|
|
|
2
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, executeTail } from '@aztec/noir-protocol-circuits-types';
|
|
5
|
+
import { executeInit, executeInner, executeTail, executeTailForPublic } 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.
|
|
@@ -20,14 +20,13 @@ export class KernelProofCreator {
|
|
|
20
20
|
}
|
|
21
21
|
async createProofInit(privateInputs) {
|
|
22
22
|
const [duration, result] = await elapsed(() => executeInit(privateInputs));
|
|
23
|
-
this.log(`Simulated private kernel init`, {
|
|
23
|
+
this.log.debug(`Simulated private kernel init`, {
|
|
24
24
|
eventName: 'circuit-simulation',
|
|
25
25
|
circuitName: 'private-kernel-init',
|
|
26
26
|
duration,
|
|
27
27
|
inputSize: privateInputs.toBuffer().length,
|
|
28
28
|
outputSize: result.toBuffer().length,
|
|
29
29
|
});
|
|
30
|
-
this.log('Skipping private kernel init proving...');
|
|
31
30
|
const proof = makeEmptyProof();
|
|
32
31
|
return {
|
|
33
32
|
publicInputs: result,
|
|
@@ -36,14 +35,13 @@ export class KernelProofCreator {
|
|
|
36
35
|
}
|
|
37
36
|
async createProofInner(privateInputs) {
|
|
38
37
|
const [duration, result] = await elapsed(() => executeInner(privateInputs));
|
|
39
|
-
this.log(`Simulated private kernel inner`, {
|
|
38
|
+
this.log.debug(`Simulated private kernel inner`, {
|
|
40
39
|
eventName: 'circuit-simulation',
|
|
41
40
|
circuitName: 'private-kernel-inner',
|
|
42
41
|
duration,
|
|
43
42
|
inputSize: privateInputs.toBuffer().length,
|
|
44
43
|
outputSize: result.toBuffer().length,
|
|
45
44
|
});
|
|
46
|
-
this.log('Skipping private kernel inner proving...');
|
|
47
45
|
const proof = makeEmptyProof();
|
|
48
46
|
return {
|
|
49
47
|
publicInputs: result,
|
|
@@ -51,15 +49,15 @@ export class KernelProofCreator {
|
|
|
51
49
|
};
|
|
52
50
|
}
|
|
53
51
|
async createProofTail(privateInputs) {
|
|
54
|
-
const
|
|
55
|
-
|
|
52
|
+
const isForPublic = privateInputs.isForPublic();
|
|
53
|
+
const [duration, result] = await elapsed(() => isForPublic ? executeTailForPublic(privateInputs) : executeTail(privateInputs));
|
|
54
|
+
this.log.debug(`Simulated private kernel ordering`, {
|
|
56
55
|
eventName: 'circuit-simulation',
|
|
57
56
|
circuitName: 'private-kernel-ordering',
|
|
58
57
|
duration,
|
|
59
58
|
inputSize: privateInputs.toBuffer().length,
|
|
60
59
|
outputSize: result.toBuffer().length,
|
|
61
60
|
});
|
|
62
|
-
this.log('Skipping private kernel ordering proving...');
|
|
63
61
|
const proof = makeEmptyProof();
|
|
64
62
|
return {
|
|
65
63
|
publicInputs: result,
|
|
@@ -67,4 +65,4 @@ export class KernelProofCreator {
|
|
|
67
65
|
};
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2ZfY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Byb29mX2NyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQVFMLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFzRW5IOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQztRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFrRDtJQUFHLENBQUM7SUFFdEUsb0JBQW9CLENBQUMsWUFBd0M7UUFDbEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLGFBQW9EO1FBQy9FLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUU7WUFDOUMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUscUJBQXFCO1lBQ2xDLFFBQVE7WUFDUixTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDMUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQXFEO1FBQ2pGLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUU7WUFDL0MsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLFFBQVE7WUFDUixTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDMUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFvRDtRQUMvRSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDNUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUMvRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUU7WUFDbEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUseUJBQXlCO1lBQ3RDLFFBQVE7WUFDUixTQUFTLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDMUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRS9CLE9BQU87WUFDTCxZQUFZLEVBQUUsTUFBTTtZQUNwQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AztecNode, type EncryptedL2BlockL2Logs, type KeyStore, type
|
|
1
|
+
import { type AztecNode, type EncryptedL2BlockL2Logs, type KeyStore, type L2Block } from '@aztec/circuit-types';
|
|
2
2
|
import { type NoteProcessorStats } from '@aztec/circuit-types/stats';
|
|
3
3
|
import { type PublicKey } from '@aztec/circuits.js';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
@@ -28,7 +28,7 @@ export declare class NoteProcessor {
|
|
|
28
28
|
/**
|
|
29
29
|
* The public counterpart to the private key to be used in note decryption.
|
|
30
30
|
*/
|
|
31
|
-
publicKey: PublicKey, keyStore: KeyStore, db: PxeDatabase, node: AztecNode, startingBlock?: number, simulator?: import("@aztec/simulator").AcirSimulator, log?: import("@aztec/foundation/log").
|
|
31
|
+
publicKey: PublicKey, keyStore: KeyStore, db: PxeDatabase, node: AztecNode, startingBlock?: number, simulator?: import("@aztec/simulator").AcirSimulator, log?: import("@aztec/foundation/log").Logger);
|
|
32
32
|
/**
|
|
33
33
|
* Check if the NoteProcessor is synchronized with the remote block number.
|
|
34
34
|
* The function queries the remote block number from the AztecNode and compares it with the syncedToBlock value in the NoteProcessor.
|
|
@@ -45,16 +45,14 @@ export declare class NoteProcessor {
|
|
|
45
45
|
};
|
|
46
46
|
private getSyncedToBlock;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
* It synchronizes the user's account by decrypting the encrypted logs and processing
|
|
50
|
-
* the transactions and auxiliary data associated with them.
|
|
51
|
-
* Throws an error if the number of block contexts and encrypted logs do not match.
|
|
48
|
+
* Extracts new user-relevant notes from the information contained in the provided L2 blocks and encrypted logs.
|
|
52
49
|
*
|
|
53
|
-
* @
|
|
54
|
-
* @param
|
|
50
|
+
* @throws If the number of blocks and encrypted logs do not match.
|
|
51
|
+
* @param l2Blocks - L2 blocks to be processed.
|
|
52
|
+
* @param encryptedL2BlockLogs - Encrypted logs associated with the L2 blocks.
|
|
55
53
|
* @returns A promise that resolves once the processing is completed.
|
|
56
54
|
*/
|
|
57
|
-
process(
|
|
55
|
+
process(l2Blocks: L2Block[], encryptedL2BlockLogs: EncryptedL2BlockL2Logs[]): Promise<void>;
|
|
58
56
|
/**
|
|
59
57
|
* Process the given blocks and their associated transaction auxiliary data.
|
|
60
58
|
* This function updates the database with information about new transactions,
|
|
@@ -62,7 +60,7 @@ export declare class NoteProcessor {
|
|
|
62
60
|
* transaction auxiliary data from the database. This function keeps track of new nullifiers
|
|
63
61
|
* and ensures all other transactions are updated with newly settled block information.
|
|
64
62
|
*
|
|
65
|
-
* @param blocksAndNotes - Array of objects containing
|
|
63
|
+
* @param blocksAndNotes - Array of objects containing L2 blocks, user-pertaining transaction indices, and NoteDaos.
|
|
66
64
|
*/
|
|
67
65
|
private processBlocksAndNotes;
|
|
68
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EAEb,KAAK,
|
|
1
|
+
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EAEb,KAAK,OAAO,EAEb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAItG,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAkBvD;;;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,yCAA4C;IAGzD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;;;OAOG;IACU,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkGxG;;;;;;;;OAQG;YACW,qBAAqB;IA0BnC;;;;OAIG;YACW,oBAAoB;IAalC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CA4B1F"}
|
|
@@ -50,20 +50,18 @@ export class NoteProcessor {
|
|
|
50
50
|
return this.db.getSynchedBlockNumberForPublicKey(this.publicKey) ?? this.startingBlock - 1;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
* It synchronizes the user's account by decrypting the encrypted logs and processing
|
|
55
|
-
* the transactions and auxiliary data associated with them.
|
|
56
|
-
* Throws an error if the number of block contexts and encrypted logs do not match.
|
|
53
|
+
* Extracts new user-relevant notes from the information contained in the provided L2 blocks and encrypted logs.
|
|
57
54
|
*
|
|
58
|
-
* @
|
|
59
|
-
* @param
|
|
55
|
+
* @throws If the number of blocks and encrypted logs do not match.
|
|
56
|
+
* @param l2Blocks - L2 blocks to be processed.
|
|
57
|
+
* @param encryptedL2BlockLogs - Encrypted logs associated with the L2 blocks.
|
|
60
58
|
* @returns A promise that resolves once the processing is completed.
|
|
61
59
|
*/
|
|
62
|
-
async process(
|
|
63
|
-
if (
|
|
64
|
-
throw new Error(`Number of blocks and EncryptedLogs is not equal. Received ${
|
|
60
|
+
async process(l2Blocks, encryptedL2BlockLogs) {
|
|
61
|
+
if (l2Blocks.length !== encryptedL2BlockLogs.length) {
|
|
62
|
+
throw new Error(`Number of blocks and EncryptedLogs is not equal. Received ${l2Blocks.length} blocks, ${encryptedL2BlockLogs.length} encrypted logs.`);
|
|
65
63
|
}
|
|
66
|
-
if (
|
|
64
|
+
if (l2Blocks.length === 0) {
|
|
67
65
|
return;
|
|
68
66
|
}
|
|
69
67
|
const curve = new Grumpkin();
|
|
@@ -74,9 +72,9 @@ export class NoteProcessor {
|
|
|
74
72
|
for (let blockIndex = 0; blockIndex < encryptedL2BlockLogs.length; ++blockIndex) {
|
|
75
73
|
this.stats.blocks++;
|
|
76
74
|
const { txLogs } = encryptedL2BlockLogs[blockIndex];
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
|
|
75
|
+
const block = l2Blocks[blockIndex];
|
|
76
|
+
const dataStartIndexForBlock = block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
|
|
77
|
+
block.body.numberOfTxsIncludingPadded * MAX_NEW_NOTE_HASHES_PER_TX;
|
|
80
78
|
// We are using set for `userPertainingTxIndices` to avoid duplicates. This would happen in case there were
|
|
81
79
|
// multiple encrypted logs in a tx pertaining to a user.
|
|
82
80
|
const noteDaos = [];
|
|
@@ -84,7 +82,7 @@ export class NoteProcessor {
|
|
|
84
82
|
// Iterate over all the encrypted logs and try decrypting them. If successful, store the note.
|
|
85
83
|
for (let indexOfTxInABlock = 0; indexOfTxInABlock < txLogs.length; ++indexOfTxInABlock) {
|
|
86
84
|
this.stats.txs++;
|
|
87
|
-
const dataStartIndexForTx =
|
|
85
|
+
const dataStartIndexForTx = dataStartIndexForBlock + indexOfTxInABlock * MAX_NEW_NOTE_HASHES_PER_TX;
|
|
88
86
|
const newNoteHashes = block.body.txEffects[indexOfTxInABlock].noteHashes;
|
|
89
87
|
// Note: Each tx generates a `TxL2Logs` object and for this reason we can rely on its index corresponding
|
|
90
88
|
// to the index of a tx in a block.
|
|
@@ -97,7 +95,7 @@ export class NoteProcessor {
|
|
|
97
95
|
if (taggedNote?.notePayload) {
|
|
98
96
|
const { notePayload: payload } = taggedNote;
|
|
99
97
|
// We have successfully decrypted the data.
|
|
100
|
-
const txHash =
|
|
98
|
+
const txHash = block.body.txEffects[indexOfTxInABlock].txHash;
|
|
101
99
|
try {
|
|
102
100
|
const noteDao = await produceNoteDao(this.simulator, this.publicKey, payload, txHash, newNoteHashes, dataStartIndexForTx, excludedIndices);
|
|
103
101
|
noteDaos.push(noteDao);
|
|
@@ -120,15 +118,15 @@ export class NoteProcessor {
|
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
120
|
blocksAndNotes.push({
|
|
123
|
-
|
|
121
|
+
block: l2Blocks[blockIndex],
|
|
124
122
|
noteDaos,
|
|
125
123
|
});
|
|
126
124
|
}
|
|
127
125
|
await this.processBlocksAndNotes(blocksAndNotes);
|
|
128
126
|
await this.processDeferredNotes(deferredNoteDaos);
|
|
129
|
-
const syncedToBlock =
|
|
127
|
+
const syncedToBlock = l2Blocks[l2Blocks.length - 1].number;
|
|
130
128
|
await this.db.setSynchedBlockNumberForPublicKey(this.publicKey, syncedToBlock);
|
|
131
|
-
this.log(`Synched block ${syncedToBlock}`);
|
|
129
|
+
this.log.debug(`Synched block ${syncedToBlock}`);
|
|
132
130
|
}
|
|
133
131
|
/**
|
|
134
132
|
* Process the given blocks and their associated transaction auxiliary data.
|
|
@@ -137,20 +135,20 @@ export class NoteProcessor {
|
|
|
137
135
|
* transaction auxiliary data from the database. This function keeps track of new nullifiers
|
|
138
136
|
* and ensures all other transactions are updated with newly settled block information.
|
|
139
137
|
*
|
|
140
|
-
* @param blocksAndNotes - Array of objects containing
|
|
138
|
+
* @param blocksAndNotes - Array of objects containing L2 blocks, user-pertaining transaction indices, and NoteDaos.
|
|
141
139
|
*/
|
|
142
140
|
async processBlocksAndNotes(blocksAndNotes) {
|
|
143
141
|
const noteDaos = blocksAndNotes.flatMap(b => b.noteDaos);
|
|
144
142
|
if (noteDaos.length) {
|
|
145
143
|
await this.db.addNotes(noteDaos);
|
|
146
144
|
noteDaos.forEach(noteDao => {
|
|
147
|
-
this.log(`Added note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
145
|
+
this.log.verbose(`Added note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
148
146
|
});
|
|
149
147
|
}
|
|
150
|
-
const newNullifiers = blocksAndNotes.flatMap(b => b.
|
|
148
|
+
const newNullifiers = blocksAndNotes.flatMap(b => b.block.body.txEffects.flatMap(txEffect => txEffect.nullifiers));
|
|
151
149
|
const removedNotes = await this.db.removeNullifiedNotes(newNullifiers, this.publicKey);
|
|
152
150
|
removedNotes.forEach(noteDao => {
|
|
153
|
-
this.log(`Removed note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
151
|
+
this.log.verbose(`Removed note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
154
152
|
});
|
|
155
153
|
}
|
|
156
154
|
/**
|
|
@@ -162,7 +160,7 @@ export class NoteProcessor {
|
|
|
162
160
|
if (deferredNoteDaos.length) {
|
|
163
161
|
await this.db.addDeferredNotes(deferredNoteDaos);
|
|
164
162
|
deferredNoteDaos.forEach(noteDao => {
|
|
165
|
-
this.log(`Deferred note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} in tx ${noteDao.txHash.toString()}`);
|
|
163
|
+
this.log.verbose(`Deferred note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} in tx ${noteDao.txHash.toString()}`);
|
|
166
164
|
});
|
|
167
165
|
}
|
|
168
166
|
}
|
|
@@ -194,4 +192,4 @@ export class NoteProcessor {
|
|
|
194
192
|
return noteDaos;
|
|
195
193
|
}
|
|
196
194
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGFBQWEsRUFFYixVQUFVLEdBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBZ0J2RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQU94QjtJQUNFOztPQUVHO0lBQ2EsU0FBb0IsRUFDNUIsUUFBa0IsRUFDbEIsRUFBZSxFQUNmLElBQWUsRUFDZixnQkFBd0Isb0JBQW9CLEVBQzVDLFlBQVksZ0JBQWdCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsRUFDaEQsTUFBTSxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQztRQU52QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBK0I7UUFDNUMsY0FBUyxHQUFU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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,EAUL,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"pxe_http_server.d.ts","sourceRoot":"","sources":["../../src/pxe_http/pxe_http_server.ts"],"names":[],"mappings":";AAAA,OAAO,EAUL,KAAK,GAAG,EAQT,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,aAAa,EAAiC,MAAM,mCAAmC,CAAC;AAEjG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,aAAa,CAwBjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAStF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthWitness, CompleteAddress, EncryptedL2BlockL2Logs, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
1
|
+
import { AuthWitness, CompleteAddress, EncryptedL2BlockL2Logs, ExtendedNote, ExtendedUnencryptedL2Log, L2Block, LogId, Note, NullifierMembershipWitness, SimulatedTx, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
2
2
|
import { FunctionSelector } from '@aztec/circuits.js';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -27,7 +27,7 @@ export function createPXERpcServer(pxeService) {
|
|
|
27
27
|
L2Block,
|
|
28
28
|
TxEffect,
|
|
29
29
|
LogId,
|
|
30
|
-
}, { Tx, TxReceipt, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, NullifierMembershipWitness }, ['start', 'stop']);
|
|
30
|
+
}, { SimulatedTx, Tx, TxReceipt, EncryptedL2BlockL2Logs, UnencryptedL2BlockL2Logs, NullifierMembershipWitness }, ['start', 'stop']);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Creates an http server that forwards calls to the PXE and starts it on the given port.
|
|
@@ -43,4 +43,4 @@ export function startPXEHttpServer(pxeService, port) {
|
|
|
43
43
|
httpServer.listen(port);
|
|
44
44
|
return httpServer;
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX2h0dHBfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B4ZV9odHRwL3B4ZV9odHRwX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixPQUFPLEVBQ1AsS0FBSyxFQUNMLElBQUksRUFDSiwwQkFBMEIsRUFFMUIsV0FBVyxFQUNYLEVBQUUsRUFDRixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixTQUFTLEVBQ1Qsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakcsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCOzs7R0FHRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFlO0lBQ2hELE9BQU8sSUFBSSxhQUFhLENBQ3RCLFVBQVUsRUFDVjtRQUNFLGVBQWU7UUFDZixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixnQkFBZ0I7UUFDaEIsTUFBTTtRQUNOLFVBQVU7UUFDVixLQUFLO1FBQ0wsRUFBRTtRQUNGLGNBQWM7UUFDZCxJQUFJO1FBQ0osWUFBWTtRQUNaLFdBQVc7UUFDWCxPQUFPO1FBQ1AsUUFBUTtRQUNSLEtBQUs7S0FDTixFQUNELEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsRUFDNUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsVUFBZSxFQUFFLElBQXFCO0lBQ3ZFLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFeEIsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyJ9
|