@aztec/pxe 3.0.0-nightly.20251201.2 → 3.0.0-nightly.20251202
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_function_simulator/execution_data_provider.d.ts +3 -2
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -2
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +3 -2
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +4 -3
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -3
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +5 -3
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.d.ts +3 -3
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +4 -4
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +5 -4
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +7 -5
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +3 -2
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +3 -2
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +4 -3
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +1 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +7 -5
- package/dest/storage/note_data_provider/note_data_provider.d.ts +4 -4
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +1 -1
- package/dest/storage/note_data_provider/note_data_provider.js +4 -1
- package/package.json +16 -16
- package/src/contract_function_simulator/execution_data_provider.ts +2 -0
- package/src/contract_function_simulator/execution_note_cache.ts +3 -2
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +4 -0
- package/src/contract_function_simulator/oracle/oracle.ts +4 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +7 -2
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +9 -1
- package/src/contract_function_simulator/pxe_oracle_interface.ts +16 -5
- package/src/storage/note_data_provider/note_data_provider.ts +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,6 +130,7 @@ import { pickNotes } from '../pick_notes.js';
|
|
|
130
130
|
* Real notes coming from DB will have a leafIndex which
|
|
131
131
|
* represents their index in the note hash tree.
|
|
132
132
|
*
|
|
133
|
+
* @param owner - The owner of the notes.
|
|
133
134
|
* @param storageSlot - The storage slot.
|
|
134
135
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
135
136
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -141,8 +142,8 @@ import { pickNotes } from '../pick_notes.js';
|
|
|
141
142
|
* @param offset - The starting index for pagination.
|
|
142
143
|
* @param status - The status of notes to fetch.
|
|
143
144
|
* @returns Array of note data.
|
|
144
|
-
*/ async utilityGetNotes(storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
145
|
-
const dbNotes = await this.executionDataProvider.getNotes(this.contractAddress, storageSlot, status, this.scopes);
|
|
145
|
+
*/ async utilityGetNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
146
|
+
const dbNotes = await this.executionDataProvider.getNotes(this.contractAddress, owner, storageSlot, status, this.scopes);
|
|
146
147
|
return pickNotes(dbNotes, {
|
|
147
148
|
selects: selectByIndexes.slice(0, numSelects).map((index, i)=>({
|
|
148
149
|
selector: {
|
|
@@ -42,8 +42,9 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
42
42
|
getKeyValidationRequest(pkMHash: Fr, contractAddress: AztecAddress): Promise<KeyValidationRequest>;
|
|
43
43
|
getCompleteAddress(account: AztecAddress): Promise<CompleteAddress>;
|
|
44
44
|
getContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
45
|
-
getNotes(contractAddress: AztecAddress, storageSlot: Fr, status: NoteStatus, scopes?: AztecAddress[]): Promise<{
|
|
45
|
+
getNotes(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr, status: NoteStatus, scopes?: AztecAddress[]): Promise<{
|
|
46
46
|
contractAddress: AztecAddress;
|
|
47
|
+
owner: AztecAddress;
|
|
47
48
|
storageSlot: Fr;
|
|
48
49
|
randomness: Fr;
|
|
49
50
|
noteNonce: Fr;
|
|
@@ -94,7 +95,7 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
94
95
|
*/
|
|
95
96
|
syncTaggedLogs(contractAddress: AztecAddress, pendingTaggedLogArrayBaseSlot: Fr, scopes?: AztecAddress[]): Promise<void>;
|
|
96
97
|
validateEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
|
|
97
|
-
deliverNote(contractAddress: AztecAddress, storageSlot: Fr, randomness: Fr, noteNonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
|
|
98
|
+
deliverNote(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteNonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
|
|
98
99
|
bulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
|
|
99
100
|
deliverEvent(contractAddress: AztecAddress, selector: EventSelector, content: Fr[], eventCommitment: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
|
|
100
101
|
getPublicLogByTag(tag: Fr, contractAddress: AztecAddress): Promise<PublicLogWithTxData | null>;
|
|
@@ -119,4 +120,4 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
119
120
|
getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
|
|
120
121
|
getStats(): ExecutionStats;
|
|
121
122
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX29yYWNsZV9pbnRlcmZhY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvcHhlX29yYWNsZV9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBZSxPQUFPLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFlLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLG1CQUFtQixFQUdwQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_oracle_interface.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/pxe_oracle_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pxe_oracle_interface.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/pxe_oracle_interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,15 +58,17 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
|
|
|
58
58
|
}
|
|
59
59
|
return instance;
|
|
60
60
|
}
|
|
61
|
-
async getNotes(contractAddress, storageSlot, status, scopes) {
|
|
61
|
+
async getNotes(contractAddress, owner, storageSlot, status, scopes) {
|
|
62
62
|
const noteDaos = await this.noteDataProvider.getNotes({
|
|
63
63
|
contractAddress,
|
|
64
|
+
owner,
|
|
64
65
|
storageSlot,
|
|
65
66
|
status,
|
|
66
67
|
scopes
|
|
67
68
|
});
|
|
68
|
-
return noteDaos.map(({ contractAddress, storageSlot, randomness, noteNonce, note, noteHash, siloedNullifier, index })=>({
|
|
69
|
+
return noteDaos.map(({ contractAddress, owner, storageSlot, randomness, noteNonce, note, noteHash, siloedNullifier, index })=>({
|
|
69
70
|
contractAddress,
|
|
71
|
+
owner,
|
|
70
72
|
storageSlot,
|
|
71
73
|
randomness,
|
|
72
74
|
noteNonce,
|
|
@@ -422,7 +424,7 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
|
|
|
422
424
|
// faster as we don't need to wait for the network round-trip.
|
|
423
425
|
const noteValidationRequests = (await this.capsuleDataProvider.readCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot)).map(NoteValidationRequest.fromFields);
|
|
424
426
|
const eventValidationRequests = (await this.capsuleDataProvider.readCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot)).map(EventValidationRequest.fromFields);
|
|
425
|
-
const noteDeliveries = noteValidationRequests.map((request)=>this.deliverNote(request.contractAddress, request.storageSlot, request.randomness, request.noteNonce, request.content, request.noteHash, request.nullifier, request.txHash, request.recipient));
|
|
427
|
+
const noteDeliveries = noteValidationRequests.map((request)=>this.deliverNote(request.contractAddress, request.owner, request.storageSlot, request.randomness, request.noteNonce, request.content, request.noteHash, request.nullifier, request.txHash, request.recipient));
|
|
426
428
|
const eventDeliveries = eventValidationRequests.map((request)=>this.deliverEvent(request.contractAddress, request.eventTypeId, request.serializedEvent, request.eventCommitment, request.txHash, request.recipient));
|
|
427
429
|
await Promise.all([
|
|
428
430
|
...noteDeliveries,
|
|
@@ -432,7 +434,7 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
|
|
|
432
434
|
await this.capsuleDataProvider.setCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot, []);
|
|
433
435
|
await this.capsuleDataProvider.setCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot, []);
|
|
434
436
|
}
|
|
435
|
-
async deliverNote(contractAddress, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash, recipient) {
|
|
437
|
+
async deliverNote(contractAddress, owner, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash, recipient) {
|
|
436
438
|
// We are going to store the new note in the NoteDataProvider, which will let us later return it via `getNotes`.
|
|
437
439
|
// There's two things we need to check before we do this however:
|
|
438
440
|
// - we must make sure the note does actually exist in the note hash tree
|
|
@@ -470,7 +472,7 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
|
|
|
470
472
|
if (uniqueNoteHashTreeIndexInBlock === undefined) {
|
|
471
473
|
throw new Error(`Note hash ${noteHash} (uniqued as ${uniqueNoteHash}) is not present on the tree at block ${syncedBlockNumber} (from tx ${txHash})`);
|
|
472
474
|
}
|
|
473
|
-
const noteDao = new NoteDao(new Note(content), contractAddress, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, uniqueNoteHashTreeIndexInBlock?.l2BlockNumber, uniqueNoteHashTreeIndexInBlock?.l2BlockHash.toString(), uniqueNoteHashTreeIndexInBlock?.data);
|
|
475
|
+
const noteDao = new NoteDao(new Note(content), contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, uniqueNoteHashTreeIndexInBlock?.l2BlockNumber, uniqueNoteHashTreeIndexInBlock?.l2BlockHash.toString(), uniqueNoteHashTreeIndexInBlock?.data);
|
|
474
476
|
// The note was found by `recipient`, so we use that as the scope when storing the note.
|
|
475
477
|
await this.noteDataProvider.addNotes([
|
|
476
478
|
noteDao
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
-
import type {
|
|
4
|
+
import type { DataInBlock } from '@aztec/stdlib/block';
|
|
5
5
|
import { type NotesFilter } from '@aztec/stdlib/note';
|
|
6
6
|
import { NoteDao } from '@aztec/stdlib/note';
|
|
7
7
|
/**
|
|
@@ -62,7 +62,7 @@ export declare class NoteDataProvider {
|
|
|
62
62
|
* parameters.
|
|
63
63
|
*
|
|
64
64
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
65
|
-
* storageSlot, status, scopes and siloedNullifier.
|
|
65
|
+
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
66
66
|
* @returns Promise resolving to array of NoteDao objects matching the filter
|
|
67
67
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
68
68
|
*/
|
|
@@ -78,6 +78,6 @@ export declare class NoteDataProvider {
|
|
|
78
78
|
* @returns Promise resolving to array of nullified NoteDao objects
|
|
79
79
|
* @throws Error if any nullifier is not found in the active notes
|
|
80
80
|
*/
|
|
81
|
-
applyNullifiers(nullifiers:
|
|
81
|
+
applyNullifiers(nullifiers: DataInBlock<Fr>[]): Promise<NoteDao[]>;
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYXRhX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9ub3RlX2RhdGFfcHJvdmlkZXIvbm90ZV9kYXRhX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFxQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsS0FBSyxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0M7Ozs7O0lBS0k7QUFDSixxQkFBYSxnQkFBZ0I7O0lBaUIzQixPQUFPLGVBZ0JOO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxPQUFvQixNQUFNLENBQUMsS0FBSyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU85RTtJQUVEOzs7Ozs7OztPQVFHO0lBQ1UsUUFBUSxDQUFDLEtBQUssRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVkzRDtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZ0I3RDtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNVLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHdEc7SUF1RkQ7Ozs7Ozs7Ozs7T0FVRztJQUNHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQWdHdEQ7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsZUFBZSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0E4RGpFO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/note_data_provider/note_data_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"note_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/note_data_provider/note_data_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;IAKI;AACJ,qBAAa,gBAAgB;;IAiB3B,OAAO,eAgBN;IAED;;;;;;;;OAQG;IACH,OAAoB,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO9E;IAED;;;;;;;;OAQG;IACU,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3D;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7D;IAED;;;;;;;;;OASG;IACU,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtG;IAuFD;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAgGtD;IAED;;;;;;;;;;OAUG;IACH,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA8DjE;CACF"}
|
|
@@ -185,7 +185,7 @@ import { NoteDao } from '@aztec/stdlib/note';
|
|
|
185
185
|
* parameters.
|
|
186
186
|
*
|
|
187
187
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
188
|
-
* storageSlot, status, scopes and siloedNullifier.
|
|
188
|
+
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
189
189
|
* @returns Promise resolving to array of NoteDao objects matching the filter
|
|
190
190
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
191
191
|
*/ async getNotes(filter) {
|
|
@@ -237,6 +237,9 @@ import { NoteDao } from '@aztec/stdlib/note';
|
|
|
237
237
|
if (!note.contractAddress.equals(filter.contractAddress)) {
|
|
238
238
|
continue;
|
|
239
239
|
}
|
|
240
|
+
if (filter.owner && !note.owner.equals(filter.owner)) {
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
240
243
|
if (filter.storageSlot && !note.storageSlot.equals(filter.storageSlot)) {
|
|
241
244
|
continue;
|
|
242
245
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251202",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": "./dest/entrypoints/server/index.js",
|
|
@@ -61,19 +61,19 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
65
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
66
|
-
"@aztec/builder": "3.0.0-nightly.
|
|
67
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
68
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
69
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
70
|
-
"@aztec/key-store": "3.0.0-nightly.
|
|
71
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
72
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
73
|
-
"@aztec/noir-types": "3.0.0-nightly.
|
|
74
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
75
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
76
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
64
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251202",
|
|
65
|
+
"@aztec/bb.js": "3.0.0-nightly.20251202",
|
|
66
|
+
"@aztec/builder": "3.0.0-nightly.20251202",
|
|
67
|
+
"@aztec/constants": "3.0.0-nightly.20251202",
|
|
68
|
+
"@aztec/ethereum": "3.0.0-nightly.20251202",
|
|
69
|
+
"@aztec/foundation": "3.0.0-nightly.20251202",
|
|
70
|
+
"@aztec/key-store": "3.0.0-nightly.20251202",
|
|
71
|
+
"@aztec/kv-store": "3.0.0-nightly.20251202",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251202",
|
|
73
|
+
"@aztec/noir-types": "3.0.0-nightly.20251202",
|
|
74
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251202",
|
|
75
|
+
"@aztec/simulator": "3.0.0-nightly.20251202",
|
|
76
|
+
"@aztec/stdlib": "3.0.0-nightly.20251202",
|
|
77
77
|
"koa": "^2.16.1",
|
|
78
78
|
"koa-router": "^13.1.1",
|
|
79
79
|
"lodash.omit": "^4.5.0",
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
|
-
"@aztec/merkle-tree": "3.0.0-nightly.
|
|
86
|
-
"@aztec/noir-test-contracts.js": "3.0.0-nightly.
|
|
85
|
+
"@aztec/merkle-tree": "3.0.0-nightly.20251202",
|
|
86
|
+
"@aztec/noir-test-contracts.js": "3.0.0-nightly.20251202",
|
|
87
87
|
"@jest/globals": "^30.0.0",
|
|
88
88
|
"@types/jest": "^30.0.0",
|
|
89
89
|
"@types/lodash.omit": "^4.5.7",
|
|
@@ -74,6 +74,7 @@ export interface ExecutionDataProvider {
|
|
|
74
74
|
* Returns an object containing an array of note data.
|
|
75
75
|
*
|
|
76
76
|
* @param contractAddress - The contract address of the notes.
|
|
77
|
+
* @param owner - The owner of the notes.
|
|
77
78
|
* @param storageSlot - The storage slot of the notes.
|
|
78
79
|
* @param status - The status of notes to fetch.
|
|
79
80
|
* @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
@@ -81,6 +82,7 @@ export interface ExecutionDataProvider {
|
|
|
81
82
|
*/
|
|
82
83
|
getNotes(
|
|
83
84
|
contractAddress: AztecAddress,
|
|
85
|
+
owner: AztecAddress,
|
|
84
86
|
storageSlot: Fr,
|
|
85
87
|
status: NoteStatus,
|
|
86
88
|
scopes?: AztecAddress[],
|
|
@@ -173,11 +173,12 @@ export class ExecutionNoteCache {
|
|
|
173
173
|
* Return notes created up to current point in execution.
|
|
174
174
|
* If a nullifier for a note in this list is emitted, the note will be deleted.
|
|
175
175
|
* @param contractAddress - Contract address of the notes.
|
|
176
|
+
* @param owner - Owner of the notes.
|
|
176
177
|
* @param storageSlot - Storage slot of the notes.
|
|
177
178
|
**/
|
|
178
|
-
public getNotes(contractAddress: AztecAddress, storageSlot: Fr) {
|
|
179
|
+
public getNotes(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr) {
|
|
179
180
|
const notes = this.noteMap.get(contractAddress.toBigInt()) ?? [];
|
|
180
|
-
return notes.filter(n => n.note.storageSlot.equals(storageSlot)).map(n => n.note);
|
|
181
|
+
return notes.filter(n => n.note.owner.equals(owner) && n.note.storageSlot.equals(storageSlot)).map(n => n.note);
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
/**
|
|
@@ -4,7 +4,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
4
4
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
5
5
|
|
|
6
6
|
// TODO(#14617): should we compute this from constants? This value is aztec-nr specific.
|
|
7
|
-
export const MAX_NOTE_PACKED_LEN =
|
|
7
|
+
export const MAX_NOTE_PACKED_LEN = 10;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Intermediate struct used to perform batch note validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
|
|
@@ -13,6 +13,7 @@ export const MAX_NOTE_PACKED_LEN = 11;
|
|
|
13
13
|
export class NoteValidationRequest {
|
|
14
14
|
constructor(
|
|
15
15
|
public contractAddress: AztecAddress,
|
|
16
|
+
public owner: AztecAddress,
|
|
16
17
|
public storageSlot: Fr,
|
|
17
18
|
public randomness: Fr,
|
|
18
19
|
public noteNonce: Fr,
|
|
@@ -27,6 +28,7 @@ export class NoteValidationRequest {
|
|
|
27
28
|
const reader = FieldReader.asReader(fields);
|
|
28
29
|
|
|
29
30
|
const contractAddress = AztecAddress.fromField(reader.readField());
|
|
31
|
+
const owner = AztecAddress.fromField(reader.readField());
|
|
30
32
|
const storageSlot = reader.readField();
|
|
31
33
|
const randomness = reader.readField();
|
|
32
34
|
const noteNonce = reader.readField();
|
|
@@ -48,6 +50,7 @@ export class NoteValidationRequest {
|
|
|
48
50
|
|
|
49
51
|
return new NoteValidationRequest(
|
|
50
52
|
contractAddress,
|
|
53
|
+
owner,
|
|
51
54
|
storageSlot,
|
|
52
55
|
randomness,
|
|
53
56
|
noteNonce,
|
|
@@ -21,6 +21,8 @@ export interface NoteData {
|
|
|
21
21
|
note: Note;
|
|
22
22
|
/** The address of the contract that owns the note. */
|
|
23
23
|
contractAddress: AztecAddress;
|
|
24
|
+
/** The owner of the note. */
|
|
25
|
+
owner: AztecAddress;
|
|
24
26
|
/** The storage slot of the note. */
|
|
25
27
|
storageSlot: Fr;
|
|
26
28
|
/** The randomness injected to the note */
|
|
@@ -76,6 +78,7 @@ export interface IUtilityExecutionOracle {
|
|
|
76
78
|
utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
|
|
77
79
|
utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
|
|
78
80
|
utilityGetNotes(
|
|
81
|
+
owner: AztecAddress,
|
|
79
82
|
storageSlot: Fr,
|
|
80
83
|
numSelects: number,
|
|
81
84
|
selectByIndexes: number[],
|
|
@@ -132,6 +135,7 @@ export interface IPrivateExecutionOracle {
|
|
|
132
135
|
privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
|
|
133
136
|
privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
|
|
134
137
|
privateNotifyCreatedNote(
|
|
138
|
+
owner: AztecAddress,
|
|
135
139
|
storageSlot: Fr,
|
|
136
140
|
randomness: Fr,
|
|
137
141
|
noteTypeId: NoteSelector,
|
|
@@ -235,6 +235,7 @@ export class Oracle {
|
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
async utilityGetNotes(
|
|
238
|
+
[owner]: ACVMField[],
|
|
238
239
|
[storageSlot]: ACVMField[],
|
|
239
240
|
[numSelects]: ACVMField[],
|
|
240
241
|
selectByIndexes: ACVMField[],
|
|
@@ -253,6 +254,7 @@ export class Oracle {
|
|
|
253
254
|
[packedRetrievedNoteLength]: ACVMField[],
|
|
254
255
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
255
256
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(
|
|
257
|
+
AztecAddress.fromString(owner),
|
|
256
258
|
Fr.fromString(storageSlot),
|
|
257
259
|
+numSelects,
|
|
258
260
|
selectByIndexes.map(s => +s),
|
|
@@ -281,6 +283,7 @@ export class Oracle {
|
|
|
281
283
|
}
|
|
282
284
|
|
|
283
285
|
privateNotifyCreatedNote(
|
|
286
|
+
[owner]: ACVMField[],
|
|
284
287
|
[storageSlot]: ACVMField[],
|
|
285
288
|
[randomness]: ACVMField[],
|
|
286
289
|
[noteTypeId]: ACVMField[],
|
|
@@ -289,6 +292,7 @@ export class Oracle {
|
|
|
289
292
|
[counter]: ACVMField[],
|
|
290
293
|
): Promise<ACVMField[]> {
|
|
291
294
|
this.handlerAsPrivate().privateNotifyCreatedNote(
|
|
295
|
+
AztecAddress.fromString(owner),
|
|
292
296
|
Fr.fromString(storageSlot),
|
|
293
297
|
Fr.fromString(randomness),
|
|
294
298
|
NoteSelector.fromField(Fr.fromString(noteTypeId)),
|
|
@@ -282,6 +282,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
282
282
|
* Real notes coming from DB will have a leafIndex which
|
|
283
283
|
* represents their index in the note hash tree.
|
|
284
284
|
*
|
|
285
|
+
* @param owner - The owner of the notes.
|
|
285
286
|
* @param storageSlot - The storage slot.
|
|
286
287
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
287
288
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -295,6 +296,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
295
296
|
* @returns Array of note data.
|
|
296
297
|
*/
|
|
297
298
|
public override async utilityGetNotes(
|
|
299
|
+
owner: AztecAddress,
|
|
298
300
|
storageSlot: Fr,
|
|
299
301
|
numSelects: number,
|
|
300
302
|
selectByIndexes: number[],
|
|
@@ -311,11 +313,12 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
311
313
|
status: NoteStatus,
|
|
312
314
|
): Promise<NoteData[]> {
|
|
313
315
|
// Nullified pending notes are already removed from the list.
|
|
314
|
-
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, storageSlot);
|
|
316
|
+
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
|
|
315
317
|
|
|
316
318
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
317
319
|
const dbNotes = await this.executionDataProvider.getNotes(
|
|
318
320
|
this.callContext.contractAddress,
|
|
321
|
+
owner,
|
|
319
322
|
storageSlot,
|
|
320
323
|
status,
|
|
321
324
|
this.scopes,
|
|
@@ -365,7 +368,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
365
368
|
/**
|
|
366
369
|
* Keep track of the new note created during execution.
|
|
367
370
|
* It can be used in subsequent calls (or transactions when chaining txs is possible).
|
|
368
|
-
* @param
|
|
371
|
+
* @param owner - The owner of the note.
|
|
369
372
|
* @param storageSlot - The storage slot.
|
|
370
373
|
* @param randomness - The randomness injected into the note.
|
|
371
374
|
* @param noteTypeId - The type ID of the note.
|
|
@@ -374,6 +377,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
374
377
|
* @returns
|
|
375
378
|
*/
|
|
376
379
|
public privateNotifyCreatedNote(
|
|
380
|
+
owner: AztecAddress,
|
|
377
381
|
storageSlot: Fr,
|
|
378
382
|
randomness: Fr,
|
|
379
383
|
noteTypeId: NoteSelector,
|
|
@@ -393,6 +397,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
393
397
|
this.noteCache.addNewNote(
|
|
394
398
|
{
|
|
395
399
|
contractAddress: this.callContext.contractAddress,
|
|
400
|
+
owner,
|
|
396
401
|
storageSlot,
|
|
397
402
|
randomness,
|
|
398
403
|
noteNonce: Fr.ZERO, // Nonce cannot be known during private execution.
|
|
@@ -164,6 +164,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
164
164
|
* Real notes coming from DB will have a leafIndex which
|
|
165
165
|
* represents their index in the note hash tree.
|
|
166
166
|
*
|
|
167
|
+
* @param owner - The owner of the notes.
|
|
167
168
|
* @param storageSlot - The storage slot.
|
|
168
169
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
169
170
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -177,6 +178,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
177
178
|
* @returns Array of note data.
|
|
178
179
|
*/
|
|
179
180
|
public async utilityGetNotes(
|
|
181
|
+
owner: AztecAddress,
|
|
180
182
|
storageSlot: Fr,
|
|
181
183
|
numSelects: number,
|
|
182
184
|
selectByIndexes: number[],
|
|
@@ -192,7 +194,13 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
192
194
|
offset: number,
|
|
193
195
|
status: NoteStatus,
|
|
194
196
|
): Promise<NoteData[]> {
|
|
195
|
-
const dbNotes = await this.executionDataProvider.getNotes(
|
|
197
|
+
const dbNotes = await this.executionDataProvider.getNotes(
|
|
198
|
+
this.contractAddress,
|
|
199
|
+
owner,
|
|
200
|
+
storageSlot,
|
|
201
|
+
status,
|
|
202
|
+
this.scopes,
|
|
203
|
+
);
|
|
196
204
|
return pickNotes<NoteData>(dbNotes, {
|
|
197
205
|
selects: selectByIndexes.slice(0, numSelects).map((index, i) => ({
|
|
198
206
|
selector: { index, offset: selectByOffsets[i], length: selectByLengths[i] },
|
|
@@ -5,7 +5,7 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
5
5
|
import type { KeyStore } from '@aztec/key-store';
|
|
6
6
|
import { EventSelector, type FunctionArtifactWithContractName, FunctionSelector } from '@aztec/stdlib/abi';
|
|
7
7
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
-
import type {
|
|
8
|
+
import type { DataInBlock, L2Block, L2BlockNumber } from '@aztec/stdlib/block';
|
|
9
9
|
import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
|
|
10
10
|
import { computeUniqueNoteHash, siloNoteHash, siloNullifier, siloPrivateLog } from '@aztec/stdlib/hash';
|
|
11
11
|
import { type AztecNode, MAX_RPC_LEN } from '@aztec/stdlib/interfaces/client';
|
|
@@ -90,16 +90,24 @@ export class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
90
90
|
return instance;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
async getNotes(
|
|
93
|
+
async getNotes(
|
|
94
|
+
contractAddress: AztecAddress,
|
|
95
|
+
owner: AztecAddress,
|
|
96
|
+
storageSlot: Fr,
|
|
97
|
+
status: NoteStatus,
|
|
98
|
+
scopes?: AztecAddress[],
|
|
99
|
+
) {
|
|
94
100
|
const noteDaos = await this.noteDataProvider.getNotes({
|
|
95
101
|
contractAddress,
|
|
102
|
+
owner,
|
|
96
103
|
storageSlot,
|
|
97
104
|
status,
|
|
98
105
|
scopes,
|
|
99
106
|
});
|
|
100
107
|
return noteDaos.map(
|
|
101
|
-
({ contractAddress, storageSlot, randomness, noteNonce, note, noteHash, siloedNullifier, index }) => ({
|
|
108
|
+
({ contractAddress, owner, storageSlot, randomness, noteNonce, note, noteHash, siloedNullifier, index }) => ({
|
|
102
109
|
contractAddress,
|
|
110
|
+
owner,
|
|
103
111
|
storageSlot,
|
|
104
112
|
randomness,
|
|
105
113
|
noteNonce,
|
|
@@ -599,6 +607,7 @@ export class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
599
607
|
const noteDeliveries = noteValidationRequests.map(request =>
|
|
600
608
|
this.deliverNote(
|
|
601
609
|
request.contractAddress,
|
|
610
|
+
request.owner,
|
|
602
611
|
request.storageSlot,
|
|
603
612
|
request.randomness,
|
|
604
613
|
request.noteNonce,
|
|
@@ -630,6 +639,7 @@ export class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
630
639
|
|
|
631
640
|
async deliverNote(
|
|
632
641
|
contractAddress: AztecAddress,
|
|
642
|
+
owner: AztecAddress,
|
|
633
643
|
storageSlot: Fr,
|
|
634
644
|
randomness: Fr,
|
|
635
645
|
noteNonce: Fr,
|
|
@@ -682,6 +692,7 @@ export class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
682
692
|
const noteDao = new NoteDao(
|
|
683
693
|
new Note(content),
|
|
684
694
|
contractAddress,
|
|
695
|
+
owner,
|
|
685
696
|
storageSlot,
|
|
686
697
|
randomness,
|
|
687
698
|
noteNonce,
|
|
@@ -941,10 +952,10 @@ export class PXEOracleInterface implements ExecutionDataProvider {
|
|
|
941
952
|
const foundNullifiers = nullifiersToCheck
|
|
942
953
|
.map((nullifier, i) => {
|
|
943
954
|
if (nullifierIndexes[i] !== undefined) {
|
|
944
|
-
return { ...nullifierIndexes[i], ...{ data: nullifier } } as
|
|
955
|
+
return { ...nullifierIndexes[i], ...{ data: nullifier } } as DataInBlock<Fr>;
|
|
945
956
|
}
|
|
946
957
|
})
|
|
947
|
-
.filter(nullifier => nullifier !== undefined) as
|
|
958
|
+
.filter(nullifier => nullifier !== undefined) as DataInBlock<Fr>[];
|
|
948
959
|
|
|
949
960
|
const nullifiedNotes = await this.noteDataProvider.applyNullifiers(foundNullifiers);
|
|
950
961
|
nullifiedNotes.forEach(noteDao => {
|
|
@@ -3,7 +3,7 @@ import type { Fr } from '@aztec/foundation/fields';
|
|
|
3
3
|
import { toArray } from '@aztec/foundation/iterable';
|
|
4
4
|
import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store';
|
|
5
5
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type {
|
|
6
|
+
import type { DataInBlock } from '@aztec/stdlib/block';
|
|
7
7
|
import { NoteStatus, type NotesFilter } from '@aztec/stdlib/note';
|
|
8
8
|
import { NoteDao } from '@aztec/stdlib/note';
|
|
9
9
|
|
|
@@ -224,7 +224,7 @@ export class NoteDataProvider {
|
|
|
224
224
|
* parameters.
|
|
225
225
|
*
|
|
226
226
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
227
|
-
* storageSlot, status, scopes and siloedNullifier.
|
|
227
|
+
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
228
228
|
* @returns Promise resolving to array of NoteDao objects matching the filter
|
|
229
229
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
230
230
|
*/
|
|
@@ -307,6 +307,10 @@ export class NoteDataProvider {
|
|
|
307
307
|
continue;
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
+
if (filter.owner && !note.owner.equals(filter.owner)) {
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
|
|
310
314
|
if (filter.storageSlot && !note.storageSlot.equals(filter.storageSlot!)) {
|
|
311
315
|
continue;
|
|
312
316
|
}
|
|
@@ -333,7 +337,7 @@ export class NoteDataProvider {
|
|
|
333
337
|
* @returns Promise resolving to array of nullified NoteDao objects
|
|
334
338
|
* @throws Error if any nullifier is not found in the active notes
|
|
335
339
|
*/
|
|
336
|
-
applyNullifiers(nullifiers:
|
|
340
|
+
applyNullifiers(nullifiers: DataInBlock<Fr>[]): Promise<NoteDao[]> {
|
|
337
341
|
if (nullifiers.length === 0) {
|
|
338
342
|
return Promise.resolve([]);
|
|
339
343
|
}
|