@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _Synchronizer_instances, _Synchronizer_reprocessDeferredNotesForContract;
|
|
2
2
|
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
-
import {
|
|
3
|
+
import { L2BlockL2Logs, MerkleTreeId, } from '@aztec/circuit-types';
|
|
4
4
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
|
|
5
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
@@ -38,10 +38,10 @@ export class Synchronizer {
|
|
|
38
38
|
}
|
|
39
39
|
this.running = true;
|
|
40
40
|
await this.jobQueue.put(() => this.initialSync());
|
|
41
|
-
this.log('Initial sync complete');
|
|
41
|
+
this.log.info('Initial sync complete');
|
|
42
42
|
this.runningPromise = new RunningPromise(() => this.sync(limit), retryInterval);
|
|
43
43
|
this.runningPromise.start();
|
|
44
|
-
this.log('Started loop');
|
|
44
|
+
this.log.debug('Started loop');
|
|
45
45
|
}
|
|
46
46
|
async initialSync() {
|
|
47
47
|
// fast forward to the latest block
|
|
@@ -90,15 +90,13 @@ export class Synchronizer {
|
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
92
92
|
const encryptedLogs = blocks.flatMap(block => block.body.encryptedLogs);
|
|
93
|
-
// Wrap blocks in block contexts & only keep those that match our query
|
|
94
|
-
const blockContexts = blocks.filter(block => block.number >= from).map(block => new L2BlockContext(block));
|
|
95
93
|
// Update latest tree roots from the most recent block
|
|
96
|
-
const latestBlock =
|
|
94
|
+
const latestBlock = blocks[blocks.length - 1];
|
|
97
95
|
await this.setHeaderFromBlock(latestBlock);
|
|
98
96
|
const logCount = L2BlockL2Logs.getTotalLogCount(encryptedLogs);
|
|
99
|
-
this.log(`Forwarding ${logCount} encrypted logs and blocks to ${this.noteProcessors.length} note processors`);
|
|
97
|
+
this.log.debug(`Forwarding ${logCount} encrypted logs and blocks to ${this.noteProcessors.length} note processors`);
|
|
100
98
|
for (const noteProcessor of this.noteProcessors) {
|
|
101
|
-
await noteProcessor.process(
|
|
99
|
+
await noteProcessor.process(blocks, encryptedLogs);
|
|
102
100
|
}
|
|
103
101
|
return true;
|
|
104
102
|
}
|
|
@@ -157,23 +155,22 @@ export class Synchronizer {
|
|
|
157
155
|
throw new Error('No blocks in processor catch up mode');
|
|
158
156
|
}
|
|
159
157
|
const encryptedLogs = blocks.flatMap(block => block.body.encryptedLogs);
|
|
160
|
-
const blockContexts = blocks.map(block => new L2BlockContext(block));
|
|
161
158
|
const logCount = L2BlockL2Logs.getTotalLogCount(encryptedLogs);
|
|
162
|
-
this.log(`Forwarding ${logCount} encrypted logs and blocks to note processors in catch up mode`);
|
|
159
|
+
this.log.debug(`Forwarding ${logCount} encrypted logs and blocks to note processors in catch up mode`);
|
|
163
160
|
for (const noteProcessor of catchUpGroup) {
|
|
164
161
|
// find the index of the first block that the note processor is not yet synced to
|
|
165
|
-
const index =
|
|
162
|
+
const index = blocks.findIndex(block => block.number > noteProcessor.status.syncedToBlock);
|
|
166
163
|
if (index === -1) {
|
|
167
164
|
// Due to the limit, we might not have fetched a new enough block for the note processor.
|
|
168
165
|
// And since the group is sorted, we break as soon as we find a note processor
|
|
169
166
|
// that needs blocks newer than the newest block we fetched.
|
|
170
167
|
break;
|
|
171
168
|
}
|
|
172
|
-
this.log.debug(`Catching up note processor ${noteProcessor.publicKey.toString()} by processing ${
|
|
173
|
-
await noteProcessor.process(
|
|
169
|
+
this.log.debug(`Catching up note processor ${noteProcessor.publicKey.toString()} by processing ${blocks.length - index} blocks`);
|
|
170
|
+
await noteProcessor.process(blocks.slice(index), encryptedLogs.slice(index));
|
|
174
171
|
if (noteProcessor.status.syncedToBlock === toBlockNumber) {
|
|
175
172
|
// Note processor caught up, move it to `noteProcessors` from `noteProcessorsToCatchUp`.
|
|
176
|
-
this.log(`Note processor for ${noteProcessor.publicKey.toString()} has caught up`, {
|
|
173
|
+
this.log.debug(`Note processor for ${noteProcessor.publicKey.toString()} has caught up`, {
|
|
177
174
|
eventName: 'note-processor-caught-up',
|
|
178
175
|
publicKey: noteProcessor.publicKey.toString(),
|
|
179
176
|
duration: noteProcessor.timer.ms(),
|
|
@@ -192,11 +189,10 @@ export class Synchronizer {
|
|
|
192
189
|
}
|
|
193
190
|
}
|
|
194
191
|
async setHeaderFromBlock(latestBlock) {
|
|
195
|
-
|
|
196
|
-
if (block.number < this.initialSyncBlockNumber) {
|
|
192
|
+
if (latestBlock.number < this.initialSyncBlockNumber) {
|
|
197
193
|
return;
|
|
198
194
|
}
|
|
199
|
-
await this.db.setHeader(
|
|
195
|
+
await this.db.setHeader(latestBlock.header);
|
|
200
196
|
}
|
|
201
197
|
/**
|
|
202
198
|
* Stops the synchronizer gracefully, interrupting any ongoing sleep and waiting for the current
|
|
@@ -208,7 +204,7 @@ export class Synchronizer {
|
|
|
208
204
|
async stop() {
|
|
209
205
|
this.running = false;
|
|
210
206
|
await this.runningPromise?.stop();
|
|
211
|
-
this.log('Stopped');
|
|
207
|
+
this.log.info('Stopped');
|
|
212
208
|
}
|
|
213
209
|
/**
|
|
214
210
|
* Add a new account to the Synchronizer with the specified private key.
|
|
@@ -303,7 +299,7 @@ _Synchronizer_instances = new WeakSet(), _Synchronizer_reprocessDeferredNotesFor
|
|
|
303
299
|
await this.db.removeDeferredNotesByContract(contractAddress);
|
|
304
300
|
await this.db.addNotes(newNotes);
|
|
305
301
|
newNotes.forEach(noteDao => {
|
|
306
|
-
this.log(`Decoded deferred note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
302
|
+
this.log.debug(`Decoded deferred note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
|
|
307
303
|
});
|
|
308
304
|
// now group the decoded notes by public key
|
|
309
305
|
const publicKeyToNotes = new Map();
|
|
@@ -326,4 +322,4 @@ _Synchronizer_instances = new WeakSet(), _Synchronizer_reprocessDeferredNotesFor
|
|
|
326
322
|
await this.db.removeNullifiedNotes(relevantNullifiers, publicKey);
|
|
327
323
|
}
|
|
328
324
|
};
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEdBRWIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQThCLG9CQUFvQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRXRHLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFLbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBUXZCLFlBQW9CLElBQWUsRUFBVSxFQUFlLEVBQVUsUUFBcUIsRUFBRSxTQUFTLEdBQUcsRUFBRTs7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTm5GLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLDJCQUFzQixHQUFHLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUVsRCw0QkFBdUIsR0FBb0IsRUFBRSxDQUFDO1FBR3BELElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsYUFBYSxHQUFHLElBQUk7UUFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFD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
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsYUFBYSxFQUNiLFlBQVksR0FFYixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBOEIsb0JBQW9CLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFFdEcsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUtuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0Q7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFRdkIsWUFBb0IsSUFBZSxFQUFVLEVBQWUsRUFBVSxRQUFxQixFQUFFLFNBQVMsR0FBRyxFQUFFOztRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWE7UUFObkYsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsMkJBQXNCLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBRWxELDRCQUF1QixHQUFvQixFQUFFLENBQUM7UUFHcEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxhQUFhLEdBQUcsSUFBSTtRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"bin": "./dest/bin/index.js",
|
|
@@ -17,33 +17,40 @@
|
|
|
17
17
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
18
18
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
19
19
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
20
|
-
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules
|
|
20
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests",
|
|
21
21
|
"start": "DEBUG='aztec:*' && node ./dest/bin/index.js"
|
|
22
22
|
},
|
|
23
23
|
"inherits": [
|
|
24
24
|
"../package.common.json"
|
|
25
25
|
],
|
|
26
26
|
"jest": {
|
|
27
|
-
"preset": "ts-jest/presets/default-esm",
|
|
28
27
|
"moduleNameMapper": {
|
|
29
28
|
"^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
|
|
30
29
|
},
|
|
31
30
|
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
32
31
|
"rootDir": "./src",
|
|
33
|
-
"workerThreads": true
|
|
32
|
+
"workerThreads": true,
|
|
33
|
+
"transform": {
|
|
34
|
+
"^.+\\.tsx?$": [
|
|
35
|
+
"@swc/jest"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"extensionsToTreatAsEsm": [
|
|
39
|
+
".ts"
|
|
40
|
+
]
|
|
34
41
|
},
|
|
35
42
|
"dependencies": {
|
|
36
|
-
"@aztec/circuit-types": "0.
|
|
37
|
-
"@aztec/circuits.js": "0.
|
|
38
|
-
"@aztec/ethereum": "0.
|
|
39
|
-
"@aztec/foundation": "0.
|
|
40
|
-
"@aztec/key-store": "0.
|
|
41
|
-
"@aztec/kv-store": "0.
|
|
42
|
-
"@aztec/noir-compiler": "0.
|
|
43
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
44
|
-
"@aztec/protocol-contracts": "0.
|
|
45
|
-
"@aztec/simulator": "0.
|
|
46
|
-
"@aztec/types": "0.
|
|
43
|
+
"@aztec/circuit-types": "0.34.0",
|
|
44
|
+
"@aztec/circuits.js": "0.34.0",
|
|
45
|
+
"@aztec/ethereum": "0.34.0",
|
|
46
|
+
"@aztec/foundation": "0.34.0",
|
|
47
|
+
"@aztec/key-store": "0.34.0",
|
|
48
|
+
"@aztec/kv-store": "0.34.0",
|
|
49
|
+
"@aztec/noir-compiler": "0.34.0",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "0.34.0",
|
|
51
|
+
"@aztec/protocol-contracts": "0.34.0",
|
|
52
|
+
"@aztec/simulator": "0.34.0",
|
|
53
|
+
"@aztec/types": "0.34.0",
|
|
47
54
|
"koa": "^2.14.2",
|
|
48
55
|
"koa-router": "^12.0.0",
|
|
49
56
|
"lodash.omit": "^4.5.0",
|
|
@@ -59,7 +66,6 @@
|
|
|
59
66
|
"@types/node": "^18.7.23",
|
|
60
67
|
"jest": "^29.5.0",
|
|
61
68
|
"jest-mock-extended": "^3.0.3",
|
|
62
|
-
"ts-jest": "^29.1.0",
|
|
63
69
|
"ts-node": "^10.9.1",
|
|
64
70
|
"typescript": "^5.0.4"
|
|
65
71
|
},
|
|
@@ -397,7 +397,7 @@ export class KVPxeDatabase implements PxeDatabase {
|
|
|
397
397
|
return this.#syncedBlockPerPublicKey.get(publicKey.toString());
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
-
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<
|
|
400
|
+
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<void> {
|
|
401
401
|
return this.#syncedBlockPerPublicKey.set(publicKey.toString(), blockNumber);
|
|
402
402
|
}
|
|
403
403
|
|
|
@@ -150,7 +150,7 @@ export interface PxeDatabase extends ContractArtifactDatabase, ContractInstanceD
|
|
|
150
150
|
* @param publicKey - The public key to set the synched block number for.
|
|
151
151
|
* @param blockNumber - The block number to set.
|
|
152
152
|
*/
|
|
153
|
-
setSynchedBlockNumberForPublicKey(publicKey: PublicKey, blockNumber: number): Promise<
|
|
153
|
+
setSynchedBlockNumberForPublicKey(publicKey: PublicKey, blockNumber: number): Promise<void>;
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* Get the synched block number for a given public key.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
type AztecAddress,
|
|
3
2
|
CallRequest,
|
|
4
3
|
Fr,
|
|
5
4
|
type MAX_NEW_NOTE_HASHES_PER_TX,
|
|
@@ -9,10 +8,10 @@ import {
|
|
|
9
8
|
MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,
|
|
10
9
|
NoteHashReadRequestMembershipWitness,
|
|
11
10
|
PrivateCallData,
|
|
11
|
+
PrivateKernelCircuitPublicInputs,
|
|
12
|
+
PrivateKernelData,
|
|
12
13
|
PrivateKernelInitCircuitPrivateInputs,
|
|
13
14
|
PrivateKernelInnerCircuitPrivateInputs,
|
|
14
|
-
PrivateKernelInnerCircuitPublicInputs,
|
|
15
|
-
PrivateKernelInnerData,
|
|
16
15
|
PrivateKernelTailCircuitPrivateInputs,
|
|
17
16
|
type SideEffect,
|
|
18
17
|
type SideEffectLinkedToNoteHash,
|
|
@@ -26,43 +25,12 @@ import { padArrayEnd } from '@aztec/foundation/collection';
|
|
|
26
25
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
27
26
|
import { assertLength, mapTuple } from '@aztec/foundation/serialize';
|
|
28
27
|
import { pushTestData } from '@aztec/foundation/testing';
|
|
29
|
-
import { type ExecutionResult
|
|
28
|
+
import { type ExecutionResult } from '@aztec/simulator';
|
|
30
29
|
|
|
31
30
|
import { HintsBuilder } from './hints_builder.js';
|
|
32
31
|
import { KernelProofCreator, type ProofCreator, type ProofOutput, type ProofOutputFinal } from './proof_creator.js';
|
|
33
32
|
import { type ProvingDataOracle } from './proving_data_oracle.js';
|
|
34
33
|
|
|
35
|
-
/**
|
|
36
|
-
* Represents an output note data object.
|
|
37
|
-
* Contains the contract address, new note data and commitment for the note,
|
|
38
|
-
* resulting from the execution of a transaction in the Aztec network.
|
|
39
|
-
*/
|
|
40
|
-
export interface OutputNoteData {
|
|
41
|
-
/**
|
|
42
|
-
* The address of the contract the note was created in.
|
|
43
|
-
*/
|
|
44
|
-
contractAddress: AztecAddress;
|
|
45
|
-
/**
|
|
46
|
-
* The encrypted note data for an output note.
|
|
47
|
-
*/
|
|
48
|
-
data: NoteAndSlot;
|
|
49
|
-
/**
|
|
50
|
-
* The unique value representing the note.
|
|
51
|
-
*/
|
|
52
|
-
commitment: Fr;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Represents the output data of the Kernel Prover.
|
|
57
|
-
* Provides information about the newly created notes, along with the public inputs and proof.
|
|
58
|
-
*/
|
|
59
|
-
export interface KernelProverOutput extends ProofOutputFinal {
|
|
60
|
-
/**
|
|
61
|
-
* An array of output notes containing the contract address, note data, and commitment for each new note.
|
|
62
|
-
*/
|
|
63
|
-
outputNotes: OutputNoteData[];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
34
|
/**
|
|
67
35
|
* The KernelProver class is responsible for generating kernel proofs.
|
|
68
36
|
* It takes a transaction request, its signature, and the simulation result as inputs, and outputs a proof
|
|
@@ -87,14 +55,13 @@ export class KernelProver {
|
|
|
87
55
|
* @param executionResult - The execution result object containing nested executions and preimages.
|
|
88
56
|
* @returns A Promise that resolves to a KernelProverOutput object containing proof, public inputs, and output notes.
|
|
89
57
|
*/
|
|
90
|
-
async prove(txRequest: TxRequest, executionResult: ExecutionResult): Promise<
|
|
58
|
+
async prove(txRequest: TxRequest, executionResult: ExecutionResult): Promise<ProofOutputFinal> {
|
|
91
59
|
const executionStack = [executionResult];
|
|
92
|
-
const newNotes: { [commitmentStr: string]: OutputNoteData } = {};
|
|
93
60
|
let firstIteration = true;
|
|
94
61
|
let previousVerificationKey = VerificationKey.makeFake();
|
|
95
62
|
|
|
96
63
|
let output: ProofOutput = {
|
|
97
|
-
publicInputs:
|
|
64
|
+
publicInputs: PrivateKernelCircuitPublicInputs.empty(),
|
|
98
65
|
proof: makeEmptyProof(),
|
|
99
66
|
};
|
|
100
67
|
|
|
@@ -147,7 +114,7 @@ export class KernelProver {
|
|
|
147
114
|
output = await this.proofCreator.createProofInit(proofInput);
|
|
148
115
|
} else {
|
|
149
116
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
150
|
-
const previousKernelData = new
|
|
117
|
+
const previousKernelData = new PrivateKernelData(
|
|
151
118
|
output.publicInputs,
|
|
152
119
|
output.proof,
|
|
153
120
|
previousVerificationKey,
|
|
@@ -158,15 +125,12 @@ export class KernelProver {
|
|
|
158
125
|
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
159
126
|
output = await this.proofCreator.createProofInner(proofInput);
|
|
160
127
|
}
|
|
161
|
-
(await this.getNewNotes(currentExecution)).forEach(n => {
|
|
162
|
-
newNotes[n.commitment.toString()] = n;
|
|
163
|
-
});
|
|
164
128
|
firstIteration = false;
|
|
165
129
|
previousVerificationKey = privateCallData.vk;
|
|
166
130
|
}
|
|
167
131
|
|
|
168
132
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(previousVerificationKey);
|
|
169
|
-
const previousKernelData = new
|
|
133
|
+
const previousKernelData = new PrivateKernelData(
|
|
170
134
|
output.publicInputs,
|
|
171
135
|
output.proof,
|
|
172
136
|
previousVerificationKey,
|
|
@@ -174,6 +138,20 @@ export class KernelProver {
|
|
|
174
138
|
assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
|
|
175
139
|
);
|
|
176
140
|
|
|
141
|
+
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(
|
|
142
|
+
output.publicInputs.validationRequests.noteHashReadRequests,
|
|
143
|
+
output.publicInputs.end.newNoteHashes,
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(
|
|
147
|
+
output.publicInputs.validationRequests.nullifierReadRequests,
|
|
148
|
+
output.publicInputs.end.newNullifiers,
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(
|
|
152
|
+
output.publicInputs.validationRequests.nullifierKeyValidationRequests,
|
|
153
|
+
);
|
|
154
|
+
|
|
177
155
|
const [sortedNoteHashes, sortedNoteHashesIndexes] = this.hintsBuilder.sortSideEffects<
|
|
178
156
|
SideEffect,
|
|
179
157
|
typeof MAX_NEW_NOTE_HASHES_PER_TX
|
|
@@ -184,25 +162,11 @@ export class KernelProver {
|
|
|
184
162
|
typeof MAX_NEW_NULLIFIERS_PER_TX
|
|
185
163
|
>(output.publicInputs.end.newNullifiers);
|
|
186
164
|
|
|
187
|
-
const readNoteHashHints = this.hintsBuilder.getNoteHashReadRequestHints(
|
|
188
|
-
output.publicInputs.validationRequests.noteHashReadRequests,
|
|
189
|
-
sortedNoteHashes,
|
|
190
|
-
);
|
|
191
|
-
|
|
192
|
-
const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(
|
|
193
|
-
output.publicInputs.validationRequests.nullifierReadRequests,
|
|
194
|
-
output.publicInputs.end.newNullifiers,
|
|
195
|
-
);
|
|
196
|
-
|
|
197
165
|
const nullifierNoteHashHints = this.hintsBuilder.getNullifierHints(
|
|
198
166
|
mapTuple(sortedNullifiers, n => n.noteHash),
|
|
199
167
|
sortedNoteHashes,
|
|
200
168
|
);
|
|
201
169
|
|
|
202
|
-
const masterNullifierSecretKeys = await this.hintsBuilder.getMasterNullifierSecretKeys(
|
|
203
|
-
output.publicInputs.validationRequests.nullifierKeyValidationRequests,
|
|
204
|
-
);
|
|
205
|
-
|
|
206
170
|
this.log.debug(
|
|
207
171
|
`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`,
|
|
208
172
|
);
|
|
@@ -219,13 +183,7 @@ export class KernelProver {
|
|
|
219
183
|
masterNullifierSecretKeys,
|
|
220
184
|
);
|
|
221
185
|
pushTestData('private-kernel-inputs-ordering', privateInputs);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
// Only return the notes whose commitment is in the commitments of the final proof.
|
|
225
|
-
const finalNewCommitments = outputFinal.publicInputs.end.newNoteHashes;
|
|
226
|
-
const outputNotes = finalNewCommitments.map(c => newNotes[c.value.toString()]).filter(c => !!c);
|
|
227
|
-
|
|
228
|
-
return { ...outputFinal, outputNotes };
|
|
186
|
+
return await this.proofCreator.createProofTail(privateInputs);
|
|
229
187
|
}
|
|
230
188
|
|
|
231
189
|
private async createPrivateCallData(
|
|
@@ -282,28 +240,4 @@ export class KernelProver {
|
|
|
282
240
|
acirHash,
|
|
283
241
|
});
|
|
284
242
|
}
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Retrieves the new output notes for a given execution result.
|
|
288
|
-
* The function maps over the new notes and associates them with their corresponding
|
|
289
|
-
* commitments in the public inputs of the execution result. It also includes the contract address
|
|
290
|
-
* from the call context of the public inputs.
|
|
291
|
-
*
|
|
292
|
-
* @param executionResult - The execution result object containing notes and public inputs.
|
|
293
|
-
* @returns An array of OutputNoteData objects, each representing an output note with its associated data.
|
|
294
|
-
*/
|
|
295
|
-
private async getNewNotes(executionResult: ExecutionResult): Promise<OutputNoteData[]> {
|
|
296
|
-
const {
|
|
297
|
-
callStackItem: { publicInputs },
|
|
298
|
-
newNotes,
|
|
299
|
-
} = executionResult;
|
|
300
|
-
const contractAddress = publicInputs.callContext.storageContractAddress;
|
|
301
|
-
// Assuming that for each new commitment there's an output note added to the execution result.
|
|
302
|
-
const newNoteHashes = await this.proofCreator.getSiloedCommitments(publicInputs);
|
|
303
|
-
return newNotes.map((data, i) => ({
|
|
304
|
-
contractAddress,
|
|
305
|
-
data,
|
|
306
|
-
commitment: newNoteHashes[i],
|
|
307
|
-
}));
|
|
308
|
-
}
|
|
309
243
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type CircuitSimulationStats } from '@aztec/circuit-types/stats';
|
|
2
2
|
import {
|
|
3
3
|
type PrivateCircuitPublicInputs,
|
|
4
|
+
type PrivateKernelCircuitPublicInputs,
|
|
4
5
|
type PrivateKernelInitCircuitPrivateInputs,
|
|
5
6
|
type PrivateKernelInnerCircuitPrivateInputs,
|
|
6
|
-
type PrivateKernelInnerCircuitPublicInputs,
|
|
7
7
|
type PrivateKernelTailCircuitPrivateInputs,
|
|
8
8
|
type PrivateKernelTailCircuitPublicInputs,
|
|
9
9
|
type Proof,
|
|
@@ -13,7 +13,7 @@ import { siloNoteHash } from '@aztec/circuits.js/hash';
|
|
|
13
13
|
import { type Fr } from '@aztec/foundation/fields';
|
|
14
14
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
15
15
|
import { elapsed } from '@aztec/foundation/timer';
|
|
16
|
-
import { executeInit, executeInner, executeTail } from '@aztec/noir-protocol-circuits-types';
|
|
16
|
+
import { executeInit, executeInner, executeTail, executeTailForPublic } from '@aztec/noir-protocol-circuits-types';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Represents the output of the proof creation process for init and inner private kernel circuit.
|
|
@@ -23,7 +23,7 @@ export interface ProofOutput {
|
|
|
23
23
|
/**
|
|
24
24
|
* The public inputs required for the proof generation process.
|
|
25
25
|
*/
|
|
26
|
-
publicInputs:
|
|
26
|
+
publicInputs: PrivateKernelCircuitPublicInputs;
|
|
27
27
|
/**
|
|
28
28
|
* The zk-SNARK proof for the kernel execution.
|
|
29
29
|
*/
|
|
@@ -103,14 +103,13 @@ export class KernelProofCreator implements ProofCreator {
|
|
|
103
103
|
|
|
104
104
|
public async createProofInit(privateInputs: PrivateKernelInitCircuitPrivateInputs): Promise<ProofOutput> {
|
|
105
105
|
const [duration, result] = await elapsed(() => executeInit(privateInputs));
|
|
106
|
-
this.log(`Simulated private kernel init`, {
|
|
106
|
+
this.log.debug(`Simulated private kernel init`, {
|
|
107
107
|
eventName: 'circuit-simulation',
|
|
108
108
|
circuitName: 'private-kernel-init',
|
|
109
109
|
duration,
|
|
110
110
|
inputSize: privateInputs.toBuffer().length,
|
|
111
111
|
outputSize: result.toBuffer().length,
|
|
112
112
|
} satisfies CircuitSimulationStats);
|
|
113
|
-
this.log('Skipping private kernel init proving...');
|
|
114
113
|
const proof = makeEmptyProof();
|
|
115
114
|
|
|
116
115
|
return {
|
|
@@ -121,14 +120,13 @@ export class KernelProofCreator implements ProofCreator {
|
|
|
121
120
|
|
|
122
121
|
public async createProofInner(privateInputs: PrivateKernelInnerCircuitPrivateInputs): Promise<ProofOutput> {
|
|
123
122
|
const [duration, result] = await elapsed(() => executeInner(privateInputs));
|
|
124
|
-
this.log(`Simulated private kernel inner`, {
|
|
123
|
+
this.log.debug(`Simulated private kernel inner`, {
|
|
125
124
|
eventName: 'circuit-simulation',
|
|
126
125
|
circuitName: 'private-kernel-inner',
|
|
127
126
|
duration,
|
|
128
127
|
inputSize: privateInputs.toBuffer().length,
|
|
129
128
|
outputSize: result.toBuffer().length,
|
|
130
129
|
} satisfies CircuitSimulationStats);
|
|
131
|
-
this.log('Skipping private kernel inner proving...');
|
|
132
130
|
const proof = makeEmptyProof();
|
|
133
131
|
|
|
134
132
|
return {
|
|
@@ -138,15 +136,17 @@ export class KernelProofCreator implements ProofCreator {
|
|
|
138
136
|
}
|
|
139
137
|
|
|
140
138
|
public async createProofTail(privateInputs: PrivateKernelTailCircuitPrivateInputs): Promise<ProofOutputFinal> {
|
|
141
|
-
const
|
|
142
|
-
|
|
139
|
+
const isForPublic = privateInputs.isForPublic();
|
|
140
|
+
const [duration, result] = await elapsed(() =>
|
|
141
|
+
isForPublic ? executeTailForPublic(privateInputs) : executeTail(privateInputs),
|
|
142
|
+
);
|
|
143
|
+
this.log.debug(`Simulated private kernel ordering`, {
|
|
143
144
|
eventName: 'circuit-simulation',
|
|
144
145
|
circuitName: 'private-kernel-ordering',
|
|
145
146
|
duration,
|
|
146
147
|
inputSize: privateInputs.toBuffer().length,
|
|
147
148
|
outputSize: result.toBuffer().length,
|
|
148
149
|
} satisfies CircuitSimulationStats);
|
|
149
|
-
this.log('Skipping private kernel ordering proving...');
|
|
150
150
|
const proof = makeEmptyProof();
|
|
151
151
|
|
|
152
152
|
return {
|