@aztec/pxe 0.32.0 → 0.33.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/contract_data_oracle/index.d.ts +6 -6
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +1 -1
- package/dest/contract_data_oracle/private_functions_tree.d.ts +3 -3
- package/dest/contract_data_oracle/private_functions_tree.d.ts.map +1 -1
- package/dest/database/contracts/contract_artifact_db.d.ts +2 -2
- package/dest/database/contracts/contract_artifact_db.d.ts.map +1 -1
- package/dest/database/contracts/contract_instance_db.d.ts +2 -2
- package/dest/database/contracts/contract_instance_db.d.ts.map +1 -1
- package/dest/database/deferred_note_dao.d.ts +1 -1
- package/dest/database/deferred_note_dao.d.ts.map +1 -1
- package/dest/database/deferred_note_dao.js +1 -1
- package/dest/database/kv_pxe_database.d.ts +7 -7
- package/dest/database/kv_pxe_database.d.ts.map +1 -1
- package/dest/database/kv_pxe_database.js +1 -1
- package/dest/database/note_dao.d.ts +2 -2
- package/dest/database/note_dao.d.ts.map +1 -1
- package/dest/database/note_dao.js +1 -1
- package/dest/database/pxe_database.d.ts +11 -11
- package/dest/database/pxe_database.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.d.ts +1 -1
- package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
- package/dest/database/pxe_database_test_suite.js +1 -1
- package/dest/kernel_oracle/index.d.ts +4 -4
- package/dest/kernel_oracle/index.d.ts.map +1 -1
- package/dest/kernel_prover/hints_builder.d.ts +3 -3
- package/dest/kernel_prover/hints_builder.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.d.ts +5 -44
- 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 +4 -3
- package/dest/kernel_prover/proving_data_oracle.d.ts +3 -3
- package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
- package/dest/note_processor/note_processor.d.ts +11 -13
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +18 -20
- package/dest/note_processor/produce_note_dao.d.ts +3 -3
- package/dest/note_processor/produce_note_dao.d.ts.map +1 -1
- package/dest/note_processor/produce_note_dao.js +1 -1
- package/dest/pxe_http/pxe_http_server.d.ts +1 -1
- 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/create_pxe_service.d.ts +2 -2
- package/dest/pxe_service/create_pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.d.ts +9 -8
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +52 -34
- package/dest/pxe_service/test/pxe_test_suite.d.ts +1 -1
- package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
- package/dest/pxe_service/test/pxe_test_suite.js +3 -3
- package/dest/simulator/index.d.ts +2 -2
- package/dest/simulator/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.d.ts +7 -7
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +1 -1
- package/dest/synchronizer/synchronizer.d.ts +4 -4
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +9 -13
- package/package.json +22 -16
- package/src/contract_data_oracle/index.ts +9 -9
- package/src/contract_data_oracle/private_functions_tree.ts +3 -3
- package/src/database/contracts/contract_artifact_db.ts +2 -2
- package/src/database/contracts/contract_instance_db.ts +2 -2
- package/src/database/deferred_note_dao.ts +1 -1
- package/src/database/kv_pxe_database.ts +13 -7
- package/src/database/note_dao.ts +2 -2
- package/src/database/pxe_database.ts +12 -12
- package/src/database/pxe_database_test_suite.ts +3 -3
- package/src/kernel_oracle/index.ts +9 -9
- package/src/kernel_prover/hints_builder.ts +9 -9
- package/src/kernel_prover/kernel_prover.ts +29 -95
- package/src/kernel_prover/proof_creator.ts +15 -12
- package/src/kernel_prover/proving_data_oracle.ts +11 -11
- package/src/note_processor/note_processor.ts +29 -34
- package/src/note_processor/produce_note_dao.ts +3 -3
- package/src/pxe_http/pxe_http_server.ts +3 -2
- package/src/pxe_service/create_pxe_service.ts +2 -2
- package/src/pxe_service/pxe_service.ts +89 -66
- package/src/pxe_service/test/pxe_test_suite.ts +3 -3
- package/src/simulator/index.ts +2 -2
- package/src/simulator_oracle/index.ts +19 -19
- package/src/synchronizer/synchronizer.ts +23 -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';
|
|
@@ -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
97
|
this.log(`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,20 +155,19 @@ 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
159
|
this.log(`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
173
|
this.log(`Note processor for ${noteProcessor.publicKey.toString()} has caught up`, {
|
|
@@ -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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXVCLGNBQWMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFFaEgsT0FBTyxFQUFvQixvQkFBb0IsRUFBYSxNQUFNLG9CQUFvQixDQUFDO0FBRXZGLE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUtuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0Q7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFRdkIsWUFBb0IsSUFBZSxFQUFVLEVBQWUsRUFBVSxRQUFxQixFQUFFLFNBQVMsR0FBRyxFQUFFOztRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWE7UUFObkYsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsMkJBQXNCLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBRWxELDRCQUF1QixHQUFvQixFQUFFLENBQUM7UUFHcEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxhQUFhLEdBQUcsSUFBSTtRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNq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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.33.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.33.0",
|
|
44
|
+
"@aztec/circuits.js": "0.33.0",
|
|
45
|
+
"@aztec/ethereum": "0.33.0",
|
|
46
|
+
"@aztec/foundation": "0.33.0",
|
|
47
|
+
"@aztec/key-store": "0.33.0",
|
|
48
|
+
"@aztec/kv-store": "0.33.0",
|
|
49
|
+
"@aztec/noir-compiler": "0.33.0",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "0.33.0",
|
|
51
|
+
"@aztec/protocol-contracts": "0.33.0",
|
|
52
|
+
"@aztec/simulator": "0.33.0",
|
|
53
|
+
"@aztec/types": "0.33.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
|
},
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { AztecAddress, MembershipWitness, VK_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
1
|
+
import { type AztecAddress, MembershipWitness, VK_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
2
2
|
import {
|
|
3
|
-
ContractArtifact,
|
|
4
|
-
FunctionArtifact,
|
|
5
|
-
FunctionDebugMetadata,
|
|
6
|
-
FunctionSelector,
|
|
3
|
+
type ContractArtifact,
|
|
4
|
+
type FunctionArtifact,
|
|
5
|
+
type FunctionDebugMetadata,
|
|
6
|
+
type FunctionSelector,
|
|
7
7
|
getFunctionDebugMetadata,
|
|
8
8
|
} from '@aztec/foundation/abi';
|
|
9
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
9
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
10
10
|
import { ContractClassNotFoundError, ContractNotFoundError } from '@aztec/simulator';
|
|
11
|
-
import { ContractClass, ContractInstance } from '@aztec/types/contracts';
|
|
11
|
+
import { type ContractClass, type ContractInstance } from '@aztec/types/contracts';
|
|
12
12
|
|
|
13
|
-
import { ContractArtifactDatabase } from '../database/contracts/contract_artifact_db.js';
|
|
14
|
-
import { ContractInstanceDatabase } from '../database/contracts/contract_instance_db.js';
|
|
13
|
+
import { type ContractArtifactDatabase } from '../database/contracts/contract_artifact_db.js';
|
|
14
|
+
import { type ContractInstanceDatabase } from '../database/contracts/contract_instance_db.js';
|
|
15
15
|
import { PrivateFunctionsTree } from './private_functions_tree.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
computePrivateFunctionsTree,
|
|
6
6
|
getContractClassFromArtifact,
|
|
7
7
|
} from '@aztec/circuits.js';
|
|
8
|
-
import { MerkleTree } from '@aztec/circuits.js/merkle';
|
|
9
|
-
import { ContractArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
8
|
+
import { type MerkleTree } from '@aztec/circuits.js/merkle';
|
|
9
|
+
import { type ContractArtifact, type FunctionSelector } from '@aztec/foundation/abi';
|
|
10
10
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
11
|
import { assertLength } from '@aztec/foundation/serialize';
|
|
12
|
-
import { ContractClassWithId } from '@aztec/types/contracts';
|
|
12
|
+
import { type ContractClassWithId } from '@aztec/types/contracts';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Represents a Merkle tree of functions for a particular Contract Class.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
2
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* PXE database for managing contract artifacts.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
1
|
+
import { type AztecAddress } from '@aztec/circuits.js';
|
|
2
|
+
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* PXE database for managing contract instances.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Note, TxHash } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, Fr, Point, PublicKey, Vector } from '@aztec/circuits.js';
|
|
2
|
+
import { AztecAddress, Fr, Point, type PublicKey, Vector } from '@aztec/circuits.js';
|
|
3
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import { MerkleTreeId, NoteFilter, NoteStatus, PublicKey } from '@aztec/circuit-types';
|
|
1
|
+
import { MerkleTreeId, type NoteFilter, NoteStatus, type PublicKey } from '@aztec/circuit-types';
|
|
2
2
|
import { AztecAddress, CompleteAddress, Header } from '@aztec/circuits.js';
|
|
3
|
-
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
|
+
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
4
4
|
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
5
|
-
import { Fr, Point } from '@aztec/foundation/fields';
|
|
6
|
-
import {
|
|
5
|
+
import { Fr, type Point } from '@aztec/foundation/fields';
|
|
6
|
+
import {
|
|
7
|
+
type AztecArray,
|
|
8
|
+
type AztecKVStore,
|
|
9
|
+
type AztecMap,
|
|
10
|
+
type AztecMultiMap,
|
|
11
|
+
type AztecSingleton,
|
|
12
|
+
} from '@aztec/kv-store';
|
|
7
13
|
import { contractArtifactFromBuffer, contractArtifactToBuffer } from '@aztec/types/abi';
|
|
8
|
-
import { ContractInstanceWithAddress, SerializableContractInstance } from '@aztec/types/contracts';
|
|
14
|
+
import { type ContractInstanceWithAddress, SerializableContractInstance } from '@aztec/types/contracts';
|
|
9
15
|
|
|
10
16
|
import { DeferredNoteDao } from './deferred_note_dao.js';
|
|
11
17
|
import { NoteDao } from './note_dao.js';
|
|
12
|
-
import { PxeDatabase } from './pxe_database.js';
|
|
18
|
+
import { type PxeDatabase } from './pxe_database.js';
|
|
13
19
|
|
|
14
20
|
/**
|
|
15
21
|
* A PXE database backed by LMDB.
|
|
@@ -391,7 +397,7 @@ export class KVPxeDatabase implements PxeDatabase {
|
|
|
391
397
|
return this.#syncedBlockPerPublicKey.get(publicKey.toString());
|
|
392
398
|
}
|
|
393
399
|
|
|
394
|
-
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<
|
|
400
|
+
setSynchedBlockNumberForPublicKey(publicKey: Point, blockNumber: number): Promise<void> {
|
|
395
401
|
return this.#syncedBlockPerPublicKey.set(publicKey.toString(), blockNumber);
|
|
396
402
|
}
|
|
397
403
|
|
package/src/database/note_dao.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Note, TxHash } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecAddress, Fr, Point, PublicKey } from '@aztec/circuits.js';
|
|
2
|
+
import { AztecAddress, Fr, Point, type PublicKey } from '@aztec/circuits.js';
|
|
3
3
|
import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
-
import { NoteData } from '@aztec/simulator';
|
|
5
|
+
import { type NoteData } from '@aztec/simulator';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* A note with contextual data.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { NoteFilter } from '@aztec/circuit-types';
|
|
2
|
-
import { CompleteAddress, Header, PublicKey } from '@aztec/circuits.js';
|
|
3
|
-
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
4
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
6
|
-
import { ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
7
|
-
|
|
8
|
-
import { ContractArtifactDatabase } from './contracts/contract_artifact_db.js';
|
|
9
|
-
import { ContractInstanceDatabase } from './contracts/contract_instance_db.js';
|
|
10
|
-
import { DeferredNoteDao } from './deferred_note_dao.js';
|
|
11
|
-
import { NoteDao } from './note_dao.js';
|
|
1
|
+
import { type NoteFilter } from '@aztec/circuit-types';
|
|
2
|
+
import { type CompleteAddress, type Header, type PublicKey } from '@aztec/circuits.js';
|
|
3
|
+
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
4
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
6
|
+
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
7
|
+
|
|
8
|
+
import { type ContractArtifactDatabase } from './contracts/contract_artifact_db.js';
|
|
9
|
+
import { type ContractInstanceDatabase } from './contracts/contract_instance_db.js';
|
|
10
|
+
import { type DeferredNoteDao } from './deferred_note_dao.js';
|
|
11
|
+
import { type NoteDao } from './note_dao.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A database interface that provides methods for retrieving, adding, and removing transactional data related to Aztec
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import { NoteFilter, NoteStatus, randomTxHash } from '@aztec/circuit-types';
|
|
1
|
+
import { type NoteFilter, NoteStatus, randomTxHash } from '@aztec/circuit-types';
|
|
2
2
|
import { AztecAddress, CompleteAddress, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
|
|
3
3
|
import { makeHeader } from '@aztec/circuits.js/testing';
|
|
4
4
|
import { randomInt } from '@aztec/foundation/crypto';
|
|
@@ -6,9 +6,9 @@ import { Fr, Point } from '@aztec/foundation/fields';
|
|
|
6
6
|
import { BenchmarkingContractArtifact } from '@aztec/noir-contracts.js/Benchmarking';
|
|
7
7
|
import { SerializableContractInstance } from '@aztec/types/contracts';
|
|
8
8
|
|
|
9
|
-
import { NoteDao } from './note_dao.js';
|
|
9
|
+
import { type NoteDao } from './note_dao.js';
|
|
10
10
|
import { randomNoteDao } from './note_dao.test.js';
|
|
11
|
-
import { PxeDatabase } from './pxe_database.js';
|
|
11
|
+
import { type PxeDatabase } from './pxe_database.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A common test suite for a PXE database.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { AztecNode, KeyStore } from '@aztec/circuit-types';
|
|
1
|
+
import { type AztecNode, type KeyStore } from '@aztec/circuit-types';
|
|
2
2
|
import {
|
|
3
|
-
AztecAddress,
|
|
4
|
-
Fr,
|
|
5
|
-
FunctionSelector,
|
|
3
|
+
type AztecAddress,
|
|
4
|
+
type Fr,
|
|
5
|
+
type FunctionSelector,
|
|
6
6
|
MembershipWitness,
|
|
7
|
-
NOTE_HASH_TREE_HEIGHT,
|
|
8
|
-
Point,
|
|
7
|
+
type NOTE_HASH_TREE_HEIGHT,
|
|
8
|
+
type Point,
|
|
9
9
|
computeContractClassIdPreimage,
|
|
10
10
|
computeSaltedInitializationHash,
|
|
11
11
|
} from '@aztec/circuits.js';
|
|
12
|
-
import { Tuple } from '@aztec/foundation/serialize';
|
|
12
|
+
import { type Tuple } from '@aztec/foundation/serialize';
|
|
13
13
|
|
|
14
|
-
import { ContractDataOracle } from '../contract_data_oracle/index.js';
|
|
15
|
-
import { ProvingDataOracle } from './../kernel_prover/proving_data_oracle.js';
|
|
14
|
+
import { type ContractDataOracle } from '../contract_data_oracle/index.js';
|
|
15
|
+
import { type ProvingDataOracle } from './../kernel_prover/proving_data_oracle.js';
|
|
16
16
|
|
|
17
17
|
// TODO: Block number should not be "latest".
|
|
18
18
|
// It should be fixed at the time the proof is being simulated. I.e., it should be the same as the value defined in the constant data.
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Fr,
|
|
3
3
|
GrumpkinScalar,
|
|
4
|
-
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
4
|
+
type MAX_NEW_NOTE_HASHES_PER_TX,
|
|
5
5
|
MAX_NEW_NULLIFIERS_PER_TX,
|
|
6
6
|
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
7
7
|
MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
8
|
-
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
8
|
+
type MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
9
9
|
MembershipWitness,
|
|
10
10
|
NULLIFIER_TREE_HEIGHT,
|
|
11
|
-
NullifierKeyValidationRequestContext,
|
|
12
|
-
ReadRequestContext,
|
|
13
|
-
SideEffect,
|
|
14
|
-
SideEffectLinkedToNoteHash,
|
|
15
|
-
SideEffectType,
|
|
11
|
+
type NullifierKeyValidationRequestContext,
|
|
12
|
+
type ReadRequestContext,
|
|
13
|
+
type SideEffect,
|
|
14
|
+
type SideEffectLinkedToNoteHash,
|
|
15
|
+
type SideEffectType,
|
|
16
16
|
buildNullifierReadRequestHints,
|
|
17
17
|
} from '@aztec/circuits.js';
|
|
18
18
|
import { makeTuple } from '@aztec/foundation/array';
|
|
19
|
-
import { Tuple } from '@aztec/foundation/serialize';
|
|
19
|
+
import { type Tuple } from '@aztec/foundation/serialize';
|
|
20
20
|
|
|
21
|
-
import { ProvingDataOracle } from './proving_data_oracle.js';
|
|
21
|
+
import { type ProvingDataOracle } from './proving_data_oracle.js';
|
|
22
22
|
|
|
23
23
|
export class HintsBuilder {
|
|
24
24
|
constructor(private oracle: ProvingDataOracle) {}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
-
AztecAddress,
|
|
3
2
|
CallRequest,
|
|
4
3
|
Fr,
|
|
5
|
-
MAX_NEW_NOTE_HASHES_PER_TX,
|
|
6
|
-
MAX_NEW_NULLIFIERS_PER_TX,
|
|
4
|
+
type MAX_NEW_NOTE_HASHES_PER_TX,
|
|
5
|
+
type MAX_NEW_NULLIFIERS_PER_TX,
|
|
7
6
|
MAX_NOTE_HASH_READ_REQUESTS_PER_CALL,
|
|
8
7
|
MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,
|
|
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
|
-
SideEffect,
|
|
18
|
-
SideEffectLinkedToNoteHash,
|
|
19
|
-
TxRequest,
|
|
16
|
+
type SideEffect,
|
|
17
|
+
type SideEffectLinkedToNoteHash,
|
|
18
|
+
type TxRequest,
|
|
20
19
|
VK_TREE_HEIGHT,
|
|
21
20
|
VerificationKey,
|
|
22
21
|
makeEmptyProof,
|
|
@@ -26,42 +25,11 @@ 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 { ExecutionResult
|
|
28
|
+
import { type ExecutionResult } from '@aztec/simulator';
|
|
30
29
|
|
|
31
30
|
import { HintsBuilder } from './hints_builder.js';
|
|
32
|
-
import { KernelProofCreator, ProofCreator, ProofOutput, ProofOutputFinal } from './proof_creator.js';
|
|
33
|
-
import { ProvingDataOracle } from './proving_data_oracle.js';
|
|
34
|
-
|
|
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
|
-
}
|
|
31
|
+
import { KernelProofCreator, type ProofCreator, type ProofOutput, type ProofOutputFinal } from './proof_creator.js';
|
|
32
|
+
import { type ProvingDataOracle } from './proving_data_oracle.js';
|
|
65
33
|
|
|
66
34
|
/**
|
|
67
35
|
* The KernelProver class is responsible for generating kernel proofs.
|
|
@@ -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
|
}
|