@aztec/pxe 0.41.0 → 0.42.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/config/index.d.ts.map +1 -1
- package/dest/config/index.js +5 -2
- package/dest/contract_data_oracle/index.d.ts +1 -0
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +7 -1
- package/dest/contract_data_oracle/private_functions_tree.d.ts.map +1 -1
- package/dest/contract_data_oracle/private_functions_tree.js +2 -2
- package/dest/kernel_oracle/index.d.ts +3 -3
- package/dest/kernel_oracle/index.d.ts.map +1 -1
- package/dest/kernel_oracle/index.js +6 -17
- package/dest/kernel_prover/kernel_prover.d.ts +3 -0
- package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.js +44 -8
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.d.ts +2 -1
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.js +32 -12
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_outputs.d.ts +1 -1
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_outputs.d.ts.map +1 -1
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_reset_outputs.js +9 -7
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_tail_hints.d.ts.map +1 -1
- package/dest/kernel_prover/private_inputs_builders/build_private_kernel_tail_hints.js +7 -3
- package/dest/kernel_prover/proving_data_oracle.d.ts +6 -6
- package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
- package/dest/note_processor/note_processor.d.ts +2 -2
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +1 -1
- package/dest/pxe_http/pxe_http_server.js +3 -3
- package/dest/pxe_service/create_pxe_service.js +2 -2
- package/dest/pxe_service/pxe_service.d.ts +6 -3
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +37 -63
- package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
- package/dest/pxe_service/test/pxe_test_suite.js +3 -16
- package/dest/simulator_oracle/index.d.ts +1 -0
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +4 -1
- package/dest/synchronizer/synchronizer.d.ts +7 -0
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +9 -1
- package/package.json +14 -14
- package/src/config/index.ts +11 -1
- package/src/contract_data_oracle/index.ts +7 -0
- package/src/contract_data_oracle/private_functions_tree.ts +3 -1
- package/src/kernel_oracle/index.ts +4 -17
- package/src/kernel_prover/kernel_prover.ts +76 -16
- package/src/kernel_prover/private_inputs_builders/build_private_kernel_reset_hints.ts +79 -8
- package/src/kernel_prover/private_inputs_builders/build_private_kernel_reset_outputs.ts +9 -5
- package/src/kernel_prover/private_inputs_builders/build_private_kernel_tail_hints.ts +13 -1
- package/src/kernel_prover/proving_data_oracle.ts +5 -6
- package/src/note_processor/note_processor.ts +2 -2
- package/src/pxe_http/pxe_http_server.ts +2 -2
- package/src/pxe_service/create_pxe_service.ts +1 -1
- package/src/pxe_service/pxe_service.ts +42 -109
- package/src/pxe_service/test/pxe_test_suite.ts +0 -20
- package/src/simulator_oracle/index.ts +4 -0
- package/src/synchronizer/synchronizer.ts +9 -0
|
@@ -167,5 +167,8 @@ export class SimulatorOracle {
|
|
|
167
167
|
async getBlockNumber() {
|
|
168
168
|
return await this.aztecNode.getBlockNumber();
|
|
169
169
|
}
|
|
170
|
+
getDebugFunctionName(contractAddress, selector) {
|
|
171
|
+
return this.contractDataOracle.getDebugFunctionName(contractAddress, selector);
|
|
172
|
+
}
|
|
170
173
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9yX29yYWNsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsWUFBWSxHQUtiLE1BQU0sc0JBQXNCLENBQUM7QUFVOUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUF5QixtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU0xRTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ1Usa0JBQXNDLEVBQ3RDLEVBQWUsRUFDZixRQUFrQixFQUNsQixTQUFvQixFQUNwQixNQUFNLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDO1FBSnJELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixRQUFHLEdBQUgsR0FBRyxDQUFrRDtJQUM1RCxDQUFDO0lBRUosdUJBQXVCLENBQUMsT0FBVyxFQUFFLGVBQTZCO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFxQjtRQUM1QyxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0NBQXdDLE9BQU87eVNB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
|
|
@@ -106,6 +106,13 @@ export declare class Synchronizer {
|
|
|
106
106
|
[k: string]: number;
|
|
107
107
|
};
|
|
108
108
|
};
|
|
109
|
+
/**
|
|
110
|
+
* Returns the note processor stats.
|
|
111
|
+
* @returns The note processor stats for notes for each public key being tracked.
|
|
112
|
+
*/
|
|
113
|
+
getSyncStats(): {
|
|
114
|
+
[k: string]: import("@aztec/circuit-types/stats").NoteProcessorStats;
|
|
115
|
+
};
|
|
109
116
|
/**
|
|
110
117
|
* Retry decoding any deferred notes for the specified contract address.
|
|
111
118
|
* @param contractAddress - the contract address that has just been added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA0D,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,KAAK,YAAY,EAAiC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;;;;;GAMG;AACH,qBAAa,YAAY;;IAQX,OAAO,CAAC,IAAI;IAAa,OAAO,CAAC,EAAE;IAAe,OAAO,CAAC,QAAQ;IAP9E,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,uBAAuB,CAAuB;gBAElC,IAAI,EAAE,SAAS,EAAU,EAAE,EAAE,WAAW,EAAU,QAAQ,EAAE,WAAW,EAAE,SAAS,SAAK;IAI3G;;;;;;;OAOG;IACU,KAAK,CAAC,KAAK,SAAI,EAAE,aAAa,SAAO;cAalC,WAAW;IAO3B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;IAgB5B;;;;;OAKG;cACa,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA0D,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,KAAK,YAAY,EAAiC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;;;;;GAMG;AACH,qBAAa,YAAY;;IAQX,OAAO,CAAC,IAAI;IAAa,OAAO,CAAC,EAAE;IAAe,OAAO,CAAC,QAAQ;IAP9E,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,uBAAuB,CAAuB;gBAElC,IAAI,EAAE,SAAS,EAAU,EAAE,EAAE,WAAW,EAAU,QAAQ,EAAE,WAAW,EAAE,SAAS,SAAK;IAI3G;;;;;;;OAOG;IACU,KAAK,CAAC,KAAK,SAAI,EAAE,aAAa,SAAO;cAalC,WAAW;IAO3B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;IAgB5B;;;;;OAKG;cACa,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BjD;;;;;;OAMG;cACa,wBAAwB,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YAmGvD,kBAAkB;IAQhC;;;;;;OAMG;IACU,IAAI;IAMjB;;;;;;;;;OASG;IACI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM;IAUjF;;;;;;;OAOG;IACU,0BAA0B,CAAC,OAAO,EAAE,YAAY;IAgB7D,OAAO,CAAC,qBAAqB;IAI7B;;;;;OAKG;IACU,yBAAyB;IAKtC;;;OAGG;IACI,aAAa;;;;;;IAUpB;;;OAGG;IACI,YAAY;;;IAInB;;;OAGG;IACI,iCAAiC,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CA8DvF"}
|
|
@@ -96,6 +96,7 @@ export class Synchronizer {
|
|
|
96
96
|
const logCount = L2BlockL2Logs.getTotalLogCount(noteEncryptedLogs);
|
|
97
97
|
this.log.debug(`Forwarding ${logCount} encrypted logs and blocks to ${this.noteProcessors.length} note processors`);
|
|
98
98
|
for (const noteProcessor of this.noteProcessors) {
|
|
99
|
+
// TODO(#6830): pass in only the blocks
|
|
99
100
|
await noteProcessor.process(blocks, noteEncryptedLogs);
|
|
100
101
|
}
|
|
101
102
|
return true;
|
|
@@ -268,6 +269,13 @@ export class Synchronizer {
|
|
|
268
269
|
notes: Object.fromEntries(this.noteProcessors.map(n => [n.masterIncomingViewingPublicKey.toString(), n.status.syncedToBlock])),
|
|
269
270
|
};
|
|
270
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Returns the note processor stats.
|
|
274
|
+
* @returns The note processor stats for notes for each public key being tracked.
|
|
275
|
+
*/
|
|
276
|
+
getSyncStats() {
|
|
277
|
+
return Object.fromEntries(this.noteProcessors.map(n => [n.masterIncomingViewingPublicKey.toString(), n.stats]));
|
|
278
|
+
}
|
|
271
279
|
/**
|
|
272
280
|
* Retry decoding any deferred notes for the specified contract address.
|
|
273
281
|
* @param contractAddress - the contract address that has just been added
|
|
@@ -322,4 +330,4 @@ _Synchronizer_instances = new WeakSet(), _Synchronizer_reprocessDeferredNotesFor
|
|
|
322
330
|
await this.db.removeNullifiedNotes(relevantNullifiers, publicKey);
|
|
323
331
|
}
|
|
324
332
|
};
|
|
325
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdDLGFBQWEsRUFBRSxZQUFZLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RyxPQUFPLEVBQThCLG9CQUFvQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRXRHLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFNbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBUXZCLFlBQW9CLElBQWUsRUFBVSxFQUFlLEVBQVUsUUFBcUIsRUFBRSxTQUFTLEdBQUcsRUFBRTs7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTm5GLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLDJCQUFzQixHQUFHLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUVsRCw0QkFBdUIsR0FBb0IsRUFBRSxDQUFDO1FBR3BELElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsYUFBYSxHQUFHLElBQUk7UUFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTztR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
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWdDLGFBQWEsRUFBRSxZQUFZLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RyxPQUFPLEVBQThCLG9CQUFvQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRXRHLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFNbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBUXZCLFlBQW9CLElBQWUsRUFBVSxFQUFlLEVBQVUsUUFBcUIsRUFBRSxTQUFTLEdBQUcsRUFBRTs7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBTm5GLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLDJCQUFzQixHQUFHLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUVsRCw0QkFBdUIsR0FBb0IsRUFBRSxDQUFDO1FBR3BELElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsYUFBYSxHQUFHLElBQUk7UUFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTztR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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.42.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"bin": "./dest/bin/index.js",
|
|
@@ -48,19 +48,19 @@
|
|
|
48
48
|
]
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aztec/bb-prover": "0.
|
|
52
|
-
"@aztec/bb.js": "0.
|
|
53
|
-
"@aztec/builder": "0.
|
|
54
|
-
"@aztec/circuit-types": "0.
|
|
55
|
-
"@aztec/circuits.js": "0.
|
|
56
|
-
"@aztec/ethereum": "0.
|
|
57
|
-
"@aztec/foundation": "0.
|
|
58
|
-
"@aztec/key-store": "0.
|
|
59
|
-
"@aztec/kv-store": "0.
|
|
60
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
61
|
-
"@aztec/protocol-contracts": "0.
|
|
62
|
-
"@aztec/simulator": "0.
|
|
63
|
-
"@aztec/types": "0.
|
|
51
|
+
"@aztec/bb-prover": "0.42.0",
|
|
52
|
+
"@aztec/bb.js": "0.42.0",
|
|
53
|
+
"@aztec/builder": "0.42.0",
|
|
54
|
+
"@aztec/circuit-types": "0.42.0",
|
|
55
|
+
"@aztec/circuits.js": "0.42.0",
|
|
56
|
+
"@aztec/ethereum": "0.42.0",
|
|
57
|
+
"@aztec/foundation": "0.42.0",
|
|
58
|
+
"@aztec/key-store": "0.42.0",
|
|
59
|
+
"@aztec/kv-store": "0.42.0",
|
|
60
|
+
"@aztec/noir-protocol-circuits-types": "0.42.0",
|
|
61
|
+
"@aztec/protocol-contracts": "0.42.0",
|
|
62
|
+
"@aztec/simulator": "0.42.0",
|
|
63
|
+
"@aztec/types": "0.42.0",
|
|
64
64
|
"@noir-lang/noirc_abi": "portal:../../noir/packages/noirc_abi",
|
|
65
65
|
"koa": "^2.14.2",
|
|
66
66
|
"koa-router": "^12.0.0",
|
package/src/config/index.ts
CHANGED
|
@@ -37,12 +37,22 @@ export type PXEServiceConfig = PXEConfig & KernelProverConfig & BBProverConfig;
|
|
|
37
37
|
* Creates an instance of PXEServiceConfig out of environment variables using sensible defaults for integration testing if not set.
|
|
38
38
|
*/
|
|
39
39
|
export function getPXEServiceConfig(): PXEServiceConfig {
|
|
40
|
-
const {
|
|
40
|
+
const {
|
|
41
|
+
PXE_BLOCK_POLLING_INTERVAL_MS,
|
|
42
|
+
PXE_L2_STARTING_BLOCK,
|
|
43
|
+
PXE_DATA_DIRECTORY,
|
|
44
|
+
BB_BINARY_PATH,
|
|
45
|
+
BB_WORKING_DIRECTORY,
|
|
46
|
+
PXE_PROVER_ENABLED,
|
|
47
|
+
} = process.env;
|
|
41
48
|
|
|
42
49
|
return {
|
|
43
50
|
l2BlockPollingIntervalMS: PXE_BLOCK_POLLING_INTERVAL_MS ? +PXE_BLOCK_POLLING_INTERVAL_MS : 1000,
|
|
44
51
|
l2StartingBlock: PXE_L2_STARTING_BLOCK ? +PXE_L2_STARTING_BLOCK : INITIAL_L2_BLOCK_NUM,
|
|
45
52
|
dataDirectory: PXE_DATA_DIRECTORY,
|
|
53
|
+
bbBinaryPath: BB_BINARY_PATH,
|
|
54
|
+
bbWorkingDirectory: BB_WORKING_DIRECTORY,
|
|
55
|
+
proverEnabled: ['1', 'true'].includes(PXE_PROVER_ENABLED!),
|
|
46
56
|
};
|
|
47
57
|
}
|
|
48
58
|
|
|
@@ -145,6 +145,13 @@ export class ContractDataOracle {
|
|
|
145
145
|
return await Promise.resolve(MembershipWitness.random(VK_TREE_HEIGHT));
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
public async getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector) {
|
|
149
|
+
const tree = await this.getTreeForAddress(contractAddress);
|
|
150
|
+
const { name: contractName } = tree.getArtifact();
|
|
151
|
+
const { name: functionName } = tree.getFunctionArtifact(selector);
|
|
152
|
+
return `${contractName}:${functionName}`;
|
|
153
|
+
}
|
|
154
|
+
|
|
148
155
|
/**
|
|
149
156
|
* Retrieve or create a ContractTree instance based on the provided class id.
|
|
150
157
|
* If an existing tree with the same class id is found in the cache, it will be returned.
|
|
@@ -37,7 +37,9 @@ export class PrivateFunctionsTree {
|
|
|
37
37
|
const artifact = this.artifact.functions.find(f => selector.equals(f.name, f.parameters));
|
|
38
38
|
if (!artifact) {
|
|
39
39
|
throw new Error(
|
|
40
|
-
`Unknown function. Selector ${selector.toString()} not found in the artifact
|
|
40
|
+
`Unknown function. Selector ${selector.toString()} not found in the artifact ${
|
|
41
|
+
this.artifact.name
|
|
42
|
+
} with class ${this.getContractClassId().toString()}.`,
|
|
41
43
|
);
|
|
42
44
|
}
|
|
43
45
|
return artifact;
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
type Fr,
|
|
5
5
|
type FunctionSelector,
|
|
6
6
|
type GrumpkinPrivateKey,
|
|
7
|
-
type KeyGenerator,
|
|
8
7
|
MembershipWitness,
|
|
9
8
|
type NOTE_HASH_TREE_HEIGHT,
|
|
10
9
|
type Point,
|
|
@@ -70,23 +69,11 @@ export class KernelOracle implements ProvingDataOracle {
|
|
|
70
69
|
return header.state.partial.noteHashTree.root;
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
public
|
|
74
|
-
return this.keyStore.
|
|
72
|
+
public getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinPrivateKey> {
|
|
73
|
+
return this.keyStore.getMasterSecretKey(masterPublicKey);
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
public
|
|
78
|
-
|
|
79
|
-
const contractInstance = await this.contractDataOracle.getContractInstance(contractAddress);
|
|
80
|
-
|
|
81
|
-
const [contractArtifact, functionArtifact] = await Promise.all([
|
|
82
|
-
this.contractDataOracle.getContractArtifact(contractInstance.contractClassId),
|
|
83
|
-
this.contractDataOracle.getFunctionArtifact(contractAddress, selector),
|
|
84
|
-
]);
|
|
85
|
-
|
|
86
|
-
return `${contractArtifact.name}:${functionArtifact.name}`;
|
|
87
|
-
} catch (e) {
|
|
88
|
-
this.log.error(`Failed to get function name for contract ${contractAddress} and selector ${selector}: ${e}`);
|
|
89
|
-
return 'Unknown';
|
|
90
|
-
}
|
|
76
|
+
public getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string> {
|
|
77
|
+
return this.contractDataOracle.getDebugFunctionName(contractAddress, selector);
|
|
91
78
|
}
|
|
92
79
|
}
|
|
@@ -2,6 +2,12 @@ import { type KernelProofOutput, type ProofCreator } from '@aztec/circuit-types'
|
|
|
2
2
|
import {
|
|
3
3
|
CallRequest,
|
|
4
4
|
Fr,
|
|
5
|
+
MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
6
|
+
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
7
|
+
MAX_NEW_NULLIFIERS_PER_TX,
|
|
8
|
+
MAX_NOTE_ENCRYPTED_LOGS_PER_TX,
|
|
9
|
+
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
10
|
+
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
5
11
|
MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,
|
|
6
12
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
7
13
|
PrivateCallData,
|
|
@@ -16,6 +22,7 @@ import {
|
|
|
16
22
|
type TxRequest,
|
|
17
23
|
VK_TREE_HEIGHT,
|
|
18
24
|
VerificationKeyAsFields,
|
|
25
|
+
getNonEmptyItems,
|
|
19
26
|
makeRecursiveProof,
|
|
20
27
|
} from '@aztec/circuits.js';
|
|
21
28
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
@@ -70,6 +77,9 @@ export class KernelProver {
|
|
|
70
77
|
const noteHashNullifierCounterMap = collectNullifiedNoteHashCounters(executionResult);
|
|
71
78
|
|
|
72
79
|
while (executionStack.length) {
|
|
80
|
+
if (!firstIteration && this.needsReset(executionStack, output)) {
|
|
81
|
+
output = await this.runReset(executionStack, output, noteHashLeafIndexMap, noteHashNullifierCounterMap);
|
|
82
|
+
}
|
|
73
83
|
const currentExecution = executionStack.pop()!;
|
|
74
84
|
executionStack.push(...[...currentExecution.nestedExecutions].reverse());
|
|
75
85
|
|
|
@@ -78,7 +88,7 @@ export class KernelProver {
|
|
|
78
88
|
? CallRequest.empty()
|
|
79
89
|
: currentExecution.publicTeardownFunctionCall.toCallRequest();
|
|
80
90
|
|
|
81
|
-
const functionName = await this.oracle.
|
|
91
|
+
const functionName = await this.oracle.getDebugFunctionName(
|
|
82
92
|
currentExecution.callStackItem.contractAddress,
|
|
83
93
|
currentExecution.callStackItem.functionData.selector,
|
|
84
94
|
);
|
|
@@ -126,21 +136,11 @@ export class KernelProver {
|
|
|
126
136
|
firstIteration = false;
|
|
127
137
|
}
|
|
128
138
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
Number(previousVkMembershipWitness.leafIndex),
|
|
135
|
-
assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
|
|
136
|
-
);
|
|
137
|
-
|
|
138
|
-
output = await this.proofCreator.createProofReset(
|
|
139
|
-
await buildPrivateKernelResetInputs(previousKernelData, noteHashLeafIndexMap, this.oracle),
|
|
140
|
-
);
|
|
141
|
-
|
|
142
|
-
previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
|
|
143
|
-
previousKernelData = new PrivateKernelData(
|
|
139
|
+
if (this.somethingToReset(output)) {
|
|
140
|
+
output = await this.runReset(executionStack, output, noteHashLeafIndexMap, noteHashNullifierCounterMap);
|
|
141
|
+
}
|
|
142
|
+
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
|
|
143
|
+
const previousKernelData = new PrivateKernelData(
|
|
144
144
|
output.publicInputs,
|
|
145
145
|
output.proof,
|
|
146
146
|
output.verificationKey,
|
|
@@ -160,6 +160,66 @@ export class KernelProver {
|
|
|
160
160
|
return await this.proofCreator.createProofTail(privateInputs);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
private needsReset(executionStack: ExecutionResult[], output: KernelProofOutput<PrivateKernelCircuitPublicInputs>) {
|
|
164
|
+
const nextIteration = executionStack[executionStack.length - 1];
|
|
165
|
+
return (
|
|
166
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.newNoteHashes).length +
|
|
167
|
+
getNonEmptyItems(output.publicInputs.end.newNoteHashes).length >
|
|
168
|
+
MAX_NEW_NOTE_HASHES_PER_TX ||
|
|
169
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.newNullifiers).length +
|
|
170
|
+
getNonEmptyItems(output.publicInputs.end.newNullifiers).length >
|
|
171
|
+
MAX_NEW_NULLIFIERS_PER_TX ||
|
|
172
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.noteEncryptedLogsHashes).length +
|
|
173
|
+
getNonEmptyItems(output.publicInputs.end.noteEncryptedLogsHashes).length >
|
|
174
|
+
MAX_NOTE_ENCRYPTED_LOGS_PER_TX ||
|
|
175
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.noteHashReadRequests).length +
|
|
176
|
+
getNonEmptyItems(output.publicInputs.validationRequests.noteHashReadRequests).length >
|
|
177
|
+
MAX_NOTE_HASH_READ_REQUESTS_PER_TX ||
|
|
178
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.nullifierReadRequests).length +
|
|
179
|
+
getNonEmptyItems(output.publicInputs.validationRequests.nullifierReadRequests).length >
|
|
180
|
+
MAX_NULLIFIER_READ_REQUESTS_PER_TX ||
|
|
181
|
+
getNonEmptyItems(nextIteration.callStackItem.publicInputs.keyValidationRequestsAndGenerators).length +
|
|
182
|
+
getNonEmptyItems(output.publicInputs.validationRequests.scopedKeyValidationRequestsAndGenerators).length >
|
|
183
|
+
MAX_KEY_VALIDATION_REQUESTS_PER_TX
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
private somethingToReset(output: KernelProofOutput<PrivateKernelCircuitPublicInputs>) {
|
|
188
|
+
return (
|
|
189
|
+
getNonEmptyItems(output.publicInputs.validationRequests.noteHashReadRequests).length > 0 ||
|
|
190
|
+
getNonEmptyItems(output.publicInputs.validationRequests.nullifierReadRequests).length > 0 ||
|
|
191
|
+
getNonEmptyItems(output.publicInputs.validationRequests.scopedKeyValidationRequestsAndGenerators).length > 0 ||
|
|
192
|
+
output.publicInputs.end.newNoteHashes.find(noteHash => noteHash.nullifierCounter !== 0) ||
|
|
193
|
+
output.publicInputs.end.newNullifiers.find(nullifier => !nullifier.nullifiedNoteHash.equals(Fr.zero()))
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private async runReset(
|
|
198
|
+
executionStack: ExecutionResult[],
|
|
199
|
+
output: KernelProofOutput<PrivateKernelCircuitPublicInputs>,
|
|
200
|
+
noteHashLeafIndexMap: Map<bigint, bigint>,
|
|
201
|
+
noteHashNullifierCounterMap: Map<number, number>,
|
|
202
|
+
): Promise<KernelProofOutput<PrivateKernelCircuitPublicInputs>> {
|
|
203
|
+
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
|
|
204
|
+
const previousKernelData = new PrivateKernelData(
|
|
205
|
+
output.publicInputs,
|
|
206
|
+
output.proof,
|
|
207
|
+
output.verificationKey,
|
|
208
|
+
Number(previousVkMembershipWitness.leafIndex),
|
|
209
|
+
assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
|
|
210
|
+
);
|
|
211
|
+
|
|
212
|
+
return this.proofCreator.createProofReset(
|
|
213
|
+
await buildPrivateKernelResetInputs(
|
|
214
|
+
executionStack,
|
|
215
|
+
previousKernelData,
|
|
216
|
+
noteHashLeafIndexMap,
|
|
217
|
+
noteHashNullifierCounterMap,
|
|
218
|
+
this.oracle,
|
|
219
|
+
),
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
163
223
|
private async createPrivateCallData(
|
|
164
224
|
{ callStackItem }: ExecutionResult,
|
|
165
225
|
publicCallRequests: CallRequest[],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Fr,
|
|
2
|
+
type Fr,
|
|
3
3
|
KeyValidationHint,
|
|
4
4
|
MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
5
5
|
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
@@ -14,15 +14,19 @@ import {
|
|
|
14
14
|
PrivateKernelResetCircuitPrivateInputs,
|
|
15
15
|
type PrivateKernelResetCircuitPrivateInputsVariants,
|
|
16
16
|
PrivateKernelResetHints,
|
|
17
|
-
type
|
|
18
|
-
type
|
|
19
|
-
|
|
17
|
+
type ReadRequest,
|
|
18
|
+
type ScopedKeyValidationRequestAndGenerator,
|
|
19
|
+
ScopedNoteHash,
|
|
20
|
+
ScopedNullifier,
|
|
21
|
+
ScopedReadRequest,
|
|
20
22
|
buildNoteHashReadRequestHints,
|
|
21
23
|
buildNullifierReadRequestHints,
|
|
22
24
|
buildTransientDataHints,
|
|
25
|
+
getNonEmptyItems,
|
|
23
26
|
} from '@aztec/circuits.js';
|
|
24
27
|
import { makeTuple } from '@aztec/foundation/array';
|
|
25
28
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
29
|
+
import type { ExecutionResult } from '@aztec/simulator';
|
|
26
30
|
|
|
27
31
|
import { type ProvingDataOracle } from '../proving_data_oracle.js';
|
|
28
32
|
import { buildPrivateKernelResetOutputs } from './build_private_kernel_reset_outputs.js';
|
|
@@ -33,6 +37,7 @@ function getNullifierReadRequestHints<PENDING extends number, SETTLED extends nu
|
|
|
33
37
|
oracle: ProvingDataOracle,
|
|
34
38
|
sizePending: PENDING,
|
|
35
39
|
sizeSettled: SETTLED,
|
|
40
|
+
futureNullifiers: ScopedNullifier[],
|
|
36
41
|
) {
|
|
37
42
|
const getNullifierMembershipWitness = async (nullifier: Fr) => {
|
|
38
43
|
const res = await oracle.getNullifierMembershipWitness(nullifier);
|
|
@@ -57,11 +62,12 @@ function getNullifierReadRequestHints<PENDING extends number, SETTLED extends nu
|
|
|
57
62
|
nullifiers,
|
|
58
63
|
sizePending,
|
|
59
64
|
sizeSettled,
|
|
65
|
+
futureNullifiers,
|
|
60
66
|
);
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
async function getMasterSecretKeysAndAppKeyGenerators(
|
|
64
|
-
keyValidationRequests: Tuple<
|
|
70
|
+
keyValidationRequests: Tuple<ScopedKeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>,
|
|
65
71
|
oracle: ProvingDataOracle,
|
|
66
72
|
) {
|
|
67
73
|
const keysHints = makeTuple(MAX_KEY_VALIDATION_REQUESTS_PER_TX, KeyValidationHint.empty);
|
|
@@ -72,8 +78,8 @@ async function getMasterSecretKeysAndAppKeyGenerators(
|
|
|
72
78
|
if (request.isEmpty()) {
|
|
73
79
|
break;
|
|
74
80
|
}
|
|
75
|
-
const
|
|
76
|
-
keysHints[keyIndex] = new KeyValidationHint(secretKeys,
|
|
81
|
+
const secretKeys = await oracle.getMasterSecretKey(request.request.pkM);
|
|
82
|
+
keysHints[keyIndex] = new KeyValidationHint(secretKeys, i);
|
|
77
83
|
keyIndex++;
|
|
78
84
|
}
|
|
79
85
|
return {
|
|
@@ -83,12 +89,27 @@ async function getMasterSecretKeysAndAppKeyGenerators(
|
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
export async function buildPrivateKernelResetInputs(
|
|
92
|
+
executionStack: ExecutionResult[],
|
|
86
93
|
previousKernelData: PrivateKernelData,
|
|
87
94
|
noteHashLeafIndexMap: Map<bigint, bigint>,
|
|
95
|
+
noteHashNullifierCounterMap: Map<number, number>,
|
|
88
96
|
oracle: ProvingDataOracle,
|
|
89
97
|
) {
|
|
90
98
|
const publicInputs = previousKernelData.publicInputs;
|
|
91
99
|
// Use max sizes, they will be trimmed down later.
|
|
100
|
+
|
|
101
|
+
const futureNoteHashes = collectNested(executionStack, executionResult => {
|
|
102
|
+
const nonEmptyNoteHashes = getNonEmptyItems(executionResult.callStackItem.publicInputs.newNoteHashes);
|
|
103
|
+
return nonEmptyNoteHashes.map(
|
|
104
|
+
noteHash =>
|
|
105
|
+
new ScopedNoteHash(
|
|
106
|
+
noteHash,
|
|
107
|
+
noteHashNullifierCounterMap.get(noteHash.counter) ?? 0,
|
|
108
|
+
executionResult.callStackItem.publicInputs.callContext.storageContractAddress,
|
|
109
|
+
),
|
|
110
|
+
);
|
|
111
|
+
});
|
|
112
|
+
|
|
92
113
|
const {
|
|
93
114
|
numPendingReadHints: noteHashPendingReadHints,
|
|
94
115
|
numSettledReadHints: noteHashSettledReadHints,
|
|
@@ -100,8 +121,17 @@ export async function buildPrivateKernelResetInputs(
|
|
|
100
121
|
noteHashLeafIndexMap,
|
|
101
122
|
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
102
123
|
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
124
|
+
futureNoteHashes,
|
|
103
125
|
);
|
|
104
126
|
|
|
127
|
+
const futureNullifiers = collectNested(executionStack, executionResult => {
|
|
128
|
+
const nonEmptyNullifiers = getNonEmptyItems(executionResult.callStackItem.publicInputs.newNullifiers);
|
|
129
|
+
return nonEmptyNullifiers.map(
|
|
130
|
+
nullifier =>
|
|
131
|
+
new ScopedNullifier(nullifier, executionResult.callStackItem.publicInputs.callContext.storageContractAddress),
|
|
132
|
+
);
|
|
133
|
+
});
|
|
134
|
+
|
|
105
135
|
const {
|
|
106
136
|
numPendingReadHints: nullifierPendingReadHints,
|
|
107
137
|
numSettledReadHints: nullifierSettledReadHints,
|
|
@@ -112,13 +142,23 @@ export async function buildPrivateKernelResetInputs(
|
|
|
112
142
|
oracle,
|
|
113
143
|
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
114
144
|
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
145
|
+
futureNullifiers,
|
|
115
146
|
);
|
|
116
147
|
|
|
117
148
|
const { keysCount, keysHints } = await getMasterSecretKeysAndAppKeyGenerators(
|
|
118
|
-
publicInputs.validationRequests.
|
|
149
|
+
publicInputs.validationRequests.scopedKeyValidationRequestsAndGenerators,
|
|
119
150
|
oracle,
|
|
120
151
|
);
|
|
121
152
|
|
|
153
|
+
const futureNoteHashReads = collectNestedReadRequests(
|
|
154
|
+
executionStack,
|
|
155
|
+
executionResult => executionResult.callStackItem.publicInputs.noteHashReadRequests,
|
|
156
|
+
);
|
|
157
|
+
const futureNullifierReads = collectNestedReadRequests(
|
|
158
|
+
executionStack,
|
|
159
|
+
executionResult => executionResult.callStackItem.publicInputs.nullifierReadRequests,
|
|
160
|
+
);
|
|
161
|
+
|
|
122
162
|
const [
|
|
123
163
|
transientNullifierIndexesForNoteHashes,
|
|
124
164
|
transientNoteHashIndexesForNullifiers,
|
|
@@ -127,6 +167,8 @@ export async function buildPrivateKernelResetInputs(
|
|
|
127
167
|
publicInputs.end.newNoteHashes,
|
|
128
168
|
publicInputs.end.newNullifiers,
|
|
129
169
|
publicInputs.end.noteEncryptedLogsHashes,
|
|
170
|
+
futureNoteHashReads,
|
|
171
|
+
futureNullifierReads,
|
|
130
172
|
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
131
173
|
MAX_NEW_NULLIFIERS_PER_TX,
|
|
132
174
|
MAX_NOTE_ENCRYPTED_LOGS_PER_TX,
|
|
@@ -136,6 +178,8 @@ export async function buildPrivateKernelResetInputs(
|
|
|
136
178
|
previousKernelData.publicInputs.end.newNoteHashes,
|
|
137
179
|
previousKernelData.publicInputs.end.newNullifiers,
|
|
138
180
|
previousKernelData.publicInputs.end.noteEncryptedLogsHashes,
|
|
181
|
+
transientNullifierIndexesForNoteHashes,
|
|
182
|
+
transientNoteHashIndexesForNullifiers,
|
|
139
183
|
);
|
|
140
184
|
|
|
141
185
|
let privateInputs;
|
|
@@ -177,3 +221,30 @@ export async function buildPrivateKernelResetInputs(
|
|
|
177
221
|
|
|
178
222
|
return privateInputs as PrivateKernelResetCircuitPrivateInputsVariants;
|
|
179
223
|
}
|
|
224
|
+
|
|
225
|
+
function collectNested<T>(
|
|
226
|
+
executionStack: ExecutionResult[],
|
|
227
|
+
extractExecutionItems: (execution: ExecutionResult) => T[],
|
|
228
|
+
): T[] {
|
|
229
|
+
const thisExecutionReads = executionStack.flatMap(extractExecutionItems);
|
|
230
|
+
|
|
231
|
+
return thisExecutionReads.concat(
|
|
232
|
+
executionStack.flatMap(({ nestedExecutions }) => collectNested(nestedExecutions, extractExecutionItems)),
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function collectNestedReadRequests(
|
|
237
|
+
executionStack: ExecutionResult[],
|
|
238
|
+
extractReadRequests: (execution: ExecutionResult) => ReadRequest[],
|
|
239
|
+
): ScopedReadRequest[] {
|
|
240
|
+
return collectNested(executionStack, executionResult => {
|
|
241
|
+
const nonEmptyReadRequests = getNonEmptyItems(extractReadRequests(executionResult));
|
|
242
|
+
return nonEmptyReadRequests.map(
|
|
243
|
+
readRequest =>
|
|
244
|
+
new ScopedReadRequest(
|
|
245
|
+
readRequest,
|
|
246
|
+
executionResult.callStackItem.publicInputs.callContext.storageContractAddress,
|
|
247
|
+
),
|
|
248
|
+
);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
@@ -14,22 +14,26 @@ export function buildPrivateKernelResetOutputs(
|
|
|
14
14
|
prevNoteHashes: Tuple<ScopedNoteHash, typeof MAX_NEW_NOTE_HASHES_PER_TX>,
|
|
15
15
|
prevNullifiers: Tuple<ScopedNullifier, typeof MAX_NEW_NULLIFIERS_PER_TX>,
|
|
16
16
|
prevLogs: Tuple<NoteLogHash, typeof MAX_NOTE_ENCRYPTED_LOGS_PER_TX>,
|
|
17
|
+
transientNullifierIndexesForNoteHashes: Tuple<number, typeof MAX_NEW_NOTE_HASHES_PER_TX>,
|
|
18
|
+
transientNoteHashIndexesForNullifiers: Tuple<number, typeof MAX_NEW_NULLIFIERS_PER_TX>,
|
|
17
19
|
) {
|
|
18
|
-
// Propagate note hashes that are not
|
|
19
|
-
//
|
|
20
|
+
// Propagate note hashes that are not going to be squashed in the transient arrays.
|
|
21
|
+
// A value isn't going to be squashed if the symmetrical index in the corresponding array is the length of the array.
|
|
20
22
|
const noteHashes = padArrayEnd(
|
|
21
|
-
prevNoteHashes.filter(
|
|
23
|
+
prevNoteHashes.filter((_, index) => transientNullifierIndexesForNoteHashes[index] === MAX_NEW_NULLIFIERS_PER_TX),
|
|
22
24
|
ScopedNoteHash.empty(),
|
|
23
25
|
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
24
26
|
);
|
|
25
27
|
|
|
26
28
|
const nullifiers = padArrayEnd(
|
|
27
|
-
prevNullifiers.filter(
|
|
29
|
+
prevNullifiers.filter((_, index) => transientNoteHashIndexesForNullifiers[index] === MAX_NEW_NOTE_HASHES_PER_TX),
|
|
28
30
|
ScopedNullifier.empty(),
|
|
29
31
|
MAX_NEW_NULLIFIERS_PER_TX,
|
|
30
32
|
);
|
|
31
33
|
|
|
32
|
-
const nullifiedNotes = prevNoteHashes
|
|
34
|
+
const nullifiedNotes = prevNoteHashes
|
|
35
|
+
.filter((_, index) => transientNullifierIndexesForNoteHashes[index] < MAX_NEW_NULLIFIERS_PER_TX)
|
|
36
|
+
.map(n => n.counter);
|
|
33
37
|
|
|
34
38
|
const logs = padArrayEnd(
|
|
35
39
|
prevLogs.filter(l => !l.isEmpty() && !nullifiedNotes.includes(l.noteHashCounter)),
|