@aztec/pxe 3.0.0-nightly.20251208 → 3.0.0-nightly.20251209

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.
@@ -97,7 +97,7 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
97
97
  validateEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
98
98
  deliverNote(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteNonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
99
99
  bulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
100
- deliverEvent(contractAddress: AztecAddress, selector: EventSelector, content: Fr[], eventCommitment: Fr, txHash: TxHash, recipient: AztecAddress): Promise<void>;
100
+ deliverEvent(contractAddress: AztecAddress, selector: EventSelector, content: Fr[], eventCommitment: Fr, txHash: TxHash, scope: AztecAddress): Promise<void>;
101
101
  getPublicLogByTag(tag: Fr, contractAddress: AztecAddress): Promise<PublicLogWithTxData | null>;
102
102
  getPrivateLogByTag(siloedTag: Fr): Promise<PrivateLogWithTxData | null>;
103
103
  /**
@@ -120,4 +120,4 @@ export declare class PXEOracleInterface implements ExecutionDataProvider {
120
120
  getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
121
121
  getStats(): ExecutionStats;
122
122
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX29yYWNsZV9pbnRlcmZhY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvcHhlX29yYWNsZV9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFlLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLG1CQUFtQixFQUdwQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdkgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFOUcsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDeEcsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3RILE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQ0wsMkJBQTJCLEVBTTVCLE1BQU0scUJBQXFCLENBQUM7QUFLN0IsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsWUFBVyxxQkFBcUI7O0lBRTVELE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxvQkFBb0I7SUFDNUIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsbUJBQW1CO0lBQzNCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLG1CQUFtQjtJQUMzQixPQUFPLENBQUMsbUJBQW1CO0lBQzNCLE9BQU8sQ0FBQyx3QkFBd0I7SUFDaEMsT0FBTyxDQUFDLEdBQUc7SUFWYixZQUNVLFNBQVMsRUFBRSxTQUFTLEdBQUcsV0FBVyxFQUNsQyxRQUFRLEVBQUUsUUFBUSxFQUNsQixvQkFBb0IsRUFBRSxvQkFBb0IsRUFDMUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLG1CQUFtQixFQUFFLG1CQUFtQixFQUN4QyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLG1CQUFtQixFQUFFLG1CQUFtQixFQUN4Qyx3QkFBd0IsRUFBRSx3QkFBd0IsRUFDbEQsR0FBRyx5Q0FBMkMsRUFDcEQ7SUFFSix1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBRWpHO0lBRUssa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBU3hFO0lBRUssbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FNMUU7SUFFSyxRQUFRLENBQ1osZUFBZSxFQUFFLFlBQVksRUFDN0IsS0FBSyxFQUFFLFlBQVksRUFDbkIsV0FBVyxFQUFFLEVBQUUsRUFDZixNQUFNLEVBQUUsVUFBVSxFQUNsQixNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUU7Ozs7Ozs7Ozs7U0F1QnhCO0lBRUssbUJBQW1CLENBQ3ZCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxnQkFBZ0IsR0FDekIsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBVTNDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNHLDBCQUEwQixDQUM5QixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEdBQ1QsT0FBTyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxDQVVuRTtJQUVLLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxFQUFFLCtCQUVwQztJQU9ZLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQU1qSDtJQXFCWSwwQ0FBMEMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxtREFHcEU7SUFFTSw2QkFBNkIsQ0FDbEMsV0FBVyxFQUFFLGNBQWMsRUFDM0IsU0FBUyxFQUFFLEVBQUUsR0FDWixPQUFPLENBQUMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDLENBRWpEO0lBRVksZ0NBQWdDLENBQzNDLFdBQVcsRUFBRSxjQUFjLEVBQzNCLFNBQVMsRUFBRSxFQUFFLEdBQ1osT0FBTyxDQUFDLDBCQUEwQixHQUFHLFNBQVMsQ0FBQyxDQU1qRDtJQUVZLFFBQVEsQ0FBQyxXQUFXLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBTS9FO0lBRVksb0JBQW9CLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsQ0FNbkg7SUFFWSxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBTTFHO0lBRUQsb0JBQW9CLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUUzQztJQUVNLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUkxRDtJQUVNLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFdEc7SUFFRDs7Ozs7T0FLRztJQUNJLFVBQVUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FFM0M7SUFFTSx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFaEc7SUFFWSxvQ0FBb0MsQ0FDL0MsZUFBZSxFQUFFLFlBQVksRUFDN0IsTUFBTSxFQUFFLFlBQVksRUFDcEIsU0FBUyxFQUFFLFlBQVksd0NBV3hCO0lBa0RZLHNCQUFzQixDQUNqQyxNQUFNLEVBQUUsMkJBQTJCLEVBQ25DLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E0RGY7SUFFRDs7Ozs7Ozs7T0FRRztJQUNVLGNBQWMsQ0FDekIsZUFBZSxFQUFFLFlBQVksRUFDN0IsNkJBQTZCLEVBQUUsRUFBRSxFQUNqQyxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsaUJBc0p4QjtJQWdDWSw4QkFBOEIsQ0FDekMsZUFBZSxFQUFFLFlBQVksRUFDN0IsbUNBQW1DLEVBQUUsRUFBRSxFQUN2QyxvQ0FBb0MsRUFBRSxFQUFFLEdBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQ2Y7SUFFSyxXQUFXLENBQ2YsZUFBZSxFQUFFLFlBQVksRUFDN0IsS0FBSyxFQUFFLFlBQVksRUFDbkIsV0FBVyxFQUFFLEVBQUUsRUFDZixVQUFVLEVBQUUsRUFBRSxFQUNkLFNBQVMsRUFBRSxFQUFFLEVBQ2IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUNiLFFBQVEsRUFBRSxFQUFFLEVBQ1osU0FBUyxFQUFFLEVBQUUsRUFDYixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxZQUFZLEdBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E2RWY7SUFFWSxnQkFBZ0IsQ0FDM0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsaUNBQWlDLEVBQUUsRUFBRSxFQUNyQyxrQ0FBa0MsRUFBRSxFQUFFLGlCQW1EdkM7SUFFSyxZQUFZLENBQ2hCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxhQUFhLEVBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFDYixlQUFlLEVBQUUsRUFBRSxFQUNuQixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxZQUFZLEdBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4Q2Y7SUFHSyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxDQStCbkc7SUFHSyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsQ0ErQjVFO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDVSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsWUFBWSxpQkErQzVEO0lBRUQsWUFBWSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVsRjtJQUVELFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUV6RTtJQUVELGFBQWEsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwRTtJQUVELFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFdEc7SUFFSyxlQUFlLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRekU7SUFtQkQsUUFBUSxJQUFJLGNBQWMsQ0FLekI7Q0FDRiJ9
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlX29yYWNsZV9pbnRlcmZhY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvcHhlX29yYWNsZV9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFlLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLG1CQUFtQixFQUdwQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFB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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":"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"}
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,EAAE,cAAc,EAAe,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAEL,oBAAoB,EAEpB,mBAAmB,EAGpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAC;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qEAAqE,CAAC;AAE9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EACL,2BAA2B,EAM5B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,qBAAqB;;IAE5D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,GAAG;IAVb,YACU,SAAS,EAAE,SAAS,GAAG,WAAW,EAClC,QAAQ,EAAE,QAAQ,EAClB,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,wBAAwB,EAClD,GAAG,yCAA2C,EACpD;IAEJ,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEjG;IAEK,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CASxE;IAEK,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM1E;IAEK,QAAQ,CACZ,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,YAAY,EAAE;;;;;;;;;;SAuBxB;IAEK,mBAAmB,CACvB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gCAAgC,CAAC,CAU3C;IAED;;;;;;;OAOG;IACG,0BAA0B,CAC9B,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAUnE;IAEK,iBAAiB,CAAC,SAAS,EAAE,EAAE,+BAEpC;IAOY,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAMjH;IAqBY,0CAA0C,CAAC,SAAS,EAAE,EAAE,mDAGpE;IAEM,6BAA6B,CAClC,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAEjD;IAEY,gCAAgC,CAC3C,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAMjD;IAEY,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAM/E;IAEY,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAMnH;IAEY,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAM1G;IAED,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE3C;IAEM,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1D;IAEM,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtG;IAED;;;;;OAKG;IACI,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAE3C;IAEM,wBAAwB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEhG;IAEY,oCAAoC,CAC/C,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,wCAWxB;IAkDY,sBAAsB,CACjC,MAAM,EAAE,2BAA2B,EACnC,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,IAAI,CAAC,CA4Df;IAED;;;;;;;;OAQG;IACU,cAAc,CACzB,eAAe,EAAE,YAAY,EAC7B,6BAA6B,EAAE,EAAE,EACjC,MAAM,CAAC,EAAE,YAAY,EAAE,iBAsJxB;IAgCY,8BAA8B,CACzC,eAAe,EAAE,YAAY,EAC7B,mCAAmC,EAAE,EAAE,EACvC,oCAAoC,EAAE,EAAE,GACvC,OAAO,CAAC,IAAI,CAAC,CA0Cf;IAEK,WAAW,CACf,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,EAAE,EACb,OAAO,EAAE,EAAE,EAAE,EACb,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Ef;IAEY,gBAAgB,CAC3B,eAAe,EAAE,YAAY,EAC7B,iCAAiC,EAAE,EAAE,EACrC,kCAAkC,EAAE,EAAE,iBAmDvC;IAEK,YAAY,CAChB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,EAAE,EAAE,EACb,eAAe,EAAE,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAgDf;IAGK,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA+BnG;IAGK,kBAAkB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA+B5E;IAED;;;;;;;;;;;OAWG;IACU,kBAAkB,CAAC,eAAe,EAAE,YAAY,iBA+C5D;IAED,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;IAED,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAEzE;IAED,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;IAED,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG;IAEK,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAQzE;IAmBD,QAAQ,IAAI,cAAc,CAKzB;CACF"}
@@ -526,7 +526,7 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
526
526
  // The responses are stored as Option<LogRetrievalResponse> in a second CapsuleArray.
527
527
  await this.capsuleDataProvider.setCapsuleArray(contractAddress, logRetrievalResponsesArrayBaseSlot, maybeLogRetrievalResponses.map(LogRetrievalResponse.toSerializedOption));
528
528
  }
529
- async deliverEvent(contractAddress, selector, content, eventCommitment, txHash, recipient) {
529
+ async deliverEvent(contractAddress, selector, content, eventCommitment, txHash, scope) {
530
530
  // While using 'latest' block number would be fine for private events since they cannot be accessed from Aztec.nr
531
531
  // (and thus we're less concerned about being ahead of the synced block), we use the synced block number to
532
532
  // maintain consistent behavior in the PXE. Additionally, events should never be ahead of the synced block here
@@ -552,7 +552,13 @@ import { NoteValidationRequest } from './noir-structs/note_validation_request.js
552
552
  if (nullifierIndex === undefined) {
553
553
  throw new Error(`Event commitment ${eventCommitment} (siloed as ${siloedEventCommitment}) is not present on the nullifier tree at block ${syncedBlockNumber} (from tx ${txHash})`);
554
554
  }
555
- return this.privateEventDataProvider.storePrivateEventLog(contractAddress, recipient, selector, content, txHash, Number(nullifierIndex.data), nullifierIndex.l2BlockNumber, nullifierIndex.l2BlockHash);
555
+ return this.privateEventDataProvider.storePrivateEventLog(selector, content, Number(nullifierIndex.data), {
556
+ contractAddress,
557
+ scope,
558
+ txHash,
559
+ l2BlockNumber: nullifierIndex.l2BlockNumber,
560
+ l2BlockHash: nullifierIndex.l2BlockHash
561
+ });
556
562
  }
557
563
  // TODO(#14555): delete this function and implement this behavior in the node instead
558
564
  async getPublicLogByTag(tag, contractAddress) {
@@ -0,0 +1,2 @@
1
+ export * from './private_event_filter_validator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './private_event_filter_validator.js';
@@ -0,0 +1,8 @@
1
+ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
2
+ import type { PrivateEventDataProviderFilter, SyncDataProvider } from '../storage/index.js';
3
+ export declare class PrivateEventFilterValidator {
4
+ private syncDataProvider;
5
+ constructor(syncDataProvider: SyncDataProvider);
6
+ validate(filter: PrivateEventFilter): Promise<PrivateEventDataProviderFilter>;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9maWx0ZXJfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnRzL3ByaXZhdGVfZXZlbnRfZmlsdGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSWpFLE9BQU8sS0FBSyxFQUFFLDhCQUE4QixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUYscUJBQWEsMkJBQTJCO0lBQzFCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFBcEMsWUFBb0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUk7SUFFcEQsUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FvQ2xGO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private_event_filter_validator.d.ts","sourceRoot":"","sources":["../../src/events/private_event_filter_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,OAAO,KAAK,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5F,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,gBAAgB;IAApC,YAAoB,gBAAgB,EAAE,gBAAgB,EAAI;IAEpD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAoClF;CACF"}
@@ -0,0 +1,39 @@
1
+ import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ export class PrivateEventFilterValidator {
4
+ syncDataProvider;
5
+ constructor(syncDataProvider){
6
+ this.syncDataProvider = syncDataProvider;
7
+ }
8
+ async validate(filter) {
9
+ let { fromBlock, toBlock } = filter;
10
+ // Block range filters in Aztec Node are defined as closed-open intervals [fromBlock, toBlock), so
11
+ // we respect that convention here for consistency.
12
+ // We then default to [INITIAL_L2_BLOCK_NUM, latestKnownBlock + 1), ie: by default return events from
13
+ // the first block to the latest known block.
14
+ if (!fromBlock || !toBlock) {
15
+ const lastKnownBlock = await this.syncDataProvider.getBlockNumber();
16
+ fromBlock = fromBlock ?? BlockNumber(INITIAL_L2_BLOCK_NUM);
17
+ toBlock = toBlock ?? BlockNumber(lastKnownBlock + 1);
18
+ }
19
+ if (filter.scopes.length === 0) {
20
+ throw new Error('At least one scope is required to get private events');
21
+ }
22
+ if (fromBlock < 1) {
23
+ throw new Error('fromBlock must be greater than or equal to 1');
24
+ }
25
+ if (toBlock < 1) {
26
+ throw new Error('toBlock must be greater than or equal to 1');
27
+ }
28
+ if (fromBlock >= toBlock) {
29
+ throw new Error('toBlock must be strictly greater than fromBlock');
30
+ }
31
+ return {
32
+ contractAddress: filter.contractAddress,
33
+ scopes: filter.scopes,
34
+ txHash: filter.txHash,
35
+ toBlock,
36
+ fromBlock
37
+ };
38
+ }
39
+ }
@@ -181,8 +181,8 @@ const NULL_SIMULATE_OUTPUT = {
181
181
  witgen: witgenTimer.ms()
182
182
  }
183
183
  });
184
- // Hiding circuit is only executed if we are generating witnesses.
185
- // For simulation, we can end with the tail, since the hiding circuit will simply return the same tail output.
184
+ // Hiding kernel is only executed if we are generating witnesses.
185
+ // For simulation, we can end with the tail, since the Hiding kernel will simply return the same tail output.
186
186
  if (generateWitnesses) {
187
187
  const previousKernelVkData = await this.getVkData(tailOutput.verificationKey);
188
188
  const witgenTimer = new Timer();
package/dest/pxe.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { type Logger } from '@aztec/foundation/log';
3
4
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
@@ -6,19 +7,14 @@ import type { CircuitSimulator } from '@aztec/simulator/client';
6
7
  import { type ContractArtifact, EventSelector, FunctionCall } from '@aztec/stdlib/abi';
7
8
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
8
9
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
9
- import type { L2BlockHash } from '@aztec/stdlib/block';
10
10
  import { CompleteAddress, type ContractClassWithId, type ContractInstanceWithAddress, type PartialAddress } from '@aztec/stdlib/contract';
11
11
  import type { AztecNode, PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
12
12
  import type { NotesFilter } from '@aztec/stdlib/note';
13
13
  import { NoteDao } from '@aztec/stdlib/note';
14
- import { SimulationOverrides, TxExecutionRequest, TxHash, TxProfileResult, TxProvingResult, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
14
+ import { type InTx, SimulationOverrides, TxExecutionRequest, TxProfileResult, TxProvingResult, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
15
15
  import type { PXEConfig } from './config/index.js';
16
- export type PrivateEvent = {
16
+ export type PackedPrivateEvent = InTx & {
17
17
  packedEvent: Fr[];
18
- blockNumber: number;
19
- blockHash: L2BlockHash;
20
- txHash: TxHash;
21
- recipient: AztecAddress;
22
18
  eventSelector: EventSelector;
23
19
  };
24
20
  /**
@@ -224,17 +220,21 @@ export declare class PXE {
224
220
  simulateUtility(call: FunctionCall, authwits?: AuthWitness[], scopes?: AztecAddress[]): Promise<UtilitySimulationResult>;
225
221
  /**
226
222
  * Returns the private events given search parameters.
227
- * @param contractAddress - The address of the contract to get events from.
228
223
  * @param eventSelector - Event selector to search for.
229
- * @param from - The block number to search from.
230
- * @param numBlocks - The amount of blocks to search.
231
- * @param recipients - The addresses that decrypted the logs.
224
+ * @param filter
225
+ * contractAddress - The address of the contract to get events from. Required.
226
+ * scopes - One or more event scope addresses to filter by. Required.
227
+ * fromBlock - The block number to search from (inclusive). Optional. If provided, it must be >= 0.
228
+ * Defaults to 0.
229
+ * If toBlock is defined but fromBlock is not, fromBlock defaults to toBlock - 1.
230
+ * toBlock - The block number to search up to (exclusive). Optional. If provided, it must be > 0.
231
+ * Defaults to the latest known block to PXE + 1.
232
232
  * @returns - The packed events with block and tx metadata.
233
233
  */
234
- getPrivateEvents(contractAddress: AztecAddress, eventSelector: EventSelector, from: number, numBlocks: number, recipients: AztecAddress[]): Promise<PrivateEvent[]>;
234
+ getPrivateEvents(eventSelector: EventSelector, filter: PrivateEventFilter): Promise<PackedPrivateEvent[]>;
235
235
  /**
236
236
  * Stops the PXE's job queue.
237
237
  */
238
238
  stop(): Promise<void>;
239
239
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyx5QkFBeUIsRUFBeUIsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixhQUFhLEVBQ2IsWUFBWSxFQUtiLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLG1CQUFtQixFQUN4QixLQUFLLDJCQUEyQixFQUNoQyxLQUFLLGNBQWMsRUFHcEIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU10RixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQU1MLG1CQUFtQixFQUduQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN4QixN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
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUF5QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBS2IsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUssY0FBYyxFQUdwQixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTXRGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwsS0FBSyxJQUFJLEVBS1QsbUJBQW1CLEVBR25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQix1QkFBdUIs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
package/dest/pxe.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"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"}
package/dest/pxe.js CHANGED
@@ -17,6 +17,7 @@ import { ProxiedContractDataProviderFactory } from './contract_function_simulato
17
17
  import { ProxiedNodeFactory } from './contract_function_simulator/proxied_node.js';
