content: import 'package:bb_mobile/core/ark/usecases/get_ark_wallet_usecase.dart';
  import 'package:bb_mobile/core/electrum/application/usecases/check_for_online_electrum_servers_usecase.dart';
  import 'package:bb_mobile/core/settings/data/settings_repository.dart';
  import 'package:bb_mobile/core/status/domain/usecases/check_all_service_status_usecase.dart';
  import 'package:bb_mobile/core/swaps/data/repository/boltz_swap_repository.dart';
  import 'package:bb_mobile/core/swaps/domain/usecases/auto_swap_execution_usecase.dart';
  import 'package:bb_mobile/core/swaps/domain/usecases/get_auto_swap_settings_usecase.dart';
  import 'package:bb_mobile/core/swaps/domain/usecases/restart_swap_watcher_usecase.dart';
  import 'package:bb_mobile/core/swaps/domain/usecases/save_auto_swap_settings_usecase.dart';
  import 'package:bb_mobile/core/tor/domain/usecases/check_for_tor_initialization_usecase.dart';
  import 'package:bb_mobile/core/tor/domain/usecases/initialize_tor_usecase.dart';
  import 'package:bb_mobile/core/utils/constants.dart';
  import 'package:bb_mobile/core/wallet/domain/usecases/check_wallet_syncing_usecase.dart';
  import 'package:bb_mobile/core/wallet/domain/usecases/delete_wallet_usecase.dart';
  import 'package:bb_mobile/core/wallet/domain/usecases/get_wallets_usecase.dart';
  import 'package:bb_mobile/core/wallet/domain/usecases/watch_finished_wallet_syncs_usecase.dart';
  import 'package:bb_mobile/core/wallet/domain/usecases/watch_started_wallet_syncs_usecase.dart';
  import 'package:bb_mobile/features/wallet/domain/usecase/get_unconfirmed_incoming_balance_usecase.dart';
  import 'package:bb_mobile/features/wallet/presentation/bloc/wallet_bloc.dart';
  import 'package:bb_mobile/locator.dart';
  
  class WalletLocator {
    static void setup() {
      // Usecase
      locator.registerFactory<GetUnconfirmedIncomingBalanceUsecase>(
        () => GetUnconfirmedIncomingBalanceUsecase(
          settingsRepository: locator<SettingsRepository>(),
          mainnetBoltzSwapRepository: locator<BoltzSwapRepository>(
            instanceName:
                LocatorInstanceNameConstants.boltzSwapRepositoryInstanceName,
          ),
          testnetBoltzSwapRepository: locator<BoltzSwapRepository>(
            instanceName:
                LocatorInstanceNameConstants
                    .boltzTestnetSwapRepositoryInstanceName,
          ),
        ),
      );
  
      // Bloc
      locator.registerFactory<WalletBloc>(
        () => WalletBloc(
          getArkWalletUsecase: locator<GetArkWalletUsecase>(),
          getWalletsUsecase: locator<GetWalletsUsecase>(),
          checkWalletSyncingUsecase: locator<CheckWalletSyncingUsecase>(),
          watchStartedWalletSyncsUsecase:
              locator<WatchStartedWalletSyncsUsecase>(),
          watchFinishedWalletSyncsUsecase:
              locator<WatchFinishedWalletSyncsUsecase>(),
          restartSwapWatcherUsecase: locator<RestartSwapWatcherUsecase>(),
          initializeTorUsecase: locator<InitializeTorUsecase>(),
          checkForTorInitializationOnStartupUsecase:
              locator<CheckTorRequiredOnStartupUsecase>(),
          checkForOnlineElectrumServersUsecase:
              locator<CheckForOnlineElectrumServersUsecase>(),
          getUnconfirmedIncomingBalanceUsecase:
              locator<GetUnconfirmedIncomingBalanceUsecase>(),
          getAutoSwapSettingsUsecase: locator<GetAutoSwapSettingsUsecase>(),
          saveAutoSwapSettingsUsecase: locator<SaveAutoSwapSettingsUsecase>(),
          autoSwapExecutionUsecase: locator<AutoSwapExecutionUsecase>(),
          deleteWalletUsecase: locator<DeleteWalletUsecase>(),
          checkAllServiceStatusUsecase: locator<CheckAllServiceStatusUsecase>(),
        ),
      );
    }
  }
  