From 9ea3873289973738e776402b7284335caa6d833e Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 00:52:57 +0300 Subject: [PATCH 1/6] Do not display LSP cannot open channel message when account is disconnected Use AccountState.connectionStatus switch case to display StatusText widgets - Get AccountState & LspState from parent widget Improve readability in ReceivableBTCBox by using isChannelOpeningAvailable variable - Passing OpeningFeeParams to FeeMessage when channel opening is available Make _loadingMessage empty string by default Correct typos in - isChannelOpeningAvailiable variable - annimated_loader_dialog file name --- lib/bloc/lsp/lsp_state.dart | 2 +- .../create_invoice/create_invoice_page.dart | 18 +++--- lib/routes/home/account_page.dart | 18 +++--- ...ialog.dart => animated_loader_dialog.dart} | 2 +- lib/routes/home/widgets/status_text.dart | 51 ++++++++--------- .../lnurl/payment/lnurl_payment_page.dart | 2 +- .../lnurl/withdraw/lnurl_withdraw_dialog.dart | 2 +- .../spontaneous_payment_page.dart | 2 +- ...withdraw_funds_amount_text_form_field.dart | 2 +- lib/widgets/backup_in_progress_dialog.dart | 2 +- lib/widgets/loading_animated_text.dart | 12 ++-- .../payment_request_info_dialog.dart | 4 +- .../processing_payment_content.dart | 2 +- lib/widgets/receivable_btc_box.dart | 56 +++++++++---------- 14 files changed, 87 insertions(+), 88 deletions(-) rename lib/routes/home/widgets/{annimated_loader_dialog.dart => animated_loader_dialog.dart} (97%) diff --git a/lib/bloc/lsp/lsp_state.dart b/lib/bloc/lsp/lsp_state.dart index 53f94f00d..e0767d64a 100644 --- a/lib/bloc/lsp/lsp_state.dart +++ b/lib/bloc/lsp/lsp_state.dart @@ -7,7 +7,7 @@ class LspState { LspState({this.lspInfo, this.selectedLspId}); // this returns true if the current LSP supports opening new channels. - bool get isChannelOpeningAvailiable { + bool get isChannelOpeningAvailable { return (lspInfo != null) ? lspInfo!.openingFeeParamsList.values.isNotEmpty : false; } } diff --git a/lib/routes/create_invoice/create_invoice_page.dart b/lib/routes/create_invoice/create_invoice_page.dart index 22be76001..a01fde1df 100644 --- a/lib/routes/create_invoice/create_invoice_page.dart +++ b/lib/routes/create_invoice/create_invoice_page.dart @@ -123,23 +123,21 @@ class CreateInvoicePageState extends State { builder: (context, accountState, currencyState, lspState) { return ReceivableBTCBox( onTap: () { - if (lspState != null && - !lspState.isChannelOpeningAvailiable && - accountState.maxInboundLiquidity > 0) { + final isChannelOpeningAvailable = lspState?.isChannelOpeningAvailable ?? false; + if (!isChannelOpeningAvailable && accountState.maxInboundLiquidity > 0) { _amountController.text = currencyState.bitcoinCurrency.format( accountState.maxInboundLiquidity, includeDisplayName: false, userInput: true, ); - } else if (lspState != null && - !lspState.isChannelOpeningAvailiable && - accountState.maxInboundLiquidity == 0) { + } else if (!isChannelOpeningAvailable && accountState.maxInboundLiquidity == 0) { // do nothing } else { _amountController.text = currencyState.bitcoinCurrency.format( - accountState.maxAllowedToReceive, - includeDisplayName: false, - userInput: true); + accountState.maxAllowedToReceive, + includeDisplayName: false, + userInput: true, + ); } }, ); @@ -255,7 +253,7 @@ class CreateInvoicePageState extends State { return PaymentValidator( validatePayment: _validatePayment, currency: context.read().state.bitcoinCurrency, - channelCreationPossible: context.read().state?.isChannelOpeningAvailiable ?? false, + channelCreationPossible: context.read().state?.isChannelOpeningAvailable ?? false, channelMinimumFee: channelMinimumFee, texts: context.texts(), ).validateIncoming(amount); diff --git a/lib/routes/home/account_page.dart b/lib/routes/home/account_page.dart index 28e45a5c6..7fa8994a8 100644 --- a/lib/routes/home/account_page.dart +++ b/lib/routes/home/account_page.dart @@ -37,15 +37,15 @@ class AccountPage extends StatelessWidget { @override Widget build(BuildContext context) { return BlocBuilder( - builder: (context, account) { + builder: (context, accountState) { return BlocBuilder( builder: (context, userModel) { - _log.v("AccountPage build with ${account.payments.length} payments"); + _log.v("AccountPage build with ${accountState.payments.length} payments"); return Container( color: Theme.of(context).customData.dashboardBgColor, child: _build( context, - account, + accountState, userModel, ), ); @@ -57,11 +57,11 @@ class AccountPage extends StatelessWidget { Widget _build( BuildContext context, - AccountState account, + AccountState accountState, UserProfileState userModel, ) { - final nonFilteredPayments = account.payments; - final paymentFilters = account.paymentFilters; + final nonFilteredPayments = accountState.payments; + final paymentFilters = accountState.paymentFilters; final filteredPayments = nonFilteredPayments.where((paymentMinutiae) { final fromTimestamp = paymentFilters.fromTimestamp; final toTimestamp = paymentFilters.toTimestamp; @@ -126,14 +126,14 @@ class AccountPage extends StatelessWidget { ), ), ); - } else if (!account.initial && nonFilteredPayments.isEmpty) { + } else if (!accountState.initial && nonFilteredPayments.isEmpty) { slivers.add( SliverPersistentHeader( delegate: FixedSliverDelegate( 250.0, builder: (context, shrinkedHeight, overlapContent) { return BlocBuilder(builder: (context, lspState) { - var isConnecting = account.connectionStatus == ConnectionStatus.CONNECTING; + var isConnecting = accountState.connectionStatus == ConnectionStatus.CONNECTING; if (!isConnecting && lspState != null && lspState.selectedLspId == null) { return const Padding( padding: EdgeInsets.only(top: 120.0), @@ -142,7 +142,7 @@ class AccountPage extends StatelessWidget { } return Padding( padding: const EdgeInsets.fromLTRB(40.0, 120.0, 40.0, 0.0), - child: StatusText(isConnecting: isConnecting), + child: StatusText(accountState: accountState, lspState: lspState), ); }); }, diff --git a/lib/routes/home/widgets/annimated_loader_dialog.dart b/lib/routes/home/widgets/animated_loader_dialog.dart similarity index 97% rename from lib/routes/home/widgets/annimated_loader_dialog.dart rename to lib/routes/home/widgets/animated_loader_dialog.dart index b3ce48071..86af2738e 100644 --- a/lib/routes/home/widgets/annimated_loader_dialog.dart +++ b/lib/routes/home/widgets/animated_loader_dialog.dart @@ -19,7 +19,7 @@ AlertDialog createAnimatedLoaderDialog( mainAxisSize: MainAxisSize.min, children: [ LoadingAnimatedText( - text, + loadingMessage: text, textStyle: themeData.dialogTheme.contentTextStyle, textAlign: TextAlign.center, ), diff --git a/lib/routes/home/widgets/status_text.dart b/lib/routes/home/widgets/status_text.dart index 28b1227ca..09ae65017 100644 --- a/lib/routes/home/widgets/status_text.dart +++ b/lib/routes/home/widgets/status_text.dart @@ -1,9 +1,6 @@ import 'package:auto_size_text/auto_size_text.dart'; import 'package:breez_translations/breez_translations_locales.dart'; -import 'package:c_breez/bloc/account/account_bloc.dart'; import 'package:c_breez/bloc/account/account_state.dart'; -import 'package:c_breez/bloc/ext/block_builder_extensions.dart'; -import 'package:c_breez/bloc/lsp/lsp_bloc.dart'; import 'package:c_breez/bloc/lsp/lsp_state.dart'; import 'package:c_breez/theme/theme_provider.dart'; import 'package:c_breez/utils/min_font_size.dart'; @@ -11,38 +8,38 @@ import 'package:c_breez/widgets/loading_animated_text.dart'; import 'package:flutter/material.dart'; class StatusText extends StatelessWidget { - final String? message; - final bool isConnecting; + final AccountState accountState; + final LspState? lspState; const StatusText({ Key? key, - this.message, - this.isConnecting = false, + required this.accountState, + required this.lspState, }) : super(key: key); @override Widget build(BuildContext context) { - if (isConnecting || message != null) { - return LoadingAnimatedText(isConnecting ? "" : message!); - } else { - final texts = context.texts(); - final themeData = Theme.of(context); + switch (accountState.connectionStatus) { + case ConnectionStatus.CONNECTING: + return const LoadingAnimatedText(); + case ConnectionStatus.CONNECTED: + final texts = context.texts(); + final themeData = Theme.of(context); - return BlocBuilder2( - builder: (context, accountState, lspState) { - return AutoSizeText( - (lspState != null && lspState.isChannelOpeningAvailiable && accountState.maxInboundLiquidity <= 0) - ? texts.status_text_ready - : texts.lsp_error_cannot_open_channel, - style: themeData.textTheme.bodyMedium?.copyWith( - color: themeData.isLightTheme ? BreezColors.grey[600] : themeData.colorScheme.onSecondary, - ), - textAlign: TextAlign.center, - minFontSize: MinFontSize(context).minFontSize, - stepGranularity: 0.1, - ); - }, - ); + final isChannelOpeningAvailable = lspState?.isChannelOpeningAvailable ?? false; + return AutoSizeText( + (isChannelOpeningAvailable && accountState.maxInboundLiquidity >= 0) + ? texts.status_text_ready + : texts.lsp_error_cannot_open_channel, + style: themeData.textTheme.bodyMedium?.copyWith( + color: themeData.isLightTheme ? BreezColors.grey[600] : themeData.colorScheme.onSecondary, + ), + textAlign: TextAlign.center, + minFontSize: MinFontSize(context).minFontSize, + stepGranularity: 0.1, + ); + default: + return const SizedBox(); } } } diff --git a/lib/routes/lnurl/payment/lnurl_payment_page.dart b/lib/routes/lnurl/payment/lnurl_payment_page.dart index 03b4c0f2e..025947ec2 100644 --- a/lib/routes/lnurl/payment/lnurl_payment_page.dart +++ b/lib/routes/lnurl/payment/lnurl_payment_page.dart @@ -228,7 +228,7 @@ class LNURLPaymentPageState extends State { return PaymentValidator( validatePayment: accBloc.validatePayment, currency: currencyState.bitcoinCurrency, - channelCreationPossible: lspState?.isChannelOpeningAvailiable ?? false, + channelCreationPossible: lspState?.isChannelOpeningAvailable ?? false, channelMinimumFee: channelMinimumFee, texts: context.texts(), ).validateIncoming(amount); diff --git a/lib/routes/lnurl/withdraw/lnurl_withdraw_dialog.dart b/lib/routes/lnurl/withdraw/lnurl_withdraw_dialog.dart index be2b8fe6a..a65cc85ef 100644 --- a/lib/routes/lnurl/withdraw/lnurl_withdraw_dialog.dart +++ b/lib/routes/lnurl/withdraw/lnurl_withdraw_dialog.dart @@ -105,7 +105,7 @@ class _LNURLWithdrawDialogState extends State with SingleTi textAlign: TextAlign.center, ) : LoadingAnimatedText( - texts.lnurl_withdraw_dialog_wait, + loadingMessage: texts.lnurl_withdraw_dialog_wait, textStyle: themeData.dialogTheme.contentTextStyle, textAlign: TextAlign.center, ), diff --git a/lib/routes/spontaneous_payment/spontaneous_payment_page.dart b/lib/routes/spontaneous_payment/spontaneous_payment_page.dart index 5dd52cf39..e72ab4392 100644 --- a/lib/routes/spontaneous_payment/spontaneous_payment_page.dart +++ b/lib/routes/spontaneous_payment/spontaneous_payment_page.dart @@ -118,7 +118,7 @@ class SpontaneousPaymentPageState extends State { validatePayment: accBloc.validatePayment, currency: currencyState.bitcoinCurrency, channelCreationPossible: - context.read().state?.isChannelOpeningAvailiable ?? false, + context.read().state?.isChannelOpeningAvailable ?? false, texts: context.texts(), ).validateOutgoing, style: theme.FieldTextStyle.textStyle), diff --git a/lib/routes/withdraw/widgets/withdraw_funds_amount_text_form_field.dart b/lib/routes/withdraw/widgets/withdraw_funds_amount_text_form_field.dart index 8547cf5a5..9d0f5e606 100644 --- a/lib/routes/withdraw/widgets/withdraw_funds_amount_text_form_field.dart +++ b/lib/routes/withdraw/widgets/withdraw_funds_amount_text_form_field.dart @@ -31,7 +31,7 @@ class WithdrawFundsAmountTextFormField extends AmountFormField { return PaymentValidator( currency: bitcoinCurrency, texts: context.texts(), - channelCreationPossible: context.read().state?.isChannelOpeningAvailiable ?? false, + channelCreationPossible: context.read().state?.isChannelOpeningAvailable ?? false, validatePayment: (amount, outgoing, channelCreationPossible, {channelMinimumFee}) { _log.v("Validating $amount $policy"); if (amount < policy.minValue) { diff --git a/lib/widgets/backup_in_progress_dialog.dart b/lib/widgets/backup_in_progress_dialog.dart index 15bc2818a..0fa2f2025 100644 --- a/lib/widgets/backup_in_progress_dialog.dart +++ b/lib/widgets/backup_in_progress_dialog.dart @@ -1,7 +1,7 @@ import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/backup/backup_bloc.dart'; import 'package:c_breez/bloc/backup/backup_state.dart'; -import 'package:c_breez/routes/home/widgets/annimated_loader_dialog.dart'; +import 'package:c_breez/routes/home/widgets/animated_loader_dialog.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/lib/widgets/loading_animated_text.dart b/lib/widgets/loading_animated_text.dart index 3114452f0..3c79ff5e2 100644 --- a/lib/widgets/loading_animated_text.dart +++ b/lib/widgets/loading_animated_text.dart @@ -3,13 +3,17 @@ import 'dart:async'; import 'package:flutter/material.dart'; class LoadingAnimatedText extends StatefulWidget { - final String _loadingMessage; + final String loadingMessage; final TextStyle? textStyle; final TextAlign? textAlign; final List textElements; - const LoadingAnimatedText(this._loadingMessage, - {this.textStyle, this.textAlign, this.textElements = const []}); + const LoadingAnimatedText({ + this.loadingMessage = "", + this.textStyle, + this.textAlign, + this.textElements = const [], + }); @override State createState() { @@ -46,7 +50,7 @@ class LoadingAnimatedTextState extends State { Theme.of(context).textTheme.bodyMedium?.copyWith( color: Theme.of(context).colorScheme.onSecondary, ), - text: widget._loadingMessage, + text: widget.loadingMessage, children: textElements ..addAll( [ diff --git a/lib/widgets/payment_dialogs/payment_request_info_dialog.dart b/lib/widgets/payment_dialogs/payment_request_info_dialog.dart index 420b6b840..a033bae8a 100644 --- a/lib/widgets/payment_dialogs/payment_request_info_dialog.dart +++ b/lib/widgets/payment_dialogs/payment_request_info_dialog.dart @@ -180,7 +180,7 @@ class PaymentRequestInfoDialogState extends State { controller: _invoiceAmountController, validatorFn: PaymentValidator( validatePayment: context.read().validatePayment, - channelCreationPossible: context.read().state?.isChannelOpeningAvailiable ?? false, + channelCreationPossible: context.read().state?.isChannelOpeningAvailable ?? false, currency: currencyState.bitcoinCurrency, texts: context.texts(), ).validateOutgoing, @@ -256,7 +256,7 @@ class PaymentRequestInfoDialogState extends State { final validationError = PaymentValidator( validatePayment: context.read().validatePayment, currency: currencyState.bitcoinCurrency, - channelCreationPossible: context.read().state?.isChannelOpeningAvailiable ?? false, + channelCreationPossible: context.read().state?.isChannelOpeningAvailable ?? false, texts: context.texts(), ).validateOutgoing( amountToPay(currencyState), diff --git a/lib/widgets/payment_dialogs/processing_payment/processing_payment_content.dart b/lib/widgets/payment_dialogs/processing_payment/processing_payment_content.dart index 36b67fb2e..cf1213687 100644 --- a/lib/widgets/payment_dialogs/processing_payment/processing_payment_content.dart +++ b/lib/widgets/payment_dialogs/processing_payment/processing_payment_content.dart @@ -37,7 +37,7 @@ class ProcessingPaymentContent extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ LoadingAnimatedText( - texts.processing_payment_dialog_wait, + loadingMessage: texts.processing_payment_dialog_wait, textStyle: themeData.dialogTheme.contentTextStyle, textAlign: TextAlign.center, ), diff --git a/lib/widgets/receivable_btc_box.dart b/lib/widgets/receivable_btc_box.dart index 5fd822242..8f59cc6f6 100644 --- a/lib/widgets/receivable_btc_box.dart +++ b/lib/widgets/receivable_btc_box.dart @@ -4,7 +4,6 @@ import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/account/account_bloc.dart'; import 'package:c_breez/bloc/currency/currency_bloc.dart'; import 'package:c_breez/bloc/lsp/lsp_bloc.dart'; -import 'package:c_breez/bloc/lsp/lsp_state.dart'; import 'package:c_breez/theme/theme_provider.dart' as theme; import 'package:c_breez/utils/min_font_size.dart'; import 'package:c_breez/widgets/warning_box.dart'; @@ -31,11 +30,12 @@ class ReceivableBTCBoxState extends State { late final texts = context.texts(); late final currencyState = context.read().state; late final accountState = context.read().state; - late final lspBloc = context.read(); - late final lspState = lspBloc.state; + late final lspState = context.read().state; @override Widget build(BuildContext context) { + final isChannelOpeningAvailable = lspState?.isChannelOpeningAvailable ?? false; + return Container( width: MediaQuery.of(context).size.width, height: 164, @@ -46,9 +46,7 @@ class ReceivableBTCBoxState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - (accountState.maxInboundLiquidity <= 0 && - lspState != null && - !lspState!.isChannelOpeningAvailiable) + (!isChannelOpeningAvailable && accountState.maxInboundLiquidity <= 0) ? WarningBox( boxPadding: const EdgeInsets.only(top: 8), child: AutoSizeText( @@ -60,16 +58,18 @@ class ReceivableBTCBoxState extends State { widget.receiveLabel ?? texts.invoice_receive_label( currencyState.bitcoinCurrency.format( - lspState!.isChannelOpeningAvailiable - ? accountState.maxAllowedToReceive - : accountState.maxInboundLiquidity, + (isChannelOpeningAvailable) + ? accountState.maxInboundLiquidity + : accountState.maxAllowedToReceive, ), ), style: theme.textStyle, maxLines: 1, minFontSize: MinFontSize(context).minFontSize, ), - accountState.isFeesApplicable ? FeeMessage() : const SizedBox(), + isChannelOpeningAvailable && accountState.isFeesApplicable + ? FeeMessage(lspState!.lspInfo!.openingFeeParamsList.values.first) + : const SizedBox(), ], ), ), @@ -78,27 +78,27 @@ class ReceivableBTCBoxState extends State { } class FeeMessage extends StatelessWidget { + final OpeningFeeParams openingFeeParams; + + const FeeMessage(this.openingFeeParams); + @override Widget build(BuildContext context) { final themeData = Theme.of(context); - return BlocBuilder(builder: (context, lspState) { - final lspInfo = lspState?.lspInfo; - return lspInfo != null && lspInfo.openingFeeParamsList.values.isNotEmpty - ? WarningBox( - boxPadding: const EdgeInsets.fromLTRB(16, 30, 16, 16), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - formatFeeMessage(context, lspInfo.openingFeeParamsList.values.first), - style: themeData.textTheme.titleLarge, - textAlign: TextAlign.center, - ), - ], - ), - ) - : const SizedBox(); - }); + + return WarningBox( + boxPadding: const EdgeInsets.fromLTRB(16, 30, 16, 16), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + formatFeeMessage(context, openingFeeParams), + style: themeData.textTheme.titleLarge, + textAlign: TextAlign.center, + ), + ], + ), + ); } String formatFeeMessage(BuildContext context, OpeningFeeParams openingFeeParams) { From bc91d7d3911439d25b79cde965059d0153095f3a Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 10:01:56 +0300 Subject: [PATCH 2/6] Delete reverse_swaps_in_progress_error_message.dart --- .../in_progress/reverse_swaps_in_progress_error_message.dart | 1 - 1 file changed, 1 deletion(-) delete mode 100644 lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_error_message.dart diff --git a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_error_message.dart b/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_error_message.dart deleted file mode 100644 index 8b1378917..000000000 --- a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_error_message.dart +++ /dev/null @@ -1 +0,0 @@ - From 18cc62e777fc26728827ac3aa8c360802a3ee184 Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 20:11:55 +0300 Subject: [PATCH 3/6] Display ReverseSwapsInProgressPage when there are "reverse swaps in progress" --- .../rev_swap_in_progress_bloc.dart | 9 ++++++-- .../rev_swap_in_progress_state.dart | 2 +- .../swap_in_progress_bloc.dart | 1 + .../reverse_swaps_in_progress_page.dart | 21 +++++++------------ .../reverse_swap/reverse_swap_page.dart | 2 +- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart index 51fc1a689..1e73cc53f 100644 --- a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart +++ b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart @@ -29,10 +29,15 @@ class RevSwapsInProgressBloc extends Cubit { final texts = getSystemAppLocalizations(); try { final reverseSwapsInProgress = await _breezLib.inProgressReverseSwaps(); - emit(state.copyWith(reverseSwapsInProgress: reverseSwapsInProgress, isLoading: false, error: "")); + for (var revSwapInfo in reverseSwapsInProgress) { + _log.i( + "Reverse Swap ${revSwapInfo.id} to ${revSwapInfo.claimPubkey} for ${revSwapInfo.onchainAmountSat} sats status:${revSwapInfo.status.name}", + ); + } + emit(RevSwapsInProgressState(reverseSwapsInProgress: reverseSwapsInProgress)); } catch (e) { final errorMessage = extractExceptionMessage(e, texts); - emit(state.copyWith(isLoading: false, error: errorMessage)); + emit(RevSwapsInProgressState(error: errorMessage)); timer.cancel(); _log.i("reverse swaps in progress polling finished due to error"); } diff --git a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_state.dart b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_state.dart index c26fc2295..2190c33a3 100644 --- a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_state.dart +++ b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_state.dart @@ -8,7 +8,7 @@ class RevSwapsInProgressState { RevSwapsInProgressState({ this.reverseSwapsInProgress = const [], this.isLoading = false, - this.error, + this.error = "", }); RevSwapsInProgressState.initial() : this(); diff --git a/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart b/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart index 06d4b2178..13045b3f4 100644 --- a/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart +++ b/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart @@ -37,6 +37,7 @@ class SwapInProgressBloc extends Cubit { } else { swapUnused = (await _breezLib.receiveOnchain(reqData: const ReceiveOnchainRequest())); } + _log.i("swapInProgress: $swapInProgress, swapUnused: $swapUnused"); emit(SwapInProgressState(swapInProgress, swapUnused)); } catch (e) { final errorMessage = extractExceptionMessage(e, texts); diff --git a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart b/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart index ac169e662..a25b5b33f 100644 --- a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart +++ b/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart @@ -15,22 +15,15 @@ class ReverseSwapsInProgressPage extends StatefulWidget { class _ReverseSwapsInProgressPageState extends State { @override Widget build(BuildContext context) { - final texts = context.texts(); - return Scaffold( - appBar: AppBar( - leading: const back_button.BackButton(), - title: Text(texts.swap_in_progress_title), - ), - body: ListView.builder( - shrinkWrap: true, - itemCount: widget.reverseSwaps.length, - itemBuilder: (context, index) { - ReverseSwapInfo reverseSwap = widget.reverseSwaps[index]; + return ListView.builder( + shrinkWrap: true, + itemCount: widget.reverseSwaps.length, + itemBuilder: (context, index) { + ReverseSwapInfo reverseSwap = widget.reverseSwaps[index]; - return ReverseSwapInprogress(reverseSwap: reverseSwap); - }, - ), + return ReverseSwapInprogress(reverseSwap: reverseSwap); + }, ); } } diff --git a/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart b/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart index 77beb8a27..572844d33 100644 --- a/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart +++ b/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart @@ -128,7 +128,7 @@ class _ReverseSwapPageState extends State { } if (inProgressSwapState.reverseSwapsInProgress.isNotEmpty) { - ReverseSwapsInProgressPage( + return ReverseSwapsInProgressPage( reverseSwaps: inProgressSwapState.reverseSwapsInProgress, ); } From 736f3254efd290ea183968c71ff0b30ecb32b98b Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 20:56:34 +0300 Subject: [PATCH 4/6] Beautify SwapErrorMessage --- lib/routes/subswap/swap/swap_page.dart | 69 +++++++++++++------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/lib/routes/subswap/swap/swap_page.dart b/lib/routes/subswap/swap/swap_page.dart index 9b00d116f..6fd06200c 100644 --- a/lib/routes/subswap/swap/swap_page.dart +++ b/lib/routes/subswap/swap/swap_page.dart @@ -8,6 +8,7 @@ import 'package:c_breez/routes/subswap/swap/widgets/deposit_widget.dart'; import 'package:c_breez/routes/subswap/swap/widgets/inprogress_swap.dart'; import 'package:c_breez/routes/subswap/swap/widgets/swap_error_message.dart'; import 'package:c_breez/services/injector.dart'; +import 'package:c_breez/utils/exceptions.dart'; import 'package:c_breez/widgets/back_button.dart' as back_button; import 'package:c_breez/widgets/single_button_bottom_bar.dart'; import 'package:flutter/material.dart'; @@ -31,41 +32,41 @@ class SwapPageState extends State { @override Widget build(BuildContext context) { - return BlocBuilder(builder: (context, swapState) { - final SwapInProgressBloc swapInBloc = context.read(); - final texts = context.texts(); - return Scaffold( - appBar: AppBar( - automaticallyImplyLeading: false, - leading: const back_button.BackButton(), - title: Text(texts.invoice_btc_address_title), - ), - body: swapState.isLoading - ? const AddressWidgetPlaceholder() - : SingleChildScrollView( - child: Column( - children: [ - ...[ - if (swapState.unused != null) - DepositWidget(swapState.unused!) - else if (swapState.inProgress != null) - SwapInprogress(swap: swapState.inProgress!) + final texts = context.texts(); + + return BlocBuilder( + builder: (context, swapState) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + leading: const back_button.BackButton(), + title: Text(texts.invoice_btc_address_title), + ), + body: swapState.isLoading + ? const AddressWidgetPlaceholder() + : SingleChildScrollView( + child: Column( + children: [ + ...[ + if (swapState.unused != null) + DepositWidget(swapState.unused!) + else if (swapState.inProgress != null) + SwapInprogress(swap: swapState.inProgress!) + ], + if (swapState.error != null) ...[ + SwapErrorMessage(errorMessage: extractExceptionMessage(swapState.error!, texts)), + ] ], - if (swapState.error != null) ...[ - SwapErrorMessage(errorMessage: swapState.error.toString()), - ] - ], + ), ), - ), - bottomNavigationBar: swapState.error != null - ? SingleButtonBottomBar( - text: texts.invoice_btc_address_action_retry, - onPressed: () async { - swapInBloc.pollSwapAddress(); - }, - ) - : const SizedBox(), - ); - }); + bottomNavigationBar: swapState.error != null + ? SingleButtonBottomBar( + text: texts.invoice_btc_address_action_retry, + onPressed: () => context.read().pollSwapAddress(), + ) + : const SizedBox(), + ); + }, + ); } } From 21d9d7e85718b9a0361f580cc32112871ffee15c Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 20:56:55 +0300 Subject: [PATCH 5/6] Pass ReverseSwapFeesRequest to fetchReverseSwapFees --- lib/bloc/fee_options/fee_options_bloc.dart | 9 ++++----- .../in_progress/reverse_swaps_in_progress_page.dart | 2 -- lib/routes/withdraw/reverse_swap/reverse_swap_page.dart | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/bloc/fee_options/fee_options_bloc.dart b/lib/bloc/fee_options/fee_options_bloc.dart index fb51c69b9..8cdcb1a71 100644 --- a/lib/bloc/fee_options/fee_options_bloc.dart +++ b/lib/bloc/fee_options/fee_options_bloc.dart @@ -17,12 +17,11 @@ class FeeOptionsBloc extends Cubit { FeeOptionsBloc(this._breezLib) : super(FeeOptionsState.initial()); /// Lookup the most recent reverse swap pair info using the Boltz API - Future fetchReverseSwapFees({int? amountSat}) async { + Future fetchReverseSwapFees({int? sendAmountSat}) async { try { - _log.v("Estimate reverse swap fees for: $amountSat"); - ReverseSwapPairInfo reverseSwapPairInfo = await _breezLib.fetchReverseSwapFees( - sendAmountSat: amountSat, - ); + _log.v("Estimate reverse swap fees for: $sendAmountSat"); + final req = ReverseSwapFeesRequest(sendAmountSat: sendAmountSat); + ReverseSwapPairInfo reverseSwapPairInfo = await _breezLib.fetchReverseSwapFees(req: req); _log.v("Total estimated fees for reverse swap: ${reverseSwapPairInfo.totalEstimatedFees}"); emit(state.copyWith(reverseSwapPairInfo: reverseSwapPairInfo, error: "")); return reverseSwapPairInfo; diff --git a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart b/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart index a25b5b33f..f8f31228c 100644 --- a/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart +++ b/lib/routes/withdraw/reverse_swap/in_progress/reverse_swaps_in_progress_page.dart @@ -1,7 +1,5 @@ import 'package:breez_sdk/bridge_generated.dart'; -import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/routes/withdraw/reverse_swap/in_progress/reverse_swap_in_progress.dart'; -import 'package:c_breez/widgets/back_button.dart' as back_button; import 'package:flutter/material.dart'; class ReverseSwapsInProgressPage extends StatefulWidget { diff --git a/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart b/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart index 572844d33..f4a7dc477 100644 --- a/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart +++ b/lib/routes/withdraw/reverse_swap/reverse_swap_page.dart @@ -196,7 +196,7 @@ class _ReverseSwapPageState extends State { final feeOptionsBloc = context.read(); int amount = _getAmount(); final boltzFees = - await feeOptionsBloc.fetchReverseSwapFees(amountSat: amount); + await feeOptionsBloc.fetchReverseSwapFees(sendAmountSat: amount); navigator.push( FadeInRoute( From 53a22a0ef50bba19db48641ac2fdc77334c4aee9 Mon Sep 17 00:00:00 2001 From: Erdem Yerebasmaz Date: Wed, 4 Oct 2023 22:06:03 +0300 Subject: [PATCH 6/6] Apply breez_bridge -> breez_sdk file renaming --- integration_test/breez_sdk_test.dart | 2 +- ios/Podfile.lock | 8 ++++---- lib/background/breez_service_initializer.dart | 2 +- lib/bloc/account/account_bloc.dart | 2 +- lib/bloc/backup/backup_bloc.dart | 2 +- lib/bloc/buy_bitcoin/moonpay/moonpay_bloc.dart | 2 +- lib/bloc/currency/currency_bloc.dart | 2 +- lib/bloc/fee_options/fee_options_bloc.dart | 2 +- lib/bloc/input/input_bloc.dart | 2 +- lib/bloc/lsp/lsp_bloc.dart | 2 +- lib/bloc/refund/refund_bloc.dart | 2 +- .../rev_swap_in_progress/rev_swap_in_progress_bloc.dart | 2 +- lib/bloc/reverse_swap/reverse_swap_bloc.dart | 2 +- lib/bloc/swap_in_progress/swap_in_progress_bloc.dart | 2 +- lib/bloc/sweep/sweep_bloc.dart | 2 +- lib/config.dart | 2 +- lib/routes/subswap/swap/swap_page.dart | 2 +- lib/services/injector.dart | 2 +- test/mock/breez_bridge_mock.dart | 2 +- test/mock/injector_mock.dart | 2 +- 20 files changed, 23 insertions(+), 23 deletions(-) diff --git a/integration_test/breez_sdk_test.dart b/integration_test/breez_sdk_test.dart index 3ddc6b7a6..941394f08 100644 --- a/integration_test/breez_sdk_test.dart +++ b/integration_test/breez_sdk_test.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 6ebd2d8b6..eb8487c3d 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -29,11 +29,11 @@ PODS: - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - - FirebaseCoreInternal (10.15.0): + - FirebaseCoreInternal (10.16.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseDynamicLinks (10.15.0): - FirebaseCore (~> 10.0) - - FirebaseInstallations (10.15.0): + - FirebaseInstallations (10.16.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) @@ -283,9 +283,9 @@ SPEC CHECKSUMS: firebase_dynamic_links: 52f5d054c676061cf17f4390f3bad9cc964cfdeb firebase_messaging: 91ec967913a5d144f951b3c3ac17a57796d38735 FirebaseCore: 2cec518b43635f96afe7ac3a9c513e47558abd2e - FirebaseCoreInternal: 2f4bee5ed00301b5e56da0849268797a2dd31fb4 + FirebaseCoreInternal: 26233f705cc4531236818a07ac84d20c333e505a FirebaseDynamicLinks: 206d4ed3efd2b722822598017f3980d9fda89815 - FirebaseInstallations: cae95cab0f965ce05b805189de1d4c70b11c76fb + FirebaseInstallations: b822f91a61f7d1ba763e5ccc9d4f2e6f2ed3b3ee FirebaseMessaging: 0c0ae1eb722ef0c07f7801e5ded8dccd1357d6d4 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_fgbg: 31c0d1140a131daea2d342121808f6aa0dcd879d diff --git a/lib/background/breez_service_initializer.dart b/lib/background/breez_service_initializer.dart index 7880b6428..87879a881 100644 --- a/lib/background/breez_service_initializer.dart +++ b/lib/background/breez_service_initializer.dart @@ -1,6 +1,6 @@ // ignore_for_file: avoid_print import 'package:bip39/bip39.dart' as bip39; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:c_breez/bloc/account/credentials_manager.dart'; import 'package:c_breez/config.dart'; import 'package:c_breez/services/injector.dart'; diff --git a/lib/bloc/account/account_bloc.dart b/lib/bloc/account/account_bloc.dart index c3eef2b95..69019c193 100644 --- a/lib/bloc/account/account_bloc.dart +++ b/lib/bloc/account/account_bloc.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:bip39/bip39.dart' as bip39; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart' as sdk; import 'package:c_breez/bloc/account/account_state.dart'; import 'package:c_breez/bloc/account/credentials_manager.dart'; diff --git a/lib/bloc/backup/backup_bloc.dart b/lib/bloc/backup/backup_bloc.dart index b705502cd..3e89447dc 100644 --- a/lib/bloc/backup/backup_bloc.dart +++ b/lib/bloc/backup/backup_bloc.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart' as sdk; import 'package:c_breez/bloc/backup/backup_state.dart'; import 'package:fimber/fimber.dart'; diff --git a/lib/bloc/buy_bitcoin/moonpay/moonpay_bloc.dart b/lib/bloc/buy_bitcoin/moonpay/moonpay_bloc.dart index f6311343c..02e1dfdcc 100644 --- a/lib/bloc/buy_bitcoin/moonpay/moonpay_bloc.dart +++ b/lib/bloc/buy_bitcoin/moonpay/moonpay_bloc.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart' as sdk; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/buy_bitcoin/moonpay/moonpay_state.dart'; diff --git a/lib/bloc/currency/currency_bloc.dart b/lib/bloc/currency/currency_bloc.dart index 3e9ce4c6d..2e1ab3510 100644 --- a/lib/bloc/currency/currency_bloc.dart +++ b/lib/bloc/currency/currency_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:c_breez/bloc/currency/currency_state.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart'; diff --git a/lib/bloc/fee_options/fee_options_bloc.dart b/lib/bloc/fee_options/fee_options_bloc.dart index 8cdcb1a71..9da9ac30f 100644 --- a/lib/bloc/fee_options/fee_options_bloc.dart +++ b/lib/bloc/fee_options/fee_options_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/fee_options/fee_option.dart'; diff --git a/lib/bloc/input/input_bloc.dart b/lib/bloc/input/input_bloc.dart index a890f26ac..616e6701a 100644 --- a/lib/bloc/input/input_bloc.dart +++ b/lib/bloc/input/input_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:c_breez/bloc/input/input_state.dart'; import 'package:c_breez/models/invoice.dart'; diff --git a/lib/bloc/lsp/lsp_bloc.dart b/lib/bloc/lsp/lsp_bloc.dart index d2196f87e..bdb665873 100644 --- a/lib/bloc/lsp/lsp_bloc.dart +++ b/lib/bloc/lsp/lsp_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart'; diff --git a/lib/bloc/refund/refund_bloc.dart b/lib/bloc/refund/refund_bloc.dart index 2216c3125..c19348a07 100644 --- a/lib/bloc/refund/refund_bloc.dart +++ b/lib/bloc/refund/refund_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:c_breez/bloc/refund/refund_state.dart'; import 'package:fimber/fimber.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart index 1e73cc53f..9bd6cc076 100644 --- a/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart +++ b/lib/bloc/rev_swap_in_progress/rev_swap_in_progress_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/rev_swap_in_progress/rev_swap_in_progress_state.dart'; import 'package:c_breez/utils/exceptions.dart'; diff --git a/lib/bloc/reverse_swap/reverse_swap_bloc.dart b/lib/bloc/reverse_swap/reverse_swap_bloc.dart index 8c026a88b..b8a2664fc 100644 --- a/lib/bloc/reverse_swap/reverse_swap_bloc.dart +++ b/lib/bloc/reverse_swap/reverse_swap_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/reverse_swap/reverse_swap_state.dart'; diff --git a/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart b/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart index 13045b3f4..801a0ccc1 100644 --- a/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart +++ b/lib/bloc/swap_in_progress/swap_in_progress_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/swap_in_progress/swap_in_progress_state.dart'; diff --git a/lib/bloc/sweep/sweep_bloc.dart b/lib/bloc/sweep/sweep_bloc.dart index bbccd3e3a..74707241e 100644 --- a/lib/bloc/sweep/sweep_bloc.dart +++ b/lib/bloc/sweep/sweep_bloc.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/sweep/sweep_state.dart'; diff --git a/lib/config.dart b/lib/config.dart index 59d32de8b..94a488fed 100644 --- a/lib/config.dart +++ b/lib/config.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart' as sdk; import 'package:c_breez/services/injector.dart'; import 'package:fimber/fimber.dart'; diff --git a/lib/routes/subswap/swap/swap_page.dart b/lib/routes/subswap/swap/swap_page.dart index 6fd06200c..c169d38e0 100644 --- a/lib/routes/subswap/swap/swap_page.dart +++ b/lib/routes/subswap/swap/swap_page.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/bloc/swap_in_progress/swap_in_progress_bloc.dart'; diff --git a/lib/services/injector.dart b/lib/services/injector.dart index 97bfc9fb8..079d306c2 100644 --- a/lib/services/injector.dart +++ b/lib/services/injector.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:c_breez/services/breez_server.dart'; import 'package:c_breez/services/deep_links.dart'; import 'package:c_breez/services/device.dart'; diff --git a/test/mock/breez_bridge_mock.dart b/test/mock/breez_bridge_mock.dart index 77ebc7170..7d8d14087 100644 --- a/test/mock/breez_bridge_mock.dart +++ b/test/mock/breez_bridge_mock.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'dart:typed_data'; -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:breez_sdk/bridge_generated.dart'; import 'package:mockito/mockito.dart'; import 'package:rxdart/rxdart.dart'; diff --git a/test/mock/injector_mock.dart b/test/mock/injector_mock.dart index d0a6ec261..837c46eea 100644 --- a/test/mock/injector_mock.dart +++ b/test/mock/injector_mock.dart @@ -1,4 +1,4 @@ -import 'package:breez_sdk/breez_bridge.dart'; +import 'package:breez_sdk/breez_sdk.dart'; import 'package:c_breez/services/breez_server.dart'; import 'package:c_breez/services/device.dart'; import 'package:c_breez/services/injector.dart';