diff --git a/lib/app_config/app_config.dart b/lib/app_config/app_config.dart index bbd6a16ef0..3770a0ccb3 100644 --- a/lib/app_config/app_config.dart +++ b/lib/app_config/app_config.dart @@ -166,6 +166,7 @@ const List appWalletOnlyAssetList = [ /// Reduced to only KMD to minimize initial connections and resource usage. List get enabledByDefaultCoins => [ 'KMD', // Komodo ecosystem coin + 'BTC-segwit' // Default Fiat Ramps coin ]; List get coinsWithFaucet => ['RICK', 'MORTY', 'DOC', 'MARTY']; diff --git a/lib/bloc/fiat/fiat_onramp_form/fiat_form_bloc.dart b/lib/bloc/fiat/fiat_onramp_form/fiat_form_bloc.dart index 979b0012a9..b184630b88 100644 --- a/lib/bloc/fiat/fiat_onramp_form/fiat_form_bloc.dart +++ b/lib/bloc/fiat/fiat_onramp_form/fiat_form_bloc.dart @@ -17,6 +17,7 @@ import 'package:web_dex/app_config/app_config.dart'; import 'package:web_dex/bloc/fiat/base_fiat_provider.dart'; import 'package:web_dex/bloc/fiat/fiat_order_status.dart'; import 'package:web_dex/bloc/fiat/fiat_repository.dart'; +import 'package:web_dex/bloc/coins_bloc/coins_repo.dart'; import 'package:web_dex/bloc/fiat/models/models.dart'; import 'package:web_dex/bloc/fiat/payment_status_type.dart'; import 'package:web_dex/model/forms/fiat/currency_input.dart'; @@ -31,10 +32,12 @@ part 'fiat_form_state.dart'; class FiatFormBloc extends Bloc { FiatFormBloc({ required FiatRepository repository, + required CoinsRepo coinsRepo, required KomodoDefiSdk sdk, int pubkeysMaxRetryAttempts = 20, Duration pubkeysRetryDelay = const Duration(milliseconds: 500), }) : _fiatRepository = repository, + _coinsRepo = coinsRepo, _sdk = sdk, _pubkeysMaxRetryAttempts = pubkeysMaxRetryAttempts, _pubkeysRetryDelay = pubkeysRetryDelay, @@ -73,6 +76,7 @@ class FiatFormBloc extends Bloc { } final FiatRepository _fiatRepository; + final CoinsRepo _coinsRepo; final KomodoDefiSdk _sdk; final int _pubkeysMaxRetryAttempts; final Duration _pubkeysRetryDelay; @@ -114,11 +118,9 @@ class FiatFormBloc extends Bloc { return emit(state.copyWith(selectedAssetAddress: () => null)); } - // Necessary to add the coin to the wallet coins list for now since - // CoinsRepository is not used here to manually activate the coin - - // which would propagate it to the coins_bloc state. - await _sdk.addActivatedCoins([event.selectedCoin.getAbbr()]); + // Activate the asset via CoinsRepo to ensure broadcasts reach CoinsBloc final asset = event.selectedCoin.toAsset(_sdk); + await _coinsRepo.activateAssetsSync([asset]); // TODO: increase the max delay in the SDK or make it adjustable final assetPubkeys = await retry( () async => _sdk.pubkeys.getPubkeys(asset), diff --git a/lib/views/fiat/fiat_page.dart b/lib/views/fiat/fiat_page.dart index dc2c384f5a..607c75d918 100644 --- a/lib/views/fiat/fiat_page.dart +++ b/lib/views/fiat/fiat_page.dart @@ -58,6 +58,7 @@ class _FiatPageState extends State with TickerProviderStateMixin { return BlocProvider( create: (_) => FiatFormBloc( repository: fiatRepository, + coinsRepo: coinsRepository, sdk: sdk, ), child: MultiBlocListener(