18
18
  import { PXEOracleInterface } from './contract_function_simulator/pxe_oracle_interface.js';
19
19
  import { enrichPublicSimulationError, enrichSimulationError } from './error_enriching.js';
20
+ import { PrivateEventFilterValidator } from './events/private_event_filter_validator.js';
20
21
  import { PrivateKernelExecutionProver } from './private_kernel/private_kernel_execution_prover.js';
21
22
  import { PrivateKernelOracleImpl } from './private_kernel/private_kernel_oracle_impl.js';
22
23
  import { AddressDataProvider } from './storage/address_data_provider/address_data_provider.js';
@@ -747,21 +748,23 @@ import { Synchronizer } from './synchronizer/index.js';
747
748
  }
748
749
  /**
749
750
  * Returns the private events given search parameters.
750
- * @param contractAddress - The address of the contract to get events from.
751
751
  * @param eventSelector - Event selector to search for.
752
- * @param from - The block number to search from.
753
- * @param numBlocks - The amount of blocks to search.
754
- * @param recipients - The addresses that decrypted the logs.
752
+ * @param filter
753
+ * contractAddress - The address of the contract to get events from. Required.
754
+ * scopes - One or more event scope addresses to filter by. Required.
755
+ * fromBlock - The block number to search from (inclusive). Optional. If provided, it must be >= 0.
756
+ * Defaults to 0.
757
+ * If toBlock is defined but fromBlock is not, fromBlock defaults to toBlock - 1.
758
+ * toBlock - The block number to search up to (exclusive). Optional. If provided, it must be > 0.
759
+ * Defaults to the latest known block to PXE + 1.
755
760
  * @returns - The packed events with block and tx metadata.
756
- */ async getPrivateEvents(contractAddress, eventSelector, from, numBlocks, recipients) {
757
- if (recipients.length === 0) {
758
- throw new Error('Recipients are required to get private events');
759
- }
760
- this.log.verbose(`Getting private events for ${contractAddress.toString()} from ${from} to ${from + numBlocks}`);
761
+ */ async getPrivateEvents(eventSelector, filter) {
761
762
  // We need to manually trigger private state sync to have a guarantee that all the events are available.
762
- const call = await this.#getFunctionCall('sync_private_state', [], contractAddress);
763
+ const call = await this.#getFunctionCall('sync_private_state', [], filter.contractAddress);
763
764
  await this.simulateUtility(call);
764
- return this.privateEventDataProvider.getPrivateEvents(contractAddress, from, numBlocks, recipients, eventSelector);
765
+ const sanitizedFilter = await new PrivateEventFilterValidator(this.syncDataProvider).validate(filter);
766
+ this.log.error(`Getting private events for ${sanitizedFilter.contractAddress.toString()} from ${sanitizedFilter.fromBlock} to ${sanitizedFilter.toBlock}`);
767
+ return this.privateEventDataProvider.getPrivateEvents(eventSelector, sanitizedFilter);
765
768
  }
766
769
  /**
767
770
  * Stops the PXE's job queue.
@@ -2,9 +2,19 @@ import { Fr } from '@aztec/foundation/fields';
2
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
3
  import type { EventSelector } from '@aztec/stdlib/abi';
4
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import { L2BlockHash } from '@aztec/stdlib/block';
6
- import { TxHash } from '@aztec/stdlib/tx';
7
- import type { PrivateEvent } from '../../pxe.js';
5
+ import { type InTx, TxHash } from '@aztec/stdlib/tx';
6
+ import type { PackedPrivateEvent } from '../../pxe.js';
7
+ export type PrivateEventDataProviderFilter = {
8
+ contractAddress: AztecAddress;
9
+ fromBlock: number;
10
+ toBlock: number;
11
+ scopes: AztecAddress[];
12
+ txHash?: TxHash;
13
+ };
14
+ type PrivateEventMetadata = InTx & {
15
+ contractAddress: AztecAddress;
16
+ scope: AztecAddress;
17
+ };
8
18
  /**
9
19
  * Stores decrypted private event logs.
10
20
  */
@@ -14,24 +24,28 @@ export declare class PrivateEventDataProvider {
14
24
  constructor(store: AztecAsyncKVStore);
15
25
  /**
16
26
  * Store a private event log.
17
- * @param contractAddress - The address of the contract that emitted the event.
18
- * @param recipient - The recipient of the event.
19
27
  * @param eventSelector - The event selector of the event.
20
28
  * @param msgContent - The content of the event.
21
- * @param txHash - The transaction hash of the event log.
22
29
  * @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
23
- * @param blockNumber - The block number in which the event was emitted.
30
+ * @param metadata
31
+ * contractAddress - The address of the contract that emitted the event.
32
+ * scope - The address to which the event is scoped.
33
+ * txHash - The transaction hash of the event log.
34
+ * blockNumber - The block number in which the event was emitted.
24
35
  */
25
- storePrivateEventLog(contractAddress: AztecAddress, recipient: AztecAddress, eventSelector: EventSelector, msgContent: Fr[], txHash: TxHash, eventCommitmentIndex: number, blockNumber: number, blockHash: L2BlockHash): Promise<void>;
36
+ storePrivateEventLog(eventSelector: EventSelector, msgContent: Fr[], eventCommitmentIndex: number, metadata: PrivateEventMetadata): Promise<void>;
26
37
  /**
27
38
  * Returns the private events given search parameters.
28
- * @param contractAddress - The address of the contract to get events from.
29
- * @param from - The block number to search from.
30
- * @param numBlocks - The amount of blocks to search.
31
- * @param recipients - The addresses that decrypted the logs.
32
39
  * @param eventSelector - The event selector to filter by.
33
- * @returns - The event log contents.
40
+ * @param filter - Filtering criteria:
41
+ * contractAddress: The address of the contract to get events from.
42
+ * fromBlock: The block number to search from (inclusive).
43
+ * toBlock: The block number to search upto (exclusive).
44
+ * scope: - The addresses that decrypted the logs.
45
+ * @returns - The event log contents, augmented with metadata about
46
+ * the transaction and block it the event was included in .
34
47
  */
35
- getPrivateEvents(contractAddress: AztecAddress, from: number, numBlocks: number, recipients: AztecAddress[], eventSelector: EventSelector): Promise<PrivateEvent[]>;
48
+ getPrivateEvents(eventSelector: EventSelector, filter: PrivateEventDataProviderFilter): Promise<PackedPrivateEvent[]>;
36
49
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9kYXRhX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9wcml2YXRlX2V2ZW50X2RhdGFfcHJvdmlkZXIvcHJpdmF0ZV9ldmVudF9kYXRhX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5QyxPQUFPLEtBQUssRUFBbUIsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVakQ7O0dBRUc7QUFDSCxxQkFBYSx3QkFBd0I7O0lBU25DLE1BQU0seUNBQStDO0lBRXJELFlBQVksS0FBSyxFQUFFLGlCQUFpQixFQUtuQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILG9CQUFvQixDQUNsQixlQUFlLEVBQUUsWUFBWSxFQUM3QixTQUFTLEVBQUUsWUFBWSxFQUN2QixhQUFhLEVBQUUsYUFBYSxFQUM1QixVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQ2hCLE1BQU0sRUFBRSxNQUFNLEVBQ2Qsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixXQUFXLEVBQUUsTUFBTSxFQUNuQixTQUFTLEVBQUUsV0FBVyxHQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBNEJmO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDVSxnQkFBZ0IsQ0FDM0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsSUFBSSxFQUFFLE1BQU0sRUFDWixTQUFTLEVBQUUsTUFBTSxFQUNqQixVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQzFCLGFBQWEsRUFBRSxhQUFhLEdBQzNCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQXFDekI7Q0FDRiJ9
50
+ export {};
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9kYXRhX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9wcml2YXRlX2V2ZW50X2RhdGFfcHJvdmlkZXIvcHJpdmF0ZV9ldmVudF9kYXRhX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5QyxPQUFPLEtBQUssRUFBbUIsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE1BQU0sTUFBTSw4QkFBOEIsR0FBRztJQUMzQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDdkIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFVRixLQUFLLG9CQUFvQixHQUFHLElBQUksR0FBRztJQUNqQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLEtBQUssRUFBRSxZQUFZLENBQUM7Q0FDckIsQ0FBQztBQUVGOztHQUVHO0FBQ0gscUJBQWEsd0JBQXdCOztJQVNuQyxNQUFNLHlDQUErQztJQUVyRCxZQUFZLEtBQUssRUFBRSxpQkFBaUIsRUFLbkM7SUFNRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsb0JBQW9CLENBQ2xCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFDaEIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixRQUFRLEVBQUUsb0JBQW9CLEdBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4QmY7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsZ0JBQWdCLENBQzNCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLE1BQU0sRUFBRSw4QkFBOEIsR0FDckMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0F3Qy9CO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_event_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/private_event_data_provider/private_event_data_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAmB,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD;;GAEG;AACH,qBAAa,wBAAwB;;IASnC,MAAM,yCAA+C;IAErD,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAED;;;;;;;;;OASG;IACH,oBAAoB,CAClB,eAAe,EAAE,YAAY,EAC7B,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,MAAM,EAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Bf;IAED;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,eAAe,EAAE,YAAY,EAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,YAAY,EAAE,EAC1B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CAqCzB;CACF"}
1
+ {"version":3,"file":"private_event_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/private_event_data_provider/private_event_data_provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAmB,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,KAAK,oBAAoB,GAAG,IAAI,GAAG;IACjC,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,wBAAwB;;IASnC,MAAM,yCAA+C;IAErD,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAMD;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,EAAE,EAAE,EAChB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Bf;IAED;;;;;;;;;;OAUG;IACU,gBAAgB,CAC3B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwC/B;CACF"}
@@ -1,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { createLogger } from '@aztec/foundation/log';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -8,7 +9,7 @@ import { TxHash } from '@aztec/stdlib/tx';
8
9
  */ export class PrivateEventDataProvider {
9
10
  #store;
10
11
  /** Array storing the actual private event log entries containing the log content and block number */ #eventLogs;
11
- /** Map from contract_address_recipient_eventSelector to array of indices into #eventLogs for efficient lookup */ #eventLogIndex;
12
+ /** Map from contract_address_scope_eventSelector to array of indices into #eventLogs for efficient lookup */ #eventLogIndex;
12
13
  /** Map from eventCommitmentIndex to boolean indicating if log has been seen. */ #seenLogs;
13
14
  logger = createLogger('private_event_data_provider');
14
15
  constructor(store){
@@ -17,18 +18,23 @@ import { TxHash } from '@aztec/stdlib/tx';
17
18
  this.#eventLogIndex = this.#store.openMap('private_event_log_index');
18
19
  this.#seenLogs = this.#store.openMap('seen_logs');
19
20
  }
21
+ #keyFor(contractAddress, scope, eventSelector) {
22
+ return `${contractAddress.toString()}_${scope.toString()}_${eventSelector.toString()}`;
23
+ }
20
24
  /**
21
25
  * Store a private event log.
22
- * @param contractAddress - The address of the contract that emitted the event.
23
- * @param recipient - The recipient of the event.
24
26
  * @param eventSelector - The event selector of the event.
25
27
  * @param msgContent - The content of the event.
26
- * @param txHash - The transaction hash of the event log.
27
28
  * @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
28
- * @param blockNumber - The block number in which the event was emitted.
29
- */ storePrivateEventLog(contractAddress, recipient, eventSelector, msgContent, txHash, eventCommitmentIndex, blockNumber, blockHash) {
29
+ * @param metadata
30
+ * contractAddress - The address of the contract that emitted the event.
31
+ * scope - The address to which the event is scoped.
32
+ * txHash - The transaction hash of the event log.
33
+ * blockNumber - The block number in which the event was emitted.
34
+ */ storePrivateEventLog(eventSelector, msgContent, eventCommitmentIndex, metadata) {
35
+ const { contractAddress, scope, txHash, l2BlockNumber, l2BlockHash } = metadata;
30
36
  return this.#store.transactionAsync(async ()=>{
31
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
37
+ const key = this.#keyFor(contractAddress, scope, eventSelector);
32
38
  // Check if this exact log has already been stored using eventCommitmentIndex as unique identifier
33
39
  const hasBeenSeen = await this.#seenLogs.getAsync(eventCommitmentIndex);
34
40
  if (hasBeenSeen) {
@@ -40,15 +46,15 @@ import { TxHash } from '@aztec/stdlib/tx';
40
46
  }
41
47
  this.logger.verbose('storing private event log', {
42
48
  contractAddress,
43
- recipient,
49
+ scope,
44
50
  msgContent,
45
- blockNumber
51
+ l2BlockNumber
46
52
  });
47
53
  const index = await this.#eventLogs.lengthAsync();
48
54
  await this.#eventLogs.push({
49
55
  msgContent: serializeToBuffer(msgContent),
50
- blockNumber,
51
- blockHash: blockHash.toBuffer(),
56
+ l2BlockNumber,
57
+ l2BlockHash: l2BlockHash.toBuffer(),
52
58
  eventCommitmentIndex,
53
59
  txHash: txHash.toBuffer()
54
60
  });
@@ -63,20 +69,22 @@ import { TxHash } from '@aztec/stdlib/tx';
63
69
  }
64
70
  /**
65
71
  * Returns the private events given search parameters.
66
- * @param contractAddress - The address of the contract to get events from.
67
- * @param from - The block number to search from.
68
- * @param numBlocks - The amount of blocks to search.
69
- * @param recipients - The addresses that decrypted the logs.
70
72
  * @param eventSelector - The event selector to filter by.
71
- * @returns - The event log contents.
72
- */ async getPrivateEvents(contractAddress, from, numBlocks, recipients, eventSelector) {
73
+ * @param filter - Filtering criteria:
74
+ * contractAddress: The address of the contract to get events from.
75
+ * fromBlock: The block number to search from (inclusive).
76
+ * toBlock: The block number to search upto (exclusive).
77
+ * scope: - The addresses that decrypted the logs.
78
+ * @returns - The event log contents, augmented with metadata about
79
+ * the transaction and block it the event was included in .
80
+ */ async getPrivateEvents(eventSelector, filter) {
73
81
  const events = [];
74
- for (const recipient of recipients){
75
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
82
+ for (const scope of filter.scopes){
83
+ const key = this.#keyFor(filter.contractAddress, scope, eventSelector);
76
84
  const indices = await this.#eventLogIndex.getAsync(key) || [];
77
85
  for (const index of indices){
78
86
  const entry = await this.#eventLogs.atAsync(index);
79
- if (!entry || entry.blockNumber < from || entry.blockNumber >= from + numBlocks) {
87
+ if (!entry || entry.l2BlockNumber < filter.fromBlock || entry.l2BlockNumber >= filter.toBlock) {
80
88
  continue;
81
89
  }
82
90
  // Convert buffer back to Fr array
@@ -84,15 +92,17 @@ import { TxHash } from '@aztec/stdlib/tx';
84
92
  const numFields = entry.msgContent.length / Fr.SIZE_IN_BYTES;
85
93
  const msgContent = reader.readArray(numFields, Fr);
86
94
  const txHash = TxHash.fromBuffer(entry.txHash);
87
- const blockHash = L2BlockHash.fromBuffer(entry.blockHash);
95
+ const l2BlockHash = L2BlockHash.fromBuffer(entry.l2BlockHash);
96
+ if (filter.txHash && !txHash.equals(filter.txHash)) {
97
+ continue;
98
+ }
88
99
  events.push({
89
100
  eventCommitmentIndex: entry.eventCommitmentIndex,
90
101
  event: {
91
102
  packedEvent: msgContent,
92
- blockNumber: entry.blockNumber,
93
- recipient,
103
+ l2BlockNumber: BlockNumber(entry.l2BlockNumber),
94
104
  txHash,
95
- blockHash,
105
+ l2BlockHash,
96
106
  eventSelector
97
107
  }
98
108
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/pxe",
3
- "version": "3.0.0-nightly.20251208",
3
+ "version": "3.0.0-nightly.20251209",
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.20251208",
65
- "@aztec/bb.js": "3.0.0-nightly.20251208",
66
- "@aztec/builder": "3.0.0-nightly.20251208",
67
- "@aztec/constants": "3.0.0-nightly.20251208",
68
- "@aztec/ethereum": "3.0.0-nightly.20251208",
69
- "@aztec/foundation": "3.0.0-nightly.20251208",
70
- "@aztec/key-store": "3.0.0-nightly.20251208",
71
- "@aztec/kv-store": "3.0.0-nightly.20251208",
72
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251208",
73
- "@aztec/noir-types": "3.0.0-nightly.20251208",
74
- "@aztec/protocol-contracts": "3.0.0-nightly.20251208",
75
- "@aztec/simulator": "3.0.0-nightly.20251208",
76
- "@aztec/stdlib": "3.0.0-nightly.20251208",
64
+ "@aztec/bb-prover": "3.0.0-nightly.20251209",
65
+ "@aztec/bb.js": "3.0.0-nightly.20251209",
66
+ "@aztec/builder": "3.0.0-nightly.20251209",
67
+ "@aztec/constants": "3.0.0-nightly.20251209",
68
+ "@aztec/ethereum": "3.0.0-nightly.20251209",
69
+ "@aztec/foundation": "3.0.0-nightly.20251209",
70
+ "@aztec/key-store": "3.0.0-nightly.20251209",
71
+ "@aztec/kv-store": "3.0.0-nightly.20251209",
72
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251209",
73
+ "@aztec/noir-types": "3.0.0-nightly.20251209",
74
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251209",
75
+ "@aztec/simulator": "3.0.0-nightly.20251209",
76
+ "@aztec/stdlib": "3.0.0-nightly.20251209",
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.20251208",
86
- "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251208",
85
+ "@aztec/merkle-tree": "3.0.0-nightly.20251209",
86
+ "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251209",
87
87
  "@jest/globals": "^30.0.0",
88
88
  "@types/jest": "^30.0.0",
89
89
  "@types/lodash.omit": "^4.5.7",
@@ -793,7 +793,7 @@ export class PXEOracleInterface implements ExecutionDataProvider {
793
793
  content: Fr[],
794
794
  eventCommitment: Fr,
795
795
  txHash: TxHash,
796
- recipient: AztecAddress,
796
+ scope: AztecAddress,
797
797
  ): Promise<void> {
798
798
  // While using 'latest' block number would be fine for private events since they cannot be accessed from Aztec.nr
799
799
  // (and thus we're less concerned about being ahead of the synced block), we use the synced block number to
@@ -831,14 +831,16 @@ export class PXEOracleInterface implements ExecutionDataProvider {
831
831
  }
832
832
 
833
833
  return this.privateEventDataProvider.storePrivateEventLog(
834
- contractAddress,
835
- recipient,
836
834
  selector,
837
835
  content,
838
- txHash,
839
836
  Number(nullifierIndex.data), // Index of the event commitment in the nullifier tree
840
- nullifierIndex.l2BlockNumber, // Block number in which the event was emitted
841
- nullifierIndex.l2BlockHash, // Block hash in which the event was emitted
837
+ {
838
+ contractAddress,
839
+ scope,
840
+ txHash,
841
+ l2BlockNumber: nullifierIndex.l2BlockNumber, // Block number in which the event was emitted
842
+ l2BlockHash: nullifierIndex.l2BlockHash, // Block hash in which the event was emitted
843
+ },
842
844
  );
843
845
  }
844
846
 
@@ -0,0 +1 @@
1
+ export * from './private_event_filter_validator.js';
@@ -0,0 +1,47 @@
1
+ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
2
+ import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
4
+
5
+ import type { PrivateEventDataProviderFilter, SyncDataProvider } from '../storage/index.js';
6
+
7
+ export class PrivateEventFilterValidator {
8
+ constructor(private syncDataProvider: SyncDataProvider) {}
9
+
10
+ async validate(filter: PrivateEventFilter): Promise<PrivateEventDataProviderFilter> {
11
+ let { fromBlock, toBlock } = filter;
12
+
13
+ // Block range filters in Aztec Node are defined as closed-open intervals [fromBlock, toBlock), so
14
+ // we respect that convention here for consistency.
15
+ // We then default to [INITIAL_L2_BLOCK_NUM, latestKnownBlock + 1), ie: by default return events from
16
+ // the first block to the latest known block.
17
+ if (!fromBlock || !toBlock) {
18
+ const lastKnownBlock = await this.syncDataProvider.getBlockNumber();
19
+ fromBlock = fromBlock ?? BlockNumber(INITIAL_L2_BLOCK_NUM);
20
+ toBlock = toBlock ?? BlockNumber(lastKnownBlock + 1);
21
+ }
22
+
23
+ if (filter.scopes.length === 0) {
24
+ throw new Error('At least one scope is required to get private events');
25
+ }
26
+
27
+ if (fromBlock < 1) {
28
+ throw new Error('fromBlock must be greater than or equal to 1');
29
+ }
30
+
31
+ if (toBlock < 1) {
32
+ throw new Error('toBlock must be greater than or equal to 1');
33
+ }
34
+
35
+ if (fromBlock >= toBlock) {
36
+ throw new Error('toBlock must be strictly greater than fromBlock');
37
+ }
38
+
39
+ return {
40
+ contractAddress: filter.contractAddress,
41
+ scopes: filter.scopes,
42
+ txHash: filter.txHash,
43
+ toBlock,
44
+ fromBlock,
45
+ };
46
+ }
47
+ }
@@ -290,8 +290,8 @@ export class PrivateKernelExecutionProver {
290
290
  },
291
291
  });
292
292
 
293
- // Hiding circuit is only executed if we are generating witnesses.
294
- // For simulation, we can end with the tail, since the hiding circuit will simply return the same tail output.
293
+ // Hiding kernel is only executed if we are generating witnesses.
294
+ // For simulation, we can end with the tail, since the Hiding kernel will simply return the same tail output.
295
295
  if (generateWitnesses) {
296
296
  const previousKernelVkData = await this.getVkData(tailOutput.verificationKey);
297
297
 
package/src/pxe.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
4
  import { SerialQueue } from '@aztec/foundation/queue';
@@ -18,7 +19,6 @@ import {
18
19
  } from '@aztec/stdlib/abi';
19
20
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
20
21
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
21
- import type { L2BlockHash } from '@aztec/stdlib/block';
22
22
  import {
23
23
  CompleteAddress,
24
24
  type ContractClassWithId,
@@ -39,6 +39,7 @@ import type { NotesFilter } from '@aztec/stdlib/note';
39
39
  import { NoteDao } from '@aztec/stdlib/note';
40
40
  import {
41
41
  type ContractOverrides,
42
+ type InTx,
42
43
  PrivateExecutionResult,
43
44
  PrivateSimulationResult,
44
45
  type ProvingTimings,
@@ -47,7 +48,6 @@ import {
47
48
  type SimulationTimings,
48
49
  Tx,
49
50
  TxExecutionRequest,
50
- TxHash,
51
51
  TxProfileResult,
52
52
  TxProvingResult,
53
53
  TxSimulationResult,
@@ -66,6 +66,7 @@ import { ProxiedContractDataProviderFactory } from './contract_function_simulato
66
66
  import { ProxiedNodeFactory } from './contract_function_simulator/proxied_node.js';
67
67
  import { PXEOracleInterface } from './contract_function_simulator/pxe_oracle_interface.js';
68
68
  import { enrichPublicSimulationError, enrichSimulationError } from './error_enriching.js';
69
+ import { PrivateEventFilterValidator } from './events/private_event_filter_validator.js';
69
70
  import {
70
71
  PrivateKernelExecutionProver,
71
72
  type PrivateKernelExecutionProverConfig,
@@ -80,12 +81,8 @@ import { SyncDataProvider } from './storage/sync_data_provider/sync_data_provide
80
81
  import { TaggingDataProvider } from './storage/tagging_data_provider/tagging_data_provider.js';
81
82
  import { Synchronizer } from './synchronizer/index.js';
82
83
 
83
- export type PrivateEvent = {
84
+ export type PackedPrivateEvent = InTx & {
84
85
  packedEvent: Fr[];
85
- blockNumber: number;
86
- blockHash: L2BlockHash;
87
- txHash: TxHash;
88
- recipient: AztecAddress;
89
86
  eventSelector: EventSelector;
90
87
  };
91
88
 
@@ -1049,31 +1046,32 @@ export class PXE {
1049
1046
 
1050
1047
  /**
1051
1048
  * Returns the private events given search parameters.
1052
- * @param contractAddress - The address of the contract to get events from.
1053
1049
  * @param eventSelector - Event selector to search for.
1054
- * @param from - The block number to search from.
1055
- * @param numBlocks - The amount of blocks to search.
1056
- * @param recipients - The addresses that decrypted the logs.
1050
+ * @param filter
1051
+ * contractAddress - The address of the contract to get events from. Required.
1052
+ * scopes - One or more event scope addresses to filter by. Required.
1053
+ * fromBlock - The block number to search from (inclusive). Optional. If provided, it must be >= 0.
1054
+ * Defaults to 0.
1055
+ * If toBlock is defined but fromBlock is not, fromBlock defaults to toBlock - 1.
1056
+ * toBlock - The block number to search up to (exclusive). Optional. If provided, it must be > 0.
1057
+ * Defaults to the latest known block to PXE + 1.
1057
1058
  * @returns - The packed events with block and tx metadata.
1058
1059
  */
1059
1060
  public async getPrivateEvents(
1060
- contractAddress: AztecAddress,
1061
1061
  eventSelector: EventSelector,
1062
- from: number,
1063
- numBlocks: number,
1064
- recipients: AztecAddress[],
1065
- ): Promise<PrivateEvent[]> {
1066
- if (recipients.length === 0) {
1067
- throw new Error('Recipients are required to get private events');
1068
- }
1069
-
1070
- this.log.verbose(`Getting private events for ${contractAddress.toString()} from ${from} to ${from + numBlocks}`);
1071
-
1062
+ filter: PrivateEventFilter,
1063
+ ): Promise<PackedPrivateEvent[]> {
1072
1064
  // We need to manually trigger private state sync to have a guarantee that all the events are available.
1073
- const call = await this.#getFunctionCall('sync_private_state', [], contractAddress);
1065
+ const call = await this.#getFunctionCall('sync_private_state', [], filter.contractAddress);
1074
1066
  await this.simulateUtility(call);
1075
1067
 
1076
- return this.privateEventDataProvider.getPrivateEvents(contractAddress, from, numBlocks, recipients, eventSelector);
1068
+ const sanitizedFilter = await new PrivateEventFilterValidator(this.syncDataProvider).validate(filter);
1069
+
1070
+ this.log.error(
1071
+ `Getting private events for ${sanitizedFilter.contractAddress.toString()} from ${sanitizedFilter.fromBlock} to ${sanitizedFilter.toBlock}`,
1072
+ );
1073
+
1074
+ return this.privateEventDataProvider.getPrivateEvents(eventSelector, sanitizedFilter);
1077
1075
  }
1078
1076
 
1079
1077
  /**
@@ -1,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { createLogger } from '@aztec/foundation/log';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -5,17 +6,30 @@ import type { AztecAsyncArray, AztecAsyncKVStore, AztecAsyncMap } from '@aztec/k
5
6
  import type { EventSelector } from '@aztec/stdlib/abi';
6
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
8
  import { L2BlockHash } from '@aztec/stdlib/block';
8
- import { TxHash } from '@aztec/stdlib/tx';
9
+ import { type InTx, TxHash } from '@aztec/stdlib/tx';
9
10
 
10
- import type { PrivateEvent } from '../../pxe.js';
11
+ import type { PackedPrivateEvent } from '../../pxe.js';
11
12
 
12
- interface PrivateEventEntry {
13
+ export type PrivateEventDataProviderFilter = {
14
+ contractAddress: AztecAddress;
15
+ fromBlock: number;
16
+ toBlock: number;
17
+ scopes: AztecAddress[];
18
+ txHash?: TxHash;
19
+ };
20
+
21
+ type PrivateEventEntry = {
13
22
  msgContent: Buffer;
14
- blockNumber: number;
15
- blockHash: Buffer;
16
23
  eventCommitmentIndex: number;
24
+ l2BlockNumber: number;
25
+ l2BlockHash: Buffer;
17
26
  txHash: Buffer;
18
- }
27
+ };
28
+
29
+ type PrivateEventMetadata = InTx & {
30
+ contractAddress: AztecAddress;
31
+ scope: AztecAddress;
32
+ };
19
33
 
20
34
  /**
21
35
  * Stores decrypted private event logs.
@@ -24,7 +38,7 @@ export class PrivateEventDataProvider {
24
38
  #store: AztecAsyncKVStore;
25
39
  /** Array storing the actual private event log entries containing the log content and block number */
26
40
  #eventLogs: AztecAsyncArray<PrivateEventEntry>;
27
- /** Map from contract_address_recipient_eventSelector to array of indices into #eventLogs for efficient lookup */
41
+ /** Map from contract_address_scope_eventSelector to array of indices into #eventLogs for efficient lookup */
28
42
  #eventLogIndex: AztecAsyncMap<string, number[]>;
29
43
  /** Map from eventCommitmentIndex to boolean indicating if log has been seen. */
30
44
  #seenLogs: AztecAsyncMap<number, boolean>;
@@ -38,28 +52,31 @@ export class PrivateEventDataProvider {
38
52
  this.#seenLogs = this.#store.openMap('seen_logs');
39
53
  }
40
54
 
55
+ #keyFor(contractAddress: AztecAddress, scope: AztecAddress, eventSelector: EventSelector): string {
56
+ return `${contractAddress.toString()}_${scope.toString()}_${eventSelector.toString()}`;
57
+ }
58
+
41
59
  /**
42
60
  * Store a private event log.
43
- * @param contractAddress - The address of the contract that emitted the event.
44
- * @param recipient - The recipient of the event.
45
61
  * @param eventSelector - The event selector of the event.
46
62
  * @param msgContent - The content of the event.
47
- * @param txHash - The transaction hash of the event log.
48
63
  * @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
49
- * @param blockNumber - The block number in which the event was emitted.
64
+ * @param metadata
65
+ * contractAddress - The address of the contract that emitted the event.
66
+ * scope - The address to which the event is scoped.
67
+ * txHash - The transaction hash of the event log.
68
+ * blockNumber - The block number in which the event was emitted.
50
69
  */
51
70
  storePrivateEventLog(
52
- contractAddress: AztecAddress,
53
- recipient: AztecAddress,
54
71
  eventSelector: EventSelector,
55
72
  msgContent: Fr[],
56
- txHash: TxHash,
57
73
  eventCommitmentIndex: number,
58
- blockNumber: number,
59
- blockHash: L2BlockHash,
74
+ metadata: PrivateEventMetadata,
60
75
  ): Promise<void> {
76
+ const { contractAddress, scope, txHash, l2BlockNumber, l2BlockHash } = metadata;
77
+
61
78
  return this.#store.transactionAsync(async () => {
62
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
79
+ const key = this.#keyFor(contractAddress, scope, eventSelector);
63
80
 
64
81
  // Check if this exact log has already been stored using eventCommitmentIndex as unique identifier
65
82
  const hasBeenSeen = await this.#seenLogs.getAsync(eventCommitmentIndex);
@@ -68,13 +85,13 @@ export class PrivateEventDataProvider {
68
85
  return;
69
86
  }
70
87
 
71
- this.logger.verbose('storing private event log', { contractAddress, recipient, msgContent, blockNumber });
88
+ this.logger.verbose('storing private event log', { contractAddress, scope, msgContent, l2BlockNumber });
72
89
 
73
90
  const index = await this.#eventLogs.lengthAsync();
74
91
  await this.#eventLogs.push({
75
92
  msgContent: serializeToBuffer(msgContent),
76
- blockNumber,
77
- blockHash: blockHash.toBuffer(),
93
+ l2BlockNumber,
94
+ l2BlockHash: l2BlockHash.toBuffer(),
78
95
  eventCommitmentIndex,
79
96
  txHash: txHash.toBuffer(),
80
97
  });
@@ -89,29 +106,28 @@ export class PrivateEventDataProvider {
89
106
 
90
107
  /**
91
108
  * Returns the private events given search parameters.
92
- * @param contractAddress - The address of the contract to get events from.
93
- * @param from - The block number to search from.
94
- * @param numBlocks - The amount of blocks to search.
95
- * @param recipients - The addresses that decrypted the logs.
96
109
  * @param eventSelector - The event selector to filter by.
97
- * @returns - The event log contents.
110
+ * @param filter - Filtering criteria:
111
+ * contractAddress: The address of the contract to get events from.
112
+ * fromBlock: The block number to search from (inclusive).
113
+ * toBlock: The block number to search upto (exclusive).
114
+ * scope: - The addresses that decrypted the logs.
115
+ * @returns - The event log contents, augmented with metadata about
116
+ * the transaction and block it the event was included in .
98
117
  */
99
118
  public async getPrivateEvents(
100
- contractAddress: AztecAddress,
101
- from: number,
102
- numBlocks: number,
103
- recipients: AztecAddress[],
104
119
  eventSelector: EventSelector,
105
- ): Promise<PrivateEvent[]> {
106
- const events: Array<{ eventCommitmentIndex: number; event: PrivateEvent }> = [];
120
+ filter: PrivateEventDataProviderFilter,
121
+ ): Promise<PackedPrivateEvent[]> {
122
+ const events: Array<{ eventCommitmentIndex: number; event: PackedPrivateEvent }> = [];
107
123
 
108
- for (const recipient of recipients) {
109
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
124
+ for (const scope of filter.scopes) {
125
+ const key = this.#keyFor(filter.contractAddress, scope, eventSelector);
110
126
  const indices = (await this.#eventLogIndex.getAsync(key)) || [];
111
127
 
112
128
  for (const index of indices) {
113
129
  const entry = await this.#eventLogs.atAsync(index);
114
- if (!entry || entry.blockNumber < from || entry.blockNumber >= from + numBlocks) {
130
+ if (!entry || entry.l2BlockNumber < filter.fromBlock || entry.l2BlockNumber >= filter.toBlock) {
115
131
  continue;
116
132
  }
117
133
 
@@ -120,16 +136,19 @@ export class PrivateEventDataProvider {
120
136
  const numFields = entry.msgContent.length / Fr.SIZE_IN_BYTES;
121
137
  const msgContent = reader.readArray(numFields, Fr);
122
138
  const txHash = TxHash.fromBuffer(entry.txHash);
123
- const blockHash = L2BlockHash.fromBuffer(entry.blockHash);
139
+ const l2BlockHash = L2BlockHash.fromBuffer(entry.l2BlockHash);
140
+
141
+ if (filter.txHash && !txHash.equals(filter.txHash)) {
142
+ continue;
143
+ }
124
144
 
125
145
  events.push({
126
146
  eventCommitmentIndex: entry.eventCommitmentIndex,
127
147
  event: {
128
148
  packedEvent: msgContent,
129
- blockNumber: entry.blockNumber,
130
- recipient,
149
+ l2BlockNumber: BlockNumber(entry.l2BlockNumber),
131
150
  txHash,
132
- blockHash,
151
+ l2BlockHash,
133
152
  eventSelector,
134
153
  },
135
154
  });