@aztec/pxe 0.0.1-commit.b655e406 → 0.0.1-commit.c7c42ec
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.d.ts +1 -1
- package/dest/bin/check_oracle_version.js +105 -15
- package/dest/block_synchronizer/block_synchronizer.d.ts +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +20 -22
- package/dest/block_synchronizer/index.d.ts +2 -0
- package/dest/block_synchronizer/index.d.ts.map +1 -0
- package/dest/block_synchronizer/index.js +1 -0
- package/dest/config/index.d.ts +4 -12
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +7 -13
- package/dest/config/package_info.d.ts +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +43 -14
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +55 -29
- package/dest/contract_function_simulator/execution_note_cache.d.ts +9 -7
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +21 -13
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.d.ts +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
- 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 +7 -6
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -4
- 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 +12 -3
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -1
- package/dest/contract_function_simulator/oracle/index.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +19 -13
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -4
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +10 -4
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +10 -5
- package/dest/contract_function_simulator/oracle/oracle.d.ts +5 -4
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +34 -17
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +9 -10
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +12 -12
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +24 -18
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +41 -18
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +58 -17
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +147 -40
- package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
- package/dest/contract_function_simulator/proxied_node.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.d.ts +31 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +37 -0
- package/dest/entrypoints/client/bundle/index.d.ts +1 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +0 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.js +4 -4
- package/dest/entrypoints/client/lazy/index.d.ts +1 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +0 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
- package/dest/entrypoints/client/lazy/utils.js +4 -4
- package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +2 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +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 +5 -16
- package/dest/error_enriching.d.ts +4 -4
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +6 -6
- package/dest/events/event_service.d.ts +15 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +47 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +9 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +39 -0
- package/dest/logs/log_service.d.ts +26 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +120 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +48 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +152 -0
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +3 -3
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +7 -7
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
- package/dest/private_kernel/hints/index.d.ts +1 -1
- package/dest/private_kernel/index.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +11 -10
- package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +8 -7
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +7 -7
- package/dest/public_storage/public_storage_service.d.ts +24 -0
- package/dest/public_storage/public_storage_service.d.ts.map +1 -0
- package/dest/public_storage/public_storage_service.js +26 -0
- package/dest/pxe.d.ts +47 -48
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +142 -171
- package/dest/storage/address_store/address_store.d.ts +11 -0
- package/dest/storage/address_store/address_store.d.ts.map +1 -0
- package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
- package/dest/storage/address_store/index.d.ts +2 -0
- package/dest/storage/address_store/index.d.ts.map +1 -0
- package/dest/storage/address_store/index.js +1 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
- package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
- package/dest/storage/anchor_block_store/index.d.ts +2 -0
- package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
- package/dest/storage/anchor_block_store/index.js +1 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +57 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +34 -6
- package/dest/storage/capsule_store/index.d.ts +2 -0
- package/dest/storage/capsule_store/index.d.ts.map +1 -0
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +7 -15
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +34 -15
- package/dest/storage/contract_store/index.d.ts +2 -0
- package/dest/storage/contract_store/index.d.ts.map +1 -0
- package/dest/storage/contract_store/index.js +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
- package/dest/storage/index.d.ts +8 -8
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +7 -7
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/note_store/index.d.ts +3 -0
- package/dest/storage/note_store/index.d.ts.map +1 -0
- package/dest/storage/note_store/index.js +2 -0
- package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +14 -13
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +33 -19
- package/dest/storage/private_event_store/private_event_store.d.ts +51 -0
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
- package/dest/storage/{private_event_data_provider/private_event_data_provider.js → private_event_store/private_event_store.js} +39 -28
- package/dest/storage/tagging_store/index.d.ts +4 -0
- package/dest/storage/tagging_store/index.d.ts.map +1 -0
- package/dest/storage/tagging_store/index.js +3 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
- package/dest/tagging/index.d.ts +15 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +23 -5
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
- package/dest/tree_membership/tree_membership_service.d.ts +52 -0
- package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
- package/dest/tree_membership/tree_membership_service.js +84 -0
- package/package.json +20 -19
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +19 -22
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +10 -25
- package/src/contract_function_simulator/contract_function_simulator.ts +95 -28
- package/src/contract_function_simulator/execution_note_cache.ts +22 -11
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -2
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +1 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +26 -11
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +21 -5
- package/src/contract_function_simulator/oracle/oracle.ts +43 -13
- package/src/contract_function_simulator/oracle/private_execution.ts +17 -15
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +100 -23
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +223 -47
- package/src/contract_function_simulator/pick_notes.ts +1 -1
- package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
- package/src/debug/pxe_debug_utils.ts +48 -0
- package/src/entrypoints/client/bundle/index.ts +0 -1
- package/src/entrypoints/client/bundle/utils.ts +4 -4
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +4 -4
- package/src/entrypoints/pxe_creation_options.ts +2 -0
- package/src/entrypoints/server/index.ts +1 -1
- package/src/entrypoints/server/utils.ts +5 -19
- package/src/error_enriching.ts +7 -15
- package/src/events/event_service.ts +77 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +48 -0
- package/src/logs/log_service.ts +202 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +200 -0
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +5 -9
- package/src/private_kernel/private_kernel_execution_prover.ts +12 -16
- package/src/private_kernel/private_kernel_oracle.ts +2 -1
- package/src/private_kernel/private_kernel_oracle_impl.ts +10 -9
- package/src/public_storage/public_storage_service.ts +33 -0
- package/src/pxe.ts +167 -223
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
- package/src/storage/address_store/index.ts +1 -0
- package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
- package/src/storage/anchor_block_store/index.ts +1 -0
- package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +34 -2
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +45 -20
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
- package/src/storage/index.ts +7 -7
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +41 -22
- package/src/storage/{private_event_data_provider/private_event_data_provider.ts → private_event_store/private_event_store.ts} +61 -47
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
- package/src/tagging/index.ts +27 -5
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +129 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
- package/src/tree_membership/tree_membership_service.ts +112 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -274
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
- package/dest/contract_function_simulator/execution_data_provider.js +0 -14
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
- package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
- package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.d.ts +0 -2
- package/dest/storage/address_data_provider/index.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.js +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.d.ts +0 -2
- package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.d.ts +0 -2
- package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.d.ts +0 -3
- package/dest/storage/note_data_provider/index.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.js +0 -2
- package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
- package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_dao.js +0 -102
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -43
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.d.ts +0 -2
- package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.js +0 -1
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.d.ts +0 -2
- package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.js +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
- package/dest/synchronizer/index.d.ts +0 -2
- package/dest/synchronizer/index.d.ts.map +0 -1
- package/dest/synchronizer/index.js +0 -1
- package/dest/synchronizer/synchronizer.d.ts +0 -35
- package/dest/synchronizer/synchronizer.d.ts.map +0 -1
- package/dest/tagging/constants.d.ts +0 -2
- package/dest/tagging/constants.d.ts.map +0 -1
- package/dest/tagging/constants.js +0 -2
- package/dest/tagging/siloed_tag.d.ts +0 -14
- package/dest/tagging/siloed_tag.d.ts.map +0 -1
- package/dest/tagging/siloed_tag.js +0 -20
- package/dest/tagging/tag.d.ts +0 -12
- package/dest/tagging/tag.d.ts.map +0 -1
- package/dest/tagging/tag.js +0 -17
- package/dest/tagging/utils.d.ts +0 -18
- package/dest/tagging/utils.d.ts.map +0 -1
- package/dest/tagging/utils.js +0 -24
- package/src/contract_function_simulator/execution_data_provider.ts +0 -343
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/index.ts +0 -1
- package/src/storage/note_data_provider/index.ts +0 -2
- package/src/storage/note_data_provider/note_dao.ts +0 -154
- package/src/storage/sync_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
- package/src/synchronizer/index.ts +0 -1
- package/src/tagging/constants.ts +0 -2
- package/src/tagging/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -2,13 +2,13 @@ import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
|
2
2
|
import { toArray } from '@aztec/foundation/iterable';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { NoteStatus } from '@aztec/stdlib/note';
|
|
5
|
-
import { NoteDao } from '
|
|
5
|
+
import { NoteDao } from '@aztec/stdlib/note';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* NoteStore manages the storage and retrieval of notes.
|
|
8
8
|
*
|
|
9
9
|
* Notes can be active or nullified. This class processes new notes, nullifications,
|
|
10
10
|
* and performs rollback handling in the case of a reorg.
|
|
11
|
-
**/ export class
|
|
11
|
+
**/ export class NoteStore {
|
|
12
12
|
#store;
|
|
13
13
|
#notes;
|
|
14
14
|
#nullifiedNotes;
|
|
@@ -38,15 +38,15 @@ import { NoteDao } from './note_dao.js';
|
|
|
38
38
|
this.#notesByStorageSlotAndScope = new Map();
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Creates and initializes a new
|
|
41
|
+
* Creates and initializes a new NoteStore instance.
|
|
42
42
|
*
|
|
43
|
-
* This factory method creates a
|
|
43
|
+
* This factory method creates a NoteStore and restores any existing
|
|
44
44
|
* scope-specific indexes from the database.
|
|
45
45
|
*
|
|
46
46
|
* @param store - The key-value store to use for persistence
|
|
47
|
-
* @returns Promise resolving to a fully initialized
|
|
47
|
+
* @returns Promise resolving to a fully initialized NoteStore instance
|
|
48
48
|
*/ static async create(store) {
|
|
49
|
-
const pxeDB = new
|
|
49
|
+
const pxeDB = new NoteStore(store);
|
|
50
50
|
for await (const scope of pxeDB.#scopes.keysAsync()){
|
|
51
51
|
pxeDB.#notesByContractAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_contract`));
|
|
52
52
|
pxeDB.#notesByStorageSlotAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_storage_slot`));
|
|
@@ -158,11 +158,11 @@ import { NoteDao } from './note_dao.js';
|
|
|
158
158
|
const noteIndex = toBufferBE(dao.index, 32).toString('hex');
|
|
159
159
|
await this.#notes.set(noteIndex, dao.toBuffer());
|
|
160
160
|
await this.#nullifierToNoteId.set(dao.siloedNullifier.toString(), noteIndex);
|
|
161
|
-
|
|
161
|
+
const scopes = await toArray(this.#nullifiedNotesToScope.getValuesAsync(noteIndex));
|
|
162
162
|
if (scopes.length === 0) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
163
|
+
// We should never run into this error because notes always have a scope assigned to them - either on initial
|
|
164
|
+
// insertion via `addNotes` or when removing their nullifiers.
|
|
165
|
+
throw new Error(`No scopes found for nullified note with index ${noteIndex}`);
|
|
166
166
|
}
|
|
167
167
|
for (const scope of scopes){
|
|
168
168
|
await this.#notesByContractAndScope.get(scope.toString()).set(dao.contractAddress.toString(), noteIndex);
|
|
@@ -185,8 +185,9 @@ import { NoteDao } from './note_dao.js';
|
|
|
185
185
|
* parameters.
|
|
186
186
|
*
|
|
187
187
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
188
|
-
* storageSlot, status, scopes and siloedNullifier.
|
|
189
|
-
* @returns
|
|
188
|
+
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
189
|
+
* @returns Filtered and deduplicated notes (a note might be present in multiple scopes - we ensure it is only
|
|
190
|
+
* returned once if this is the case)
|
|
190
191
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
191
192
|
*/ async getNotes(filter) {
|
|
192
193
|
filter.status = filter.status ?? NoteStatus.ACTIVE;
|
|
@@ -237,6 +238,9 @@ import { NoteDao } from './note_dao.js';
|
|
|
237
238
|
if (!note.contractAddress.equals(filter.contractAddress)) {
|
|
238
239
|
continue;
|
|
239
240
|
}
|
|
241
|
+
if (filter.owner && !note.owner.equals(filter.owner)) {
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
240
244
|
if (filter.storageSlot && !note.storageSlot.equals(filter.storageSlot)) {
|
|
241
245
|
continue;
|
|
242
246
|
}
|
|
@@ -246,7 +250,14 @@ import { NoteDao } from './note_dao.js';
|
|
|
246
250
|
result.push(note);
|
|
247
251
|
}
|
|
248
252
|
}
|
|
249
|
-
|
|
253
|
+
// A note might be present in multiple scopes - we ensure it is only returned once
|
|
254
|
+
const deduplicated = [];
|
|
255
|
+
for (const note of result){
|
|
256
|
+
if (!deduplicated.some((existing)=>existing.equals(note))) {
|
|
257
|
+
deduplicated.push(note);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return deduplicated;
|
|
250
261
|
}
|
|
251
262
|
/**
|
|
252
263
|
* Transitions notes from "active" to "nullified" state.
|
|
@@ -280,7 +291,12 @@ import { NoteDao } from './note_dao.js';
|
|
|
280
291
|
if (!noteBuffer) {
|
|
281
292
|
throw new Error('Note not found in applyNullifiers');
|
|
282
293
|
}
|
|
283
|
-
const noteScopes = await toArray(this.#notesToScope.getValuesAsync(noteIndex))
|
|
294
|
+
const noteScopes = await toArray(this.#notesToScope.getValuesAsync(noteIndex));
|
|
295
|
+
if (noteScopes.length === 0) {
|
|
296
|
+
// We should never run into this error because notes always have a scope assigned to them - either on initial
|
|
297
|
+
// insertion via `addNotes` or when removing their nullifiers.
|
|
298
|
+
throw new Error('Note scopes are missing in applyNullifiers');
|
|
299
|
+
}
|
|
284
300
|
const note = NoteDao.fromBuffer(noteBuffer);
|
|
285
301
|
nullifiedNotes.push(note);
|
|
286
302
|
await this.#notes.delete(noteIndex);
|
|
@@ -290,10 +306,8 @@ import { NoteDao } from './note_dao.js';
|
|
|
290
306
|
await this.#notesByContractAndScope.get(scope).deleteValue(note.contractAddress.toString(), noteIndex);
|
|
291
307
|
await this.#notesByStorageSlotAndScope.get(scope).deleteValue(note.storageSlot.toString(), noteIndex);
|
|
292
308
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
await this.#nullifiedNotesToScope.set(noteIndex, scope);
|
|
296
|
-
}
|
|
309
|
+
for (const scope of noteScopes){
|
|
310
|
+
await this.#nullifiedNotesToScope.set(noteIndex, scope);
|
|
297
311
|
}
|
|
298
312
|
await this.#nullifiedNotes.set(noteIndex, note.toBuffer());
|
|
299
313
|
await this.#nullifiersByBlockNumber.set(blockNumber, nullifier.toString());
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
|
+
import type { EventSelector } from '@aztec/stdlib/abi';
|
|
4
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { type InTx, TxHash } from '@aztec/stdlib/tx';
|
|
6
|
+
import type { PackedPrivateEvent } from '../../pxe.js';
|
|
7
|
+
export type PrivateEventStoreFilter = {
|
|
8
|
+
contractAddress: AztecAddress;
|
|
9
|
+
fromBlock: number;
|
|
10
|
+
toBlock: number;
|
|
11
|
+
scopes: AztecAddress[];
|
|
12
|
+
txHash?: TxHash;
|
|
13
|
+
};
|
|
14
|
+
type PrivateEventMetadata = InTx & {
|
|
15
|
+
contractAddress: AztecAddress;
|
|
16
|
+
scope: AztecAddress;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Stores decrypted private event logs.
|
|
20
|
+
*/
|
|
21
|
+
export declare class PrivateEventStore {
|
|
22
|
+
#private;
|
|
23
|
+
logger: import("@aztec/foundation/log").Logger;
|
|
24
|
+
constructor(store: AztecAsyncKVStore);
|
|
25
|
+
/**
|
|
26
|
+
* Store a private event log.
|
|
27
|
+
* @param eventSelector - The event selector of the event.
|
|
28
|
+
* @param msgContent - The content of the event.
|
|
29
|
+
* @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
|
|
30
|
+
* @param metadata
|
|
31
|
+
* contractAddress - The address of the contract that emitted the event.
|
|
32
|
+
* scope - The address to which the event is scoped.
|
|
33
|
+
* txHash - The transaction hash of the event log.
|
|
34
|
+
* blockNumber - The block number in which the event was emitted.
|
|
35
|
+
*/
|
|
36
|
+
storePrivateEventLog(eventSelector: EventSelector, msgContent: Fr[], eventCommitmentIndex: number, metadata: PrivateEventMetadata): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the private events given search parameters.
|
|
39
|
+
* @param eventSelector - The event selector to filter by.
|
|
40
|
+
* @param filter - Filtering criteria:
|
|
41
|
+
* contractAddress: The address of the contract to get events from.
|
|
42
|
+
* fromBlock: The block number to search from (inclusive).
|
|
43
|
+
* toBlock: The block number to search upto (exclusive).
|
|
44
|
+
* scope: - The addresses that decrypted the logs.
|
|
45
|
+
* @returns - The event log contents, augmented with metadata about
|
|
46
|
+
* the transaction and block it the event was included in .
|
|
47
|
+
*/
|
|
48
|
+
getPrivateEvents(eventSelector: EventSelector, filter: PrivateEventStoreFilter): Promise<PackedPrivateEvent[]>;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvcHJpdmF0ZV9ldmVudF9zdG9yZS9wcml2YXRlX2V2ZW50X3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEtBQUssRUFBbUIsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE1BQU0sTUFBTSx1QkFBdUIsR0FBRztJQUNwQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDdkIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFVRixLQUFLLG9CQUFvQixHQUFHLElBQUksR0FBRztJQUNqQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLEtBQUssRUFBRSxZQUFZLENBQUM7Q0FDckIsQ0FBQztBQUVGOztHQUVHO0FBQ0gscUJBQWEsaUJBQWlCOztJQVM1QixNQUFNLHlDQUF1QztJQUU3QyxZQUFZLEtBQUssRUFBRSxpQkFBaUIsRUFLbkM7SUFNRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsb0JBQW9CLENBQ2xCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFDaEIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixRQUFRLEVBQUUsb0JBQW9CLEdBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4QmY7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsZ0JBQWdCLENBQzNCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLE1BQU0sRUFBRSx1QkFBdUIsR0FDOUIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0F3Qy9CO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private_event_store.d.ts","sourceRoot":"","sources":["../../../src/storage/private_event_store/private_event_store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAmB,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,KAAK,oBAAoB,GAAG,IAAI,GAAG;IACjC,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAiB;;IAS5B,MAAM,yCAAuC;IAE7C,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAMD;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,EAAE,EAAE,EAChB,oBAAoB,EAAE,MAAM,EAC5B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Bf;IAED;;;;;;;;;;OAUG;IACU,gBAAgB,CAC3B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwC/B;CACF"}
|
|
@@ -1,34 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
5
6
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
6
7
|
/**
|
|
7
8
|
* Stores decrypted private event logs.
|
|
8
|
-
*/ export class
|
|
9
|
+
*/ export class PrivateEventStore {
|
|
9
10
|
#store;
|
|
10
11
|
/** Array storing the actual private event log entries containing the log content and block number */ #eventLogs;
|
|
11
|
-
/** Map from
|
|
12
|
+
/** Map from contract_address_scope_eventSelector to array of indices into #eventLogs for efficient lookup */ #eventLogIndex;
|
|
12
13
|
/** Map from eventCommitmentIndex to boolean indicating if log has been seen. */ #seenLogs;
|
|
13
|
-
logger = createLogger('
|
|
14
|
+
logger = createLogger('private_event_store');
|
|
14
15
|
constructor(store){
|
|
15
16
|
this.#store = store;
|
|
16
17
|
this.#eventLogs = this.#store.openArray('private_event_logs');
|
|
17
18
|
this.#eventLogIndex = this.#store.openMap('private_event_log_index');
|
|
18
19
|
this.#seenLogs = this.#store.openMap('seen_logs');
|
|
19
20
|
}
|
|
21
|
+
#keyFor(contractAddress, scope, eventSelector) {
|
|
22
|
+
return `${contractAddress.toString()}_${scope.toString()}_${eventSelector.toString()}`;
|
|
23
|
+
}
|
|
20
24
|
/**
|
|
21
25
|
* Store a private event log.
|
|
22
|
-
* @param contractAddress - The address of the contract that emitted the event.
|
|
23
|
-
* @param recipient - The recipient of the event.
|
|
24
26
|
* @param eventSelector - The event selector of the event.
|
|
25
27
|
* @param msgContent - The content of the event.
|
|
26
|
-
* @param txHash - The transaction hash of the event log.
|
|
27
28
|
* @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
|
|
28
|
-
* @param
|
|
29
|
-
|
|
29
|
+
* @param metadata
|
|
30
|
+
* contractAddress - The address of the contract that emitted the event.
|
|
31
|
+
* scope - The address to which the event is scoped.
|
|
32
|
+
* txHash - The transaction hash of the event log.
|
|
33
|
+
* blockNumber - The block number in which the event was emitted.
|
|
34
|
+
*/ storePrivateEventLog(eventSelector, msgContent, eventCommitmentIndex, metadata) {
|
|
35
|
+
const { contractAddress, scope, txHash, l2BlockNumber, l2BlockHash } = metadata;
|
|
30
36
|
return this.#store.transactionAsync(async ()=>{
|
|
31
|
-
const key =
|
|
37
|
+
const key = this.#keyFor(contractAddress, scope, eventSelector);
|
|
32
38
|
// Check if this exact log has already been stored using eventCommitmentIndex as unique identifier
|
|
33
39
|
const hasBeenSeen = await this.#seenLogs.getAsync(eventCommitmentIndex);
|
|
34
40
|
if (hasBeenSeen) {
|
|
@@ -40,15 +46,15 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
40
46
|
}
|
|
41
47
|
this.logger.verbose('storing private event log', {
|
|
42
48
|
contractAddress,
|
|
43
|
-
|
|
49
|
+
scope,
|
|
44
50
|
msgContent,
|
|
45
|
-
|
|
51
|
+
l2BlockNumber
|
|
46
52
|
});
|
|
47
53
|
const index = await this.#eventLogs.lengthAsync();
|
|
48
54
|
await this.#eventLogs.push({
|
|
49
55
|
msgContent: serializeToBuffer(msgContent),
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
l2BlockNumber,
|
|
57
|
+
l2BlockHash: l2BlockHash.toBuffer(),
|
|
52
58
|
eventCommitmentIndex,
|
|
53
59
|
txHash: txHash.toBuffer()
|
|
54
60
|
});
|
|
@@ -63,20 +69,22 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
71
|
* Returns the private events given search parameters.
|
|
66
|
-
* @param contractAddress - The address of the contract to get events from.
|
|
67
|
-
* @param from - The block number to search from.
|
|
68
|
-
* @param numBlocks - The amount of blocks to search.
|
|
69
|
-
* @param recipients - The addresses that decrypted the logs.
|
|
70
72
|
* @param eventSelector - The event selector to filter by.
|
|
71
|
-
* @
|
|
72
|
-
|
|
73
|
+
* @param filter - Filtering criteria:
|
|
74
|
+
* contractAddress: The address of the contract to get events from.
|
|
75
|
+
* fromBlock: The block number to search from (inclusive).
|
|
76
|
+
* toBlock: The block number to search upto (exclusive).
|
|
77
|
+
* scope: - The addresses that decrypted the logs.
|
|
78
|
+
* @returns - The event log contents, augmented with metadata about
|
|
79
|
+
* the transaction and block it the event was included in .
|
|
80
|
+
*/ async getPrivateEvents(eventSelector, filter) {
|
|
73
81
|
const events = [];
|
|
74
|
-
for (const
|
|
75
|
-
const key =
|
|
82
|
+
for (const scope of filter.scopes){
|
|
83
|
+
const key = this.#keyFor(filter.contractAddress, scope, eventSelector);
|
|
76
84
|
const indices = await this.#eventLogIndex.getAsync(key) || [];
|
|
77
85
|
for (const index of indices){
|
|
78
86
|
const entry = await this.#eventLogs.atAsync(index);
|
|
79
|
-
if (!entry || entry.
|
|
87
|
+
if (!entry || entry.l2BlockNumber < filter.fromBlock || entry.l2BlockNumber >= filter.toBlock) {
|
|
80
88
|
continue;
|
|
81
89
|
}
|
|
82
90
|
// Convert buffer back to Fr array
|
|
@@ -84,15 +92,18 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
84
92
|
const numFields = entry.msgContent.length / Fr.SIZE_IN_BYTES;
|
|
85
93
|
const msgContent = reader.readArray(numFields, Fr);
|
|
86
94
|
const txHash = TxHash.fromBuffer(entry.txHash);
|
|
87
|
-
const
|
|
95
|
+
const l2BlockHash = L2BlockHash.fromBuffer(entry.l2BlockHash);
|
|
96
|
+
if (filter.txHash && !txHash.equals(filter.txHash)) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
88
99
|
events.push({
|
|
89
100
|
eventCommitmentIndex: entry.eventCommitmentIndex,
|
|
90
101
|
event: {
|
|
91
|
-
msgContent,
|
|
92
|
-
|
|
93
|
-
recipient,
|
|
102
|
+
packedEvent: msgContent,
|
|
103
|
+
l2BlockNumber: BlockNumber(entry.l2BlockNumber),
|
|
94
104
|
txHash,
|
|
95
|
-
|
|
105
|
+
l2BlockHash,
|
|
106
|
+
eventSelector
|
|
96
107
|
}
|
|
97
108
|
});
|
|
98
109
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { SenderTaggingStore } from './sender_tagging_store.js';
|
|
2
|
+
export { SenderAddressBookStore } from './sender_address_book_store.js';
|
|
3
|
+
export { RecipientTaggingStore } from './recipient_tagging_store.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3RhZ2dpbmdfc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
+
import type { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
|
|
3
|
+
/**
|
|
4
|
+
* Data provider of tagging data used when syncing the logs as a recipient. The sender counterpart of this class
|
|
5
|
+
* is called SenderTaggingStore. We have the providers separate for the sender and recipient because
|
|
6
|
+
* the algorithms are completely disjoint and there is not data reuse between the two.
|
|
7
|
+
*
|
|
8
|
+
* @dev Chain reorgs do not need to be handled here because both the finalized and aged indexes refer to finalized
|
|
9
|
+
* blocks, which by definition cannot be affected by reorgs.
|
|
10
|
+
*
|
|
11
|
+
* TODO(benesjan): Relocate to yarn-project/pxe/src/storage/tagging_store
|
|
12
|
+
*/
|
|
13
|
+
export declare class RecipientTaggingStore {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(store: AztecAsyncKVStore);
|
|
16
|
+
getHighestAgedIndex(secret: DirectionalAppTaggingSecret): Promise<number | undefined>;
|
|
17
|
+
updateHighestAgedIndex(secret: DirectionalAppTaggingSecret, index: number): Promise<void>;
|
|
18
|
+
getHighestFinalizedIndex(secret: DirectionalAppTaggingSecret): Promise<number | undefined>;
|
|
19
|
+
updateHighestFinalizedIndex(secret: DirectionalAppTaggingSecret, index: number): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50X3RhZ2dpbmdfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3RhZ2dpbmdfc3RvcmUvcmVjaXBpZW50X3RhZ2dpbmdfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RTs7Ozs7Ozs7O0dBU0c7QUFDSCxxQkFBYSxxQkFBcUI7O0lBTWhDLFlBQVksS0FBSyxFQUFFLGlCQUFpQixFQUtuQztJQUVELG1CQUFtQixDQUFDLE1BQU0sRUFBRSwyQkFBMkIsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVwRjtJQUVLLHNCQUFzQixDQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPOUY7SUFFRCx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFekY7SUFFSywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBUW5HO0NBQ0YifQ==
|
|
@@ -0,0 +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,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;;IAMhC,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAED,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpF;IAEK,sBAAsB,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9F;IAED,wBAAwB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEzF;IAEK,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnG;CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data provider of tagging data used when syncing the logs as a recipient. The sender counterpart of this class
|
|
3
|
+
* is called SenderTaggingStore. We have the providers separate for the sender and recipient because
|
|
4
|
+
* the algorithms are completely disjoint and there is not data reuse between the two.
|
|
5
|
+
*
|
|
6
|
+
* @dev Chain reorgs do not need to be handled here because both the finalized and aged indexes refer to finalized
|
|
7
|
+
* blocks, which by definition cannot be affected by reorgs.
|
|
8
|
+
*
|
|
9
|
+
* TODO(benesjan): Relocate to yarn-project/pxe/src/storage/tagging_store
|
|
10
|
+
*/ export class RecipientTaggingStore {
|
|
11
|
+
#store;
|
|
12
|
+
#highestAgedIndex;
|
|
13
|
+
#highestFinalizedIndex;
|
|
14
|
+
constructor(store){
|
|
15
|
+
this.#store = store;
|
|
16
|
+
this.#highestAgedIndex = this.#store.openMap('highest_aged_index');
|
|
17
|
+
this.#highestFinalizedIndex = this.#store.openMap('highest_finalized_index');
|
|
18
|
+
}
|
|
19
|
+
getHighestAgedIndex(secret) {
|
|
20
|
+
return this.#highestAgedIndex.getAsync(secret.toString());
|
|
21
|
+
}
|
|
22
|
+
async updateHighestAgedIndex(secret, index) {
|
|
23
|
+
const currentIndex = await this.#highestAgedIndex.getAsync(secret.toString());
|
|
24
|
+
if (currentIndex !== undefined && index <= currentIndex) {
|
|
25
|
+
// Log sync should never set a lower highest aged index.
|
|
26
|
+
throw new Error(`New highest aged index (${index}) must be higher than the current one (${currentIndex})`);
|
|
27
|
+
}
|
|
28
|
+
await this.#highestAgedIndex.set(secret.toString(), index);
|
|
29
|
+
}
|
|
30
|
+
getHighestFinalizedIndex(secret) {
|
|
31
|
+
return this.#highestFinalizedIndex.getAsync(secret.toString());
|
|
32
|
+
}
|
|
33
|
+
async updateHighestFinalizedIndex(secret, index) {
|
|
34
|
+
const currentIndex = await this.#highestFinalizedIndex.getAsync(secret.toString());
|
|
35
|
+
if (currentIndex !== undefined && index < currentIndex) {
|
|
36
|
+
// Log sync should never set a lower highest finalized index but it can happen that it would try to set the same
|
|
37
|
+
// one because we are loading logs from highest aged index + 1 and not from the highest finalized index.
|
|
38
|
+
throw new Error(`New highest finalized index (${index}) must be higher than the current one (${currentIndex})`);
|
|
39
|
+
}
|
|
40
|
+
await this.#highestFinalizedIndex.set(secret.toString(), index);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
/**
|
|
4
|
+
* Stores sender addresses. During recipient log synchronization, these senders are used, along with a given recipient,
|
|
5
|
+
* to derive directional app tagging secrets that are then used to sync the logs.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SenderAddressBookStore {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(store: AztecAsyncKVStore);
|
|
10
|
+
addSender(address: AztecAddress): Promise<boolean>;
|
|
11
|
+
getSenders(): Promise<AztecAddress[]>;
|
|
12
|
+
removeSender(address: AztecAddress): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyX2FkZHJlc3NfYm9va19zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvdGFnZ2luZ19zdG9yZS9zZW5kZXJfYWRkcmVzc19ib29rX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRDs7O0dBR0c7QUFDSCxxQkFBYSxzQkFBc0I7O0lBSWpDLFlBQVksS0FBSyxFQUFFLGlCQUFpQixFQUluQztJQUVLLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FRdkQ7SUFFSyxVQUFVLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBRTFDO0lBRUssWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVExRDtDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sender_address_book_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/sender_address_book_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;;;GAGG;AACH,qBAAa,sBAAsB;;IAIjC,YAAY,KAAK,EAAE,iBAAiB,EAInC;IAEK,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvD;IAEK,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAE1C;IAEK,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1D;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { toArray } from '@aztec/foundation/iterable';
|
|
2
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
/**
|
|
4
|
+
* Stores sender addresses. During recipient log synchronization, these senders are used, along with a given recipient,
|
|
5
|
+
* to derive directional app tagging secrets that are then used to sync the logs.
|
|
6
|
+
*/ export class SenderAddressBookStore {
|
|
7
|
+
#store;
|
|
8
|
+
#addressBook;
|
|
9
|
+
constructor(store){
|
|
10
|
+
this.#store = store;
|
|
11
|
+
this.#addressBook = this.#store.openMap('address_book');
|
|
12
|
+
}
|
|
13
|
+
async addSender(address) {
|
|
14
|
+
if (await this.#addressBook.hasAsync(address.toString())) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
await this.#addressBook.set(address.toString(), true);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
async getSenders() {
|
|
21
|
+
return (await toArray(this.#addressBook.keysAsync())).map(AztecAddress.fromString);
|
|
22
|
+
}
|
|
23
|
+
async removeSender(address) {
|
|
24
|
+
if (!await this.#addressBook.hasAsync(address.toString())) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
await this.#addressBook.delete(address.toString());
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
+
import type { DirectionalAppTaggingSecret, PreTag } from '@aztec/stdlib/logs';
|
|
3
|
+
import { TxHash } from '@aztec/stdlib/tx';
|
|
4
|
+
/**
|
|
5
|
+
* Data provider of tagging data used when syncing the sender tagging indexes. The recipient counterpart of this class
|
|
6
|
+
* is called RecipientTaggingStore. We have the providers separate for the sender and recipient because
|
|
7
|
+
* the algorithms are completely disjoint and there is not data reuse between the two.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SenderTaggingStore {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(store: AztecAsyncKVStore);
|
|
12
|
+
/**
|
|
13
|
+
* Stores pending indexes.
|
|
14
|
+
* @remarks Ignores the index if the same preTag + txHash combination already exists in the db with the same index.
|
|
15
|
+
* This is expected to happen because whenever we start sync we start from the last finalized index and we can have
|
|
16
|
+
* pending indexes already stored from previous syncs.
|
|
17
|
+
* @param preTags - The pre-tags containing the directional app tagging secrets and the indexes that are to be
|
|
18
|
+
* stored in the db.
|
|
19
|
+
* @param txHash - The tx in which the pretags were used in private logs.
|
|
20
|
+
* @throws If any two pre-tags contain the same directional app tagging secret. This is enforced because we care
|
|
21
|
+
* only about the highest index for a given secret that was used in the tx. Hence this check is a good way to catch
|
|
22
|
+
* bugs.
|
|
23
|
+
* @throws If the newly stored pending index is further than window length from the highest finalized index for the
|
|
24
|
+
* same secret. This is enforced in order to give a guarantee to a recipient that he doesn't need to look further than
|
|
25
|
+
* window length ahead of the highest finalized index.
|
|
26
|
+
* @throws If a secret + txHash pair already exists in the db with a different index value. It should never happen
|
|
27
|
+
* that we would attempt to store a different index for a given secret-txHash pair because we always store just the
|
|
28
|
+
* highest index for a given secret-txHash pair. Hence this is a good way to catch bugs.
|
|
29
|
+
* @throws If the newly stored pending index is lower than or equal to the last finalized index for the same secret.
|
|
30
|
+
* This is enforced because this should never happen if the syncing is done correctly as we look for logs from higher
|
|
31
|
+
* indexes than finalized ones.
|
|
32
|
+
*/
|
|
33
|
+
storePendingIndexes(preTags: PreTag[], txHash: TxHash): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the transaction hashes of all pending transactions that contain indexes within a specified range
|
|
36
|
+
* for a given directional app tagging secret.
|
|
37
|
+
* @param secret - The directional app tagging secret to query pending indexes for.
|
|
38
|
+
* @param startIndex - The lower bound of the index range (inclusive).
|
|
39
|
+
* @param endIndex - The upper bound of the index range (exclusive).
|
|
40
|
+
* @returns An array of unique transaction hashes for pending transactions that contain indexes in the range
|
|
41
|
+
* [startIndex, endIndex). Returns an empty array if no pending indexes exist in the range.
|
|
42
|
+
*/
|
|
43
|
+
getTxHashesOfPendingIndexes(secret: DirectionalAppTaggingSecret, startIndex: number, endIndex: number): Promise<TxHash[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Returns the last (highest) finalized index for a given secret.
|
|
46
|
+
* @param secret - The secret to get the last finalized index for.
|
|
47
|
+
* @returns The last (highest) finalized index for the given secret.
|
|
48
|
+
*/
|
|
49
|
+
getLastFinalizedIndex(secret: DirectionalAppTaggingSecret): Promise<number | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the last used index for a given directional app tagging secret, considering both finalized and pending
|
|
52
|
+
* indexes.
|
|
53
|
+
* @param secret - The directional app tagging secret to query the last used index for.
|
|
54
|
+
* @returns The last used index.
|
|
55
|
+
*/
|
|
56
|
+
getLastUsedIndex(secret: DirectionalAppTaggingSecret): Promise<number | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Drops all pending indexes corresponding to the given transaction hashes.
|
|
59
|
+
*/
|
|
60
|
+
dropPendingIndexes(txHashes: TxHash[]): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Updates pending indexes corresponding to the given transaction hashes to be finalized and prunes any lower pending
|
|
63
|
+
* indexes.
|
|
64
|
+
*/
|
|
65
|
+
finalizePendingIndexes(txHashes: TxHash[]): Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyX3RhZ2dpbmdfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3RhZ2dpbmdfc3RvcmUvc2VuZGVyX3RhZ2dpbmdfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTFDOzs7O0dBSUc7QUFDSCxxQkFBYSxrQkFBa0I7O0lBa0I3QixZQUFZLEtBQUssRUFBRSxpQkFBaUIsRUFLbkM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBaUQxRDtJQUVEOzs7Ozs7OztPQVFHO0lBQ0csMkJBQTJCLENBQy9CLE1BQU0sRUFBRSwyQkFBMkIsRUFDbkMsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sR0FDZixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FNbkI7SUFFRDs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsTUFBTSxFQUFFLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRGO0lBRUQ7Ozs7O09BS0c7SUFDRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FZdkY7SUFFRDs7T0FFRztJQUNHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsaUJBcUIxQztJQUVEOzs7T0FHRztJQUNHLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsaUJBcUQ5QztDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sender_tagging_store.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_store/sender_tagging_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C;;;;GAIG;AACH,qBAAa,kBAAkB;;IAkB7B,YAAY,KAAK,EAAE,iBAAiB,EAKnC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,iBAiD1D;IAED;;;;;;;;OAQG;IACG,2BAA2B,CAC/B,MAAM,EAAE,2BAA2B,EACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;IAED;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtF;IAED;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAYvF;IAED;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAqB1C;IAED;;;OAGG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAqD9C;CACF"}
|