@aztec/pxe 4.0.0-nightly.20260121 → 4.0.0-nightly.20260122
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/index.d.ts +2 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +4 -4
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +4 -4
- package/dest/contract_function_simulator/oracle/oracle.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +5 -5
- package/dest/logs/log_service.d.ts +1 -1
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +7 -7
- package/dest/oracle_version.d.ts +1 -1
- package/dest/oracle_version.js +1 -1
- package/dest/tagging/get_all_logs_by_tags.d.ts +19 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
- package/dest/tagging/get_all_logs_by_tags.js +42 -0
- package/dest/tagging/index.d.ts +2 -1
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +1 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +1 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +4 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +1 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +5 -8
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +4 -1
- package/package.json +16 -16
- package/src/contract_function_simulator/index.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +4 -4
- package/src/contract_function_simulator/oracle/oracle.ts +6 -6
- package/src/logs/log_service.ts +11 -7
- package/src/oracle_version.ts +1 -1
- package/src/tagging/get_all_logs_by_tags.ts +56 -0
- package/src/tagging/index.ts +1 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +5 -1
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +5 -17
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -1
|
@@ -9,6 +9,6 @@ export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
|
9
9
|
export { Oracle } from './oracle/oracle.js';
|
|
10
10
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
11
11
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
12
|
-
export {
|
|
12
|
+
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
13
13
|
export { UtilityContext } from './noir-structs/utility_context.js';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -8,5 +8,5 @@ export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
|
8
8
|
export { Oracle } from './oracle/oracle.js';
|
|
9
9
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
10
10
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
11
|
-
export {
|
|
11
|
+
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
12
12
|
export { UtilityContext } from './noir-structs/utility_context.js';
|
|
@@ -2,10 +2,10 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { Note } from '@aztec/stdlib/note';
|
|
4
4
|
/**
|
|
5
|
-
* Packs a note in a format that is compatible with the default Packable implementation of the
|
|
5
|
+
* Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
|
|
6
6
|
*
|
|
7
7
|
* @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
|
|
8
|
-
* and only after that it packs the
|
|
8
|
+
* and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
|
|
9
9
|
*
|
|
10
10
|
* @param contractAddress - The address of the contract that owns the note
|
|
11
11
|
* @param owner - The owner of the note
|
|
@@ -16,7 +16,7 @@ import type { Note } from '@aztec/stdlib/note';
|
|
|
16
16
|
* @param note - The note content containing the actual note data
|
|
17
17
|
* @returns The packed note as an array of field elements
|
|
18
18
|
*/
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function packAsHintedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, isPending, note }: {
|
|
20
20
|
contractAddress: AztecAddress;
|
|
21
21
|
owner: AztecAddress;
|
|
22
22
|
randomness: Fr;
|
|
@@ -25,4 +25,4 @@ export declare function packAsRetrievedNote({ contractAddress, owner, randomness
|
|
|
25
25
|
isPending: boolean;
|
|
26
26
|
note: Note;
|
|
27
27
|
}): (AztecAddress | Fr)[];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wYWNraW5nX3V0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9ub3RlX3BhY2tpbmdfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUIvQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxFQUMvQixlQUFlLEVBQ2YsS0FBSyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0wsRUFBRTtJQUNELGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ2QsU0FBUyxFQUFFLE9BQU8sQ0FBQztJQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDO0NBQ1oseUJBaUJBIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_packing_utils.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/note_packing_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiB/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"note_packing_utils.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/note_packing_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiB/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,IAAI,EACL,EAAE;IACD,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,WAAW,EAAE,EAAE,CAAC;IAChB,SAAS,EAAE,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,yBAiBA"}
|
|
@@ -23,10 +23,10 @@ function fromRawData(nonzeroNoteHashCounter, maybeNoteNonce) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Packs a note in a format that is compatible with the default Packable implementation of the
|
|
26
|
+
* Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
|
|
27
27
|
*
|
|
28
28
|
* @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
|
|
29
|
-
* and only after that it packs the
|
|
29
|
+
* and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
|
|
30
30
|
*
|
|
31
31
|
* @param contractAddress - The address of the contract that owns the note
|
|
32
32
|
* @param owner - The owner of the note
|
|
@@ -36,10 +36,10 @@ function fromRawData(nonzeroNoteHashCounter, maybeNoteNonce) {
|
|
|
36
36
|
* @param isPending - True if the note is pending, false if settled
|
|
37
37
|
* @param note - The note content containing the actual note data
|
|
38
38
|
* @returns The packed note as an array of field elements
|
|
39
|
-
*/ export function
|
|
39
|
+
*/ export function packAsHintedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, isPending, note }) {
|
|
40
40
|
// If the note is pending it means it has a non-zero note hash counter associated with it.
|
|
41
41
|
const nonZeroNoteHashCounter = isPending;
|
|
42
|
-
// To pack the note as
|
|
42
|
+
// To pack the note as hinted note we first need to reconstruct the note metadata.
|
|
43
43
|
const noteMetadata = fromRawData(nonZeroNoteHashCounter, noteNonce);
|
|
44
44
|
// Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
|
|
45
45
|
return [
|
|
@@ -27,7 +27,7 @@ export declare class Oracle {
|
|
|
27
27
|
utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
|
|
28
28
|
utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
|
|
29
29
|
utilityGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]>;
|
|
30
|
-
utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [
|
|
30
|
+
utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedHintedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
31
31
|
privateNotifyCreatedNote([owner]: ACVMField[], [storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
32
32
|
privateNotifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
33
33
|
privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
|
|
@@ -55,4 +55,4 @@ export declare class Oracle {
|
|
|
55
55
|
privateGetSenderForTags(): Promise<ACVMField[]>;
|
|
56
56
|
privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBT2pDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVELHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
7
7
|
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
8
8
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
9
9
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
10
|
-
import {
|
|
10
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
11
11
|
export class UnavailableOracleError extends Error {
|
|
12
12
|
constructor(oracleName){
|
|
13
13
|
super(`${oracleName} oracles not available with the current handler`);
|
|
@@ -173,11 +173,11 @@ export class UnavailableOracleError extends Error {
|
|
|
173
173
|
].map(toACVMField)
|
|
174
174
|
];
|
|
175
175
|
}
|
|
176
|
-
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [
|
|
176
|
+
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedHintedNoteLength]) {
|
|
177
177
|
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
178
178
|
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
179
179
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
|
|
180
|
-
const
|
|
180
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map((noteData)=>packAsHintedNote({
|
|
181
181
|
contractAddress: noteData.contractAddress,
|
|
182
182
|
owner: noteData.owner,
|
|
183
183
|
randomness: noteData.randomness,
|
|
@@ -187,9 +187,9 @@ export class UnavailableOracleError extends Error {
|
|
|
187
187
|
note: noteData.note
|
|
188
188
|
}));
|
|
189
189
|
// Now we convert each sub-array to an array of ACVMField
|
|
190
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
190
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map((subArray)=>subArray.map(toACVMField));
|
|
191
191
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
192
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
192
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
193
193
|
}
|
|
194
194
|
privateNotifyCreatedNote([owner], [storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
|
|
195
195
|
this.handlerAsPrivate().privateNotifyCreatedNote(AztecAddress.fromString(owner), Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
|
|
@@ -24,4 +24,4 @@ export declare class LogService {
|
|
|
24
24
|
bulkRetrieveLogs(logRetrievalRequests: LogRetrievalRequest[]): Promise<(LogRetrievalResponse | null)[]>;
|
|
25
25
|
syncTaggedLogs(contractAddress: AztecAddress, pendingTaggedLogArrayBaseSlot: Fr, scopes?: AztecAddress[]): Promise<void>;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2xvZ19zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBT3BHLHFCQUFhLFVBQVU7O0lBSW5CLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtJQUNqQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCO0lBQ3RDLE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCO0lBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWTtJQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFWeEIsT0FBTyxDQUFDLEdBQUcsQ0FBK0I7SUFFMUMsWUFDbUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFlBQVksRUFBRSxZQUFZLEVBQzFCLHFCQUFxQixFQUFFLHFCQUFxQixFQUM1QyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsWUFBWSxFQUFFLFlBQVksRUFDMUIsS0FBSyxFQUFFLE1BQU0sRUFDNUI7SUFFUyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FpQm5IO0lBZ0RZLGNBQWMsQ0FDekIsZUFBZSxFQUFFLFlBQVksRUFDN0IsNkJBQTZCLEVBQUUsRUFBRSxFQUNqQyxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsaUJBd0N4QjtDQWdFRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_service.d.ts","sourceRoot":"","sources":["../../src/logs/log_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uEAAuE,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"log_service.d.ts","sourceRoot":"","sources":["../../src/logs/log_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sEAAsE,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uEAAuE,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAOpG,qBAAa,UAAU;;IAInB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVxB,OAAO,CAAC,GAAG,CAA+B;IAE1C,YACmB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EAC5B;IAES,gBAAgB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,CAiBnH;IAgDY,cAAc,CACzB,eAAe,EAAE,YAAY,EAC7B,6BAA6B,EAAE,EAAE,EACjC,MAAM,CAAC,EAAE,YAAY,EAAE,iBAwCxB;CAgEF"}
|
package/dest/logs/log_service.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import { DirectionalAppTaggingSecret, PendingTaggedLog, SiloedTag } from '@aztec/stdlib/logs';
|
|
4
4
|
import { LogRetrievalResponse } from '../contract_function_simulator/noir-structs/log_retrieval_response.js';
|
|
5
|
-
import { loadPrivateLogsForSenderRecipientPair } from '../tagging/index.js';
|
|
5
|
+
import { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract, loadPrivateLogsForSenderRecipientPair } from '../tagging/index.js';
|
|
6
6
|
export class LogService {
|
|
7
7
|
aztecNode;
|
|
8
8
|
anchorBlockStore;
|
|
@@ -37,11 +37,11 @@ export class LogService {
|
|
|
37
37
|
}));
|
|
38
38
|
}
|
|
39
39
|
async #getPublicLogByTag(tag, contractAddress) {
|
|
40
|
-
const
|
|
40
|
+
const allLogsPerTag = await getAllPublicLogsByTagsFromContract(this.aztecNode, contractAddress, [
|
|
41
41
|
tag
|
|
42
42
|
]);
|
|
43
|
-
const logsForTag =
|
|
44
|
-
if (logsForTag.length
|
|
43
|
+
const logsForTag = allLogsPerTag[0];
|
|
44
|
+
if (logsForTag.length === 0) {
|
|
45
45
|
return null;
|
|
46
46
|
} else if (logsForTag.length > 1) {
|
|
47
47
|
// TODO(#11627): handle this case
|
|
@@ -51,11 +51,11 @@ export class LogService {
|
|
|
51
51
|
return new LogRetrievalResponse(scopedLog.logData.slice(1), scopedLog.txHash, scopedLog.noteHashes, scopedLog.firstNullifier);
|
|
52
52
|
}
|
|
53
53
|
async #getPrivateLogByTag(siloedTag) {
|
|
54
|
-
const
|
|
54
|
+
const allLogsPerTag = await getAllPrivateLogsByTags(this.aztecNode, [
|
|
55
55
|
siloedTag
|
|
56
56
|
]);
|
|
57
|
-
const logsForTag =
|
|
58
|
-
if (logsForTag.length
|
|
57
|
+
const logsForTag = allLogsPerTag[0];
|
|
58
|
+
if (logsForTag.length === 0) {
|
|
59
59
|
return null;
|
|
60
60
|
} else if (logsForTag.length > 1) {
|
|
61
61
|
// TODO(#11627): handle this case
|
package/dest/oracle_version.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const ORACLE_VERSION = 6;
|
|
2
|
-
export declare const ORACLE_INTERFACE_HASH = "
|
|
2
|
+
export declare const ORACLE_INTERFACE_HASH = "8fb18d1fa560c4844b22c55a3e79c32ffcb71ded9ac409911470ee0296a84d72";
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlX3ZlcnNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxlQUFPLE1BQU0sY0FBYyxJQUFJLENBQUM7QUFJaEMsZUFBTyxNQUFNLHFCQUFxQixxRUFBcUUsQ0FBQyJ9
|
package/dest/oracle_version.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
export const ORACLE_VERSION = 6;
|
|
8
8
|
/// This hash is computed as by hashing the Oracle interface and it is used to detect when the Oracle interface changes,
|
|
9
9
|
/// which in turn implies that you need to update the ORACLE_VERSION constant.
|
|
10
|
-
export const ORACLE_INTERFACE_HASH = '
|
|
10
|
+
export const ORACLE_INTERFACE_HASH = '8fb18d1fa560c4844b22c55a3e79c32ffcb71ded9ac409911470ee0296a84d72';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
3
|
+
import type { SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
4
|
+
/**
|
|
5
|
+
* Fetches all private logs for the given tags, automatically paginating through all pages.
|
|
6
|
+
* @param aztecNode - The Aztec node to query.
|
|
7
|
+
* @param tags - The siloed tags to search for.
|
|
8
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAllPrivateLogsByTags(aztecNode: AztecNode, tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
11
|
+
/**
|
|
12
|
+
* Fetches all public logs for the given tags from a contract, automatically paginating through all pages.
|
|
13
|
+
* @param aztecNode - The Aztec node to query.
|
|
14
|
+
* @param contractAddress - The contract address to search logs for.
|
|
15
|
+
* @param tags - The tags to search for.
|
|
16
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getAllPublicLogsByTagsFromContract(aztecNode: AztecNode, contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2FsbF9sb2dzX2J5X3RhZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWdnaW5nL2dldF9hbGxfbG9nc19ieV90YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUE2QnhFOzs7OztHQUtHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBRTNHO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGtDQUFrQyxDQUNoRCxTQUFTLEVBQUUsU0FBUyxFQUNwQixlQUFlLEVBQUUsWUFBWSxFQUM3QixJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQ1YsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FFNUIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_all_logs_by_tags.d.ts","sourceRoot":"","sources":["../../src/tagging/get_all_logs_by_tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA6BxE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAE3G;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,EAC7B,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAE5B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { MAX_LOGS_PER_TAG } from '@aztec/stdlib/interfaces/api-limit';
|
|
2
|
+
/**
|
|
3
|
+
* Generic pagination helper that fetches all pages of results.
|
|
4
|
+
* @param numTags - The number of tags being queried (determines result array size).
|
|
5
|
+
* @param fetchPage - Function that fetches a single page of results given a page number.
|
|
6
|
+
* @returns An array of arrays, one per tag, containing all results across all pages.
|
|
7
|
+
*/ async function getAllPages(numTags, fetchPage) {
|
|
8
|
+
const allResultsPerTag = Array.from({
|
|
9
|
+
length: numTags
|
|
10
|
+
}, ()=>[]);
|
|
11
|
+
let page = 0;
|
|
12
|
+
let hasMore = true;
|
|
13
|
+
while(hasMore){
|
|
14
|
+
const resultsPage = await fetchPage(page);
|
|
15
|
+
hasMore = false;
|
|
16
|
+
for(let i = 0; i < resultsPage.length; i++){
|
|
17
|
+
allResultsPerTag[i].push(...resultsPage[i]);
|
|
18
|
+
if (resultsPage[i].length === MAX_LOGS_PER_TAG) {
|
|
19
|
+
hasMore = true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
page++;
|
|
23
|
+
}
|
|
24
|
+
return allResultsPerTag;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fetches all private logs for the given tags, automatically paginating through all pages.
|
|
28
|
+
* @param aztecNode - The Aztec node to query.
|
|
29
|
+
* @param tags - The siloed tags to search for.
|
|
30
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
31
|
+
*/ export function getAllPrivateLogsByTags(aztecNode, tags) {
|
|
32
|
+
return getAllPages(tags.length, (page)=>aztecNode.getPrivateLogsByTags(tags, page));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fetches all public logs for the given tags from a contract, automatically paginating through all pages.
|
|
36
|
+
* @param aztecNode - The Aztec node to query.
|
|
37
|
+
* @param contractAddress - The contract address to search logs for.
|
|
38
|
+
* @param tags - The tags to search for.
|
|
39
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
40
|
+
*/ export function getAllPublicLogsByTagsFromContract(aztecNode, contractAddress, tags) {
|
|
41
|
+
return getAllPages(tags.length, (page)=>aztecNode.getPublicLogsByTagsFromContract(contractAddress, tags, page));
|
|
42
|
+
}
|
package/dest/tagging/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
export { loadPrivateLogsForSenderRecipientPair } from './recipient_sync/load_private_logs_for_sender_recipient_pair.js';
|
|
12
12
|
export { syncSenderTaggingIndexes } from './sender_sync/sync_sender_tagging_indexes.js';
|
|
13
13
|
export { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from './constants.js';
|
|
14
|
+
export { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract } from './get_all_logs_by_tags.js';
|
|
14
15
|
export { DirectionalAppTaggingSecret, Tag, SiloedTag } from '@aztec/stdlib/logs';
|
|
15
16
|
export { type PreTag } from '@aztec/stdlib/logs';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWdnaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUVILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakYsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tagging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,qCAAqC,EAAE,MAAM,iEAAiE,CAAC;AACxH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tagging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,qCAAqC,EAAE,MAAM,iEAAiE,CAAC;AACxH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAGxG,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dest/tagging/index.js
CHANGED
|
@@ -10,5 +10,6 @@
|
|
|
10
10
|
*/ export { loadPrivateLogsForSenderRecipientPair } from './recipient_sync/load_private_logs_for_sender_recipient_pair.js';
|
|
11
11
|
export { syncSenderTaggingIndexes } from './sender_sync/sync_sender_tagging_indexes.js';
|
|
12
12
|
export { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from './constants.js';
|
|
13
|
+
export { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract } from './get_all_logs_by_tags.js';
|
|
13
14
|
// Re-export tagging-related types from stdlib
|
|
14
15
|
export { DirectionalAppTaggingSecret, Tag, SiloedTag } from '@aztec/stdlib/logs';
|
|
@@ -11,4 +11,4 @@ export declare function loadLogsForRange(secret: DirectionalAppTaggingSecret, ap
|
|
|
11
11
|
log: TxScopedL2Log;
|
|
12
12
|
taggingIndex: number;
|
|
13
13
|
}>>;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9sb2dzX2Zvcl9yYW5nZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhZ2dpbmcvcmVjaXBpZW50X3N5bmMvdXRpbHMvbG9hZF9sb2dzX2Zvcl9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBVSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUs3Rjs7OztHQUlHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsMkJBQTJCLEVBQ25DLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLEtBQUssRUFBRSxNQUFNLEVBQ2IsR0FBRyxFQUFFLE1BQU0sRUFDWCxpQkFBaUIsRUFBRSxXQUFXLEdBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO0lBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUMsQ0FBQyxDQTBCOUQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load_logs_for_range.d.ts","sourceRoot":"","sources":["../../../../src/tagging/recipient_sync/utils/load_logs_for_range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAU,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"load_logs_for_range.d.ts","sourceRoot":"","sources":["../../../../src/tagging/recipient_sync/utils/load_logs_for_range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAU,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAK7F;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,2BAA2B,EACnC,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,WAAW,GAC7B,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA0B9D"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
2
|
+
import { getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
|
|
2
3
|
/**
|
|
3
4
|
* Gets private logs with their corresponding block timestamps and tagging indexes for the given index range, `app` and
|
|
4
5
|
* `secret`. At most load logs from blocks up to and including `anchorBlockNumber`. `start` is inclusive and `end` is
|
|
@@ -10,7 +11,9 @@ import { SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
|
10
11
|
index: start + i
|
|
11
12
|
}));
|
|
12
13
|
const siloedTags = await Promise.all(preTags.map((preTag)=>Tag.compute(preTag))).then((tags)=>Promise.all(tags.map((tag)=>SiloedTag.compute(tag, app))));
|
|
13
|
-
|
|
14
|
+
// We use the utility function below to retrieve all logs for the tags across all pages, so we don't need to handle
|
|
15
|
+
// pagination here.
|
|
16
|
+
const logs = await getAllPrivateLogsByTags(aztecNode, siloedTags);
|
|
14
17
|
// Pair logs with their corresponding tagging indexes
|
|
15
18
|
const logsWithIndexes = [];
|
|
16
19
|
for(let i = 0; i < logs.length; i++){
|
|
@@ -8,4 +8,4 @@ export declare function getStatusChangeOfPending(pending: TxHash[], aztecNode: A
|
|
|
8
8
|
txHashesToFinalize: TxHash[];
|
|
9
9
|
txHashesToDrop: TxHash[];
|
|
10
10
|
}>;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X3N0YXR1c19jaGFuZ2Vfb2ZfcGVuZGluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhZ2dpbmcvc2VuZGVyX3N5bmMvdXRpbHMvZ2V0X3N0YXR1c19jaGFuZ2Vfb2ZfcGVuZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQ7OztHQUdHO0FBQ0gsd0JBQXNCLHdCQUF3QixDQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEdBQ25CLE9BQU8sQ0FBQztJQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFBO0NBQUUsQ0FBQyxDQXlCckUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_status_change_of_pending.d.ts","sourceRoot":"","sources":["../../../../src/tagging/sender_sync/utils/get_status_change_of_pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAY,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"get_status_change_of_pending.d.ts","sourceRoot":"","sources":["../../../../src/tagging/sender_sync/utils/get_status_change_of_pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAY,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;IAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAyBrE"}
|
|
@@ -3,26 +3,23 @@ import { TxStatus } from '@aztec/stdlib/tx';
|
|
|
3
3
|
* Based on receipts obtained from `aztecNode` returns which pending transactions changed their status to finalized or
|
|
4
4
|
* dropped.
|
|
5
5
|
*/ export async function getStatusChangeOfPending(pending, aztecNode) {
|
|
6
|
-
// Get receipts for all pending tx hashes
|
|
7
|
-
const
|
|
8
|
-
Promise.all(pending.map((pendingTxHash)=>aztecNode.getTxReceipt(pendingTxHash))),
|
|
9
|
-
aztecNode.getL2Tips()
|
|
10
|
-
]);
|
|
6
|
+
// Get receipts for all pending tx hashes.
|
|
7
|
+
const receipts = await Promise.all(pending.map((pendingTxHash)=>aztecNode.getTxReceipt(pendingTxHash)));
|
|
11
8
|
const txHashesToFinalize = [];
|
|
12
9
|
const txHashesToDrop = [];
|
|
13
10
|
for(let i = 0; i < receipts.length; i++){
|
|
14
11
|
const receipt = receipts[i];
|
|
15
12
|
const txHash = pending[i];
|
|
16
|
-
if (receipt.status === TxStatus.
|
|
13
|
+
if (receipt.status === TxStatus.FINALIZED && receipt.hasExecutionSucceeded()) {
|
|
17
14
|
// Tx has been included in a block and the corresponding block is finalized --> we mark the indexes as
|
|
18
15
|
// finalized.
|
|
19
16
|
txHashesToFinalize.push(txHash);
|
|
20
|
-
} else if (receipt.
|
|
17
|
+
} else if (receipt.isDropped() || receipt.hasExecutionReverted()) {
|
|
21
18
|
// Tx was dropped or reverted --> we drop the corresponding pending indexes.
|
|
22
19
|
// TODO(#17615): Don't drop pending indexes corresponding to non-revertible phases.
|
|
23
20
|
txHashesToDrop.push(txHash);
|
|
24
21
|
} else {
|
|
25
|
-
// Tx is still pending or
|
|
22
|
+
// Tx is still pending, not yet finalized, or was mined successfully but not yet finalized --> we don't do anything.
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
25
|
return {
|
|
@@ -17,4 +17,4 @@ import type { SenderTaggingStore } from '../../../storage/tagging_store/sender_t
|
|
|
17
17
|
* preserving way.
|
|
18
18
|
*/
|
|
19
19
|
export declare function loadAndStoreNewTaggingIndexes(secret: DirectionalAppTaggingSecret, app: AztecAddress, start: number, end: number, aztecNode: AztecNode, taggingStore: SenderTaggingStore, jobId: string): Promise<void>;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9hbmRfc3RvcmVfbmV3X3RhZ2dpbmdfaW5kZXhlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhZ2dpbmcvc2VuZGVyX3N5bmMvdXRpbHMvbG9hZF9hbmRfc3RvcmVfbmV3X3RhZ2dpbmdfaW5kZXhlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBSTlFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFHakc7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHdCQUFzQiw2QkFBNkIsQ0FDakQsTUFBTSxFQUFFLDJCQUEyQixFQUNuQyxHQUFHLEVBQUUsWUFBWSxFQUNqQixLQUFLLEVBQUUsTUFBTSxFQUNiLEdBQUcsRUFBRSxNQUFNLEVBQ1gsU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLGtCQUFrQixFQUNoQyxLQUFLLEVBQUUsTUFBTSxpQkFrQmQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load_and_store_new_tagging_indexes.d.ts","sourceRoot":"","sources":["../../../../src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAU,MAAM,oBAAoB,CAAC;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"load_and_store_new_tagging_indexes.d.ts","sourceRoot":"","sources":["../../../../src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAU,MAAM,oBAAoB,CAAC;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAGjG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,2BAA2B,EACnC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,MAAM,iBAkBd"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
2
2
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
3
|
+
import { getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
|
|
3
4
|
/**
|
|
4
5
|
* Loads tagging indexes from the Aztec node and stores them in the tagging data provider.
|
|
5
6
|
* @remarks This function is one of two places by which a pending index can get to the tagging data provider. The other
|
|
@@ -36,7 +37,9 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
36
37
|
// Returns txs that used the given tags. A tag might have been used in multiple txs and for this reason we return
|
|
37
38
|
// an array for each tag.
|
|
38
39
|
async function getTxsContainingTags(tags, aztecNode) {
|
|
39
|
-
|
|
40
|
+
// We use the utility function below to retrieve all logs for the tags across all pages, so we don't need to handle
|
|
41
|
+
// pagination here.
|
|
42
|
+
const allLogs = await getAllPrivateLogsByTags(aztecNode, tags);
|
|
40
43
|
return allLogs.map((logs)=>logs.map((log)=>log.txHash));
|
|
41
44
|
}
|
|
42
45
|
// Returns a map of txHash to the highest index for that txHash.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260122",
|
|
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": "4.0.0-nightly.
|
|
65
|
-
"@aztec/bb.js": "4.0.0-nightly.
|
|
66
|
-
"@aztec/builder": "4.0.0-nightly.
|
|
67
|
-
"@aztec/constants": "4.0.0-nightly.
|
|
68
|
-
"@aztec/ethereum": "4.0.0-nightly.
|
|
69
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
70
|
-
"@aztec/key-store": "4.0.0-nightly.
|
|
71
|
-
"@aztec/kv-store": "4.0.0-nightly.
|
|
72
|
-
"@aztec/noir-protocol-circuits-types": "4.0.0-nightly.
|
|
73
|
-
"@aztec/noir-types": "4.0.0-nightly.
|
|
74
|
-
"@aztec/protocol-contracts": "4.0.0-nightly.
|
|
75
|
-
"@aztec/simulator": "4.0.0-nightly.
|
|
76
|
-
"@aztec/stdlib": "4.0.0-nightly.
|
|
64
|
+
"@aztec/bb-prover": "4.0.0-nightly.20260122",
|
|
65
|
+
"@aztec/bb.js": "4.0.0-nightly.20260122",
|
|
66
|
+
"@aztec/builder": "4.0.0-nightly.20260122",
|
|
67
|
+
"@aztec/constants": "4.0.0-nightly.20260122",
|
|
68
|
+
"@aztec/ethereum": "4.0.0-nightly.20260122",
|
|
69
|
+
"@aztec/foundation": "4.0.0-nightly.20260122",
|
|
70
|
+
"@aztec/key-store": "4.0.0-nightly.20260122",
|
|
71
|
+
"@aztec/kv-store": "4.0.0-nightly.20260122",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "4.0.0-nightly.20260122",
|
|
73
|
+
"@aztec/noir-types": "4.0.0-nightly.20260122",
|
|
74
|
+
"@aztec/protocol-contracts": "4.0.0-nightly.20260122",
|
|
75
|
+
"@aztec/simulator": "4.0.0-nightly.20260122",
|
|
76
|
+
"@aztec/stdlib": "4.0.0-nightly.20260122",
|
|
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": "4.0.0-nightly.
|
|
86
|
-
"@aztec/noir-test-contracts.js": "4.0.0-nightly.
|
|
85
|
+
"@aztec/merkle-tree": "4.0.0-nightly.20260122",
|
|
86
|
+
"@aztec/noir-test-contracts.js": "4.0.0-nightly.20260122",
|
|
87
87
|
"@jest/globals": "^30.0.0",
|
|
88
88
|
"@types/jest": "^30.0.0",
|
|
89
89
|
"@types/lodash.omit": "^4.5.7",
|
|
@@ -9,5 +9,5 @@ export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
|
9
9
|
export { Oracle } from './oracle/oracle.js';
|
|
10
10
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
11
11
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
12
|
-
export {
|
|
12
|
+
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
13
13
|
export { UtilityContext } from './noir-structs/utility_context.js';
|
|
@@ -18,10 +18,10 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Packs a note in a format that is compatible with the default Packable implementation of the
|
|
21
|
+
* Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
|
|
22
22
|
*
|
|
23
23
|
* @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
|
|
24
|
-
* and only after that it packs the
|
|
24
|
+
* and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
|
|
25
25
|
*
|
|
26
26
|
* @param contractAddress - The address of the contract that owns the note
|
|
27
27
|
* @param owner - The owner of the note
|
|
@@ -32,7 +32,7 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
|
|
|
32
32
|
* @param note - The note content containing the actual note data
|
|
33
33
|
* @returns The packed note as an array of field elements
|
|
34
34
|
*/
|
|
35
|
-
export function
|
|
35
|
+
export function packAsHintedNote({
|
|
36
36
|
contractAddress,
|
|
37
37
|
owner,
|
|
38
38
|
randomness,
|
|
@@ -52,7 +52,7 @@ export function packAsRetrievedNote({
|
|
|
52
52
|
// If the note is pending it means it has a non-zero note hash counter associated with it.
|
|
53
53
|
const nonZeroNoteHashCounter = isPending;
|
|
54
54
|
|
|
55
|
-
// To pack the note as
|
|
55
|
+
// To pack the note as hinted note we first need to reconstruct the note metadata.
|
|
56
56
|
const noteMetadata = fromRawData(nonZeroNoteHashCounter, noteNonce);
|
|
57
57
|
|
|
58
58
|
// Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
|
|
@@ -17,7 +17,7 @@ import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
|
17
17
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
18
18
|
|
|
19
19
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
20
|
-
import {
|
|
20
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
21
21
|
|
|
22
22
|
export class UnavailableOracleError extends Error {
|
|
23
23
|
constructor(oracleName: string) {
|
|
@@ -259,7 +259,7 @@ export class Oracle {
|
|
|
259
259
|
[offset]: ACVMField[],
|
|
260
260
|
[status]: ACVMField[],
|
|
261
261
|
[maxNotes]: ACVMField[],
|
|
262
|
-
[
|
|
262
|
+
[packedHintedNoteLength]: ACVMField[],
|
|
263
263
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
264
264
|
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
265
265
|
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
@@ -281,8 +281,8 @@ export class Oracle {
|
|
|
281
281
|
+status,
|
|
282
282
|
);
|
|
283
283
|
|
|
284
|
-
const
|
|
285
|
-
|
|
284
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
|
|
285
|
+
packAsHintedNote({
|
|
286
286
|
contractAddress: noteData.contractAddress,
|
|
287
287
|
owner: noteData.owner,
|
|
288
288
|
randomness: noteData.randomness,
|
|
@@ -294,12 +294,12 @@ export class Oracle {
|
|
|
294
294
|
);
|
|
295
295
|
|
|
296
296
|
// Now we convert each sub-array to an array of ACVMField
|
|
297
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
297
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
|
|
298
298
|
subArray.map(toACVMField),
|
|
299
299
|
);
|
|
300
300
|
|
|
301
301
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
302
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
302
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
privateNotifyCreatedNote(
|
package/src/logs/log_service.ts
CHANGED
|
@@ -13,7 +13,11 @@ import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_sto
|
|
|
13
13
|
import { CapsuleStore } from '../storage/capsule_store/capsule_store.js';
|
|
14
14
|
import type { RecipientTaggingStore } from '../storage/tagging_store/recipient_tagging_store.js';
|
|
15
15
|
import type { SenderAddressBookStore } from '../storage/tagging_store/sender_address_book_store.js';
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
getAllPrivateLogsByTags,
|
|
18
|
+
getAllPublicLogsByTagsFromContract,
|
|
19
|
+
loadPrivateLogsForSenderRecipientPair,
|
|
20
|
+
} from '../tagging/index.js';
|
|
17
21
|
|
|
18
22
|
export class LogService {
|
|
19
23
|
private log = createLogger('log_service');
|
|
@@ -49,10 +53,10 @@ export class LogService {
|
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
async #getPublicLogByTag(tag: Tag, contractAddress: AztecAddress): Promise<LogRetrievalResponse | null> {
|
|
52
|
-
const
|
|
53
|
-
const logsForTag =
|
|
56
|
+
const allLogsPerTag = await getAllPublicLogsByTagsFromContract(this.aztecNode, contractAddress, [tag]);
|
|
57
|
+
const logsForTag = allLogsPerTag[0];
|
|
54
58
|
|
|
55
|
-
if (logsForTag.length
|
|
59
|
+
if (logsForTag.length === 0) {
|
|
56
60
|
return null;
|
|
57
61
|
} else if (logsForTag.length > 1) {
|
|
58
62
|
// TODO(#11627): handle this case
|
|
@@ -72,10 +76,10 @@ export class LogService {
|
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
async #getPrivateLogByTag(siloedTag: SiloedTag): Promise<LogRetrievalResponse | null> {
|
|
75
|
-
const
|
|
76
|
-
const logsForTag =
|
|
79
|
+
const allLogsPerTag = await getAllPrivateLogsByTags(this.aztecNode, [siloedTag]);
|
|
80
|
+
const logsForTag = allLogsPerTag[0];
|
|
77
81
|
|
|
78
|
-
if (logsForTag.length
|
|
82
|
+
if (logsForTag.length === 0) {
|
|
79
83
|
return null;
|
|
80
84
|
} else if (logsForTag.length > 1) {
|
|
81
85
|
// TODO(#11627): handle this case
|
package/src/oracle_version.ts
CHANGED
|
@@ -8,4 +8,4 @@ export const ORACLE_VERSION = 6;
|
|
|
8
8
|
|
|
9
9
|
/// This hash is computed as by hashing the Oracle interface and it is used to detect when the Oracle interface changes,
|
|
10
10
|
/// which in turn implies that you need to update the ORACLE_VERSION constant.
|
|
11
|
-
export const ORACLE_INTERFACE_HASH = '
|
|
11
|
+
export const ORACLE_INTERFACE_HASH = '8fb18d1fa560c4844b22c55a3e79c32ffcb71ded9ac409911470ee0296a84d72';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
+
import { MAX_LOGS_PER_TAG } from '@aztec/stdlib/interfaces/api-limit';
|
|
3
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
4
|
+
import type { SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Generic pagination helper that fetches all pages of results.
|
|
8
|
+
* @param numTags - The number of tags being queried (determines result array size).
|
|
9
|
+
* @param fetchPage - Function that fetches a single page of results given a page number.
|
|
10
|
+
* @returns An array of arrays, one per tag, containing all results across all pages.
|
|
11
|
+
*/
|
|
12
|
+
async function getAllPages<T>(numTags: number, fetchPage: (page: number) => Promise<T[][]>): Promise<T[][]> {
|
|
13
|
+
const allResultsPerTag: T[][] = Array.from({ length: numTags }, () => []);
|
|
14
|
+
let page = 0;
|
|
15
|
+
let hasMore = true;
|
|
16
|
+
|
|
17
|
+
while (hasMore) {
|
|
18
|
+
const resultsPage = await fetchPage(page);
|
|
19
|
+
hasMore = false;
|
|
20
|
+
|
|
21
|
+
for (let i = 0; i < resultsPage.length; i++) {
|
|
22
|
+
allResultsPerTag[i].push(...resultsPage[i]);
|
|
23
|
+
if (resultsPage[i].length === MAX_LOGS_PER_TAG) {
|
|
24
|
+
hasMore = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
page++;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return allResultsPerTag;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Fetches all private logs for the given tags, automatically paginating through all pages.
|
|
35
|
+
* @param aztecNode - The Aztec node to query.
|
|
36
|
+
* @param tags - The siloed tags to search for.
|
|
37
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
38
|
+
*/
|
|
39
|
+
export function getAllPrivateLogsByTags(aztecNode: AztecNode, tags: SiloedTag[]): Promise<TxScopedL2Log[][]> {
|
|
40
|
+
return getAllPages(tags.length, page => aztecNode.getPrivateLogsByTags(tags, page));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Fetches all public logs for the given tags from a contract, automatically paginating through all pages.
|
|
45
|
+
* @param aztecNode - The Aztec node to query.
|
|
46
|
+
* @param contractAddress - The contract address to search logs for.
|
|
47
|
+
* @param tags - The tags to search for.
|
|
48
|
+
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
49
|
+
*/
|
|
50
|
+
export function getAllPublicLogsByTagsFromContract(
|
|
51
|
+
aztecNode: AztecNode,
|
|
52
|
+
contractAddress: AztecAddress,
|
|
53
|
+
tags: Tag[],
|
|
54
|
+
): Promise<TxScopedL2Log[][]> {
|
|
55
|
+
return getAllPages(tags.length, page => aztecNode.getPublicLogsByTagsFromContract(contractAddress, tags, page));
|
|
56
|
+
}
|
package/src/tagging/index.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
export { loadPrivateLogsForSenderRecipientPair } from './recipient_sync/load_private_logs_for_sender_recipient_pair.js';
|
|
13
13
|
export { syncSenderTaggingIndexes } from './sender_sync/sync_sender_tagging_indexes.js';
|
|
14
14
|
export { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from './constants.js';
|
|
15
|
+
export { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract } from './get_all_logs_by_tags.js';
|
|
15
16
|
|
|
16
17
|
// Re-export tagging-related types from stdlib
|
|
17
18
|
export { DirectionalAppTaggingSecret, Tag, SiloedTag } from '@aztec/stdlib/logs';
|
|
@@ -4,6 +4,8 @@ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
|
4
4
|
import type { DirectionalAppTaggingSecret, PreTag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
5
5
|
import { SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
6
6
|
|
|
7
|
+
import { getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
|
|
8
|
+
|
|
7
9
|
/**
|
|
8
10
|
* Gets private logs with their corresponding block timestamps and tagging indexes for the given index range, `app` and
|
|
9
11
|
* `secret`. At most load logs from blocks up to and including `anchorBlockNumber`. `start` is inclusive and `end` is
|
|
@@ -25,7 +27,9 @@ export async function loadLogsForRange(
|
|
|
25
27
|
Promise.all(tags.map(tag => SiloedTag.compute(tag, app))),
|
|
26
28
|
);
|
|
27
29
|
|
|
28
|
-
|
|
30
|
+
// We use the utility function below to retrieve all logs for the tags across all pages, so we don't need to handle
|
|
31
|
+
// pagination here.
|
|
32
|
+
const logs = await getAllPrivateLogsByTags(aztecNode, siloedTags);
|
|
29
33
|
|
|
30
34
|
// Pair logs with their corresponding tagging indexes
|
|
31
35
|
const logsWithIndexes: Array<{ log: TxScopedL2Log; taggingIndex: number }> = [];
|
|
@@ -9,11 +9,8 @@ export async function getStatusChangeOfPending(
|
|
|
9
9
|
pending: TxHash[],
|
|
10
10
|
aztecNode: AztecNode,
|
|
11
11
|
): Promise<{ txHashesToFinalize: TxHash[]; txHashesToDrop: TxHash[] }> {
|
|
12
|
-
// Get receipts for all pending tx hashes
|
|
13
|
-
const
|
|
14
|
-
Promise.all(pending.map(pendingTxHash => aztecNode.getTxReceipt(pendingTxHash))),
|
|
15
|
-
aztecNode.getL2Tips(),
|
|
16
|
-
]);
|
|
12
|
+
// Get receipts for all pending tx hashes.
|
|
13
|
+
const receipts = await Promise.all(pending.map(pendingTxHash => aztecNode.getTxReceipt(pendingTxHash)));
|
|
17
14
|
|
|
18
15
|
const txHashesToFinalize: TxHash[] = [];
|
|
19
16
|
const txHashesToDrop: TxHash[] = [];
|
|
@@ -22,25 +19,16 @@ export async function getStatusChangeOfPending(
|
|
|
22
19
|
const receipt = receipts[i];
|
|
23
20
|
const txHash = pending[i];
|
|
24
21
|
|
|
25
|
-
if (
|
|
26
|
-
receipt.status === TxStatus.SUCCESS &&
|
|
27
|
-
receipt.blockNumber &&
|
|
28
|
-
receipt.blockNumber <= tips.finalized.block.number
|
|
29
|
-
) {
|
|
22
|
+
if (receipt.status === TxStatus.FINALIZED && receipt.hasExecutionSucceeded()) {
|
|
30
23
|
// Tx has been included in a block and the corresponding block is finalized --> we mark the indexes as
|
|
31
24
|
// finalized.
|
|
32
25
|
txHashesToFinalize.push(txHash);
|
|
33
|
-
} else if (
|
|
34
|
-
receipt.status === TxStatus.DROPPED ||
|
|
35
|
-
receipt.status === TxStatus.APP_LOGIC_REVERTED ||
|
|
36
|
-
receipt.status === TxStatus.TEARDOWN_REVERTED ||
|
|
37
|
-
receipt.status === TxStatus.BOTH_REVERTED
|
|
38
|
-
) {
|
|
26
|
+
} else if (receipt.isDropped() || receipt.hasExecutionReverted()) {
|
|
39
27
|
// Tx was dropped or reverted --> we drop the corresponding pending indexes.
|
|
40
28
|
// TODO(#17615): Don't drop pending indexes corresponding to non-revertible phases.
|
|
41
29
|
txHashesToDrop.push(txHash);
|
|
42
30
|
} else {
|
|
43
|
-
// Tx is still pending or
|
|
31
|
+
// Tx is still pending, not yet finalized, or was mined successfully but not yet finalized --> we don't do anything.
|
|
44
32
|
}
|
|
45
33
|
}
|
|
46
34
|
|
|
@@ -5,6 +5,7 @@ import { SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
|
5
5
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
6
6
|
|
|
7
7
|
import type { SenderTaggingStore } from '../../../storage/tagging_store/sender_tagging_store.js';
|
|
8
|
+
import { getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Loads tagging indexes from the Aztec node and stores them in the tagging data provider.
|
|
@@ -50,7 +51,9 @@ export async function loadAndStoreNewTaggingIndexes(
|
|
|
50
51
|
// Returns txs that used the given tags. A tag might have been used in multiple txs and for this reason we return
|
|
51
52
|
// an array for each tag.
|
|
52
53
|
async function getTxsContainingTags(tags: SiloedTag[], aztecNode: AztecNode): Promise<TxHash[][]> {
|
|
53
|
-
|
|
54
|
+
// We use the utility function below to retrieve all logs for the tags across all pages, so we don't need to handle
|
|
55
|
+
// pagination here.
|
|
56
|
+
const allLogs = await getAllPrivateLogsByTags(aztecNode, tags);
|
|
54
57
|
return allLogs.map(logs => logs.map(log => log.txHash));
|
|
55
58
|
}
|
|
56
59
|
|