@aztec/pxe 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/index.js +3 -3
- package/dest/contract_data_oracle/index.d.ts +9 -0
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +13 -1
- package/dest/contract_tree/index.js +2 -2
- package/dest/database/database.d.ts +17 -28
- package/dest/database/database.d.ts.map +1 -1
- package/dest/database/index.d.ts +0 -1
- package/dest/database/index.d.ts.map +1 -1
- package/dest/database/index.js +1 -2
- package/dest/database/memory_db.d.ts +8 -8
- package/dest/database/memory_db.d.ts.map +1 -1
- package/dest/database/memory_db.js +27 -19
- package/dest/database/note_dao.d.ts +61 -0
- package/dest/database/note_dao.d.ts.map +1 -0
- package/dest/database/note_dao.js +83 -0
- package/dest/kernel_oracle/index.js +2 -2
- package/dest/kernel_prover/kernel_prover.d.ts +4 -4
- package/dest/kernel_prover/kernel_prover.js +2 -2
- package/dest/note_processor/note_processor.d.ts +7 -6
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +31 -36
- package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
- package/dest/pxe_http/pxe_http_server.js +4 -3
- package/dest/pxe_service/pxe_service.d.ts +4 -4
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +32 -37
- package/dest/simulator_oracle/index.d.ts +2 -1
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +16 -5
- package/package.json +9 -9
- package/src/bin/index.ts +2 -2
- package/src/contract_data_oracle/index.ts +13 -0
- package/src/contract_tree/index.ts +1 -1
- package/src/database/database.ts +17 -28
- package/src/database/index.ts +0 -1
- package/src/database/memory_db.ts +33 -23
- package/src/database/note_dao.ts +90 -0
- package/src/kernel_oracle/index.ts +1 -1
- package/src/kernel_prover/kernel_prover.ts +4 -4
- package/src/note_processor/note_processor.ts +50 -48
- package/src/pxe_http/pxe_http_server.ts +4 -2
- package/src/pxe_service/pxe_service.ts +50 -50
- package/src/simulator_oracle/index.ts +28 -14
- package/dest/database/note_spending_info_dao.d.ts +0 -50
- package/dest/database/note_spending_info_dao.d.ts.map +0 -1
- package/dest/database/note_spending_info_dao.js +0 -24
- package/src/database/note_spending_info_dao.ts +0 -75
package/dest/bin/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
3
|
-
import {
|
|
3
|
+
import { createAztecNodeClient } from '@aztec/types';
|
|
4
4
|
import { getPXEServiceConfig } from '../config/index.js';
|
|
5
5
|
import { startPXEHttpServer } from '../pxe_http/index.js';
|
|
6
6
|
import { createPXEService } from '../pxe_service/index.js';
|
|
@@ -12,7 +12,7 @@ const logger = createDebugLogger('aztec:pxe_service');
|
|
|
12
12
|
async function main() {
|
|
13
13
|
logger.info(`Setting up PXE...`);
|
|
14
14
|
const pxeConfig = getPXEServiceConfig();
|
|
15
|
-
const nodeRpcClient =
|
|
15
|
+
const nodeRpcClient = createAztecNodeClient(AZTEC_NODE_URL);
|
|
16
16
|
const pxeService = await createPXEService(nodeRpcClient, pxeConfig);
|
|
17
17
|
const shutdown = async () => {
|
|
18
18
|
logger.info('Shutting down...');
|
|
@@ -28,4 +28,4 @@ main().catch(err => {
|
|
|
28
28
|
logger.error(err);
|
|
29
29
|
process.exit(1);
|
|
30
30
|
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsTUFBTSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsY0FBYyxHQUFHLHVCQUF1QixFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUVsRixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBRXREOztHQUVHO0FBQ0gsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixFQUFFLENBQUM7SUFDeEMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFcEUsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFbEMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtJQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -33,6 +33,15 @@ export declare class ContractDataOracle {
|
|
|
33
33
|
* @returns The corresponding function's artifact as an object.
|
|
34
34
|
*/
|
|
35
35
|
getFunctionArtifact(contractAddress: AztecAddress, selector: FunctionSelector): Promise<import("@aztec/circuits.js").ContractFunctionDao>;
|
|
36
|
+
/**
|
|
37
|
+
* Retrieves the artifact of a specified function within a given contract.
|
|
38
|
+
* The function is identified by its name, which is unique within a contract.
|
|
39
|
+
*
|
|
40
|
+
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
41
|
+
* @param functionName - The name of the function.
|
|
42
|
+
* @returns The corresponding function's artifact as an object.
|
|
43
|
+
*/
|
|
44
|
+
getFunctionArtifactByName(contractAddress: AztecAddress, functionName: string): Promise<import("@aztec/circuits.js").ContractFunctionDao | undefined>;
|
|
36
45
|
/**
|
|
37
46
|
* Retrieves the debug metadata of a specified function within a given contract.
|
|
38
47
|
* The function is identified by its selector, which is a unique code generated from the function's signature.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,iBAAiB,EAAkB,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAInE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,aAAa;IAF/D,OAAO,CAAC,KAAK,CAAsB;gBAEf,EAAE,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAElF;;;;;;;;OAQG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAKnE;;;;;;;;OAQG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAK1F;;;;;;;;OAQG;IACU,wBAAwB,CACnC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAW7C;;;;;;;;OAQG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKlF;;;;;;;;;OASG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY;IAKvE;;;;;;;;OAQG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKnG;;;;;;;;OAQG;IACU,sBAAsB;IAKnC;;;;;;;;;OASG;YACW,OAAO;CActB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,iBAAiB,EAAkB,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAInE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,aAAa;IAF/D,OAAO,CAAC,KAAK,CAAsB;gBAEf,EAAE,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAElF;;;;;;;;OAQG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAKnE;;;;;;;;OAQG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAK1F;;;;;;;OAOG;IACU,yBAAyB,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM;IAK1F;;;;;;;;OAQG;IACU,wBAAwB,CACnC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAW7C;;;;;;;;OAQG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKlF;;;;;;;;;OASG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY;IAKvE;;;;;;;;OAQG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKnG;;;;;;;;OAQG;IACU,sBAAsB;IAKnC;;;;;;;;;OASG;YACW,OAAO;CActB"}
|
|
@@ -40,6 +40,18 @@ export class ContractDataOracle {
|
|
|
40
40
|
const tree = await this.getTree(contractAddress);
|
|
41
41
|
return tree.getFunctionArtifact(selector);
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves the artifact of a specified function within a given contract.
|
|
45
|
+
* The function is identified by its name, which is unique within a contract.
|
|
46
|
+
*
|
|
47
|
+
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
48
|
+
* @param functionName - The name of the function.
|
|
49
|
+
* @returns The corresponding function's artifact as an object.
|
|
50
|
+
*/
|
|
51
|
+
async getFunctionArtifactByName(contractAddress, functionName) {
|
|
52
|
+
const contract = await this.db.getContract(contractAddress);
|
|
53
|
+
return contract?.functions.find(f => f.name === functionName);
|
|
54
|
+
}
|
|
43
55
|
/**
|
|
44
56
|
* Retrieves the debug metadata of a specified function within a given contract.
|
|
45
57
|
* The function is identified by its selector, which is a unique code generated from the function's signature.
|
|
@@ -134,4 +146,4 @@ export class ContractDataOracle {
|
|
|
134
146
|
return tree;
|
|
135
147
|
}
|
|
136
148
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGF0YV9vcmFjbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkcsT0FBTyxFQUEyQyx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLEVBQW9CLEVBQVUsYUFBZ0M7UUFBOUQsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFGMUUsVUFBSyxHQUFtQixFQUFFLENBQUM7SUFFa0QsQ0FBQztJQUV0Rjs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxlQUE2QjtRQUNqRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUN4RixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMseUJBQXlCLENBQUMsZUFBNkIsRUFBRSxZQUFvQjtRQUN4RixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGVB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
|
|
@@ -111,7 +111,7 @@ export class ContractTree {
|
|
|
111
111
|
*/
|
|
112
112
|
async getContractMembershipWitness() {
|
|
113
113
|
const index = await this.getContractIndex();
|
|
114
|
-
const siblingPath = await this.stateInfoProvider.
|
|
114
|
+
const siblingPath = await this.stateInfoProvider.getContractSiblingPath(index);
|
|
115
115
|
return new MembershipWitness(CONTRACT_TREE_HEIGHT, index, assertLength(siblingPath.toFieldArray(), CONTRACT_TREE_HEIGHT));
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
@@ -178,4 +178,4 @@ export class ContractTree {
|
|
|
178
178
|
return this.contractIndex;
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfdHJlZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixvQkFBb0IsRUFFcEIsWUFBWSxFQUNaLGlCQUFpQixFQUVqQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBMEIsWUFBWSxFQUFnQyxNQUFNLGNBQWMsQ0FBQztBQUVsRzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBTXZCO0lBQ0U7O09BRUc7SUFDYSxRQUFxQixFQUM3QixpQkFBb0MsRUFDcEMsSUFBa0I7SUFDMUI7O09BRUc7SUFDYSxzQkFBK0M7UUFOL0MsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQWM7UUFJViwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXlCO0lBQzlELENBQUM7SUFFSjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNyQixRQUEwQixFQUMxQixJQUFVLEVBQ1YsY0FBMEIsRUFDMUIsbUJBQXVCLEVBQ3ZCLElBQWUsRUFDZixJQUFlO1FBRWYsTUFBTSxJQUFJLEdBQUcsTUFBTSxZ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
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CompleteAddress, HistoricBlockData } from '@aztec/circuits.js';
|
|
1
|
+
import { CompleteAddress, HistoricBlockData, PublicKey } from '@aztec/circuits.js';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { ContractDatabase, MerkleTreeId,
|
|
5
|
-
import {
|
|
4
|
+
import { ContractDatabase, MerkleTreeId, NoteFilter } from '@aztec/types';
|
|
5
|
+
import { NoteDao } from './note_dao.js';
|
|
6
6
|
/**
|
|
7
7
|
* A database interface that provides methods for retrieving, adding, and removing transactional data related to Aztec
|
|
8
8
|
* addresses, storage slots, and nullifiers.
|
|
@@ -21,43 +21,32 @@ export interface Database extends ContractDatabase {
|
|
|
21
21
|
*/
|
|
22
22
|
getAuthWitness(messageHash: Fr): Promise<Fr[]>;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @param contract - The contract address.
|
|
29
|
-
* @param storageSlot - A Fr object representing the storage slot to search for in the auxiliary data.
|
|
30
|
-
* @returns An array of NoteSpendingInfoDao objects that fulfill the contract address and storage slot criteria.
|
|
24
|
+
* Gets notes based on the provided filter.
|
|
25
|
+
* @param filter - The filter to apply to the notes.
|
|
26
|
+
* @returns The requested notes.
|
|
31
27
|
*/
|
|
32
|
-
|
|
28
|
+
getNotes(filter: NoteFilter): Promise<NoteDao[]>;
|
|
33
29
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* such as contract address and storage slot, in the database.
|
|
37
|
-
*
|
|
38
|
-
* @param noteSpendingInfoDao - The NoteSpendingInfoDao instance containing the auxiliary data of a transaction.
|
|
39
|
-
* @returns A promise that resolves when the auxiliary data is added to the database.
|
|
30
|
+
* Adds a note to DB.
|
|
31
|
+
* @param note - The note to add.
|
|
40
32
|
*/
|
|
41
|
-
|
|
33
|
+
addNote(note: NoteDao): Promise<void>;
|
|
42
34
|
/**
|
|
43
|
-
* Adds an array of
|
|
44
|
-
* This function is used to insert multiple
|
|
35
|
+
* Adds an array of notes to DB.
|
|
36
|
+
* This function is used to insert multiple notes to the database at once,
|
|
45
37
|
* which can improve performance when dealing with large numbers of transactions.
|
|
46
38
|
*
|
|
47
|
-
* @param
|
|
48
|
-
* @returns A Promise that resolves when all NoteSpendingInfoDaos have been successfully added to the noteSpendingInfoTable.
|
|
39
|
+
* @param notes - An array of notes.
|
|
49
40
|
*/
|
|
50
|
-
|
|
41
|
+
addNotes(notes: NoteDao[]): Promise<void>;
|
|
51
42
|
/**
|
|
52
|
-
* Remove nullified
|
|
53
|
-
* The function filters the records based on matching account and nullifier values, and updates the
|
|
54
|
-
* noteSpendingInfoTable with the remaining records. It returns an array of removed NoteSpendingInfoDao instances.
|
|
43
|
+
* Remove nullified notes associated with the given account and nullifiers.
|
|
55
44
|
*
|
|
56
45
|
* @param nullifiers - An array of Fr instances representing nullifiers to be matched.
|
|
57
46
|
* @param account - A PublicKey instance representing the account for which the records are being removed.
|
|
58
|
-
* @returns
|
|
47
|
+
* @returns Removed notes.
|
|
59
48
|
*/
|
|
60
|
-
|
|
49
|
+
removeNullifiedNotes(nullifiers: Fr[], account: PublicKey): Promise<NoteDao[]>;
|
|
61
50
|
/**
|
|
62
51
|
* Retrieve the stored Merkle tree roots from the database.
|
|
63
52
|
* The function returns a Promise that resolves to an object containing the MerkleTreeId as keys
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;;OAMG;IACH,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/E;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzC;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;;;OAOG;IACH,oBAAoB,IAAI,iBAAiB,CAAC;IAE1C;;;;;;;OAOG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAEhF;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEnD;;;OAGG;IACH,YAAY,IAAI,MAAM,CAAC;CACxB"}
|
package/dest/database/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|
package/dest/database/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export * from './database.js';
|
|
2
2
|
export * from './memory_db.js';
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDZCQUE2QixDQUFDIn0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQyJ9
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { CompleteAddress, HistoricBlockData } from '@aztec/circuits.js';
|
|
1
|
+
import { CompleteAddress, HistoricBlockData, PublicKey } from '@aztec/circuits.js';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { MerkleTreeId,
|
|
4
|
+
import { MerkleTreeId, NoteFilter } from '@aztec/types';
|
|
5
5
|
import { MemoryContractDatabase } from '../contract_database/index.js';
|
|
6
6
|
import { Database } from './database.js';
|
|
7
|
-
import {
|
|
7
|
+
import { NoteDao } from './note_dao.js';
|
|
8
8
|
/**
|
|
9
9
|
* The MemoryDB class provides an in-memory implementation of a database to manage transactions and auxiliary data.
|
|
10
10
|
* It extends the MemoryContractDatabase, allowing it to store contract-related data as well.
|
|
@@ -12,7 +12,7 @@ import { NoteSpendingInfoDao } from './note_spending_info_dao.js';
|
|
|
12
12
|
* As an in-memory database, the stored data will not persist beyond the life of the application instance.
|
|
13
13
|
*/
|
|
14
14
|
export declare class MemoryDB extends MemoryContractDatabase implements Database {
|
|
15
|
-
private
|
|
15
|
+
private notesTable;
|
|
16
16
|
private treeRoots;
|
|
17
17
|
private globalVariablesHash;
|
|
18
18
|
private addresses;
|
|
@@ -30,10 +30,10 @@ export declare class MemoryDB extends MemoryContractDatabase implements Database
|
|
|
30
30
|
* @returns A Promise that resolves to an array of field elements representing the auth witness.
|
|
31
31
|
*/
|
|
32
32
|
getAuthWitness(messageHash: Fr): Promise<Fr[]>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
addNote(note: NoteDao): Promise<void>;
|
|
34
|
+
addNotes(notes: NoteDao[]): Promise<void>;
|
|
35
|
+
getNotes(filter: NoteFilter): Promise<NoteDao[]>;
|
|
36
|
+
removeNullifiedNotes(nullifiers: Fr[], account: PublicKey): Promise<NoteDao[]>;
|
|
37
37
|
getTreeRoots(): Record<MerkleTreeId, Fr>;
|
|
38
38
|
setTreeRoots(roots: Record<MerkleTreeId, Fr>): Promise<void>;
|
|
39
39
|
getHistoricBlockData(): HistoricBlockData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory_db.d.ts","sourceRoot":"","sources":["../../src/database/memory_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory_db.d.ts","sourceRoot":"","sources":["../../src/database/memory_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,sBAAuB,YAAW,QAAQ;IACtE,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAA4B;gBAErC,SAAS,CAAC,EAAE,MAAM;IAI9B;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI9C,OAAO,CAAC,IAAI,EAAE,OAAO;IAKrB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;IAKnB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBtD,oBAAoB,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS;IAoBzD,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;IAMxC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;IAK5C,oBAAoB,IAAI,iBAAiB;IAenC,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAetE,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAK/E,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIlD,YAAY;CAOpB"}
|
|
@@ -3,7 +3,6 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { MerkleTreeId } from '@aztec/types';
|
|
5
5
|
import { MemoryContractDatabase } from '../contract_database/index.js';
|
|
6
|
-
import { getNoteSpendingInfoDaoSize } from './note_spending_info_dao.js';
|
|
7
6
|
/**
|
|
8
7
|
* The MemoryDB class provides an in-memory implementation of a database to manage transactions and auxiliary data.
|
|
9
8
|
* It extends the MemoryContractDatabase, allowing it to store contract-related data as well.
|
|
@@ -13,7 +12,7 @@ import { getNoteSpendingInfoDaoSize } from './note_spending_info_dao.js';
|
|
|
13
12
|
export class MemoryDB extends MemoryContractDatabase {
|
|
14
13
|
constructor(logSuffix) {
|
|
15
14
|
super(createDebugLogger(logSuffix ? 'aztec:memory_db_' + logSuffix : 'aztec:memory_db'));
|
|
16
|
-
this.
|
|
15
|
+
this.notesTable = [];
|
|
17
16
|
this.addresses = [];
|
|
18
17
|
this.authWitnesses = {};
|
|
19
18
|
}
|
|
@@ -34,32 +33,41 @@ export class MemoryDB extends MemoryContractDatabase {
|
|
|
34
33
|
getAuthWitness(messageHash) {
|
|
35
34
|
return Promise.resolve(this.authWitnesses[messageHash.toString()]);
|
|
36
35
|
}
|
|
37
|
-
|
|
38
|
-
this.
|
|
36
|
+
addNote(note) {
|
|
37
|
+
this.notesTable.push(note);
|
|
39
38
|
return Promise.resolve();
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
this.
|
|
40
|
+
addNotes(notes) {
|
|
41
|
+
this.notesTable.push(...notes);
|
|
43
42
|
return Promise.resolve();
|
|
44
43
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
async getNotes(filter) {
|
|
45
|
+
let ownerPublicKey;
|
|
46
|
+
if (filter.owner !== undefined) {
|
|
47
|
+
const ownerCompleteAddress = await this.getCompleteAddress(filter.owner);
|
|
48
|
+
if (ownerCompleteAddress === undefined) {
|
|
49
|
+
throw new Error(`Owner ${filter.owner.toString()} not found in memory database`);
|
|
50
|
+
}
|
|
51
|
+
ownerPublicKey = ownerCompleteAddress.publicKey;
|
|
52
|
+
}
|
|
53
|
+
return this.notesTable.filter(note => (filter.contractAddress == undefined || note.contractAddress.equals(filter.contractAddress)) &&
|
|
54
|
+
(filter.txHash == undefined || note.txHash.equals(filter.txHash)) &&
|
|
55
|
+
(filter.storageSlot == undefined || note.storageSlot.equals(filter.storageSlot)) &&
|
|
56
|
+
(ownerPublicKey == undefined || note.publicKey.equals(ownerPublicKey)));
|
|
49
57
|
}
|
|
50
|
-
|
|
58
|
+
removeNullifiedNotes(nullifiers, account) {
|
|
51
59
|
const nullifierSet = new Set(nullifiers.map(nullifier => nullifier.toString()));
|
|
52
|
-
const [remaining, removed] = this.
|
|
53
|
-
const nullifier =
|
|
54
|
-
if (
|
|
55
|
-
acc[1].push(
|
|
60
|
+
const [remaining, removed] = this.notesTable.reduce((acc, note) => {
|
|
61
|
+
const nullifier = note.siloedNullifier.toString();
|
|
62
|
+
if (note.publicKey.equals(account) && nullifierSet.has(nullifier)) {
|
|
63
|
+
acc[1].push(note);
|
|
56
64
|
}
|
|
57
65
|
else {
|
|
58
|
-
acc[0].push(
|
|
66
|
+
acc[0].push(note);
|
|
59
67
|
}
|
|
60
68
|
return acc;
|
|
61
69
|
}, [[], []]);
|
|
62
|
-
this.
|
|
70
|
+
this.notesTable = remaining;
|
|
63
71
|
return Promise.resolve(removed);
|
|
64
72
|
}
|
|
65
73
|
getTreeRoots() {
|
|
@@ -109,11 +117,11 @@ export class MemoryDB extends MemoryContractDatabase {
|
|
|
109
117
|
return Promise.resolve(this.addresses);
|
|
110
118
|
}
|
|
111
119
|
estimateSize() {
|
|
112
|
-
const notesSize = this.
|
|
120
|
+
const notesSize = this.notesTable.reduce((sum, note) => sum + note.getSize(), 0);
|
|
113
121
|
const treeRootsSize = this.treeRoots ? Object.entries(this.treeRoots).length * Fr.SIZE_IN_BYTES : 0;
|
|
114
122
|
const authWits = Object.entries(this.authWitnesses);
|
|
115
123
|
const authWitsSize = authWits.reduce((sum, [key, value]) => sum + key.length + value.length * Fr.SIZE_IN_BYTES, 0);
|
|
116
124
|
return notesSize + treeRootsSize + authWitsSize + this.addresses.length * CompleteAddress.SIZE_IN_BYTES;
|
|
117
125
|
}
|
|
118
126
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL21lbW9yeV9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFFbkYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxjQUFjLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJdkU7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLHNCQUFzQjtJQU9sRCxZQUFZLFNBQWtCO1FBQzVCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBUG5GLGVBQVUsR0FBYyxFQUFFLENBQUM7UUFHM0IsY0FBUyxHQUFzQixFQUFFLENBQUM7UUFDbEMsa0JBQWEsR0FBeUIsRUFBRSxDQUFDO0lBSWpELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLFdBQWUsRUFBRSxPQUFhO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLFdBQWU7UUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sT0FB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
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { AztecAddress, Fr, PublicKey } from '@aztec/circuits.js';
|
|
3
|
+
import { BufferReader, Note, TxHash } from '@aztec/types';
|
|
4
|
+
/**
|
|
5
|
+
* A note with contextual data.
|
|
6
|
+
*/
|
|
7
|
+
export declare class NoteDao {
|
|
8
|
+
/** The note as emitted from the Noir contract. */
|
|
9
|
+
note: Note;
|
|
10
|
+
/** The contract address this note is created in. */
|
|
11
|
+
contractAddress: AztecAddress;
|
|
12
|
+
/** The specific storage location of the note on the contract. */
|
|
13
|
+
storageSlot: Fr;
|
|
14
|
+
/** The hash of the tx the note was created in. */
|
|
15
|
+
txHash: TxHash;
|
|
16
|
+
/** The nonce of the note. */
|
|
17
|
+
nonce: Fr;
|
|
18
|
+
/**
|
|
19
|
+
* Inner note hash of the note. This is customizable by the app circuit.
|
|
20
|
+
* We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
|
|
21
|
+
*/
|
|
22
|
+
innerNoteHash: Fr;
|
|
23
|
+
/** The nullifier of the note (siloed by contract address). */
|
|
24
|
+
siloedNullifier: Fr;
|
|
25
|
+
/** The location of the relevant note in the note hash tree. */
|
|
26
|
+
index: bigint;
|
|
27
|
+
/** The public key with which the note was encrypted. */
|
|
28
|
+
publicKey: PublicKey;
|
|
29
|
+
constructor(
|
|
30
|
+
/** The note as emitted from the Noir contract. */
|
|
31
|
+
note: Note,
|
|
32
|
+
/** The contract address this note is created in. */
|
|
33
|
+
contractAddress: AztecAddress,
|
|
34
|
+
/** The specific storage location of the note on the contract. */
|
|
35
|
+
storageSlot: Fr,
|
|
36
|
+
/** The hash of the tx the note was created in. */
|
|
37
|
+
txHash: TxHash,
|
|
38
|
+
/** The nonce of the note. */
|
|
39
|
+
nonce: Fr,
|
|
40
|
+
/**
|
|
41
|
+
* Inner note hash of the note. This is customizable by the app circuit.
|
|
42
|
+
* We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
|
|
43
|
+
*/
|
|
44
|
+
innerNoteHash: Fr,
|
|
45
|
+
/** The nullifier of the note (siloed by contract address). */
|
|
46
|
+
siloedNullifier: Fr,
|
|
47
|
+
/** The location of the relevant note in the note hash tree. */
|
|
48
|
+
index: bigint,
|
|
49
|
+
/** The public key with which the note was encrypted. */
|
|
50
|
+
publicKey: PublicKey);
|
|
51
|
+
toBuffer(): Buffer;
|
|
52
|
+
static fromBuffer(buffer: Buffer | BufferReader): NoteDao;
|
|
53
|
+
toString(): string;
|
|
54
|
+
static fromString(str: string): NoteDao;
|
|
55
|
+
/**
|
|
56
|
+
* Returns the size in bytes of the Note Dao.
|
|
57
|
+
* @returns - Its size in bytes.
|
|
58
|
+
*/
|
|
59
|
+
getSize(): number;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=note_dao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note_dao.d.ts","sourceRoot":"","sources":["../../src/database/note_dao.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAS,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,qBAAa,OAAO;IAEhB,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,aAAa,EAAE,EAAE;IACxB,8DAA8D;IACvD,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,SAAS,EAAE,SAAS;;IApB3B,kDAAkD;IAC3C,IAAI,EAAE,IAAI;IACjB,oDAAoD;IAC7C,eAAe,EAAE,YAAY;IACpC,iEAAiE;IAC1D,WAAW,EAAE,EAAE;IACtB,kDAAkD;IAC3C,MAAM,EAAE,MAAM;IACrB,6BAA6B;IACtB,KAAK,EAAE,EAAE;IAChB;;;OAGG;IACI,aAAa,EAAE,EAAE;IACxB,8DAA8D;IACvD,eAAe,EAAE,EAAE;IAC1B,+DAA+D;IACxD,KAAK,EAAE,MAAM;IACpB,wDAAwD;IACjD,SAAS,EAAE,SAAS;IAG7B,QAAQ,IAAI,MAAM;IAalB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IA0B/C,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAK7B;;;OAGG;IACI,OAAO;CAKf"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { AztecAddress, Fr, Point } from '@aztec/circuits.js';
|
|
2
|
+
import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
3
|
+
import { BufferReader, Note, TxHash } from '@aztec/types';
|
|
4
|
+
/**
|
|
5
|
+
* A note with contextual data.
|
|
6
|
+
*/
|
|
7
|
+
export class NoteDao {
|
|
8
|
+
constructor(
|
|
9
|
+
/** The note as emitted from the Noir contract. */
|
|
10
|
+
note,
|
|
11
|
+
/** The contract address this note is created in. */
|
|
12
|
+
contractAddress,
|
|
13
|
+
/** The specific storage location of the note on the contract. */
|
|
14
|
+
storageSlot,
|
|
15
|
+
/** The hash of the tx the note was created in. */
|
|
16
|
+
txHash,
|
|
17
|
+
/** The nonce of the note. */
|
|
18
|
+
nonce,
|
|
19
|
+
/**
|
|
20
|
+
* Inner note hash of the note. This is customizable by the app circuit.
|
|
21
|
+
* We can use this value to compute siloedNoteHash and uniqueSiloedNoteHash.
|
|
22
|
+
*/
|
|
23
|
+
innerNoteHash,
|
|
24
|
+
/** The nullifier of the note (siloed by contract address). */
|
|
25
|
+
siloedNullifier,
|
|
26
|
+
/** The location of the relevant note in the note hash tree. */
|
|
27
|
+
index,
|
|
28
|
+
/** The public key with which the note was encrypted. */
|
|
29
|
+
publicKey) {
|
|
30
|
+
this.note = note;
|
|
31
|
+
this.contractAddress = contractAddress;
|
|
32
|
+
this.storageSlot = storageSlot;
|
|
33
|
+
this.txHash = txHash;
|
|
34
|
+
this.nonce = nonce;
|
|
35
|
+
this.innerNoteHash = innerNoteHash;
|
|
36
|
+
this.siloedNullifier = siloedNullifier;
|
|
37
|
+
this.index = index;
|
|
38
|
+
this.publicKey = publicKey;
|
|
39
|
+
}
|
|
40
|
+
toBuffer() {
|
|
41
|
+
return Buffer.concat([
|
|
42
|
+
this.note.toBuffer(),
|
|
43
|
+
this.contractAddress.toBuffer(),
|
|
44
|
+
this.storageSlot.toBuffer(),
|
|
45
|
+
this.txHash.buffer,
|
|
46
|
+
this.nonce.toBuffer(),
|
|
47
|
+
this.innerNoteHash.toBuffer(),
|
|
48
|
+
this.siloedNullifier.toBuffer(),
|
|
49
|
+
toBufferBE(this.index, 32),
|
|
50
|
+
this.publicKey.toBuffer(),
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
53
|
+
static fromBuffer(buffer) {
|
|
54
|
+
const reader = BufferReader.asReader(buffer);
|
|
55
|
+
const note = Note.fromBuffer(reader);
|
|
56
|
+
const contractAddress = AztecAddress.fromBuffer(reader);
|
|
57
|
+
const storageSlot = Fr.fromBuffer(reader);
|
|
58
|
+
const txHash = new TxHash(reader.readBytes(TxHash.SIZE));
|
|
59
|
+
const nonce = Fr.fromBuffer(reader);
|
|
60
|
+
const innerNoteHash = Fr.fromBuffer(reader);
|
|
61
|
+
const siloedNullifier = Fr.fromBuffer(reader);
|
|
62
|
+
const index = toBigIntBE(reader.readBytes(32));
|
|
63
|
+
const publicKey = Point.fromBuffer(reader);
|
|
64
|
+
return new NoteDao(note, contractAddress, storageSlot, txHash, nonce, innerNoteHash, siloedNullifier, index, publicKey);
|
|
65
|
+
}
|
|
66
|
+
toString() {
|
|
67
|
+
return '0x' + this.toBuffer().toString('hex');
|
|
68
|
+
}
|
|
69
|
+
static fromString(str) {
|
|
70
|
+
const hex = str.replace(/^0x/, '');
|
|
71
|
+
return NoteDao.fromBuffer(Buffer.from(hex, 'hex'));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns the size in bytes of the Note Dao.
|
|
75
|
+
* @returns - Its size in bytes.
|
|
76
|
+
*/
|
|
77
|
+
getSize() {
|
|
78
|
+
const indexSize = Math.ceil(Math.log2(Number(this.index)));
|
|
79
|
+
const noteSize = 4 + this.note.items.length * Fr.SIZE_IN_BYTES;
|
|
80
|
+
return noteSize + AztecAddress.SIZE_IN_BYTES + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + indexSize;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YWJhc2Uvbm90ZV9kYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNsQjtJQUNFLGtEQUFrRDtJQUMzQyxJQUFVO0lBQ2pCLG9EQUFvRDtJQUM3QyxlQUE2QjtJQUNwQyxpRUFBaUU7SUFDMUQsV0FBZTtJQUN0QixrREFBa0Q7SUFDM0MsTUFBYztJQUNyQiw2QkFBNkI7SUFDdEIsS0FBUztJQUNoQjs7O09BR0c7SUFDSSxhQUFpQjtJQUN4Qiw4REFBOEQ7SUFDdkQsZUFBbUI7SUFDMUIsK0RBQStEO0lBQ3hELEtBQWE7SUFDcEIsd0RBQXdEO0lBQ2pELFNBQW9CO1FBbkJwQixTQUFJLEdBQUosSUFBSSxDQUFNO1FBRVYsb0JBQWUsR0FBZixlQUFlLENBQWM7UUFFN0IsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRWQsVUFBSyxHQUFMLEtBQUssQ0FBSTtRQUtULGtCQUFhLEdBQWIsYUFBYSxDQUFJO1FBRWpCLG9CQUFlLEdBQWYsZUFBZSxDQUFJO1FBRW5CLFVBQUssR0FBTCxLQUFLLENBQVE7UUFFYixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQzFCLENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFB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
|
|
@@ -18,7 +18,7 @@ export class KernelOracle {
|
|
|
18
18
|
return await this.contractDataOracle.getVkMembershipWitness();
|
|
19
19
|
}
|
|
20
20
|
async getNoteMembershipWitness(leafIndex) {
|
|
21
|
-
const path = await this.node.
|
|
21
|
+
const path = await this.node.getNoteHashSiblingPath(leafIndex);
|
|
22
22
|
return new MembershipWitness(path.pathSize, leafIndex, path.toFieldArray());
|
|
23
23
|
}
|
|
24
24
|
async getNoteHashTreeRoot() {
|
|
@@ -26,4 +26,4 @@ export class KernelOracle {
|
|
|
26
26
|
return roots[MerkleTreeId.NOTE_HASH_TREE];
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsX29yYWNsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNDLGlCQUFpQixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBRWxILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixrQkFBc0MsRUFBVSxJQUFlO1FBQS9ELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO0lBQUcsQ0FBQztJQUVoRixLQUFLLENBQUMsNEJBQTRCLENBQUMsZUFBNkI7UUFDckUsT0FBTyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLGVBQTZCLEVBQUUsUUFBMEI7UUFDakcsT0FBTyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsT0FBTyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsU0FBaUI7UUFDOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsSUFBSSxDQUFDLFFBQVEsRUFDYixTQUFTLEVBQ1QsSUFBSSxDQUFDLFlBQVksRUFBNkMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExecutionResult,
|
|
1
|
+
import { ExecutionResult, NoteAndSlot } from '@aztec/acir-simulator';
|
|
2
2
|
import { AztecAddress, Fr, TxRequest } from '@aztec/circuits.js';
|
|
3
3
|
import { ProofCreator, ProofOutputFinal } from './proof_creator.js';
|
|
4
4
|
import { ProvingDataOracle } from './proving_data_oracle.js';
|
|
@@ -15,7 +15,7 @@ export interface OutputNoteData {
|
|
|
15
15
|
/**
|
|
16
16
|
* The encrypted note data for an output note.
|
|
17
17
|
*/
|
|
18
|
-
data:
|
|
18
|
+
data: NoteAndSlot;
|
|
19
19
|
/**
|
|
20
20
|
* The unique value representing the note.
|
|
21
21
|
*/
|
|
@@ -55,11 +55,11 @@ export declare class KernelProver {
|
|
|
55
55
|
private createPrivateCallData;
|
|
56
56
|
/**
|
|
57
57
|
* Retrieves the new output notes for a given execution result.
|
|
58
|
-
* The function maps over the new
|
|
58
|
+
* The function maps over the new notes and associates them with their corresponding
|
|
59
59
|
* commitments in the public inputs of the execution result. It also includes the contract address
|
|
60
60
|
* from the call context of the public inputs.
|
|
61
61
|
*
|
|
62
|
-
* @param executionResult - The execution result object containing
|
|
62
|
+
* @param executionResult - The execution result object containing notes and public inputs.
|
|
63
63
|
* @returns An array of OutputNoteData objects, each representing an output note with its associated data.
|
|
64
64
|
*/
|
|
65
65
|
private getNewNotes;
|