@aztec/pxe 0.0.1-commit.2448fdb → 0.0.1-commit.2606882
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/check_oracle_version.js +40 -96
- package/dest/bin/index.d.ts +2 -0
- package/dest/bin/index.d.ts.map +1 -0
- package/dest/bin/index.js +1 -0
- package/dest/bin/oracle_version_helpers.d.ts +26 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +93 -0
- package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
- package/dest/block_synchronizer/block_stream_source.js +62 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +5 -3
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +21 -11
- package/dest/config/index.d.ts +8 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +13 -15
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +4 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +20 -12
- package/dest/contract_function_simulator/execution_note_cache.d.ts +2 -2
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
- package/dest/contract_function_simulator/index.d.ts +13 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +10 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +45 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -2
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +3 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +12 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +34 -3
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -2
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +3 -2
- package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +62 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +24 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -114
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
- package/dest/contract_function_simulator/oracle/oracle.d.ts +55 -57
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +343 -344
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +560 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +27 -29
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +55 -47
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +59 -39
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +244 -149
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -67
- package/dest/contract_sync/contract_sync_service.d.ts +4 -6
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +43 -24
- package/dest/contract_sync/helpers.d.ts +2 -3
- package/dest/contract_sync/helpers.d.ts.map +1 -1
- package/dest/contract_sync/helpers.js +12 -19
- package/dest/debug/pxe_debug_utils.d.ts +1 -6
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +0 -6
- 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 +11 -3
- package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +11 -3
- package/dest/entrypoints/pxe_creation_options.d.ts +7 -1
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +2 -1
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +1 -0
- package/dest/entrypoints/server/utils.d.ts +3 -2
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +11 -3
- package/dest/events/event_service.d.ts +13 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +30 -9
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +42 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +4 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +1 -0
- package/dest/logs/log_service.d.ts +6 -5
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +112 -48
- package/dest/messages/message_context_service.d.ts +1 -1
- package/dest/messages/message_context_service.d.ts.map +1 -1
- package/dest/messages/message_context_service.js +28 -9
- package/dest/notes/note_service.d.ts +25 -3
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +80 -65
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +4 -4
- package/dest/private_kernel/batch_planner.d.ts +47 -0
- package/dest/private_kernel/batch_planner.d.ts.map +1 -0
- package/dest/private_kernel/batch_planner.js +104 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +1 -1
- package/dest/private_kernel/hints/test_utils.d.ts +1 -1
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
- package/dest/private_kernel/hints/test_utils.js +2 -3
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +148 -52
- package/dest/private_kernel/private_kernel_oracle.d.ts +6 -6
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +12 -7
- package/dest/pxe.d.ts +54 -7
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +126 -84
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +591 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
- 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 +5 -24
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/open_pxe_stores.d.ts +33 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +27 -0
- package/dest/storage/private_event_store/stored_private_event.js +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
- package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +36 -37
- package/dest/tagging/index.d.ts +5 -4
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +4 -3
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +56 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +163 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
- 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 +21 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
- 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 +2 -2
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +46 -119
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +121 -0
- package/src/block_synchronizer/block_stream_source.ts +81 -0
- package/src/block_synchronizer/block_synchronizer.ts +22 -12
- package/src/config/index.ts +15 -9
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +34 -11
- package/src/contract_function_simulator/execution_note_cache.ts +1 -1
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
- package/src/contract_function_simulator/index.ts +50 -1
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +3 -2
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +35 -2
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +3 -2
- package/src/contract_function_simulator/noir-structs/option.ts +69 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +12 -204
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle.ts +406 -556
- package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +74 -67
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +350 -304
- package/src/contract_function_simulator/proxied_contract_data_source.ts +40 -70
- package/src/contract_sync/contract_sync_service.ts +56 -43
- package/src/contract_sync/helpers.ts +11 -23
- package/src/debug/pxe_debug_utils.ts +0 -8
- package/src/entrypoints/client/bundle/utils.ts +8 -2
- package/src/entrypoints/client/lazy/utils.ts +8 -2
- package/src/entrypoints/pxe_creation_options.ts +7 -0
- package/src/entrypoints/server/index.ts +1 -0
- package/src/entrypoints/server/utils.ts +13 -3
- package/src/events/event_service.ts +54 -19
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +48 -0
- package/src/hooks/index.ts +7 -0
- package/src/logs/log_service.ts +137 -92
- package/src/messages/message_context_service.ts +42 -24
- package/src/notes/note_service.ts +115 -91
- package/src/oracle_version.ts +4 -4
- package/src/private_kernel/batch_planner.ts +169 -0
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +1 -1
- package/src/private_kernel/hints/test_utils.ts +2 -9
- package/src/private_kernel/private_kernel_execution_prover.ts +236 -73
- package/src/private_kernel/private_kernel_oracle.ts +21 -11
- package/src/pxe.ts +208 -85
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/contract_store/contract_store.ts +6 -29
- package/src/storage/metadata.ts +1 -1
- package/src/storage/open_pxe_stores.ts +49 -0
- package/src/storage/private_event_store/stored_private_event.ts +1 -1
- package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
- package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
- package/src/tagging/get_all_logs_by_tags.ts +78 -50
- package/src/tagging/index.ts +4 -3
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +240 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -47
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -85
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
- package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -104
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -130
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
|
@@ -90,4 +90,4 @@ export declare class ContractStore {
|
|
|
90
90
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string>;
|
|
91
91
|
getFunctionCall(functionName: string, args: any[], to: AztecAddress): Promise<FunctionCall>;
|
|
92
92
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3Rfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL2NvbnRyYWN0X3N0b3JlL2NvbnRyYWN0X3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQWlDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZ0NBQWdDLEVBQ3JDLFlBQVksRUFDWixLQUFLLHFCQUFxQixFQUMxQixnQkFBZ0IsRUFRakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMkJBQTJCLEVBR2pDLE1BQU0sd0JBQXdCLENBQUM7QUFNaEM7Ozs7O0dBS0c7QUFDSCxxQkFBYSw2QkFBNkI7SUFDeEMsU0FBZ0IsT0FBTyxJQUFXO0lBQ2xDLFNBQWdCLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDdkIsU0FBZ0IsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUNqQyxTQUFnQixvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDekMsU0FBZ0Isd0JBQXdCLEVBQUUsRUFBRSxDQUFDO0lBQzdDLFNBQWdCLGdCQUFnQixFQUFFO1FBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDO1FBQUMsTUFBTSxFQUFFLEVBQUUs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_store.d.ts","sourceRoot":"","sources":["../../../src/storage/contract_store/contract_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAiC,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"contract_store.d.ts","sourceRoot":"","sources":["../../../src/storage/contract_store/contract_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAiC,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gCAAgC,EACrC,YAAY,EACZ,KAAK,qBAAqB,EAC1B,gBAAgB,EAQjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAMhC;;;;;GAKG;AACH,qBAAa,6BAA6B;IACxC,SAAgB,OAAO,IAAW;IAClC,SAAgB,EAAE,EAAE,EAAE,CAAC;IACvB,SAAgB,YAAY,EAAE,EAAE,CAAC;IACjC,SAAgB,oBAAoB,EAAE,EAAE,CAAC;IACzC,SAAgB,wBAAwB,EAAE,EAAE,CAAC;IAC7C,SAAgB,gBAAgB,EAAE;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IAE/E,YACE,IAAI,EAAE,uBAAuB,GAAG;QAC9B,EAAE,EAAE,EAAE,CAAC;QACP,gBAAgB,EAAE;YAAE,QAAQ,EAAE,gBAAgB,CAAC;YAAC,MAAM,EAAE,EAAE,CAAA;SAAE,EAAE,CAAC;KAChE,EAOF;IAED,QAAQ,IAAI,MAAM,CAUjB;IAED,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,6BAA6B,CAkBtF;CACF;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;;IAqBxB,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAID;;;;;OAKG;IACU,mBAAmB,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,8BAA8B,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,GAC7E,OAAO,CAAC,EAAE,CAAC,CA4Bb;IAEK,mBAAmB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9E;IAmCD,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAK/C;IAED,uDAAuD;IAChD,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAK1G;IAED,8DAA8D;IACjD,mBAAmB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAc3F;IAED,qDAAqD;IACxC,4BAA4B,CACvC,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,GAAG,SAAS,CAAC,CAatE;IAEY,WAAW,CACtB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,2BAA2B,GAAG,gBAAgB,CAAC,GAAG,SAAS,CAAC,CAUvE;IAED;;;;;;OAMG;IACU,mBAAmB,CAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAOvD;IAEY,oCAAoC,CAC/C,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gCAAgC,CAAC,CAU3C;IAEY,yBAAyB,CACpC,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC,CAIvD;IAEY,cAAc,CACzB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAGlC;IAED;;;;;;OAMG;IACU,wBAAwB,CACnC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAO5C;IAEY,8BAA8B,CACzC,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAI5C;IAED;;;;;;OAMG;IACU,4BAA4B,CACvC,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,GAAG,SAAS,CAAC,CAGrE;IAEY,oBAAoB,CAAC,eAAe,EAAE,YAAY,+BAG9D;IAEY,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,mBAI1F;IAEY,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBvG;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { toArray } from '@aztec/foundation/iterable';
|
|
3
3
|
import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
-
import { FunctionCall, FunctionSelector, FunctionType, contractArtifactFromBuffer, contractArtifactToBuffer, encodeArguments, getFunctionDebugMetadata } from '@aztec/stdlib/abi';
|
|
4
|
+
import { FunctionCall, FunctionSelector, FunctionType, contractArtifactFromBuffer, contractArtifactToBuffer, encodeArguments, findFunctionAbiBySelector, findFunctionArtifactBySelector, getFunctionDebugMetadata } from '@aztec/stdlib/abi';
|
|
5
5
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
6
|
import { SerializableContractInstance, getContractClassFromArtifact } from '@aztec/stdlib/contract';
|
|
7
7
|
import { PrivateFunctionsTree } from './private_functions_tree.js';
|
|
@@ -201,7 +201,7 @@ const VERSION = 1;
|
|
|
201
201
|
if (!artifact) {
|
|
202
202
|
return undefined;
|
|
203
203
|
}
|
|
204
|
-
const fn = await
|
|
204
|
+
const fn = await findFunctionArtifactBySelector(artifact, selector);
|
|
205
205
|
return fn && {
|
|
206
206
|
...fn,
|
|
207
207
|
contractName: artifact.name
|
|
@@ -228,7 +228,7 @@ const VERSION = 1;
|
|
|
228
228
|
}
|
|
229
229
|
async getFunctionAbi(contractAddress, selector) {
|
|
230
230
|
const artifact = await this.#getArtifactByAddress(contractAddress);
|
|
231
|
-
return artifact && await
|
|
231
|
+
return artifact && await findFunctionAbiBySelector(artifact, selector);
|
|
232
232
|
}
|
|
233
233
|
/**
|
|
234
234
|
* Retrieves the debug metadata of a specified function within a given contract.
|
|
@@ -241,7 +241,7 @@ const VERSION = 1;
|
|
|
241
241
|
if (!artifact) {
|
|
242
242
|
return undefined;
|
|
243
243
|
}
|
|
244
|
-
const fn = await
|
|
244
|
+
const fn = await findFunctionArtifactBySelector(artifact, selector);
|
|
245
245
|
return fn && getFunctionDebugMetadata(artifact, fn);
|
|
246
246
|
}
|
|
247
247
|
async getPublicFunctionDebugMetadata(contractAddress) {
|
|
@@ -265,28 +265,9 @@ const VERSION = 1;
|
|
|
265
265
|
}
|
|
266
266
|
async getDebugFunctionName(contractAddress, selector) {
|
|
267
267
|
const artifact = await this.#getArtifactByAddress(contractAddress);
|
|
268
|
-
const fn = artifact && await
|
|
268
|
+
const fn = artifact && await findFunctionAbiBySelector(artifact, selector);
|
|
269
269
|
return `${artifact?.name ?? contractAddress}:${fn?.name ?? selector}`;
|
|
270
270
|
}
|
|
271
|
-
async #findFunctionArtifactBySelector(artifact, selector) {
|
|
272
|
-
for (const fn of artifact.functions){
|
|
273
|
-
const fnSelector = await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
|
|
274
|
-
if (fnSelector.equals(selector)) {
|
|
275
|
-
return fn;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
async #findFunctionAbiBySelector(artifact, selector) {
|
|
280
|
-
for (const fn of [
|
|
281
|
-
...artifact.functions,
|
|
282
|
-
...artifact.nonDispatchPublicFunctions ?? []
|
|
283
|
-
]){
|
|
284
|
-
const fnSelector = await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
|
|
285
|
-
if (fnSelector.equals(selector)) {
|
|
286
|
-
return fn;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
271
|
async getFunctionCall(functionName, args, to) {
|
|
291
272
|
const contract = await this.getContract(to);
|
|
292
273
|
if (!contract) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PXE_DATA_SCHEMA_VERSION =
|
|
1
|
+
export declare const PXE_DATA_SCHEMA_VERSION = 6;
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL21ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQU8sTUFBTSx1QkFBdUIsSUFBSSxDQUFDIn0=
|
package/dest/storage/metadata.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PXE_DATA_SCHEMA_VERSION =
|
|
1
|
+
export const PXE_DATA_SCHEMA_VERSION = 6;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { KeyStore } from '@aztec/key-store';
|
|
2
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
|
+
import { L2TipsKVStore } from '@aztec/kv-store/stores';
|
|
4
|
+
import type { BlockHash } from '@aztec/stdlib/block';
|
|
5
|
+
import { AddressStore } from './address_store/address_store.js';
|
|
6
|
+
import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
|
|
7
|
+
import { CapsuleStore } from './capsule_store/capsule_store.js';
|
|
8
|
+
import { ContractStore } from './contract_store/contract_store.js';
|
|
9
|
+
import { NoteStore } from './note_store/note_store.js';
|
|
10
|
+
import { PrivateEventStore } from './private_event_store/private_event_store.js';
|
|
11
|
+
import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from './tagging_store/index.js';
|
|
12
|
+
/**
|
|
13
|
+
* The set of sub-stores opened against a single `AztecAsyncKVStore` to back PXE state.
|
|
14
|
+
*/
|
|
15
|
+
export type PxeStores = {
|
|
16
|
+
addressStore: AddressStore;
|
|
17
|
+
privateEventStore: PrivateEventStore;
|
|
18
|
+
contractStore: ContractStore;
|
|
19
|
+
noteStore: NoteStore;
|
|
20
|
+
anchorBlockStore: AnchorBlockStore;
|
|
21
|
+
senderTaggingStore: SenderTaggingStore;
|
|
22
|
+
senderAddressBookStore: SenderAddressBookStore;
|
|
23
|
+
recipientTaggingStore: RecipientTaggingStore;
|
|
24
|
+
capsuleStore: CapsuleStore;
|
|
25
|
+
keyStore: KeyStore;
|
|
26
|
+
l2TipsStore: L2TipsKVStore;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
|
|
30
|
+
* `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
|
|
31
|
+
*/
|
|
32
|
+
export declare function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockHash): PxeStores;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbl9weGVfc3RvcmVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9vcGVuX3B4ZV9zdG9yZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3Rzs7R0FFRztBQUNILE1BQU0sTUFBTSxTQUFTLEdBQUc7SUFDdEIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztJQUNyQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7SUFDdkMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7SUFDL0MscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7SUFDN0MsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ25CLFdBQVcsRUFBRSxhQUFhLENBQUM7Q0FDNUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsR0FBRyxTQUFTLENBYzlGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open_pxe_stores.d.ts","sourceRoot":"","sources":["../../src/storage/open_pxe_stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE7G;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAc9F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { KeyStore } from '@aztec/key-store';
|
|
2
|
+
import { L2TipsKVStore } from '@aztec/kv-store/stores';
|
|
3
|
+
import { AddressStore } from './address_store/address_store.js';
|
|
4
|
+
import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
|
|
5
|
+
import { CapsuleStore } from './capsule_store/capsule_store.js';
|
|
6
|
+
import { ContractStore } from './contract_store/contract_store.js';
|
|
7
|
+
import { NoteStore } from './note_store/note_store.js';
|
|
8
|
+
import { PrivateEventStore } from './private_event_store/private_event_store.js';
|
|
9
|
+
import { RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from './tagging_store/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
|
|
12
|
+
* `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
|
|
13
|
+
*/ export function openPxeStores(store, initialBlockHash) {
|
|
14
|
+
return {
|
|
15
|
+
addressStore: new AddressStore(store),
|
|
16
|
+
privateEventStore: new PrivateEventStore(store),
|
|
17
|
+
contractStore: new ContractStore(store),
|
|
18
|
+
noteStore: new NoteStore(store),
|
|
19
|
+
anchorBlockStore: new AnchorBlockStore(store),
|
|
20
|
+
senderTaggingStore: new SenderTaggingStore(store),
|
|
21
|
+
senderAddressBookStore: new SenderAddressBookStore(store),
|
|
22
|
+
recipientTaggingStore: new RecipientTaggingStore(store),
|
|
23
|
+
capsuleStore: new CapsuleStore(store),
|
|
24
|
+
keyStore: new KeyStore(store),
|
|
25
|
+
l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -42,7 +42,7 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
42
42
|
const msgContentLength = reader.readNumber();
|
|
43
43
|
const msgContent = reader.readArray(msgContentLength, Fr);
|
|
44
44
|
const l2BlockNumber = reader.readNumber();
|
|
45
|
-
const l2BlockHash =
|
|
45
|
+
const l2BlockHash = BlockHash.fromBuffer(reader);
|
|
46
46
|
const txHash = TxHash.fromBuffer(reader);
|
|
47
47
|
const txIndexInBlock = reader.readNumber();
|
|
48
48
|
const eventIndexInTx = reader.readNumber();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AppTaggingSecret } from '@aztec/stdlib/logs';
|
|
3
3
|
import type { StagedStore } from '../../job_coordinator/job_coordinator.js';
|
|
4
4
|
/**
|
|
5
5
|
* Data provider of tagging data used when syncing the logs as a recipient. The sender counterpart of this class
|
|
@@ -20,9 +20,9 @@ export declare class RecipientTaggingStore implements StagedStore {
|
|
|
20
20
|
*/
|
|
21
21
|
commit(jobId: string): Promise<void>;
|
|
22
22
|
discardStaged(jobId: string): Promise<void>;
|
|
23
|
-
getHighestAgedIndex(secret:
|
|
24
|
-
updateHighestAgedIndex(secret:
|
|
25
|
-
getHighestFinalizedIndex(secret:
|
|
26
|
-
updateHighestFinalizedIndex(secret:
|
|
23
|
+
getHighestAgedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined>;
|
|
24
|
+
updateHighestAgedIndex(secret: AppTaggingSecret, index: number, jobId: string): Promise<void>;
|
|
25
|
+
getHighestFinalizedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined>;
|
|
26
|
+
updateHighestFinalizedIndex(secret: AppTaggingSecret, index: number, jobId: string): Promise<void>;
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50X3RhZ2dpbmdfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3RhZ2dpbmdfc3RvcmUvcmVjaXBpZW50X3RhZ2dpbmdfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU1RTs7Ozs7OztHQU9HO0FBQ0gscUJBQWEscUJBQXNCLFlBQVcsV0FBVzs7SUFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBdUI7SUFheEMsWUFBWSxLQUFLLEVBQUUsaUJBQWlCLEVBUW5DO0lBNENEOzs7O09BSUc7SUFDRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZ0J6QztJQUVELGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJMUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUV4RjtJQUVELHNCQUFzQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVM1RjtJQUVELHdCQUF3QixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRTdGO0lBRUQsMkJBQTJCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBVWpHO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient_tagging_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/recipient_tagging_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"recipient_tagging_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/recipient_tagging_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAE5E;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,WAAW;;IACvD,SAAS,EAAE,MAAM,CAAuB;IAaxC,YAAY,KAAK,EAAE,iBAAiB,EAQnC;IA4CD;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1C;IAED,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAExF;IAED,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5F;IAED,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7F;IAED,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjG;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
-
import {
|
|
2
|
+
import { AppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
3
3
|
import { TxEffect, TxHash } from '@aztec/stdlib/tx';
|
|
4
4
|
import type { StagedStore } from '../../job_coordinator/job_coordinator.js';
|
|
5
5
|
/**
|
|
@@ -42,20 +42,20 @@ export declare class SenderTaggingStore implements StagedStore {
|
|
|
42
42
|
* @returns An array of unique transaction hashes for pending transactions that contain indexes in the range
|
|
43
43
|
* [startIndex, endIndex). Returns an empty array if no pending indexes exist in the range.
|
|
44
44
|
*/
|
|
45
|
-
getTxHashesOfPendingIndexes(secret:
|
|
45
|
+
getTxHashesOfPendingIndexes(secret: AppTaggingSecret, startIndex: number, endIndex: number, jobId: string): Promise<TxHash[]>;
|
|
46
46
|
/**
|
|
47
47
|
* Returns the last (highest) finalized index for a given secret.
|
|
48
48
|
* @param secret - The secret to get the last finalized index for.
|
|
49
49
|
* @returns The last (highest) finalized index for the given secret.
|
|
50
50
|
*/
|
|
51
|
-
getLastFinalizedIndex(secret:
|
|
51
|
+
getLastFinalizedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined>;
|
|
52
52
|
/**
|
|
53
53
|
* Returns the last used index for a given directional app tagging secret, considering both finalized and pending
|
|
54
54
|
* indexes.
|
|
55
55
|
* @param secret - The directional app tagging secret to query the last used index for.
|
|
56
56
|
* @returns The last used index.
|
|
57
57
|
*/
|
|
58
|
-
getLastUsedIndex(secret:
|
|
58
|
+
getLastUsedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined>;
|
|
59
59
|
/**
|
|
60
60
|
* Drops all pending indexes corresponding to the given transaction hashes.
|
|
61
61
|
*/
|
|
@@ -75,4 +75,4 @@ export declare class SenderTaggingStore implements StagedStore {
|
|
|
75
75
|
*/
|
|
76
76
|
finalizePendingIndexesOfAPartiallyRevertedTx(txEffect: TxEffect, jobId: string): Promise<void>;
|
|
77
77
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyX3RhZ2dpbmdfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3RhZ2dpbmdfc3RvcmUvc2VuZGVyX3RhZ2dpbmdfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFhLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTTVFOzs7O0dBSUc7QUFDSCxxQkFBYSxrQkFBbUIsWUFBVyxXQUFXOztJQUNwRCxRQUFRLENBQUMsU0FBUyxvQkFBb0I7SUE0QnRDLFlBQVksS0FBSyxFQUFFLGlCQUFpQixFQVFuQztJQTRDRDs7OztPQUlHO0lBQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9CekM7SUFFRCxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSTFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FpRTdGO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsMkJBQTJCLENBQ3pCLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FRbkI7SUFFRDs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFMUY7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBaUJyRjtJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQTJDbkU7SUE0Q0Q7OztPQUdHO0lBQ0csc0JBQXNCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXNEN0U7SUFFRDs7Ozs7OztPQU9HO0lBQ0csNENBQTRDLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FnRG5HO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sender_tagging_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/sender_tagging_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sender_tagging_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/sender_tagging_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAa,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAM5E;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,WAAW;;IACpD,QAAQ,CAAC,SAAS,oBAAoB;IA4BtC,YAAY,KAAK,EAAE,iBAAiB,EAQnC;IA4CD;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBzC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1C;IAED;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE7F;IAED;;;;;;;;;OASG;IACH,2BAA2B,CACzB,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;IAED;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE1F;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiBrF;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CnE;IA4CD;;;OAGG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsD7E;IAED;;;;;;;OAOG;IACG,4CAA4C,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDnG;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppTaggingSecret, SiloedTag } from '@aztec/stdlib/logs';
|
|
2
2
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
3
3
|
import { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from '../../tagging/constants.js';
|
|
4
4
|
/**
|
|
@@ -349,11 +349,11 @@ import { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from '../../tagging/constants.
|
|
|
349
349
|
}
|
|
350
350
|
const pendingEntry = matchingEntries[0];
|
|
351
351
|
// Expand each matching entry's range and recompute siloed tags for each index.
|
|
352
|
-
const
|
|
352
|
+
const appTaggingSecret = AppTaggingSecret.fromString(secret);
|
|
353
353
|
let highestSurvivingIndex;
|
|
354
354
|
for(let index = pendingEntry.lowestIndex; index <= pendingEntry.highestIndex; index++){
|
|
355
355
|
const siloedTag = await SiloedTag.compute({
|
|
356
|
-
extendedSecret,
|
|
356
|
+
extendedSecret: appTaggingSecret,
|
|
357
357
|
index
|
|
358
358
|
});
|
|
359
359
|
if (onChainTags.has(siloedTag.value.toString())) {
|
|
@@ -1,24 +1,48 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
3
|
import type { BlockHash } from '@aztec/stdlib/block';
|
|
3
4
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
4
|
-
import type
|
|
5
|
+
import { type LogResult, type SiloedTag, type Tag } from '@aztec/stdlib/logs';
|
|
6
|
+
/** Optional block-range, effects opt-in, and pagination cap shared by both wrappers. */
|
|
7
|
+
export type GetAllLogsByTagsOptions = {
|
|
8
|
+
/** Lower block bound, inclusive. */
|
|
9
|
+
fromBlock?: BlockNumber;
|
|
10
|
+
/** Upper block bound, exclusive. */
|
|
11
|
+
toBlock?: BlockNumber;
|
|
12
|
+
/**
|
|
13
|
+
* When set, each log also carries `noteHashes` and all `nullifiers` of its tx. Defaults to off — sender
|
|
14
|
+
* sync only needs `txHash`. The recipient-sync/log-service paths flip this on to build `PendingTaggedLog`
|
|
15
|
+
* / `LogRetrievalResponse` from note data.
|
|
16
|
+
*/
|
|
17
|
+
includeEffects?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum number of logs returned per tag per round-trip. Capped at `MAX_LOGS_PER_TAG` on the node
|
|
20
|
+
* (rejected if higher). Defaults to `MAX_LOGS_PER_TAG`. Mainly useful for tests that need to force
|
|
21
|
+
* pagination at a small page size.
|
|
22
|
+
*/
|
|
23
|
+
limitPerTag?: number;
|
|
24
|
+
};
|
|
5
25
|
/**
|
|
6
|
-
* Fetches all private logs for the given tags, automatically paginating
|
|
26
|
+
* Fetches all private logs for the given tags, automatically paginating per-tag via `afterLog` cursors.
|
|
27
|
+
*
|
|
7
28
|
* @param aztecNode - The Aztec node to query.
|
|
8
29
|
* @param tags - The siloed tags to search for.
|
|
9
|
-
* @param anchorBlockHash -
|
|
10
|
-
*
|
|
30
|
+
* @param anchorBlockHash - Reference block for the Aztec node query, throws if block is not found there (typically
|
|
31
|
+
* because of reorgs).
|
|
32
|
+
* @param options - Optional `fromBlock`/`toBlock` range and `includeEffects` opt-in.
|
|
11
33
|
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
12
34
|
*/
|
|
13
|
-
export declare function getAllPrivateLogsByTags(aztecNode: AztecNode, tags: SiloedTag[], anchorBlockHash: BlockHash): Promise<
|
|
35
|
+
export declare function getAllPrivateLogsByTags<Opts extends GetAllLogsByTagsOptions = GetAllLogsByTagsOptions>(aztecNode: AztecNode, tags: SiloedTag[], anchorBlockHash: BlockHash, options?: Opts): Promise<LogResult<Opts>[][]>;
|
|
14
36
|
/**
|
|
15
|
-
* Fetches all public logs for the given tags from a contract, automatically paginating
|
|
37
|
+
* Fetches all public logs for the given tags from a contract, automatically paginating per-tag via `afterLog` cursors.
|
|
38
|
+
*
|
|
16
39
|
* @param aztecNode - The Aztec node to query.
|
|
17
40
|
* @param contractAddress - The contract address to search logs for.
|
|
18
41
|
* @param tags - The tags to search for.
|
|
19
|
-
* @param anchorBlockHash -
|
|
20
|
-
*
|
|
42
|
+
* @param anchorBlockHash - Reference block for the Aztec node query, throws if block is not found there (typically
|
|
43
|
+
* because of reorgs).
|
|
44
|
+
* @param options - Optional `fromBlock`/`toBlock` range and `includeEffects` opt-in.
|
|
21
45
|
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
22
46
|
*/
|
|
23
|
-
export declare function getAllPublicLogsByTagsFromContract(aztecNode: AztecNode, contractAddress: AztecAddress, tags: Tag[], anchorBlockHash: BlockHash): Promise<
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
export declare function getAllPublicLogsByTagsFromContract<Opts extends GetAllLogsByTagsOptions = GetAllLogsByTagsOptions>(aztecNode: AztecNode, contractAddress: AztecAddress, tags: Tag[], anchorBlockHash: BlockHash, options?: Opts): Promise<LogResult<Opts>[][]>;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2FsbF9sb2dzX2J5X3RhZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWdnaW5nL2dldF9hbGxfbG9nc19ieV90YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFFTCxLQUFLLFNBQVMsRUFDZCxLQUFLLFNBQVMsRUFDZCxLQUFLLEdBQUcsRUFHVCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLHdGQUF3RjtBQUN4RixNQUFNLE1BQU0sdUJBQXVCLEdBQUc7SUFDcEMsb0NBQW9DO0lBQ3BDLFNBQVMsQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUN4QixvQ0FBb0M7SUFDcEMsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDO0lBQ3RCOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDekI7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN0QixDQUFDO0FBMEJGOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLFNBQVMsdUJBQXVCLEdBQUcsdUJBQXVCLEVBQ3BHLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLElBQUksRUFBRSxTQUFTLEVBQUUsRUFDakIsZUFBZSxFQUFFLFNBQVMsRUFDMUIsT0FBTyxHQUFFLElBQWlCLEdBQ3pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBYTlCO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQixrQ0FBa0MsQ0FBQyxJQUFJLFNBQVMsdUJBQXVCLEdBQUcsdUJBQXVCLEVBQy9HLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLElBQUksRUFBRSxHQUFHLEVBQUUsRUFDWCxlQUFlLEVBQUUsU0FBUyxFQUMxQixPQUFPLEdBQUUsSUFBaUIsR0FDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FjOUIifQ==
|
|
@@ -1 +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;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,
|
|
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,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,GAAG,EAGT,MAAM,oBAAoB,CAAC;AAE5B,wFAAwF;AACxF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oCAAoC;IACpC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,oCAAoC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA0BF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,SAAS,uBAAuB,GAAG,uBAAuB,EACpG,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EAAE,EACjB,eAAe,EAAE,SAAS,EAC1B,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAa9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,SAAS,uBAAuB,GAAG,uBAAuB,EAC/G,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,EAC7B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,EAAE,SAAS,EAC1B,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAc9B"}
|
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_RPC_LEN } from '@aztec/stdlib/interfaces/api-limit';
|
|
2
|
+
import { queryAllPrivateLogsByTags, queryAllPublicLogsByTags } from '@aztec/stdlib/logs';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
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
|
-
* Splits tags into chunks of MAX_RPC_LEN, fetches logs for each chunk using getAllPages, then stitches the results
|
|
28
|
-
* back into a single array preserving the original tag order.
|
|
4
|
+
* Splits tags into chunks of MAX_RPC_LEN, paginates each chunk via the stdlib per-tag cursor helper,
|
|
5
|
+
* then stitches the results back into a single array preserving the original tag order.
|
|
29
6
|
*/ async function getAllPagesInBatches(tags, fetchAllPagesForBatch) {
|
|
7
|
+
if (tags.length === 0) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
30
10
|
if (tags.length <= MAX_RPC_LEN) {
|
|
31
11
|
return fetchAllPagesForBatch(tags);
|
|
32
12
|
}
|
|
@@ -38,23 +18,42 @@ import { MAX_LOGS_PER_TAG, MAX_RPC_LEN } from '@aztec/stdlib/interfaces/api-limi
|
|
|
38
18
|
return batchResults.flat();
|
|
39
19
|
}
|
|
40
20
|
/**
|
|
41
|
-
* Fetches all private logs for the given tags, automatically paginating
|
|
21
|
+
* Fetches all private logs for the given tags, automatically paginating per-tag via `afterLog` cursors.
|
|
22
|
+
*
|
|
42
23
|
* @param aztecNode - The Aztec node to query.
|
|
43
24
|
* @param tags - The siloed tags to search for.
|
|
44
|
-
* @param anchorBlockHash -
|
|
45
|
-
*
|
|
25
|
+
* @param anchorBlockHash - Reference block for the Aztec node query, throws if block is not found there (typically
|
|
26
|
+
* because of reorgs).
|
|
27
|
+
* @param options - Optional `fromBlock`/`toBlock` range and `includeEffects` opt-in.
|
|
46
28
|
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
47
|
-
*/ export function getAllPrivateLogsByTags(aztecNode, tags, anchorBlockHash) {
|
|
48
|
-
return getAllPagesInBatches(tags, (batch)=>
|
|
29
|
+
*/ export function getAllPrivateLogsByTags(aztecNode, tags, anchorBlockHash, options = {}) {
|
|
30
|
+
return getAllPagesInBatches(tags, (batch)=>queryAllPrivateLogsByTags(aztecNode, {
|
|
31
|
+
tags: batch,
|
|
32
|
+
referenceBlock: anchorBlockHash,
|
|
33
|
+
fromBlock: options.fromBlock,
|
|
34
|
+
toBlock: options.toBlock,
|
|
35
|
+
includeEffects: options.includeEffects ?? false,
|
|
36
|
+
limitPerTag: options.limitPerTag
|
|
37
|
+
}));
|
|
49
38
|
}
|
|
50
39
|
/**
|
|
51
|
-
* Fetches all public logs for the given tags from a contract, automatically paginating
|
|
40
|
+
* Fetches all public logs for the given tags from a contract, automatically paginating per-tag via `afterLog` cursors.
|
|
41
|
+
*
|
|
52
42
|
* @param aztecNode - The Aztec node to query.
|
|
53
43
|
* @param contractAddress - The contract address to search logs for.
|
|
54
44
|
* @param tags - The tags to search for.
|
|
55
|
-
* @param anchorBlockHash -
|
|
56
|
-
*
|
|
45
|
+
* @param anchorBlockHash - Reference block for the Aztec node query, throws if block is not found there (typically
|
|
46
|
+
* because of reorgs).
|
|
47
|
+
* @param options - Optional `fromBlock`/`toBlock` range and `includeEffects` opt-in.
|
|
57
48
|
* @returns An array of log arrays, one per tag, containing all logs across all pages.
|
|
58
|
-
*/ export function getAllPublicLogsByTagsFromContract(aztecNode, contractAddress, tags, anchorBlockHash) {
|
|
59
|
-
return getAllPagesInBatches(tags, (batch)=>
|
|
49
|
+
*/ export function getAllPublicLogsByTagsFromContract(aztecNode, contractAddress, tags, anchorBlockHash, options = {}) {
|
|
50
|
+
return getAllPagesInBatches(tags, (batch)=>queryAllPublicLogsByTags(aztecNode, {
|
|
51
|
+
contractAddress,
|
|
52
|
+
tags: batch,
|
|
53
|
+
referenceBlock: anchorBlockHash,
|
|
54
|
+
fromBlock: options.fromBlock,
|
|
55
|
+
toBlock: options.toBlock,
|
|
56
|
+
includeEffects: options.includeEffects ?? false,
|
|
57
|
+
limitPerTag: options.limitPerTag
|
|
58
|
+
}));
|
|
60
59
|
}
|
package/dest/tagging/index.d.ts
CHANGED
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
* The objective of the sender sync algorithm is to determine which tags have already been used by a sender, thereby
|
|
5
5
|
* deciding which tag should be used next.
|
|
6
6
|
*
|
|
7
|
-
* The objective of the recipient sync algorithm is to
|
|
7
|
+
* The objective of the recipient sync algorithm is to fetch and sync the corresponding logs.
|
|
8
8
|
*
|
|
9
9
|
* @module tagging
|
|
10
10
|
*/
|
|
11
|
-
export {
|
|
11
|
+
export { syncTaggedPrivateLogs } from './recipient_sync/sync_tagged_private_logs.js';
|
|
12
12
|
export { syncSenderTaggingIndexes } from './sender_sync/sync_sender_tagging_indexes.js';
|
|
13
|
+
export { persistSenderTaggingIndexRangesForTx } from './persist_sender_tagging_index_ranges.js';
|
|
13
14
|
export { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from './constants.js';
|
|
14
15
|
export { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract } from './get_all_logs_by_tags.js';
|
|
15
|
-
export {
|
|
16
|
+
export { AppTaggingSecret, Tag, SiloedTag } from '@aztec/stdlib/logs';
|
|
16
17
|
export { type PreTag, type TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWdnaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tagging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tagging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAGxG,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dest/tagging/index.js
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
* The objective of the sender sync algorithm is to determine which tags have already been used by a sender, thereby
|
|
5
5
|
* deciding which tag should be used next.
|
|
6
6
|
*
|
|
7
|
-
* The objective of the recipient sync algorithm is to
|
|
7
|
+
* The objective of the recipient sync algorithm is to fetch and sync the corresponding logs.
|
|
8
8
|
*
|
|
9
9
|
* @module tagging
|
|
10
|
-
*/ export {
|
|
10
|
+
*/ export { syncTaggedPrivateLogs } from './recipient_sync/sync_tagged_private_logs.js';
|
|
11
11
|
export { syncSenderTaggingIndexes } from './sender_sync/sync_sender_tagging_indexes.js';
|
|
12
|
+
export { persistSenderTaggingIndexRangesForTx } from './persist_sender_tagging_index_ranges.js';
|
|
12
13
|
export { UNFINALIZED_TAGGING_INDEXES_WINDOW_LEN } from './constants.js';
|
|
13
14
|
export { getAllPrivateLogsByTags, getAllPublicLogsByTagsFromContract } from './get_all_logs_by_tags.js';
|
|
14
15
|
// Re-export tagging-related types from stdlib
|
|
15
|
-
export {
|
|
16
|
+
export { AppTaggingSecret, Tag, SiloedTag } from '@aztec/stdlib/logs';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
2
|
+
import type { PrivateKernelTailCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
3
|
+
import type { TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
4
|
+
import type { TxHash } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { SenderTaggingStore } from '../storage/tagging_store/sender_tagging_store.js';
|
|
6
|
+
/**
|
|
7
|
+
* Persists the tagging index ranges that a tx used as a sender, after reconciling them against the kernel's surviving
|
|
8
|
+
* private logs.
|
|
9
|
+
*
|
|
10
|
+
* The tagging index cache reserves an index for every log emission attempted during private execution, but the kernel
|
|
11
|
+
* may then squash some of those logs (e.g. when a note is created and nullified within the same tx). This function
|
|
12
|
+
* shrinks the recorded ranges to match the actual on-chain footprint before writing them, so that what we persist is
|
|
13
|
+
* consistent with what the network will see.
|
|
14
|
+
*
|
|
15
|
+
* @remarks Storing the recorded ranges in the DB may not be seen as necessary because we sync from chain before sending
|
|
16
|
+
* new logs, but the sync can only see logs already included in blocks. If we sent another transaction before this one
|
|
17
|
+
* was included from the same PXE, and that transaction contained a log with a tag derived from the same secret, we
|
|
18
|
+
* would reuse the tag and the transactions would be linked. Persisting in the DB prevents that linkage.
|
|
19
|
+
*
|
|
20
|
+
* @param store - The sender tagging store.
|
|
21
|
+
* @param recordedRanges - The tagging index ranges as recorded during private execution (pre-squash).
|
|
22
|
+
* @param publicInputs - The final kernel public inputs, used to determine which private logs survived squashing.
|
|
23
|
+
* @param getTxHash - Lazy accessor for the tx hash. Called only when there is something to persist, since computing
|
|
24
|
+
* the tx hash is expensive.
|
|
25
|
+
* @param jobId - Job context for staged writes to the store. See `JobCoordinator` for more details.
|
|
26
|
+
* @param log - Logger.
|
|
27
|
+
*/
|
|
28
|
+
export declare function persistSenderTaggingIndexRangesForTx(store: SenderTaggingStore, recordedRanges: TaggingIndexRange[], publicInputs: PrivateKernelTailCircuitPublicInputs, getTxHash: () => Promise<TxHash>, jobId: string, log: Logger): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdF9zZW5kZXJfdGFnZ2luZ19pbmRleF9yYW5nZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWdnaW5nL3BlcnNpc3Rfc2VuZGVyX3RhZ2dpbmdfaW5kZXhfcmFuZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRzNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCx3QkFBc0Isb0NBQW9DLENBQ3hELEtBQUssRUFBRSxrQkFBa0IsRUFDekIsY0FBYyxFQUFFLGlCQUFpQixFQUFFLEVBQ25DLFlBQVksRUFBRSxvQ0FBb0MsRUFDbEQsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUNoQyxLQUFLLEVBQUUsTUFBTSxFQUNiLEdBQUcsRUFBRSxNQUFNLEdBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQW1CZiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persist_sender_tagging_index_ranges.d.ts","sourceRoot":"","sources":["../../src/tagging/persist_sender_tagging_index_ranges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAG3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,iBAAiB,EAAE,EACnC,YAAY,EAAE,oCAAoC,EAClD,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { reconcileTaggingIndexRangesAgainstSurvivingTags } from './reconcile_tagging_index_ranges.js';
|
|
2
|
+
/**
|
|
3
|
+
* Persists the tagging index ranges that a tx used as a sender, after reconciling them against the kernel's surviving
|
|
4
|
+
* private logs.
|
|
5
|
+
*
|
|
6
|
+
* The tagging index cache reserves an index for every log emission attempted during private execution, but the kernel
|
|
7
|
+
* may then squash some of those logs (e.g. when a note is created and nullified within the same tx). This function
|
|
8
|
+
* shrinks the recorded ranges to match the actual on-chain footprint before writing them, so that what we persist is
|
|
9
|
+
* consistent with what the network will see.
|
|
10
|
+
*
|
|
11
|
+
* @remarks Storing the recorded ranges in the DB may not be seen as necessary because we sync from chain before sending
|
|
12
|
+
* new logs, but the sync can only see logs already included in blocks. If we sent another transaction before this one
|
|
13
|
+
* was included from the same PXE, and that transaction contained a log with a tag derived from the same secret, we
|
|
14
|
+
* would reuse the tag and the transactions would be linked. Persisting in the DB prevents that linkage.
|
|
15
|
+
*
|
|
16
|
+
* @param store - The sender tagging store.
|
|
17
|
+
* @param recordedRanges - The tagging index ranges as recorded during private execution (pre-squash).
|
|
18
|
+
* @param publicInputs - The final kernel public inputs, used to determine which private logs survived squashing.
|
|
19
|
+
* @param getTxHash - Lazy accessor for the tx hash. Called only when there is something to persist, since computing
|
|
20
|
+
* the tx hash is expensive.
|
|
21
|
+
* @param jobId - Job context for staged writes to the store. See `JobCoordinator` for more details.
|
|
22
|
+
* @param log - Logger.
|
|
23
|
+
*/ export async function persistSenderTaggingIndexRangesForTx(store, recordedRanges, publicInputs, getTxHash, jobId, log) {
|
|
24
|
+
if (recordedRanges.length === 0) {
|
|
25
|
+
log.debug(`No tagging index ranges used in the tx`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const survivingTags = new Set(publicInputs.getNonEmptyPrivateLogs().map((privateLog)=>privateLog.fields[0].toString()));
|
|
29
|
+
const reconciledRanges = await reconcileTaggingIndexRangesAgainstSurvivingTags(recordedRanges, survivingTags);
|
|
30
|
+
if (reconciledRanges.length === 0) {
|
|
31
|
+
log.debug(`All tagging index ranges used in the tx were squashed by the kernel`, {
|
|
32
|
+
recordedRanges
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const txHash = await getTxHash();
|
|
37
|
+
await store.storePendingIndexes(reconciledRanges, txHash, jobId);
|
|
38
|
+
log.debug(`Stored used tagging index ranges as sender for the tx`, {
|
|
39
|
+
recordedRanges,
|
|
40
|
+
reconciledRanges
|
|
41
|
+
});
|
|
42
|
+
}
|