@aztec/pxe 0.0.1-commit.e6bd8901 → 0.0.1-commit.f146247c
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/block_synchronizer/block_synchronizer.d.ts +3 -3
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +5 -5
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +2 -4
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +7 -9
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +8 -8
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.d.ts +3 -3
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +15 -15
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +2 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +5 -7
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +20 -16
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +23 -19
- package/dest/contract_sync/index.d.ts +1 -1
- package/dest/contract_sync/index.d.ts.map +1 -1
- package/dest/contract_sync/index.js +1 -3
- package/dest/debug/pxe_debug_utils.d.ts +16 -6
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +17 -8
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +12 -6
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +13 -7
- package/dest/entrypoints/pxe_creation_options.d.ts +3 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.d.ts +1 -1
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +19 -8
- package/dest/events/event_service.d.ts +4 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +5 -6
- package/dest/job_coordinator/job_coordinator.d.ts +3 -2
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -1
- package/dest/job_coordinator/job_coordinator.js +3 -2
- package/dest/logs/log_service.d.ts +5 -4
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +8 -12
- package/dest/notes/note_service.d.ts +4 -5
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +6 -8
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +2 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts +3 -3
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/pxe.d.ts +1 -1
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +9 -8
- package/dest/storage/address_store/address_store.d.ts +1 -1
- package/dest/storage/address_store/address_store.d.ts.map +1 -1
- package/dest/storage/address_store/address_store.js +12 -11
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -1
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
- package/dest/storage/anchor_block_store/anchor_block_store.js +8 -1
- package/dest/storage/capsule_store/capsule_store.js +6 -8
- package/dest/storage/contract_store/contract_store.d.ts +1 -1
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +22 -13
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +11 -1
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +143 -105
- package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +84 -61
- package/dest/storage/private_event_store/stored_private_event.d.ts +4 -4
- package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -1
- package/dest/storage/private_event_store/stored_private_event.js +2 -2
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.js +31 -19
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +1 -1
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_address_book_store.js +20 -14
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +183 -113
- package/dest/tagging/get_all_logs_by_tags.d.ts +4 -4
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -3
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +3 -3
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +3 -3
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/block_synchronizer/block_synchronizer.ts +17 -19
- package/src/contract_function_simulator/contract_function_simulator.ts +6 -6
- package/src/contract_function_simulator/oracle/interfaces.ts +10 -10
- package/src/contract_function_simulator/oracle/oracle.ts +27 -17
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +2 -8
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +32 -26
- package/src/contract_sync/index.ts +1 -3
- package/src/debug/pxe_debug_utils.ts +23 -9
- package/src/entrypoints/client/bundle/utils.ts +7 -14
- package/src/entrypoints/client/lazy/utils.ts +8 -14
- package/src/entrypoints/pxe_creation_options.ts +2 -1
- package/src/entrypoints/server/utils.ts +15 -19
- package/src/events/event_service.ts +4 -6
- package/src/job_coordinator/job_coordinator.ts +4 -3
- package/src/logs/log_service.ts +12 -13
- package/src/notes/note_service.ts +5 -8
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/private_kernel_execution_prover.ts +6 -3
- package/src/private_kernel/private_kernel_oracle.ts +2 -2
- package/src/pxe.ts +16 -9
- package/src/storage/address_store/address_store.ts +15 -15
- package/src/storage/anchor_block_store/anchor_block_store.ts +8 -0
- package/src/storage/capsule_store/capsule_store.ts +8 -8
- package/src/storage/contract_store/contract_store.ts +22 -11
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +159 -129
- package/src/storage/private_event_store/private_event_store.ts +102 -81
- package/src/storage/private_event_store/stored_private_event.ts +3 -3
- package/src/storage/tagging_store/recipient_tagging_store.ts +31 -21
- package/src/storage/tagging_store/sender_address_book_store.ts +20 -14
- package/src/storage/tagging_store/sender_tagging_store.ts +210 -126
- package/src/tagging/get_all_logs_by_tags.ts +3 -3
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +2 -2
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +2 -2
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +2 -2
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
-
import type {
|
|
3
|
+
import type { BlockHash } from '@aztec/stdlib/block';
|
|
4
4
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
import type { DirectionalAppTaggingSecret, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
6
6
|
/**
|
|
@@ -8,8 +8,8 @@ import type { DirectionalAppTaggingSecret, TxScopedL2Log } from '@aztec/stdlib/l
|
|
|
8
8
|
* `secret`. At most load logs from blocks up to and including `anchorBlockNumber`. `start` is inclusive and `end` is
|
|
9
9
|
* exclusive.
|
|
10
10
|
*/
|
|
11
|
-
export declare function loadLogsForRange(secret: DirectionalAppTaggingSecret, app: AztecAddress, aztecNode: AztecNode, start: number, end: number, anchorBlockNumber: BlockNumber, anchorBlockHash:
|
|
11
|
+
export declare function loadLogsForRange(secret: DirectionalAppTaggingSecret, app: AztecAddress, aztecNode: AztecNode, start: number, end: number, anchorBlockNumber: BlockNumber, anchorBlockHash: BlockHash): Promise<Array<{
|
|
12
12
|
log: TxScopedL2Log;
|
|
13
13
|
taggingIndex: number;
|
|
14
14
|
}>>;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9sb2dzX2Zvcl9yYW5nZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhZ2dpbmcvcmVjaXBpZW50X3N5bmMvdXRpbHMvbG9hZF9sb2dzX2Zvcl9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBVSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUs3Rjs7OztHQUlHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsMkJBQTJCLEVBQ25DLEdBQUcsRUFBRSxZQUFZLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLEtBQUssRUFBRSxNQUFNLEVBQ2IsR0FBRyxFQUFFLE1BQU0sRUFDWCxpQkFBaUIsRUFBRSxXQUFXLEVBQzlCLGVBQWUsRUFBRSxTQUFTLEdBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO0lBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUMsQ0FBQyxDQTBCOUQifQ==
|
|
@@ -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,
|
|
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,qBAAqB,CAAC;AACrD,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,EAC9B,eAAe,EAAE,SAAS,GACzB,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA0B9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BlockHash } from '@aztec/stdlib/block';
|
|
3
3
|
import type { AztecNode } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import type { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
|
|
5
5
|
import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
|
|
@@ -17,5 +17,5 @@ import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagg
|
|
|
17
17
|
* @dev This function looks for new indexes, adds them to pending, then it checks status of each pending index and
|
|
18
18
|
* updates its status accordingly.
|
|
19
19
|
*/
|
|
20
|
-
export declare function syncSenderTaggingIndexes(secret: DirectionalAppTaggingSecret, app: AztecAddress, aztecNode: AztecNode, taggingStore: SenderTaggingStore, anchorBlockHash:
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
export declare function syncSenderTaggingIndexes(secret: DirectionalAppTaggingSecret, app: AztecAddress, aztecNode: AztecNode, taggingStore: SenderTaggingStore, anchorBlockHash: BlockHash, jobId: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY19zZW5kZXJfdGFnZ2luZ19pbmRleGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFnZ2luZy9zZW5kZXJfc3luYy9zeW5jX3NlbmRlcl90YWdnaW5nX2luZGV4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBSzlGOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCx3QkFBc0Isd0JBQXdCLENBQzVDLE1BQU0sRUFBRSwyQkFBMkIsRUFDbkMsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLGtCQUFrQixFQUNoQyxlQUFlLEVBQUUsU0FBUyxFQUMxQixLQUFLLEVBQUUsTUFBTSxHQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FtRWYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync_sender_tagging_indexes.d.ts","sourceRoot":"","sources":["../../../src/tagging/sender_sync/sync_sender_tagging_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sync_sender_tagging_indexes.d.ts","sourceRoot":"","sources":["../../../src/tagging/sender_sync/sync_sender_tagging_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAK9F;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,2BAA2B,EACnC,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAmEf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BlockHash } from '@aztec/stdlib/block';
|
|
3
3
|
import type { AztecNode } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import type { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
|
|
5
5
|
import type { SenderTaggingStore } from '../../../storage/tagging_store/sender_tagging_store.js';
|
|
@@ -17,5 +17,5 @@ import type { SenderTaggingStore } from '../../../storage/tagging_store/sender_t
|
|
|
17
17
|
* @param jobId - Job identifier, used to keep writes in-memory until they can be persisted in a data integrity
|
|
18
18
|
* preserving way.
|
|
19
19
|
*/
|
|
20
|
-
export declare function loadAndStoreNewTaggingIndexes(secret: DirectionalAppTaggingSecret, app: AztecAddress, start: number, end: number, aztecNode: AztecNode, taggingStore: SenderTaggingStore, anchorBlockHash:
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
export declare function loadAndStoreNewTaggingIndexes(secret: DirectionalAppTaggingSecret, app: AztecAddress, start: number, end: number, aztecNode: AztecNode, taggingStore: SenderTaggingStore, anchorBlockHash: BlockHash, jobId: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9hbmRfc3RvcmVfbmV3X3RhZ2dpbmdfaW5kZXhlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhZ2dpbmcvc2VuZGVyX3N5bmMvdXRpbHMvbG9hZF9hbmRfc3RvcmVfbmV3X3RhZ2dpbmdfaW5kZXhlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBSTlFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFHakc7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHdCQUFzQiw2QkFBNkIsQ0FDakQsTUFBTSxFQUFFLDJCQUEyQixFQUNuQyxHQUFHLEVBQUUsWUFBWSxFQUNqQixLQUFLLEVBQUUsTUFBTSxFQUNiLEdBQUcsRUFBRSxNQUFNLEVBQ1gsU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLGtCQUFrQixFQUNoQyxlQUFlLEVBQUUsU0FBUyxFQUMxQixLQUFLLEVBQUUsTUFBTSxpQkFrQmQifQ==
|
|
@@ -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,
|
|
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,qBAAqB,CAAC;AACrD,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,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,MAAM,iBAkBd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.f146247c",
|
|
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": "0.0.1-commit.
|
|
65
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
66
|
-
"@aztec/builder": "0.0.1-commit.
|
|
67
|
-
"@aztec/constants": "0.0.1-commit.
|
|
68
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
69
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
70
|
-
"@aztec/key-store": "0.0.1-commit.
|
|
71
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
72
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
73
|
-
"@aztec/noir-types": "0.0.1-commit.
|
|
74
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
75
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
76
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
64
|
+
"@aztec/bb-prover": "0.0.1-commit.f146247c",
|
|
65
|
+
"@aztec/bb.js": "0.0.1-commit.f146247c",
|
|
66
|
+
"@aztec/builder": "0.0.1-commit.f146247c",
|
|
67
|
+
"@aztec/constants": "0.0.1-commit.f146247c",
|
|
68
|
+
"@aztec/ethereum": "0.0.1-commit.f146247c",
|
|
69
|
+
"@aztec/foundation": "0.0.1-commit.f146247c",
|
|
70
|
+
"@aztec/key-store": "0.0.1-commit.f146247c",
|
|
71
|
+
"@aztec/kv-store": "0.0.1-commit.f146247c",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.f146247c",
|
|
73
|
+
"@aztec/noir-types": "0.0.1-commit.f146247c",
|
|
74
|
+
"@aztec/protocol-contracts": "0.0.1-commit.f146247c",
|
|
75
|
+
"@aztec/simulator": "0.0.1-commit.f146247c",
|
|
76
|
+
"@aztec/stdlib": "0.0.1-commit.f146247c",
|
|
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": "0.0.1-commit.
|
|
86
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
85
|
+
"@aztec/merkle-tree": "0.0.1-commit.f146247c",
|
|
86
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.f146247c",
|
|
87
87
|
"@jest/globals": "^30.0.0",
|
|
88
88
|
"@types/jest": "^30.0.0",
|
|
89
89
|
"@types/lodash.omit": "^4.5.7",
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
4
4
|
import type { L2TipsKVStore } from '@aztec/kv-store/stores';
|
|
5
|
-
import {
|
|
6
|
-
L2BlockHash,
|
|
7
|
-
L2BlockStream,
|
|
8
|
-
type L2BlockStreamEvent,
|
|
9
|
-
type L2BlockStreamEventHandler,
|
|
10
|
-
} from '@aztec/stdlib/block';
|
|
5
|
+
import { BlockHash, L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
|
|
11
6
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
12
7
|
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
13
8
|
|
|
@@ -34,22 +29,25 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler {
|
|
|
34
29
|
private privateEventStore: PrivateEventStore,
|
|
35
30
|
private l2TipsStore: L2TipsKVStore,
|
|
36
31
|
private config: Partial<BlockSynchronizerConfig> = {},
|
|
37
|
-
|
|
32
|
+
bindings?: LoggerBindings,
|
|
38
33
|
) {
|
|
39
|
-
this.log =
|
|
40
|
-
!loggerOrSuffix || typeof loggerOrSuffix === 'string'
|
|
41
|
-
? createLogger(loggerOrSuffix ? `pxe:block_synchronizer:${loggerOrSuffix}` : `pxe:block_synchronizer`)
|
|
42
|
-
: loggerOrSuffix;
|
|
34
|
+
this.log = createLogger('pxe:block_synchronizer', bindings);
|
|
43
35
|
this.blockStream = this.createBlockStream(config);
|
|
44
36
|
}
|
|
45
37
|
|
|
46
38
|
protected createBlockStream(config: Partial<BlockSynchronizerConfig>): L2BlockStream {
|
|
47
|
-
return new L2BlockStream(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
39
|
+
return new L2BlockStream(
|
|
40
|
+
this.node,
|
|
41
|
+
this.l2TipsStore,
|
|
42
|
+
this,
|
|
43
|
+
createLogger('pxe:block_stream', this.log.getBindings()),
|
|
44
|
+
{
|
|
45
|
+
batchSize: config.l2BlockBatchSize,
|
|
46
|
+
// Skipping finalized blocks makes us sync much faster - we only need to download blocks other than the latest one
|
|
47
|
+
// in order to detect reorgs, and there can be no reorgs on finalized block, making this safe.
|
|
48
|
+
skipFinalized: true,
|
|
49
|
+
},
|
|
50
|
+
);
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
/** Handle events emitted by the block stream. */
|
|
@@ -106,7 +104,7 @@ export class BlockSynchronizer implements L2BlockStreamEventHandler {
|
|
|
106
104
|
// Note that the following is not necessarily the anchor block that will be used in the transaction - if
|
|
107
105
|
// the chain has already moved past the reorg, we'll also see blocks-added events that will push the anchor
|
|
108
106
|
// forward.
|
|
109
|
-
const newAnchorBlockHeader = await this.node.getBlockHeader(
|
|
107
|
+
const newAnchorBlockHeader = await this.node.getBlockHeader(BlockHash.fromString(event.block.hash));
|
|
110
108
|
|
|
111
109
|
if (!newAnchorBlockHeader) {
|
|
112
110
|
throw new Error(
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
FIXED_AVM_STARTUP_L2_GAS,
|
|
8
8
|
FIXED_DA_GAS,
|
|
9
9
|
FIXED_L2_GAS,
|
|
10
|
+
GeneratorIndex,
|
|
10
11
|
L2_GAS_PER_CONTRACT_CLASS_LOG,
|
|
11
12
|
L2_GAS_PER_PRIVATE_LOG,
|
|
12
13
|
MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
@@ -17,7 +18,7 @@ import {
|
|
|
17
18
|
MAX_PRIVATE_LOGS_PER_TX,
|
|
18
19
|
} from '@aztec/constants';
|
|
19
20
|
import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
|
|
20
|
-
import {
|
|
21
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
21
22
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
22
23
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
23
24
|
import { Timer } from '@aztec/foundation/timer';
|
|
@@ -72,7 +73,6 @@ import {
|
|
|
72
73
|
} from '@aztec/stdlib/tx';
|
|
73
74
|
|
|
74
75
|
import type { AddressStore } from '../storage/address_store/address_store.js';
|
|
75
|
-
import type { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
|
|
76
76
|
import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js';
|
|
77
77
|
import type { ContractStore } from '../storage/contract_store/contract_store.js';
|
|
78
78
|
import type { NoteStore } from '../storage/note_store/note_store.js';
|
|
@@ -101,7 +101,6 @@ export class ContractFunctionSimulator {
|
|
|
101
101
|
private keyStore: KeyStore,
|
|
102
102
|
private addressStore: AddressStore,
|
|
103
103
|
private aztecNode: AztecNode,
|
|
104
|
-
private anchorBlockStore: AnchorBlockStore,
|
|
105
104
|
private senderTaggingStore: SenderTaggingStore,
|
|
106
105
|
private recipientTaggingStore: RecipientTaggingStore,
|
|
107
106
|
private senderAddressBookStore: SenderAddressBookStore,
|
|
@@ -182,7 +181,6 @@ export class ContractFunctionSimulator {
|
|
|
182
181
|
this.keyStore,
|
|
183
182
|
this.addressStore,
|
|
184
183
|
this.aztecNode,
|
|
185
|
-
this.anchorBlockStore,
|
|
186
184
|
this.senderTaggingStore,
|
|
187
185
|
this.recipientTaggingStore,
|
|
188
186
|
this.senderAddressBookStore,
|
|
@@ -278,7 +276,6 @@ export class ContractFunctionSimulator {
|
|
|
278
276
|
this.keyStore,
|
|
279
277
|
this.addressStore,
|
|
280
278
|
this.aztecNode,
|
|
281
|
-
this.anchorBlockStore,
|
|
282
279
|
this.recipientTaggingStore,
|
|
283
280
|
this.senderAddressBookStore,
|
|
284
281
|
this.capsuleStore,
|
|
@@ -401,7 +398,10 @@ export async function generateSimulatedProvingResult(
|
|
|
401
398
|
|
|
402
399
|
const privateLogsFromExecution = await Promise.all(
|
|
403
400
|
execution.publicInputs.privateLogs.getActiveItems().map(async metadata => {
|
|
404
|
-
metadata.log.fields[0] = await
|
|
401
|
+
metadata.log.fields[0] = await poseidon2HashWithSeparator(
|
|
402
|
+
[contractAddress, metadata.log.fields[0]],
|
|
403
|
+
GeneratorIndex.PRIVATE_LOG_FIRST_FIELD,
|
|
404
|
+
);
|
|
405
405
|
return new OrderedSideEffect(metadata.log, metadata.counter);
|
|
406
406
|
}),
|
|
407
407
|
);
|
|
@@ -5,7 +5,7 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
|
5
5
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
6
6
|
import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
7
7
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
-
import {
|
|
8
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
9
9
|
import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
|
|
10
10
|
import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
11
11
|
import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
|
|
@@ -68,20 +68,20 @@ export interface IUtilityExecutionOracle {
|
|
|
68
68
|
utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
|
|
69
69
|
utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
70
70
|
utilityGetNoteHashMembershipWitness(
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
anchorBlockHash: BlockHash,
|
|
72
|
+
noteHash: Fr,
|
|
73
73
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
utilityGetBlockHashMembershipWitness(
|
|
75
|
+
anchorBlockHash: BlockHash,
|
|
76
|
+
blockHash: BlockHash,
|
|
77
77
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
|
|
78
78
|
utilityGetNullifierMembershipWitness(
|
|
79
|
-
|
|
79
|
+
anchorBlockHash: BlockHash,
|
|
80
80
|
nullifier: Fr,
|
|
81
81
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
82
|
-
utilityGetPublicDataWitness(
|
|
82
|
+
utilityGetPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
|
|
83
83
|
utilityGetLowNullifierMembershipWitness(
|
|
84
|
-
|
|
84
|
+
anchorBlockHash: BlockHash,
|
|
85
85
|
nullifier: Fr,
|
|
86
86
|
): Promise<NullifierMembershipWitness | undefined>;
|
|
87
87
|
utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
|
|
@@ -111,7 +111,7 @@ export interface IUtilityExecutionOracle {
|
|
|
111
111
|
secret: Fr,
|
|
112
112
|
): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
113
113
|
utilityStorageRead(
|
|
114
|
-
|
|
114
|
+
anchorBlockHash: BlockHash,
|
|
115
115
|
contractAddress: AztecAddress,
|
|
116
116
|
startStorageSlot: Fr,
|
|
117
117
|
numberOfElements: number,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from '@aztec/simulator/client';
|
|
13
13
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
14
14
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
-
import {
|
|
15
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
16
16
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
17
17
|
|
|
18
18
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
@@ -138,29 +138,39 @@ export class Oracle {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
async utilityGetNoteHashMembershipWitness(
|
|
141
|
-
[
|
|
142
|
-
[
|
|
141
|
+
[anchorBlockHash]: ACVMField[],
|
|
142
|
+
[noteHash]: ACVMField[],
|
|
143
143
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
144
|
-
const
|
|
145
|
-
const
|
|
144
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
145
|
+
const parsedNoteHash = Fr.fromString(noteHash);
|
|
146
146
|
|
|
147
|
-
const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(
|
|
147
|
+
const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(
|
|
148
|
+
parsedAnchorBlockHash,
|
|
149
|
+
parsedNoteHash,
|
|
150
|
+
);
|
|
148
151
|
if (!witness) {
|
|
149
|
-
throw new Error(
|
|
152
|
+
throw new Error(
|
|
153
|
+
`Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`,
|
|
154
|
+
);
|
|
150
155
|
}
|
|
151
156
|
return witness.toNoirRepresentation();
|
|
152
157
|
}
|
|
153
158
|
|
|
154
|
-
async
|
|
159
|
+
async utilityGetBlockHashMembershipWitness(
|
|
160
|
+
[anchorBlockHash]: ACVMField[],
|
|
155
161
|
[blockHash]: ACVMField[],
|
|
156
|
-
[leafValue]: ACVMField[],
|
|
157
162
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
158
|
-
const
|
|
159
|
-
const
|
|
163
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
164
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
160
165
|
|
|
161
|
-
const witness = await this.handlerAsUtility().
|
|
166
|
+
const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(
|
|
167
|
+
parsedAnchorBlockHash,
|
|
168
|
+
parsedBlockHash,
|
|
169
|
+
);
|
|
162
170
|
if (!witness) {
|
|
163
|
-
throw new Error(
|
|
171
|
+
throw new Error(
|
|
172
|
+
`Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`,
|
|
173
|
+
);
|
|
164
174
|
}
|
|
165
175
|
return witness.toNoirRepresentation();
|
|
166
176
|
}
|
|
@@ -169,7 +179,7 @@ export class Oracle {
|
|
|
169
179
|
[blockHash]: ACVMField[],
|
|
170
180
|
[nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
|
|
171
181
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
172
|
-
const parsedBlockHash =
|
|
182
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
173
183
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
174
184
|
|
|
175
185
|
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
|
|
@@ -188,7 +198,7 @@ export class Oracle {
|
|
|
188
198
|
[blockHash]: ACVMField[],
|
|
189
199
|
[nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
|
|
190
200
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
191
|
-
const parsedBlockHash =
|
|
201
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
192
202
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
193
203
|
|
|
194
204
|
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
|
|
@@ -207,7 +217,7 @@ export class Oracle {
|
|
|
207
217
|
[blockHash]: ACVMField[],
|
|
208
218
|
[leafSlot]: ACVMField[],
|
|
209
219
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
210
|
-
const parsedBlockHash =
|
|
220
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
211
221
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
212
222
|
|
|
213
223
|
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
@@ -379,7 +389,7 @@ export class Oracle {
|
|
|
379
389
|
[numberOfElements]: ACVMField[],
|
|
380
390
|
): Promise<ACVMField[][]> {
|
|
381
391
|
const values = await this.handlerAsUtility().utilityStorageRead(
|
|
382
|
-
|
|
392
|
+
BlockHash.fromString(blockHash),
|
|
383
393
|
new AztecAddress(Fr.fromString(contractAddress)),
|
|
384
394
|
Fr.fromString(startStorageSlot),
|
|
385
395
|
+numberOfElements,
|
|
@@ -14,7 +14,6 @@ import {
|
|
|
14
14
|
} from '@aztec/stdlib/abi';
|
|
15
15
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
16
16
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
17
|
-
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
18
17
|
import { siloNullifier } from '@aztec/stdlib/hash';
|
|
19
18
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
20
19
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
@@ -34,7 +33,6 @@ import {
|
|
|
34
33
|
import { ensureContractSynced } from '../../contract_sync/index.js';
|
|
35
34
|
import { NoteService } from '../../notes/note_service.js';
|
|
36
35
|
import type { AddressStore } from '../../storage/address_store/address_store.js';
|
|
37
|
-
import type { AnchorBlockStore } from '../../storage/anchor_block_store/anchor_block_store.js';
|
|
38
36
|
import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
|
|
39
37
|
import type { ContractStore } from '../../storage/contract_store/contract_store.js';
|
|
40
38
|
import type { NoteStore } from '../../storage/note_store/note_store.js';
|
|
@@ -90,7 +88,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
90
88
|
keyStore: KeyStore,
|
|
91
89
|
addressStore: AddressStore,
|
|
92
90
|
aztecNode: AztecNode,
|
|
93
|
-
anchorBlockStore: AnchorBlockStore,
|
|
94
91
|
private readonly senderTaggingStore: SenderTaggingStore,
|
|
95
92
|
recipientTaggingStore: RecipientTaggingStore,
|
|
96
93
|
senderAddressBookStore: SenderAddressBookStore,
|
|
@@ -114,7 +111,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
114
111
|
keyStore,
|
|
115
112
|
addressStore,
|
|
116
113
|
aztecNode,
|
|
117
|
-
anchorBlockStore,
|
|
118
114
|
recipientTaggingStore,
|
|
119
115
|
senderAddressBookStore,
|
|
120
116
|
capsuleStore,
|
|
@@ -267,13 +263,12 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
267
263
|
// This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
|
|
268
264
|
// are up to date. We do this here because this store is not synced as part of the global sync because
|
|
269
265
|
// that'd be wasteful as most tagging secrets are not used in each tx.
|
|
270
|
-
const anchorBlockHash = L2BlockHash.fromField(await this.anchorBlockHeader.hash());
|
|
271
266
|
await syncSenderTaggingIndexes(
|
|
272
267
|
secret,
|
|
273
268
|
this.contractAddress,
|
|
274
269
|
this.aztecNode,
|
|
275
270
|
this.senderTaggingStore,
|
|
276
|
-
|
|
271
|
+
await this.anchorBlockHeader.hash(),
|
|
277
272
|
this.jobId,
|
|
278
273
|
);
|
|
279
274
|
|
|
@@ -366,7 +361,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
366
361
|
|
|
367
362
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
368
363
|
|
|
369
|
-
const noteService = new NoteService(this.noteStore, this.aztecNode, this.
|
|
364
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
|
|
370
365
|
const dbNotes = await noteService.getNotes(
|
|
371
366
|
this.callContext.contractAddress,
|
|
372
367
|
owner,
|
|
@@ -576,7 +571,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
576
571
|
this.keyStore,
|
|
577
572
|
this.addressStore,
|
|
578
573
|
this.aztecNode,
|
|
579
|
-
this.anchorBlockStore,
|
|
580
574
|
this.senderTaggingStore,
|
|
581
575
|
this.recipientTaggingStore,
|
|
582
576
|
this.senderAddressBookStore,
|
|
@@ -8,7 +8,7 @@ import type { MembershipWitness } from '@aztec/foundation/trees';
|
|
|
8
8
|
import type { KeyStore } from '@aztec/key-store';
|
|
9
9
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
10
10
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
11
|
-
import {
|
|
11
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
12
12
|
import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
|
|
13
13
|
import { siloNullifier } from '@aztec/stdlib/hash';
|
|
14
14
|
import type { AztecNode } from '@aztec/stdlib/interfaces/server';
|
|
@@ -25,7 +25,6 @@ import { LogService } from '../../logs/log_service.js';
|
|
|
25
25
|
import { NoteService } from '../../notes/note_service.js';
|
|
26
26
|
import { ORACLE_VERSION } from '../../oracle_version.js';
|
|
27
27
|
import type { AddressStore } from '../../storage/address_store/address_store.js';
|
|
28
|
-
import type { AnchorBlockStore } from '../../storage/anchor_block_store/anchor_block_store.js';
|
|
29
28
|
import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
|
|
30
29
|
import type { ContractStore } from '../../storage/contract_store/contract_store.js';
|
|
31
30
|
import type { NoteStore } from '../../storage/note_store/note_store.js';
|
|
@@ -61,7 +60,6 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
61
60
|
protected readonly keyStore: KeyStore,
|
|
62
61
|
protected readonly addressStore: AddressStore,
|
|
63
62
|
protected readonly aztecNode: AztecNode,
|
|
64
|
-
protected readonly anchorBlockStore: AnchorBlockStore,
|
|
65
63
|
protected readonly recipientTaggingStore: RecipientTaggingStore,
|
|
66
64
|
protected readonly senderAddressBookStore: SenderAddressBookStore,
|
|
67
65
|
protected readonly capsuleStore: CapsuleStore,
|
|
@@ -97,28 +95,34 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
97
95
|
|
|
98
96
|
/**
|
|
99
97
|
* Fetches the index and sibling path of a leaf at a given block from the note hash tree.
|
|
100
|
-
* @param
|
|
101
|
-
*
|
|
98
|
+
* @param anchorBlockHash - The hash of a block that contains the note hash tree root in which to find the membership
|
|
99
|
+
* witness.
|
|
100
|
+
* @param noteHash - The note hash to find in the note hash tree.
|
|
102
101
|
* @returns The membership witness containing the leaf index and sibling path
|
|
103
102
|
*/
|
|
104
103
|
public utilityGetNoteHashMembershipWitness(
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
anchorBlockHash: BlockHash,
|
|
105
|
+
noteHash: Fr,
|
|
107
106
|
): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined> {
|
|
108
|
-
return this.aztecNode.getNoteHashMembershipWitness(
|
|
107
|
+
return this.aztecNode.getNoteHashMembershipWitness(anchorBlockHash, noteHash);
|
|
109
108
|
}
|
|
110
109
|
|
|
111
110
|
/**
|
|
112
|
-
* Fetches the index and sibling path of a
|
|
113
|
-
*
|
|
114
|
-
*
|
|
111
|
+
* Fetches the index and sibling path of a block hash in the archive tree.
|
|
112
|
+
*
|
|
113
|
+
* Block hashes are the leaves of the archive tree. Each time a new block is added to the chain,
|
|
114
|
+
* its block hash is appended as a new leaf to the archive tree.
|
|
115
|
+
*
|
|
116
|
+
* @param anchorBlockHash - The hash of a block that contains the archive tree root in which to find the membership
|
|
117
|
+
* witness.
|
|
118
|
+
* @param blockHash - The block hash to find in the archive tree.
|
|
115
119
|
* @returns The membership witness containing the leaf index and sibling path
|
|
116
120
|
*/
|
|
117
|
-
public
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
public utilityGetBlockHashMembershipWitness(
|
|
122
|
+
anchorBlockHash: BlockHash,
|
|
123
|
+
blockHash: BlockHash,
|
|
120
124
|
): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined> {
|
|
121
|
-
return this.aztecNode.
|
|
125
|
+
return this.aztecNode.getBlockHashMembershipWitness(anchorBlockHash, blockHash);
|
|
122
126
|
}
|
|
123
127
|
|
|
124
128
|
/**
|
|
@@ -128,7 +132,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
128
132
|
* @returns The nullifier membership witness (if found).
|
|
129
133
|
*/
|
|
130
134
|
public utilityGetNullifierMembershipWitness(
|
|
131
|
-
blockHash:
|
|
135
|
+
blockHash: BlockHash,
|
|
132
136
|
nullifier: Fr,
|
|
133
137
|
): Promise<NullifierMembershipWitness | undefined> {
|
|
134
138
|
return this.aztecNode.getNullifierMembershipWitness(blockHash, nullifier);
|
|
@@ -144,7 +148,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
144
148
|
* we are trying to prove non-inclusion for.
|
|
145
149
|
*/
|
|
146
150
|
public utilityGetLowNullifierMembershipWitness(
|
|
147
|
-
blockHash:
|
|
151
|
+
blockHash: BlockHash,
|
|
148
152
|
nullifier: Fr,
|
|
149
153
|
): Promise<NullifierMembershipWitness | undefined> {
|
|
150
154
|
return this.aztecNode.getLowNullifierMembershipWitness(blockHash, nullifier);
|
|
@@ -156,7 +160,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
156
160
|
* @param leafSlot - The slot of the public data tree to get the witness for.
|
|
157
161
|
* @returns - The witness
|
|
158
162
|
*/
|
|
159
|
-
public utilityGetPublicDataWitness(blockHash:
|
|
163
|
+
public utilityGetPublicDataWitness(blockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined> {
|
|
160
164
|
return this.aztecNode.getPublicDataWitness(blockHash, leafSlot);
|
|
161
165
|
}
|
|
162
166
|
|
|
@@ -166,7 +170,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
166
170
|
* @returns Block extracted from a block with block number `blockNumber`.
|
|
167
171
|
*/
|
|
168
172
|
public async utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined> {
|
|
169
|
-
const anchorBlockNumber =
|
|
173
|
+
const anchorBlockNumber = this.anchorBlockHeader.getBlockNumber();
|
|
170
174
|
if (blockNumber > anchorBlockNumber) {
|
|
171
175
|
throw new Error(`Block number ${blockNumber} is higher than current block ${anchorBlockNumber}`);
|
|
172
176
|
}
|
|
@@ -262,7 +266,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
262
266
|
offset: number,
|
|
263
267
|
status: NoteStatus,
|
|
264
268
|
): Promise<NoteData[]> {
|
|
265
|
-
const noteService = new NoteService(this.noteStore, this.aztecNode, this.
|
|
269
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
|
|
266
270
|
|
|
267
271
|
const dbNotes = await noteService.getNotes(this.contractAddress, owner, storageSlot, status, this.scopes);
|
|
268
272
|
return pickNotes<NoteData>(dbNotes, {
|
|
@@ -318,7 +322,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
318
322
|
* @param numberOfElements - Number of elements to read from the starting storage slot.
|
|
319
323
|
*/
|
|
320
324
|
public async utilityStorageRead(
|
|
321
|
-
blockHash:
|
|
325
|
+
blockHash: BlockHash,
|
|
322
326
|
contractAddress: AztecAddress,
|
|
323
327
|
startStorageSlot: Fr,
|
|
324
328
|
numberOfElements: number,
|
|
@@ -349,16 +353,17 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
349
353
|
public async utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr) {
|
|
350
354
|
const logService = new LogService(
|
|
351
355
|
this.aztecNode,
|
|
352
|
-
this.
|
|
356
|
+
this.anchorBlockHeader,
|
|
353
357
|
this.keyStore,
|
|
354
358
|
this.capsuleStore,
|
|
355
359
|
this.recipientTaggingStore,
|
|
356
360
|
this.senderAddressBookStore,
|
|
357
361
|
this.addressStore,
|
|
358
362
|
this.jobId,
|
|
363
|
+
this.log.getBindings(),
|
|
359
364
|
);
|
|
360
365
|
|
|
361
|
-
const noteService = new NoteService(this.noteStore, this.aztecNode, this.
|
|
366
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
|
|
362
367
|
|
|
363
368
|
// It is acceptable to run the following operations in parallel for several reasons:
|
|
364
369
|
// 1. syncTaggedLogs does not write to the note store — it only stores the pending tagged logs in a capsule array,
|
|
@@ -400,7 +405,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
400
405
|
await this.capsuleStore.readCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot, this.jobId)
|
|
401
406
|
).map(EventValidationRequest.fromFields);
|
|
402
407
|
|
|
403
|
-
const noteService = new NoteService(this.noteStore, this.aztecNode, this.
|
|
408
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
|
|
404
409
|
const noteStorePromises = noteValidationRequests.map(request =>
|
|
405
410
|
noteService.validateAndStoreNote(
|
|
406
411
|
request.contractAddress,
|
|
@@ -416,7 +421,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
416
421
|
),
|
|
417
422
|
);
|
|
418
423
|
|
|
419
|
-
const eventService = new EventService(this.
|
|
424
|
+
const eventService = new EventService(this.anchorBlockHeader, this.aztecNode, this.privateEventStore, this.jobId);
|
|
420
425
|
const eventStorePromises = eventValidationRequests.map(request =>
|
|
421
426
|
eventService.validateAndStoreEvent(
|
|
422
427
|
request.contractAddress,
|
|
@@ -454,13 +459,14 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
|
|
|
454
459
|
|
|
455
460
|
const logService = new LogService(
|
|
456
461
|
this.aztecNode,
|
|
457
|
-
this.
|
|
462
|
+
this.anchorBlockHeader,
|
|
458
463
|
this.keyStore,
|
|
459
464
|
this.capsuleStore,
|
|
460
465
|
this.recipientTaggingStore,
|
|
461
466
|
this.senderAddressBookStore,
|
|
462
467
|
this.addressStore,
|
|
463
468
|
this.jobId,
|
|
469
|
+
this.log.getBindings(),
|
|
464
470
|
);
|
|
465
471
|
|
|
466
472
|
const maybeLogRetrievalResponses = await logService.bulkRetrieveLogs(logRetrievalRequests);
|