@aztec/pxe 0.0.1-commit.c31f2472 → 0.0.1-commit.c52d6e7
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 +11 -118
- 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 +20 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +25 -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 +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +22 -14
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +77 -28
- package/dest/config/index.d.ts +9 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +14 -15
- package/dest/config/package_info.js +1 -1
- package/dest/contract/contract_class_service.d.ts +24 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +36 -0
- package/dest/contract/contract_sync_service.d.ts +48 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +116 -0
- package/dest/contract/helpers.d.ts +7 -0
- package/dest/contract/helpers.d.ts.map +1 -0
- package/dest/contract/helpers.js +20 -0
- package/dest/contract/skip_sync_contracts.d.ts +11 -0
- package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
- package/dest/contract/skip_sync_contracts.js +18 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +72 -43
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +264 -111
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +8 -28
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
- package/dest/contract_function_simulator/index.d.ts +26 -5
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +11 -3
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -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 +30 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -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 -4
- 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 +9 -10
- package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
- package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
- 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 +12 -24
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
- 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 +2 -63
- 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 -5
- 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 +8 -12
- package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +67 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -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 +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
- 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 -20
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -98
- 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/legacy_oracle_registry.d.ts +39 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
- 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 -24
- 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_registry.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -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 +1253 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -97
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +263 -118
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +217 -88
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +707 -194
- package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +20 -3
- package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
- package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/transient_array_service.js +62 -0
- package/dest/contract_logging.d.ts +27 -0
- package/dest/contract_logging.d.ts.map +1 -0
- package/dest/contract_logging.js +38 -0
- package/dest/debug/pxe_debug_utils.d.ts +14 -15
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +16 -21
- package/dest/entrypoints/client/bundle/index.d.ts +4 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +3 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +36 -8
- package/dest/entrypoints/client/lazy/index.d.ts +4 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +3 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +36 -8
- package/dest/entrypoints/client/store.d.ts +14 -0
- package/dest/entrypoints/client/store.d.ts.map +1 -0
- package/dest/entrypoints/client/store.js +42 -0
- package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/pxe_creation_options.js +3 -1
- package/dest/entrypoints/server/index.d.ts +8 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +6 -2
- package/dest/entrypoints/server/store.d.ts +18 -0
- package/dest/entrypoints/server/store.d.ts.map +1 -0
- package/dest/entrypoints/server/store.js +28 -0
- package/dest/entrypoints/server/utils.d.ts +4 -3
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +36 -8
- package/dest/error_enriching.d.ts +5 -3
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +13 -11
- package/dest/events/event_service.d.ts +22 -7
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +52 -20
- package/dest/events/private_event_filter_validator.d.ts +3 -2
- package/dest/events/private_event_filter_validator.d.ts.map +1 -1
- package/dest/events/private_event_filter_validator.js +15 -0
- 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 +62 -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 +5 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +2 -0
- package/dest/hooks/resolve_custom_request.d.ts +23 -0
- package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
- package/dest/hooks/resolve_custom_request.js +3 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
- package/dest/logs/log_service.d.ts +23 -12
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +185 -97
- package/dest/messages/tx_resolver_service.d.ts +28 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +61 -0
- package/dest/node/benchmarked_node.d.ts +20 -0
- package/dest/node/benchmarked_node.d.ts.map +1 -0
- package/dest/node/benchmarked_node.js +94 -0
- package/dest/node/caching_aztec_node.d.ts +24 -0
- package/dest/node/caching_aztec_node.d.ts.map +1 -0
- package/dest/node/caching_aztec_node.js +267 -0
- package/dest/notes/note_service.d.ts +36 -9
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +90 -66
- package/dest/notes_filter.d.ts +24 -0
- package/dest/notes_filter.d.ts.map +1 -0
- package/dest/notes_filter.js +4 -0
- package/dest/oracle_version.d.ts +4 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +20 -10
- 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/compute_tx_expiration_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
- package/dest/private_kernel/hints/index.d.ts +1 -1
- package/dest/private_kernel/hints/index.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +135 -70
- package/dest/private_kernel/hints/test_utils.d.ts +122 -0
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
- package/dest/private_kernel/hints/test_utils.js +202 -0
- 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 +208 -86
- package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +47 -29
- package/dest/pxe.d.ts +228 -66
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +435 -235
- package/dest/storage/address_store/address_store.d.ts +1 -1
- package/dest/storage/address_store/address_store.d.ts.map +1 -1
- package/dest/storage/address_store/address_store.js +12 -11
- package/dest/storage/allowed_scopes.d.ts +6 -0
- package/dest/storage/allowed_scopes.d.ts.map +1 -0
- package/dest/storage/allowed_scopes.js +7 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +12 -1
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
- package/dest/storage/anchor_block_store/anchor_block_store.js +12 -3
- 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 +671 -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/capsule_store/capsule_service.d.ts +21 -0
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_service.js +47 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +42 -36
- package/dest/storage/capsule_store/index.d.ts +2 -1
- package/dest/storage/capsule_store/index.d.ts.map +1 -1
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/contract_store/contract_store.d.ts +63 -33
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +193 -136
- package/dest/storage/fact_store/fact_service.d.ts +22 -0
- package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_service.js +45 -0
- package/dest/storage/fact_store/fact_store.d.ts +95 -0
- package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store.js +408 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store_keys.js +50 -0
- package/dest/storage/fact_store/index.d.ts +6 -0
- package/dest/storage/fact_store/index.d.ts.map +1 -0
- package/dest/storage/fact_store/index.js +4 -0
- package/dest/storage/fact_store/origin_state.d.ts +59 -0
- package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
- package/dest/storage/fact_store/origin_state.js +60 -0
- package/dest/storage/fact_store/stored_fact.d.ts +32 -0
- package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
- package/dest/storage/fact_store/stored_fact.js +64 -0
- package/dest/storage/index.d.ts +3 -2
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +2 -1
- package/dest/storage/metadata.d.ts +2 -2
- package/dest/storage/metadata.d.ts.map +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +48 -29
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +270 -199
- package/dest/storage/note_store/stored_note.d.ts +3 -8
- package/dest/storage/note_store/stored_note.d.ts.map +1 -1
- package/dest/storage/note_store/stored_note.js +4 -20
- package/dest/storage/open_pxe_stores.d.ts +35 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +29 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +144 -119
- package/dest/storage/store_identity.d.ts +35 -0
- package/dest/storage/store_identity.d.ts.map +1 -0
- package/dest/storage/store_identity.js +44 -0
- package/dest/storage/tagging_store/index.d.ts +2 -2
- package/dest/storage/tagging_store/index.d.ts.map +1 -1
- package/dest/storage/tagging_store/index.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/recipient_tagging_store.js +31 -19
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +291 -143
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
- package/dest/tagging/constants.d.ts +11 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +38 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +64 -32
- package/dest/tagging/index.d.ts +8 -7
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +6 -5
- 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 +74 -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 +234 -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/recipient_sync/utils/find_highest_indexes.js +2 -2
- 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 +8 -10
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -22
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.js +61 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -9
- 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 +52 -39
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +41 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
- package/dest/tagging/testing/tag_query_test_utils.js +10 -0
- package/package.json +29 -17
- package/src/bin/check_oracle_version.ts +10 -143
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +30 -0
- package/src/block_synchronizer/block_stream_source.ts +42 -0
- package/src/block_synchronizer/block_synchronizer.ts +90 -38
- package/src/config/index.ts +16 -9
- package/src/config/package_info.ts +1 -1
- package/src/contract/contract_class_service.ts +45 -0
- package/src/contract/contract_sync_service.ts +176 -0
- package/src/contract/helpers.ts +35 -0
- package/src/contract/skip_sync_contracts.ts +23 -0
- package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +465 -177
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +8 -29
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
- package/src/contract_function_simulator/index.ts +89 -4
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
- package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
- package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
- package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
- package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
- package/src/contract_function_simulator/noir-structs/option.ts +75 -0
- package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
- package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
- package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
- package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
- package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -15
- package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1067 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +323 -217
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1047 -276
- package/src/contract_function_simulator/pick_notes.ts +22 -3
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +52 -0
- package/src/debug/pxe_debug_utils.ts +47 -25
- package/src/entrypoints/client/bundle/index.ts +3 -0
- package/src/entrypoints/client/bundle/utils.ts +43 -9
- package/src/entrypoints/client/lazy/index.ts +3 -0
- package/src/entrypoints/client/lazy/utils.ts +43 -9
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +21 -1
- package/src/entrypoints/server/index.ts +8 -2
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +52 -21
- package/src/error_enriching.ts +27 -11
- package/src/events/event_service.ts +85 -29
- package/src/events/private_event_filter_validator.ts +21 -1
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +68 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/resolve_custom_request.ts +24 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
- package/src/logs/log_service.ts +230 -160
- package/src/messages/tx_resolver_service.ts +80 -0
- package/src/node/benchmarked_node.ts +140 -0
- package/src/node/caching_aztec_node.ts +406 -0
- package/src/notes/note_service.ts +131 -92
- package/src/notes_filter.ts +24 -0
- package/src/oracle_version.ts +20 -10
- package/src/private_kernel/batch_planner.ts +168 -0
- package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
- package/src/private_kernel/hints/index.ts +1 -1
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +176 -119
- package/src/private_kernel/hints/test_utils.ts +318 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +341 -120
- package/src/private_kernel/private_kernel_oracle.ts +65 -36
- package/src/pxe.ts +728 -309
- package/src/storage/address_store/address_store.ts +15 -15
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +12 -2
- 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__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/capsule_store/capsule_service.ts +85 -0
- package/src/storage/capsule_store/capsule_store.ts +52 -34
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +251 -168
- package/src/storage/fact_store/fact_service.ts +69 -0
- package/src/storage/fact_store/fact_store.ts +487 -0
- package/src/storage/fact_store/fact_store_keys.ts +75 -0
- package/src/storage/fact_store/index.ts +15 -0
- package/src/storage/fact_store/origin_state.ts +84 -0
- package/src/storage/fact_store/stored_fact.ts +80 -0
- package/src/storage/index.ts +2 -1
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +306 -228
- package/src/storage/note_store/stored_note.ts +5 -27
- package/src/storage/open_pxe_stores.ts +52 -0
- package/src/storage/private_event_store/private_event_store.ts +179 -158
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/recipient_tagging_store.ts +34 -24
- package/src/storage/tagging_store/sender_tagging_store.ts +366 -163
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +42 -10
- package/src/tagging/get_all_logs_by_tags.ts +124 -36
- package/src/tagging/index.ts +12 -6
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +355 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -27
- package/src/tagging/sender_sync/utils/classify_pending_txs.ts +91 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +55 -49
- package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +64 -0
- package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/benchmarked_node.js +0 -77
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -356
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
- package/dest/contract_sync/index.d.ts +0 -23
- package/dest/contract_sync/index.d.ts.map +0 -1
- package/dest/contract_sync/index.js +0 -54
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.js +0 -30
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
- 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 -99
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
- 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 -32
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
- package/src/contract_function_simulator/benchmarked_node.ts +0 -103
- package/src/contract_function_simulator/oracle/oracle.ts +0 -620
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
- package/src/contract_sync/index.ts +0 -98
- package/src/storage/tagging_store/sender_address_book_store.ts +0 -42
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
|
@@ -1,48 +1,26 @@
|
|
|
1
|
-
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
1
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
2
|
import { NoteDao } from '@aztec/stdlib/note';
|
|
4
3
|
|
|
4
|
+
/** A note as stored by the PXE: the note DAO plus the scopes that observed it. Append-only — never mutated. */
|
|
5
5
|
export class StoredNote {
|
|
6
6
|
constructor(
|
|
7
7
|
readonly noteDao: NoteDao,
|
|
8
8
|
readonly scopes: Set<string>,
|
|
9
|
-
private _nullifiedAt: BlockNumber | undefined = undefined,
|
|
10
9
|
) {}
|
|
11
10
|
|
|
12
|
-
static fromBuffer(buffer: Buffer) {
|
|
11
|
+
static fromBuffer(buffer: Buffer): StoredNote {
|
|
13
12
|
const reader = BufferReader.asReader(buffer);
|
|
14
|
-
|
|
15
13
|
const noteDao = NoteDao.fromBuffer(reader);
|
|
16
14
|
const scopes = reader.readVector({ fromBuffer: (r: BufferReader) => r.readString() });
|
|
17
|
-
|
|
18
|
-
const nullifiedAtRaw = reader.readNumber();
|
|
19
|
-
const nullifiedAt = nullifiedAtRaw === 0 ? undefined : (nullifiedAtRaw as BlockNumber);
|
|
20
|
-
|
|
21
|
-
return new StoredNote(noteDao, new Set(scopes), nullifiedAt);
|
|
15
|
+
return new StoredNote(noteDao, new Set(scopes));
|
|
22
16
|
}
|
|
23
17
|
|
|
24
18
|
toBuffer(): Buffer {
|
|
25
19
|
const scopesArray = [...this.scopes];
|
|
26
|
-
return serializeToBuffer(this.noteDao, scopesArray.length, ...scopesArray
|
|
20
|
+
return serializeToBuffer(this.noteDao, scopesArray.length, ...scopesArray);
|
|
27
21
|
}
|
|
28
22
|
|
|
29
|
-
addScope(scope: string) {
|
|
23
|
+
addScope(scope: string): void {
|
|
30
24
|
this.scopes.add(scope);
|
|
31
25
|
}
|
|
32
|
-
|
|
33
|
-
markAsNullified(blockNumber: BlockNumber) {
|
|
34
|
-
this._nullifiedAt = blockNumber;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
markAsActive() {
|
|
38
|
-
this._nullifiedAt = undefined;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
isNullified() {
|
|
42
|
-
return this._nullifiedAt !== undefined;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
get nullifiedAt() {
|
|
46
|
-
return this._nullifiedAt;
|
|
47
|
-
}
|
|
48
26
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
|
|
6
|
+
import { AddressStore } from './address_store/address_store.js';
|
|
7
|
+
import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
|
|
8
|
+
import { CapsuleStore } from './capsule_store/capsule_store.js';
|
|
9
|
+
import { ContractStore } from './contract_store/contract_store.js';
|
|
10
|
+
import { FactStore } from './fact_store/fact_store.js';
|
|
11
|
+
import { NoteStore } from './note_store/note_store.js';
|
|
12
|
+
import { PrivateEventStore } from './private_event_store/private_event_store.js';
|
|
13
|
+
import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from './tagging_store/index.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The set of sub-stores opened against a single `AztecAsyncKVStore` to back PXE state.
|
|
17
|
+
*/
|
|
18
|
+
export type PxeStores = {
|
|
19
|
+
addressStore: AddressStore;
|
|
20
|
+
privateEventStore: PrivateEventStore;
|
|
21
|
+
contractStore: ContractStore;
|
|
22
|
+
noteStore: NoteStore;
|
|
23
|
+
anchorBlockStore: AnchorBlockStore;
|
|
24
|
+
senderTaggingStore: SenderTaggingStore;
|
|
25
|
+
taggingSecretSourcesStore: TaggingSecretSourcesStore;
|
|
26
|
+
recipientTaggingStore: RecipientTaggingStore;
|
|
27
|
+
capsuleStore: CapsuleStore;
|
|
28
|
+
keyStore: KeyStore;
|
|
29
|
+
l2TipsStore: L2TipsKVStore;
|
|
30
|
+
factStore: FactStore;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
|
|
35
|
+
* `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
|
|
36
|
+
*/
|
|
37
|
+
export function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockHash): PxeStores {
|
|
38
|
+
return {
|
|
39
|
+
addressStore: new AddressStore(store),
|
|
40
|
+
privateEventStore: new PrivateEventStore(store),
|
|
41
|
+
contractStore: new ContractStore(store),
|
|
42
|
+
noteStore: new NoteStore(store),
|
|
43
|
+
anchorBlockStore: new AnchorBlockStore(store),
|
|
44
|
+
senderTaggingStore: new SenderTaggingStore(store),
|
|
45
|
+
taggingSecretSourcesStore: new TaggingSecretSourcesStore(store),
|
|
46
|
+
recipientTaggingStore: new RecipientTaggingStore(store),
|
|
47
|
+
capsuleStore: new CapsuleStore(store),
|
|
48
|
+
keyStore: new KeyStore(store),
|
|
49
|
+
l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash),
|
|
50
|
+
factStore: new FactStore(store),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { toArray } from '@aztec/foundation/iterable';
|
|
4
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { Semaphore } from '@aztec/foundation/queue';
|
|
6
5
|
import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store';
|
|
@@ -29,25 +28,35 @@ type PrivateEventMetadata = InTx & {
|
|
|
29
28
|
eventIndexInTx: number;
|
|
30
29
|
};
|
|
31
30
|
|
|
31
|
+
/// Alias types for kv map readability
|
|
32
|
+
type EventId = string; // the siloedEventCommitment, stringified
|
|
33
|
+
type JobId = string;
|
|
34
|
+
type ContractAndSelectorKey = string;
|
|
35
|
+
type BlockNum = number;
|
|
36
|
+
type StoredEventBuffer = Buffer;
|
|
37
|
+
|
|
32
38
|
/**
|
|
33
39
|
* Stores decrypted private event logs.
|
|
40
|
+
*
|
|
41
|
+
* Append-only: events are never deleted during normal operation. Reorgs are handled by delete-on-prune, which removes
|
|
42
|
+
* every event originating on a reorg'd block.
|
|
34
43
|
*/
|
|
35
44
|
export class PrivateEventStore implements StagedStore {
|
|
36
45
|
readonly storeName: string = 'private_event';
|
|
37
46
|
|
|
38
47
|
#store: AztecAsyncKVStore;
|
|
39
48
|
/** Actual private event log entries, keyed by siloedEventCommitment */
|
|
40
|
-
#events: AztecAsyncMap<
|
|
49
|
+
#events: AztecAsyncMap<EventId, StoredEventBuffer>;
|
|
41
50
|
/** Multi-map from contractAddress_eventSelector to siloedEventCommitment for efficient lookup */
|
|
42
|
-
#eventsByContractAndEventSelector: AztecAsyncMultiMap<
|
|
43
|
-
/** Multi-map from block number to siloedEventCommitment for
|
|
44
|
-
#eventsByBlockNumber: AztecAsyncMultiMap<
|
|
51
|
+
#eventsByContractAndEventSelector: AztecAsyncMultiMap<ContractAndSelectorKey, EventId>;
|
|
52
|
+
/** Multi-map from block number to siloedEventCommitment, for delete-on-prune. */
|
|
53
|
+
#eventsByBlockNumber: AztecAsyncMultiMap<BlockNum, EventId>;
|
|
45
54
|
|
|
46
55
|
/** jobId => eventId (event siloed nullifier) => StoredPrivateEvent */
|
|
47
|
-
#eventsForJob: Map<
|
|
56
|
+
#eventsForJob: Map<JobId, Map<EventId, StoredPrivateEvent>>;
|
|
48
57
|
|
|
49
58
|
/** Per-job locks to prevent concurrent writes from affecting each other. */
|
|
50
|
-
#jobLocks: Map<
|
|
59
|
+
#jobLocks: Map<JobId, Semaphore>;
|
|
51
60
|
|
|
52
61
|
logger = createLogger('private_event_store');
|
|
53
62
|
|
|
@@ -81,43 +90,45 @@ export class PrivateEventStore implements StagedStore {
|
|
|
81
90
|
metadata: PrivateEventMetadata,
|
|
82
91
|
jobId: string,
|
|
83
92
|
) {
|
|
84
|
-
return this.#withJobLock(jobId,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
this.logger.verbose('storing private event log (job stage)', {
|
|
89
|
-
eventId,
|
|
90
|
-
contractAddress,
|
|
91
|
-
scope,
|
|
92
|
-
msgContent,
|
|
93
|
-
l2BlockNumber,
|
|
94
|
-
});
|
|
93
|
+
return this.#withJobLock(jobId, () =>
|
|
94
|
+
this.#store.transactionAsync(async () => {
|
|
95
|
+
const { contractAddress, scope, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, eventIndexInTx } = metadata;
|
|
96
|
+
const eventId = siloedEventCommitment.toString();
|
|
95
97
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
if (existing) {
|
|
99
|
-
// If we already stored this event, we still want to make sure to track it for the given scope
|
|
100
|
-
existing.addScope(scope.toString());
|
|
101
|
-
this.#writeEvent(eventId, existing, jobId);
|
|
102
|
-
} else {
|
|
103
|
-
this.#writeEvent(
|
|
98
|
+
this.logger.verbose('storing private event log (job stage)', {
|
|
104
99
|
eventId,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
100
|
+
contractAddress,
|
|
101
|
+
scope,
|
|
102
|
+
msgContent,
|
|
103
|
+
l2BlockNumber,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
const existing = await this.#readEvent(eventId, jobId);
|
|
107
|
+
|
|
108
|
+
if (existing) {
|
|
109
|
+
// If we already stored this event, we still want to make sure to track it for the given scope
|
|
110
|
+
existing.addScope(scope.toString());
|
|
111
|
+
this.#writeEvent(eventId, existing, jobId);
|
|
112
|
+
} else {
|
|
113
|
+
this.#writeEvent(
|
|
114
|
+
eventId,
|
|
115
|
+
new StoredPrivateEvent(
|
|
116
|
+
randomness,
|
|
117
|
+
msgContent,
|
|
118
|
+
l2BlockNumber,
|
|
119
|
+
l2BlockHash,
|
|
120
|
+
txHash,
|
|
121
|
+
txIndexInBlock,
|
|
122
|
+
eventIndexInTx,
|
|
123
|
+
contractAddress,
|
|
124
|
+
eventSelector,
|
|
125
|
+
new Set([scope.toString()]),
|
|
126
|
+
),
|
|
127
|
+
jobId,
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
}),
|
|
131
|
+
);
|
|
121
132
|
}
|
|
122
133
|
|
|
123
134
|
/**
|
|
@@ -131,123 +142,133 @@ export class PrivateEventStore implements StagedStore {
|
|
|
131
142
|
* @returns - The event log contents, augmented with metadata about the transaction and block in which the event was
|
|
132
143
|
* included.
|
|
133
144
|
*/
|
|
134
|
-
public
|
|
145
|
+
public getPrivateEvents(
|
|
135
146
|
eventSelector: EventSelector,
|
|
136
147
|
filter: PrivateEventStoreFilter,
|
|
137
148
|
): Promise<PackedPrivateEvent[]> {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
eventIndexInTx: number;
|
|
142
|
-
event: PackedPrivateEvent;
|
|
143
|
-
}> = [];
|
|
144
|
-
|
|
145
|
-
const key = this.#keyFor(filter.contractAddress, eventSelector);
|
|
146
|
-
const targetScopes = new Set(filter.scopes.map(s => s.toString()));
|
|
147
|
-
|
|
148
|
-
const eventIds: string[] = await toArray(this.#eventsByContractAndEventSelector.getValuesAsync(key));
|
|
149
|
-
|
|
150
|
-
for (const eventId of eventIds) {
|
|
151
|
-
const eventBuffer = await this.#events.getAsync(eventId);
|
|
152
|
-
|
|
153
|
-
// Defensive, if it happens, there's a problem with how we're handling #eventsByContractAndEventSelector
|
|
154
|
-
if (!eventBuffer) {
|
|
155
|
-
this.logger.verbose(
|
|
156
|
-
`EventId ${eventId} does not exist in main index but it is referenced from contract event selector index`,
|
|
157
|
-
);
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
149
|
+
return this.#store.transactionAsync(async () => {
|
|
150
|
+
const key = this.#keyFor(filter.contractAddress, eventSelector);
|
|
151
|
+
const targetScopes = new Set(filter.scopes.map(s => s.toString()));
|
|
160
152
|
|
|
161
|
-
|
|
153
|
+
// Map from eventId to the promise that reads the event buffer.
|
|
154
|
+
// We start reads during iteration to keep DB requests pending and avoid IndexedDB auto-commit.
|
|
155
|
+
const eventReadPromises: Map<string, Promise<Buffer | undefined>> = new Map();
|
|
162
156
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
continue;
|
|
157
|
+
for await (const eventId of this.#eventsByContractAndEventSelector.getValuesAsync(key)) {
|
|
158
|
+
eventReadPromises.set(eventId, this.#events.getAsync(eventId));
|
|
166
159
|
}
|
|
167
160
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
161
|
+
const eventIds = [...eventReadPromises.keys()];
|
|
162
|
+
const eventBuffers = await Promise.all(eventReadPromises.values());
|
|
163
|
+
|
|
164
|
+
const events: Array<{
|
|
165
|
+
l2BlockNumber: number;
|
|
166
|
+
txIndexInBlock: number;
|
|
167
|
+
eventIndexInTx: number;
|
|
168
|
+
event: PackedPrivateEvent;
|
|
169
|
+
}> = [];
|
|
172
170
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
for (let i = 0; i < eventIds.length; i++) {
|
|
172
|
+
const eventId = eventIds[i];
|
|
173
|
+
const eventBuffer = eventBuffers[i];
|
|
174
|
+
|
|
175
|
+
// Defensive, if it happens, there's a problem with how we're handling #eventsByContractAndEventSelector
|
|
176
|
+
if (!eventBuffer) {
|
|
177
|
+
this.logger.verbose(
|
|
178
|
+
`EventId ${eventId} does not exist in main index but it is referenced from contract event selector index`,
|
|
179
|
+
);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const storedPrivateEvent = StoredPrivateEvent.fromBuffer(eventBuffer);
|
|
184
|
+
|
|
185
|
+
// Filter by block range
|
|
186
|
+
if (storedPrivateEvent.l2BlockNumber < filter.fromBlock || storedPrivateEvent.l2BlockNumber >= filter.toBlock) {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Filter by scopes
|
|
191
|
+
if (storedPrivateEvent.scopes.intersection(targetScopes).size === 0) {
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Filter by txHash
|
|
196
|
+
if (filter.txHash && !storedPrivateEvent.txHash.equals(filter.txHash)) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
events.push({
|
|
201
|
+
l2BlockNumber: storedPrivateEvent.l2BlockNumber,
|
|
202
|
+
txIndexInBlock: storedPrivateEvent.txIndexInBlock,
|
|
203
|
+
eventIndexInTx: storedPrivateEvent.eventIndexInTx,
|
|
204
|
+
event: {
|
|
205
|
+
packedEvent: storedPrivateEvent.msgContent,
|
|
206
|
+
l2BlockNumber: BlockNumber(storedPrivateEvent.l2BlockNumber),
|
|
207
|
+
txHash: storedPrivateEvent.txHash,
|
|
208
|
+
l2BlockHash: storedPrivateEvent.l2BlockHash,
|
|
209
|
+
eventSelector,
|
|
210
|
+
},
|
|
211
|
+
});
|
|
176
212
|
}
|
|
177
213
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
eventSelector,
|
|
188
|
-
},
|
|
214
|
+
// Sort by block number, then by tx index within block, then by event index within tx
|
|
215
|
+
events.sort((a, b) => {
|
|
216
|
+
if (a.l2BlockNumber !== b.l2BlockNumber) {
|
|
217
|
+
return a.l2BlockNumber - b.l2BlockNumber;
|
|
218
|
+
}
|
|
219
|
+
if (a.txIndexInBlock !== b.txIndexInBlock) {
|
|
220
|
+
return a.txIndexInBlock - b.txIndexInBlock;
|
|
221
|
+
}
|
|
222
|
+
return a.eventIndexInTx - b.eventIndexInTx;
|
|
189
223
|
});
|
|
190
|
-
}
|
|
191
224
|
|
|
192
|
-
|
|
193
|
-
events.sort((a, b) => {
|
|
194
|
-
if (a.l2BlockNumber !== b.l2BlockNumber) {
|
|
195
|
-
return a.l2BlockNumber - b.l2BlockNumber;
|
|
196
|
-
}
|
|
197
|
-
if (a.txIndexInBlock !== b.txIndexInBlock) {
|
|
198
|
-
return a.txIndexInBlock - b.txIndexInBlock;
|
|
199
|
-
}
|
|
200
|
-
return a.eventIndexInTx - b.eventIndexInTx;
|
|
225
|
+
return events.map(ev => ev.event);
|
|
201
226
|
});
|
|
227
|
+
}
|
|
202
228
|
|
|
203
|
-
|
|
229
|
+
/** Returns the ids (siloed event commitments) of all events emitted at the given block number. Used by delete-on-prune. */
|
|
230
|
+
public async eventIdsAtBlock(blockNumber: number): Promise<string[]> {
|
|
231
|
+
const eventIds: string[] = [];
|
|
232
|
+
for await (const eventId of this.#eventsByBlockNumber.getValuesAsync(blockNumber)) {
|
|
233
|
+
eventIds.push(eventId);
|
|
234
|
+
}
|
|
235
|
+
return eventIds;
|
|
204
236
|
}
|
|
205
237
|
|
|
206
238
|
/**
|
|
207
|
-
* Rolls back
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
* We don't need staged writes for a rollback since it's handled in the context of a blockchain rewind.
|
|
211
|
-
*
|
|
212
|
-
* Rollbacks are handled by the BlockSynchronizer, which runs a DB transaction across stores when it detects a
|
|
213
|
-
* re-org, including setting the new anchor block after rolling back.
|
|
239
|
+
* Rolls the store back to `toBlock`: deletes every event anchored to a block strictly above it, as if nothing past
|
|
240
|
+
* that block height ever happened. Used by the reorg (`chain-pruned`) path to truncate the orphaned tail. Scanning
|
|
241
|
+
* from `toBlock + 1` upward covers everything above the rollback target without needing to know the chain tip.
|
|
214
242
|
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
* For further details, refer to `BlockSynchronizer#handleBlockStreamEvent`.
|
|
220
|
-
*
|
|
221
|
-
* IMPORTANT: This method must be called within a transaction to ensure atomicity.
|
|
243
|
+
* Must be called inside a transaction owned by the caller (it issues no `transactionAsync` of its own, the reorg
|
|
244
|
+
* path wraps it together with the anchor update, and IndexedDB has no nested transactions). Throws if any job has
|
|
245
|
+
* uncommitted staged writes, since rolling back mid-job could later re-introduce events anchored to deleted blocks.
|
|
222
246
|
*/
|
|
223
|
-
public async rollback(
|
|
247
|
+
public async rollback(toBlock: number): Promise<void> {
|
|
248
|
+
if (this.#eventsForJob.size > 0) {
|
|
249
|
+
throw new Error('PXE private event store rollback is not allowed while jobs are running');
|
|
250
|
+
}
|
|
251
|
+
// Snapshot before mutating so we never delete from the multimap we are iterating.
|
|
252
|
+
const orphaned: { block: number; eventId: string }[] = [];
|
|
253
|
+
for await (const [block, eventId] of this.#eventsByBlockNumber.entriesAsync({ start: toBlock + 1 })) {
|
|
254
|
+
orphaned.push({ block, eventId });
|
|
255
|
+
}
|
|
224
256
|
let removedCount = 0;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (eventIds.length > 0) {
|
|
230
|
-
await this.#eventsByBlockNumber.delete(block);
|
|
231
|
-
|
|
232
|
-
for (const eventId of eventIds) {
|
|
233
|
-
const buffer = await this.#events.getAsync(eventId);
|
|
234
|
-
if (!buffer) {
|
|
235
|
-
throw new Error(`Event not found for eventId ${eventId}`);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
const entry = StoredPrivateEvent.fromBuffer(buffer);
|
|
239
|
-
await this.#events.delete(eventId);
|
|
240
|
-
await this.#eventsByContractAndEventSelector.deleteValue(
|
|
241
|
-
this.#keyFor(entry.contractAddress, entry.eventSelector),
|
|
242
|
-
eventId,
|
|
243
|
-
);
|
|
244
|
-
|
|
245
|
-
removedCount++;
|
|
246
|
-
}
|
|
257
|
+
for (const { block, eventId } of orphaned) {
|
|
258
|
+
const buf = await this.#events.getAsync(eventId);
|
|
259
|
+
if (!buf) {
|
|
260
|
+
throw new Error(`Event not found for eventId ${eventId}`);
|
|
247
261
|
}
|
|
262
|
+
const stored = StoredPrivateEvent.fromBuffer(buf);
|
|
263
|
+
await this.#events.delete(eventId);
|
|
264
|
+
await this.#eventsByContractAndEventSelector.deleteValue(
|
|
265
|
+
this.#keyFor(stored.contractAddress, stored.eventSelector),
|
|
266
|
+
eventId,
|
|
267
|
+
);
|
|
268
|
+
await this.#eventsByBlockNumber.deleteValue(block, eventId);
|
|
269
|
+
removedCount++;
|
|
248
270
|
}
|
|
249
|
-
|
|
250
|
-
this.logger.verbose(`Rolled back ${removedCount} private events after block ${blockNumber}`);
|
|
271
|
+
this.logger.verbose('rolled back private events', { removedCount, toBlock });
|
|
251
272
|
}
|
|
252
273
|
|
|
253
274
|
/**
|
|
@@ -260,28 +281,30 @@ export class PrivateEventStore implements StagedStore {
|
|
|
260
281
|
*
|
|
261
282
|
* @param jobId - The jobId identifying which staged data to commit
|
|
262
283
|
*/
|
|
263
|
-
commit(jobId: string): Promise<void> {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
284
|
+
async commit(jobId: string): Promise<void> {
|
|
285
|
+
// Note: Don't use #withJobLock here - commit runs within JobCoordinator's transactionAsync,
|
|
286
|
+
// and awaiting the lock would create a microtask boundary with no pending DB request,
|
|
287
|
+
// causing IndexedDB to auto-commit the transaction.
|
|
288
|
+
for (const [eventId, entry] of this.#getEventsForJob(jobId).entries()) {
|
|
289
|
+
const lookupKey = this.#keyFor(entry.contractAddress, entry.eventSelector);
|
|
290
|
+
this.logger.verbose('storing private event log', { eventId, lookupKey });
|
|
291
|
+
|
|
292
|
+
await Promise.all([
|
|
293
|
+
this.#events.set(eventId, entry.toBuffer()),
|
|
294
|
+
this.#eventsByContractAndEventSelector.set(lookupKey, eventId),
|
|
295
|
+
this.#eventsByBlockNumber.set(entry.l2BlockNumber, eventId),
|
|
296
|
+
]);
|
|
297
|
+
}
|
|
275
298
|
|
|
276
|
-
|
|
277
|
-
});
|
|
299
|
+
this.#clearJobData(jobId);
|
|
278
300
|
}
|
|
279
301
|
|
|
280
302
|
/**
|
|
281
303
|
* Discards in memory job data without persisting it.
|
|
282
304
|
*/
|
|
283
305
|
discardStaged(jobId: string): Promise<void> {
|
|
284
|
-
|
|
306
|
+
this.#clearJobData(jobId);
|
|
307
|
+
return Promise.resolve();
|
|
285
308
|
}
|
|
286
309
|
|
|
287
310
|
/**
|
|
@@ -290,13 +313,11 @@ export class PrivateEventStore implements StagedStore {
|
|
|
290
313
|
* Returns undefined if the event does not exist in the store overall.
|
|
291
314
|
*/
|
|
292
315
|
async #readEvent(eventId: string, jobId: string): Promise<StoredPrivateEvent | undefined> {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
return eventForJob;
|
|
296
|
-
}
|
|
297
|
-
|
|
316
|
+
// Always issue DB read to keep IndexedDB transaction alive (they auto-commit when a new micro-task starts and there
|
|
317
|
+
// are no pending read requests). The staged value still takes precedence if it exists.
|
|
298
318
|
const buffer = await this.#events.getAsync(eventId);
|
|
299
|
-
|
|
319
|
+
const eventForJob = this.#getEventsForJob(jobId).get(eventId);
|
|
320
|
+
return eventForJob ?? (buffer ? StoredPrivateEvent.fromBuffer(buffer) : undefined);
|
|
300
321
|
}
|
|
301
322
|
|
|
302
323
|
/**
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
|
+
import { DatabaseVersion } from '@aztec/stdlib/database-version/version';
|
|
4
|
+
|
|
5
|
+
/** The triple that determine which physical store a logical store name maps to. */
|
|
6
|
+
export type StoreIdentity = {
|
|
7
|
+
/** Chain ID of the L1 the rollup is deployed to. */
|
|
8
|
+
l1ChainId: number;
|
|
9
|
+
/** Address of the rollup contract the store's data pertains to. */
|
|
10
|
+
rollupAddress: EthAddress;
|
|
11
|
+
/** Schema version of the data held in the store. */
|
|
12
|
+
schemaVersion: number;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Composes the store-name discriminator for a store identity. Two identities map to the same physical store iff
|
|
17
|
+
* their slugs are equal, so the format must stay stable: `<l1ChainId>-<rollupAddress>-v<schemaVersion>` — changing
|
|
18
|
+
* it orphans every existing store.
|
|
19
|
+
*/
|
|
20
|
+
export function storeIdentitySlug({ l1ChainId, rollupAddress, schemaVersion }: StoreIdentity): string {
|
|
21
|
+
return `${l1ChainId}-${rollupAddress.toString()}-v${schemaVersion}`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Composes the physical store name for a logical store name and identity. */
|
|
25
|
+
export function effectiveStoreName(name: string, identity: StoreIdentity): string {
|
|
26
|
+
return `${name}_${storeIdentitySlug(identity)}`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Invariant check for stores whose physical name carries their identity: the recorded version can
|
|
31
|
+
* only disagree with the expected one if there is a store-naming bug.
|
|
32
|
+
*/
|
|
33
|
+
export async function assertStoreIdentity(
|
|
34
|
+
store: AztecAsyncKVStore,
|
|
35
|
+
storeName: string,
|
|
36
|
+
identity: StoreIdentity,
|
|
37
|
+
): Promise<void> {
|
|
38
|
+
const expected = new DatabaseVersion(identity.schemaVersion, identity.rollupAddress);
|
|
39
|
+
const singleton = store.openSingleton<string>('dbVersion');
|
|
40
|
+
const stored = await singleton.getAsync();
|
|
41
|
+
if (stored === undefined) {
|
|
42
|
+
await singleton.set(expected.toBuffer().toString('utf-8'));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let storedVersion: DatabaseVersion;
|
|
46
|
+
try {
|
|
47
|
+
storedVersion = DatabaseVersion.fromBuffer(Buffer.from(stored, 'utf-8'));
|
|
48
|
+
} catch {
|
|
49
|
+
throw new StoreIdentityMismatchError(storeName, expected.toString(), stored);
|
|
50
|
+
}
|
|
51
|
+
if (!storedVersion.equals(expected)) {
|
|
52
|
+
throw new StoreIdentityMismatchError(storeName, expected.toString(), storedVersion.toString());
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Thrown when a store's recorded identity does not match the identity it was opened under. Since the identity is
|
|
58
|
+
* part of the physical store name, this can only indicate a store-naming bug; the store is left untouched.
|
|
59
|
+
*/
|
|
60
|
+
export class StoreIdentityMismatchError extends Error {
|
|
61
|
+
constructor(
|
|
62
|
+
public readonly storeName: string,
|
|
63
|
+
public readonly expected: string,
|
|
64
|
+
public readonly actual: string,
|
|
65
|
+
) {
|
|
66
|
+
super(
|
|
67
|
+
`Store '${storeName}' records identity ${actual} but was opened as ${expected}. ` +
|
|
68
|
+
`Refusing to open; data was NOT modified.`,
|
|
69
|
+
);
|
|
70
|
+
this.name = 'StoreIdentityMismatchError';
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { SenderTaggingStore } from './sender_tagging_store.js';
|
|
2
|
-
export {
|
|
2
|
+
export { TaggingSecretSourcesStore } from './tagging_secret_sources_store.js';
|
|
3
3
|
export { RecipientTaggingStore } from './recipient_tagging_store.js';
|