diff --git a/test/widget_tests/address_book_card_test.dart b/test/widget_tests/address_book_card_test.dart
index d429f130c..a82e31323 100644
--- a/test/widget_tests/address_book_card_test.dart
+++ b/test/widget_tests/address_book_card_test.dart
@@ -50,5 +50,7 @@ void main() {
         ),
       ),
     );
+
+    expect(find.text("John Doe"), findsOneWidget);
   });
 }
diff --git a/test/widget_tests/custom_loading_overlay_test.dart b/test/widget_tests/custom_loading_overlay_test.dart
new file mode 100644
index 000000000..2e1ac4846
--- /dev/null
+++ b/test/widget_tests/custom_loading_overlay_test.dart
@@ -0,0 +1,26 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+import 'package:stackwallet/utilities/theme/light_colors.dart';
+import 'package:stackwallet/utilities/theme/stack_colors.dart';
+import 'package:stackwallet/widgets/custom_loading_overlay.dart';
+
+void main() {
+  testWidgets("Test wiget displays correct text", (widgetTester) async {
+    const customLoadingOverlay =
+        CustomLoadingOverlay(message: "Updating exchange rate", eventBus: null);
+    await widgetTester.pumpWidget(
+      MaterialApp(
+        theme: ThemeData(
+          extensions: [
+            StackColors.fromStackColorTheme(LightColors()),
+          ],
+        ),
+        home: const Material(
+          child: customLoadingOverlay,
+        ),
+      ),
+    );
+
+    expect(find.text("Updating exchange rate"), findsOneWidget);
+  });
+}
diff --git a/test/widget_tests/wallet_info_row/wallet_info_row_test.dart b/test/widget_tests/wallet_info_row/wallet_info_row_test.dart
new file mode 100644
index 000000000..6c6c77d48
--- /dev/null
+++ b/test/widget_tests/wallet_info_row/wallet_info_row_test.dart
@@ -0,0 +1,68 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:flutter_test/flutter_test.dart';
+import 'package:mockito/annotations.dart';
+import 'package:mockito/mockito.dart';
+import 'package:stackwallet/providers/providers.dart';
+import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart';
+import 'package:stackwallet/services/coins/coin_service.dart';
+import 'package:stackwallet/services/coins/manager.dart';
+import 'package:stackwallet/services/node_service.dart';
+import 'package:stackwallet/services/wallets.dart';
+import 'package:stackwallet/services/wallets_service.dart';
+import 'package:stackwallet/utilities/listenable_map.dart';
+import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance_future.dart';
+import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_coin_icon.dart';
+import 'package:stackwallet/widgets/wallet_info_row/wallet_info_row.dart';
+import 'package:stackwallet/utilities/enums/coin_enum.dart';
+import 'package:stackwallet/utilities/theme/light_colors.dart';
+import 'package:stackwallet/utilities/theme/stack_colors.dart';
+
+import 'wallet_info_row_test.mocks.dart';
+
+@GenerateMocks([
+  Wallets,
+  WalletsService,
+  BitcoinWallet
+], customMocks: [
+  MockSpec<NodeService>(returnNullOnMissingStub: true),
+  MockSpec<Manager>(returnNullOnMissingStub: true),
+  MockSpec<CoinServiceAPI>(returnNullOnMissingStub: true),
+  // MockSpec<WalletsService>(returnNullOnMissingStub: true),
+])
+void main() {
+  testWidgets("Test wallet info row displays correctly", (widgetTester) async {
+    final wallets = MockWallets();
+    final CoinServiceAPI wallet = MockBitcoinWallet();
+    when(wallet.coin).thenAnswer((_) => Coin.bitcoin);
+    when(wallet.walletName).thenAnswer((_) => "some wallet");
+    when(wallet.walletId).thenAnswer((_) => "some-wallet-id");
+
+    final manager = Manager(wallet);
+    when(wallets.getManagerProvider("some-wallet-id")).thenAnswer(
+        (realInvocation) => ChangeNotifierProvider((ref) => manager));
+
+    const walletInfoRow = WalletInfoRow(walletId: "some-wallet-id");
+    await widgetTester.pumpWidget(
+      ProviderScope(
+        overrides: [
+          walletsChangeNotifierProvider.overrideWithValue(wallets),
+        ],
+        child: MaterialApp(
+          theme: ThemeData(
+            extensions: [
+              StackColors.fromStackColorTheme(
+                LightColors(),
+              ),
+            ],
+          ),
+          home: const Material(
+            child: walletInfoRow,
+          ),
+        ),
+      ),
+    );
+
+    expect(find.text("some wallet"), findsOneWidget);
+  });
+}
diff --git a/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart b/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart
new file mode 100644
index 000000000..3a5944e19
--- /dev/null
+++ b/test/widget_tests/wallet_info_row/wallet_info_row_test.mocks.dart
@@ -0,0 +1,1273 @@
+// Mocks generated by Mockito 5.2.0 from annotations
+// in stackwallet/test/widget_tests/wallet_info_row/wallet_info_row_test.dart.
+// Do not manually edit this file.
+
+import 'dart:async' as _i16;
+import 'dart:ui' as _i18;
+
+import 'package:decimal/decimal.dart' as _i9;
+import 'package:flutter/foundation.dart' as _i4;
+import 'package:flutter_riverpod/flutter_riverpod.dart' as _i5;
+import 'package:mockito/mockito.dart' as _i1;
+import 'package:stackwallet/electrumx_rpc/cached_electrumx.dart' as _i11;
+import 'package:stackwallet/electrumx_rpc/electrumx.dart' as _i10;
+import 'package:stackwallet/models/models.dart' as _i8;
+import 'package:stackwallet/models/node_model.dart' as _i20;
+import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as _i19;
+import 'package:stackwallet/services/coins/coin_service.dart' as _i13;
+import 'package:stackwallet/services/coins/manager.dart' as _i6;
+import 'package:stackwallet/services/node_service.dart' as _i3;
+import 'package:stackwallet/services/transaction_notification_tracker.dart'
+    as _i7;
+import 'package:stackwallet/services/wallets.dart' as _i14;
+import 'package:stackwallet/services/wallets_service.dart' as _i2;
+import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i15;
+import 'package:stackwallet/utilities/flutter_secure_storage_interface.dart'
+    as _i12;
+import 'package:stackwallet/utilities/prefs.dart' as _i17;
+
+// ignore_for_file: type=lint
+// ignore_for_file: avoid_redundant_argument_values
+// ignore_for_file: avoid_setters_without_getters
+// ignore_for_file: comment_references
+// ignore_for_file: implementation_imports
+// ignore_for_file: invalid_use_of_visible_for_testing_member
+// ignore_for_file: prefer_const_constructors
+// ignore_for_file: unnecessary_parenthesis
+// ignore_for_file: camel_case_types
+
+class _FakeWalletsService_0 extends _i1.Fake implements _i2.WalletsService {}
+
+class _FakeNodeService_1 extends _i1.Fake implements _i3.NodeService {}
+
+class _FakeChangeNotifierProvider_2<Notifier extends _i4.ChangeNotifier?>
+    extends _i1.Fake implements _i5.ChangeNotifierProvider<Notifier> {}
+
+class _FakeManager_3 extends _i1.Fake implements _i6.Manager {}
+
+class _FakeTransactionNotificationTracker_4 extends _i1.Fake
+    implements _i7.TransactionNotificationTracker {}
+
+class _FakeUtxoData_5 extends _i1.Fake implements _i8.UtxoData {}
+
+class _FakeDecimal_6 extends _i1.Fake implements _i9.Decimal {}
+
+class _FakeFeeObject_7 extends _i1.Fake implements _i8.FeeObject {}
+
+class _FakeTransactionData_8 extends _i1.Fake implements _i8.TransactionData {}
+
+class _FakeElectrumX_9 extends _i1.Fake implements _i10.ElectrumX {}
+
+class _FakeCachedElectrumX_10 extends _i1.Fake implements _i11.CachedElectrumX {
+}
+
+class _FakeElectrumXNode_11 extends _i1.Fake implements _i10.ElectrumXNode {}
+
+class _FakeFlutterSecureStorageInterface_12 extends _i1.Fake
+    implements _i12.FlutterSecureStorageInterface {}
+
+class _FakeCoinServiceAPI_13 extends _i1.Fake implements _i13.CoinServiceAPI {}
+
+/// A class which mocks [Wallets].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockWallets extends _i1.Mock implements _i14.Wallets {
+  MockWallets() {
+    _i1.throwOnMissingStub(this);
+  }
+
+  @override
+  _i2.WalletsService get walletsService =>
+      (super.noSuchMethod(Invocation.getter(#walletsService),
+          returnValue: _FakeWalletsService_0()) as _i2.WalletsService);
+  @override
+  set walletsService(_i2.WalletsService? _walletsService) =>
+      super.noSuchMethod(Invocation.setter(#walletsService, _walletsService),
+          returnValueForMissingStub: null);
+  @override
+  _i3.NodeService get nodeService =>
+      (super.noSuchMethod(Invocation.getter(#nodeService),
+          returnValue: _FakeNodeService_1()) as _i3.NodeService);
+  @override
+  set nodeService(_i3.NodeService? _nodeService) =>
+      super.noSuchMethod(Invocation.setter(#nodeService, _nodeService),
+          returnValueForMissingStub: null);
+  @override
+  bool get hasWallets =>
+      (super.noSuchMethod(Invocation.getter(#hasWallets), returnValue: false)
+          as bool);
+  @override
+  List<_i5.ChangeNotifierProvider<_i6.Manager>> get managerProviders =>
+      (super.noSuchMethod(Invocation.getter(#managerProviders),
+              returnValue: <_i5.ChangeNotifierProvider<_i6.Manager>>[])
+          as List<_i5.ChangeNotifierProvider<_i6.Manager>>);
+  @override
+  List<_i6.Manager> get managers =>
+      (super.noSuchMethod(Invocation.getter(#managers),
+          returnValue: <_i6.Manager>[]) as List<_i6.Manager>);
+  @override
+  bool get hasListeners =>
+      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
+          as bool);
+  @override
+  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
+      returnValueForMissingStub: null);
+  @override
+  List<String> getWalletIdsFor({_i15.Coin? coin}) => (super.noSuchMethod(
+      Invocation.method(#getWalletIdsFor, [], {#coin: coin}),
+      returnValue: <String>[]) as List<String>);
+  @override
+  Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>
+      getManagerProvidersByCoin() =>
+          (super.noSuchMethod(Invocation.method(#getManagerProvidersByCoin, []),
+                  returnValue: <_i15.Coin,
+                      List<_i5.ChangeNotifierProvider<_i6.Manager>>>{})
+              as Map<_i15.Coin, List<_i5.ChangeNotifierProvider<_i6.Manager>>>);
+  @override
+  _i5.ChangeNotifierProvider<_i6.Manager> getManagerProvider(
+          String? walletId) =>
+      (super.noSuchMethod(Invocation.method(#getManagerProvider, [walletId]),
+              returnValue: _FakeChangeNotifierProvider_2<_i6.Manager>())
+          as _i5.ChangeNotifierProvider<_i6.Manager>);
+  @override
+  _i6.Manager getManager(String? walletId) =>
+      (super.noSuchMethod(Invocation.method(#getManager, [walletId]),
+          returnValue: _FakeManager_3()) as _i6.Manager);
+  @override
+  void addWallet({String? walletId, _i6.Manager? manager}) =>
+      super.noSuchMethod(
+          Invocation.method(
+              #addWallet, [], {#walletId: walletId, #manager: manager}),
+          returnValueForMissingStub: null);
+  @override
+  void removeWallet({String? walletId}) => super.noSuchMethod(
+      Invocation.method(#removeWallet, [], {#walletId: walletId}),
+      returnValueForMissingStub: null);
+  @override
+  _i16.Future<void> load(_i17.Prefs? prefs) => (super.noSuchMethod(
+      Invocation.method(#load, [prefs]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> loadAfterStackRestore(
+          _i17.Prefs? prefs, List<_i6.Manager>? managers) =>
+      (super.noSuchMethod(
+              Invocation.method(#loadAfterStackRestore, [prefs, managers]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  void addListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#addListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void removeListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void notifyListeners() =>
+      super.noSuchMethod(Invocation.method(#notifyListeners, []),
+          returnValueForMissingStub: null);
+}
+
+/// A class which mocks [WalletsService].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockWalletsService extends _i1.Mock implements _i2.WalletsService {
+  MockWalletsService() {
+    _i1.throwOnMissingStub(this);
+  }
+
+  @override
+  _i16.Future<Map<String, _i2.WalletInfo>> get walletNames =>
+      (super.noSuchMethod(Invocation.getter(#walletNames),
+              returnValue: Future<Map<String, _i2.WalletInfo>>.value(
+                  <String, _i2.WalletInfo>{}))
+          as _i16.Future<Map<String, _i2.WalletInfo>>);
+  @override
+  bool get hasListeners =>
+      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<bool> renameWallet(
+          {String? from, String? to, bool? shouldNotifyListeners}) =>
+      (super.noSuchMethod(
+          Invocation.method(#renameWallet, [], {
+            #from: from,
+            #to: to,
+            #shouldNotifyListeners: shouldNotifyListeners
+          }),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<void> addExistingStackWallet(
+          {String? name,
+          String? walletId,
+          _i15.Coin? coin,
+          bool? shouldNotifyListeners}) =>
+      (super.noSuchMethod(
+              Invocation.method(#addExistingStackWallet, [], {
+                #name: name,
+                #walletId: walletId,
+                #coin: coin,
+                #shouldNotifyListeners: shouldNotifyListeners
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<String?> addNewWallet(
+          {String? name, _i15.Coin? coin, bool? shouldNotifyListeners}) =>
+      (super.noSuchMethod(
+          Invocation.method(#addNewWallet, [], {
+            #name: name,
+            #coin: coin,
+            #shouldNotifyListeners: shouldNotifyListeners
+          }),
+          returnValue: Future<String?>.value()) as _i16.Future<String?>);
+  @override
+  _i16.Future<List<String>> getFavoriteWalletIds() =>
+      (super.noSuchMethod(Invocation.method(#getFavoriteWalletIds, []),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  _i16.Future<void> saveFavoriteWalletIds(List<String>? walletIds) => (super
+          .noSuchMethod(Invocation.method(#saveFavoriteWalletIds, [walletIds]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+      as _i16.Future<void>);
+  @override
+  _i16.Future<void> addFavorite(String? walletId) => (super.noSuchMethod(
+      Invocation.method(#addFavorite, [walletId]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> removeFavorite(String? walletId) => (super.noSuchMethod(
+      Invocation.method(#removeFavorite, [walletId]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> moveFavorite({int? fromIndex, int? toIndex}) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #moveFavorite, [], {#fromIndex: fromIndex, #toIndex: toIndex}),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<bool> checkForDuplicate(String? name) =>
+      (super.noSuchMethod(Invocation.method(#checkForDuplicate, [name]),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<String?> getWalletId(String? walletName) =>
+      (super.noSuchMethod(Invocation.method(#getWalletId, [walletName]),
+          returnValue: Future<String?>.value()) as _i16.Future<String?>);
+  @override
+  _i16.Future<bool> isMnemonicVerified({String? walletId}) =>
+      (super.noSuchMethod(
+          Invocation.method(#isMnemonicVerified, [], {#walletId: walletId}),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<void> setMnemonicVerified({String? walletId}) =>
+      (super.noSuchMethod(
+          Invocation.method(#setMnemonicVerified, [], {#walletId: walletId}),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<int> deleteWallet(String? name, bool? shouldNotifyListeners) =>
+      (super.noSuchMethod(
+          Invocation.method(#deleteWallet, [name, shouldNotifyListeners]),
+          returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<void> refreshWallets(bool? shouldNotifyListeners) =>
+      (super.noSuchMethod(
+              Invocation.method(#refreshWallets, [shouldNotifyListeners]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  void addListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#addListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void removeListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
+      returnValueForMissingStub: null);
+  @override
+  void notifyListeners() =>
+      super.noSuchMethod(Invocation.method(#notifyListeners, []),
+          returnValueForMissingStub: null);
+}
+
+/// A class which mocks [BitcoinWallet].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockBitcoinWallet extends _i1.Mock implements _i19.BitcoinWallet {
+  MockBitcoinWallet() {
+    _i1.throwOnMissingStub(this);
+  }
+
+  @override
+  set timer(_i16.Timer? _timer) =>
+      super.noSuchMethod(Invocation.setter(#timer, _timer),
+          returnValueForMissingStub: null);
+  @override
+  _i7.TransactionNotificationTracker get txTracker =>
+      (super.noSuchMethod(Invocation.getter(#txTracker),
+              returnValue: _FakeTransactionNotificationTracker_4())
+          as _i7.TransactionNotificationTracker);
+  @override
+  set txTracker(_i7.TransactionNotificationTracker? _txTracker) =>
+      super.noSuchMethod(Invocation.setter(#txTracker, _txTracker),
+          returnValueForMissingStub: null);
+  @override
+  List<_i8.UtxoObject> get outputsList =>
+      (super.noSuchMethod(Invocation.getter(#outputsList),
+          returnValue: <_i8.UtxoObject>[]) as List<_i8.UtxoObject>);
+  @override
+  set outputsList(List<_i8.UtxoObject>? _outputsList) =>
+      super.noSuchMethod(Invocation.setter(#outputsList, _outputsList),
+          returnValueForMissingStub: null);
+  @override
+  bool get longMutex =>
+      (super.noSuchMethod(Invocation.getter(#longMutex), returnValue: false)
+          as bool);
+  @override
+  set longMutex(bool? _longMutex) =>
+      super.noSuchMethod(Invocation.setter(#longMutex, _longMutex),
+          returnValueForMissingStub: null);
+  @override
+  bool get refreshMutex =>
+      (super.noSuchMethod(Invocation.getter(#refreshMutex), returnValue: false)
+          as bool);
+  @override
+  set refreshMutex(bool? _refreshMutex) =>
+      super.noSuchMethod(Invocation.setter(#refreshMutex, _refreshMutex),
+          returnValueForMissingStub: null);
+  @override
+  bool get isActive =>
+      (super.noSuchMethod(Invocation.getter(#isActive), returnValue: false)
+          as bool);
+  @override
+  set isActive(bool? _isActive) =>
+      super.noSuchMethod(Invocation.setter(#isActive, _isActive),
+          returnValueForMissingStub: null);
+  @override
+  set isFavorite(bool? markFavorite) =>
+      super.noSuchMethod(Invocation.setter(#isFavorite, markFavorite),
+          returnValueForMissingStub: null);
+  @override
+  bool get isFavorite =>
+      (super.noSuchMethod(Invocation.getter(#isFavorite), returnValue: false)
+          as bool);
+  @override
+  _i15.Coin get coin => (super.noSuchMethod(Invocation.getter(#coin),
+      returnValue: _i15.Coin.bitcoin) as _i15.Coin);
+  @override
+  _i16.Future<List<String>> get allOwnAddresses =>
+      (super.noSuchMethod(Invocation.getter(#allOwnAddresses),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  _i16.Future<_i8.UtxoData> get utxoData =>
+      (super.noSuchMethod(Invocation.getter(#utxoData),
+              returnValue: Future<_i8.UtxoData>.value(_FakeUtxoData_5()))
+          as _i16.Future<_i8.UtxoData>);
+  @override
+  _i16.Future<List<_i8.UtxoObject>> get unspentOutputs => (super.noSuchMethod(
+          Invocation.getter(#unspentOutputs),
+          returnValue: Future<List<_i8.UtxoObject>>.value(<_i8.UtxoObject>[]))
+      as _i16.Future<List<_i8.UtxoObject>>);
+  @override
+  _i16.Future<_i9.Decimal> get availableBalance =>
+      (super.noSuchMethod(Invocation.getter(#availableBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get pendingBalance =>
+      (super.noSuchMethod(Invocation.getter(#pendingBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get balanceMinusMaxFee =>
+      (super.noSuchMethod(Invocation.getter(#balanceMinusMaxFee),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get totalBalance =>
+      (super.noSuchMethod(Invocation.getter(#totalBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<String> get currentReceivingAddress =>
+      (super.noSuchMethod(Invocation.getter(#currentReceivingAddress),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<String> get currentLegacyReceivingAddress =>
+      (super.noSuchMethod(Invocation.getter(#currentLegacyReceivingAddress),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<String> get currentReceivingAddressP2SH =>
+      (super.noSuchMethod(Invocation.getter(#currentReceivingAddressP2SH),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  bool get hasCalledExit =>
+      (super.noSuchMethod(Invocation.getter(#hasCalledExit), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<_i8.FeeObject> get fees =>
+      (super.noSuchMethod(Invocation.getter(#fees),
+              returnValue: Future<_i8.FeeObject>.value(_FakeFeeObject_7()))
+          as _i16.Future<_i8.FeeObject>);
+  @override
+  _i16.Future<int> get maxFee => (super.noSuchMethod(Invocation.getter(#maxFee),
+      returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<List<String>> get mnemonic =>
+      (super.noSuchMethod(Invocation.getter(#mnemonic),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  _i16.Future<int> get chainHeight =>
+      (super.noSuchMethod(Invocation.getter(#chainHeight),
+          returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  int get storedChainHeight =>
+      (super.noSuchMethod(Invocation.getter(#storedChainHeight), returnValue: 0)
+          as int);
+  @override
+  bool get shouldAutoSync => (super
+          .noSuchMethod(Invocation.getter(#shouldAutoSync), returnValue: false)
+      as bool);
+  @override
+  set shouldAutoSync(bool? shouldAutoSync) =>
+      super.noSuchMethod(Invocation.setter(#shouldAutoSync, shouldAutoSync),
+          returnValueForMissingStub: null);
+  @override
+  bool get isRefreshing =>
+      (super.noSuchMethod(Invocation.getter(#isRefreshing), returnValue: false)
+          as bool);
+  @override
+  bool get isConnected =>
+      (super.noSuchMethod(Invocation.getter(#isConnected), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<_i8.TransactionData> get transactionData =>
+      (super.noSuchMethod(Invocation.getter(#transactionData),
+              returnValue:
+                  Future<_i8.TransactionData>.value(_FakeTransactionData_8()))
+          as _i16.Future<_i8.TransactionData>);
+  @override
+  String get walletId =>
+      (super.noSuchMethod(Invocation.getter(#walletId), returnValue: '')
+          as String);
+  @override
+  String get walletName =>
+      (super.noSuchMethod(Invocation.getter(#walletName), returnValue: '')
+          as String);
+  @override
+  set walletName(String? newName) =>
+      super.noSuchMethod(Invocation.setter(#walletName, newName),
+          returnValueForMissingStub: null);
+  @override
+  _i10.ElectrumX get electrumXClient =>
+      (super.noSuchMethod(Invocation.getter(#electrumXClient),
+          returnValue: _FakeElectrumX_9()) as _i10.ElectrumX);
+  @override
+  _i11.CachedElectrumX get cachedElectrumXClient =>
+      (super.noSuchMethod(Invocation.getter(#cachedElectrumXClient),
+          returnValue: _FakeCachedElectrumX_10()) as _i11.CachedElectrumX);
+  @override
+  set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) =>
+      super.noSuchMethod(
+          Invocation.setter(#onIsActiveWalletChanged, _onIsActiveWalletChanged),
+          returnValueForMissingStub: null);
+  @override
+  _i16.Future<void> exit() => (super.noSuchMethod(Invocation.method(#exit, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> updateStoredChainHeight({int? newHeight}) =>
+      (super.noSuchMethod(
+              Invocation.method(
+                  #updateStoredChainHeight, [], {#newHeight: newHeight}),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i19.DerivePathType addressType({String? address}) => (super.noSuchMethod(
+      Invocation.method(#addressType, [], {#address: address}),
+      returnValue: _i19.DerivePathType.bip44) as _i19.DerivePathType);
+  @override
+  _i16.Future<void> recoverFromMnemonic(
+          {String? mnemonic,
+          int? maxUnusedAddressGap,
+          int? maxNumberOfIndexesToCheck,
+          int? height}) =>
+      (super.noSuchMethod(
+              Invocation.method(#recoverFromMnemonic, [], {
+                #mnemonic: mnemonic,
+                #maxUnusedAddressGap: maxUnusedAddressGap,
+                #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck,
+                #height: height
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> getTransactionCacheEarly(List<String>? allAddresses) =>
+      (super.noSuchMethod(
+              Invocation.method(#getTransactionCacheEarly, [allAddresses]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<bool> refreshIfThereIsNewData() =>
+      (super.noSuchMethod(Invocation.method(#refreshIfThereIsNewData, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<void> getAllTxsToWatch(_i8.TransactionData? txData) =>
+      (super.noSuchMethod(Invocation.method(#getAllTxsToWatch, [txData]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> refresh() => (super.noSuchMethod(
+      Invocation.method(#refresh, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<Map<String, dynamic>> prepareSend(
+          {String? address, int? satoshiAmount, Map<String, dynamic>? args}) =>
+      (super.noSuchMethod(
+              Invocation.method(#prepareSend, [], {
+                #address: address,
+                #satoshiAmount: satoshiAmount,
+                #args: args
+              }),
+              returnValue:
+                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
+          as _i16.Future<Map<String, dynamic>>);
+  @override
+  _i16.Future<String> confirmSend({Map<String, dynamic>? txData}) => (super
+      .noSuchMethod(Invocation.method(#confirmSend, [], {#txData: txData}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<String> send(
+          {String? toAddress,
+          int? amount,
+          Map<String, String>? args = const {}}) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #send, [], {#toAddress: toAddress, #amount: amount, #args: args}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<bool> testNetworkConnection() =>
+      (super.noSuchMethod(Invocation.method(#testNetworkConnection, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  void startNetworkAlivePinging() =>
+      super.noSuchMethod(Invocation.method(#startNetworkAlivePinging, []),
+          returnValueForMissingStub: null);
+  @override
+  void stopNetworkAlivePinging() =>
+      super.noSuchMethod(Invocation.method(#stopNetworkAlivePinging, []),
+          returnValueForMissingStub: null);
+  @override
+  _i16.Future<void> initializeNew() => (super.noSuchMethod(
+      Invocation.method(#initializeNew, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> initializeExisting() => (super.noSuchMethod(
+      Invocation.method(#initializeExisting, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  bool validateAddress(String? address) =>
+      (super.noSuchMethod(Invocation.method(#validateAddress, [address]),
+          returnValue: false) as bool);
+  @override
+  _i16.Future<void> updateNode(bool? shouldRefresh) => (super.noSuchMethod(
+      Invocation.method(#updateNode, [shouldRefresh]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<_i10.ElectrumXNode> getCurrentNode() =>
+      (super.noSuchMethod(Invocation.method(#getCurrentNode, []),
+              returnValue:
+                  Future<_i10.ElectrumXNode>.value(_FakeElectrumXNode_11()))
+          as _i16.Future<_i10.ElectrumXNode>);
+  @override
+  _i16.Future<void> addDerivation(
+          {int? chain,
+          String? address,
+          String? pubKey,
+          String? wif,
+          _i19.DerivePathType? derivePathType}) =>
+      (super.noSuchMethod(
+              Invocation.method(#addDerivation, [], {
+                #chain: chain,
+                #address: address,
+                #pubKey: pubKey,
+                #wif: wif,
+                #derivePathType: derivePathType
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> addDerivations(
+          {int? chain,
+          _i19.DerivePathType? derivePathType,
+          Map<String, dynamic>? derivationsToAdd}) =>
+      (super.noSuchMethod(
+              Invocation.method(#addDerivations, [], {
+                #chain: chain,
+                #derivePathType: derivePathType,
+                #derivationsToAdd: derivationsToAdd
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<int> getTxCount({String? address}) => (super.noSuchMethod(
+      Invocation.method(#getTxCount, [], {#address: address}),
+      returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<void> checkCurrentReceivingAddressesForTransactions() =>
+      (super.noSuchMethod(
+          Invocation.method(#checkCurrentReceivingAddressesForTransactions, []),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> checkCurrentChangeAddressesForTransactions() =>
+      (super.noSuchMethod(
+          Invocation.method(#checkCurrentChangeAddressesForTransactions, []),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<List<Map<String, dynamic>>> fastFetch(
+          List<String>? allTxHashes) =>
+      (super.noSuchMethod(Invocation.method(#fastFetch, [allTxHashes]),
+              returnValue: Future<List<Map<String, dynamic>>>.value(
+                  <Map<String, dynamic>>[]))
+          as _i16.Future<List<Map<String, dynamic>>>);
+  @override
+  int estimateTxFee({int? vSize, int? feeRatePerKB}) => (super.noSuchMethod(
+      Invocation.method(
+          #estimateTxFee, [], {#vSize: vSize, #feeRatePerKB: feeRatePerKB}),
+      returnValue: 0) as int);
+  @override
+  dynamic coinSelection(int? satoshiAmountToSend, int? selectedTxFeeRate,
+          String? _recipientAddress, bool? isSendAll,
+          {int? additionalOutputs = 0, List<_i8.UtxoObject>? utxos}) =>
+      super.noSuchMethod(Invocation.method(#coinSelection, [
+        satoshiAmountToSend,
+        selectedTxFeeRate,
+        _recipientAddress,
+        isSendAll
+      ], {
+        #additionalOutputs: additionalOutputs,
+        #utxos: utxos
+      }));
+  @override
+  _i16.Future<Map<String, dynamic>> fetchBuildTxData(
+          List<_i8.UtxoObject>? utxosToUse) =>
+      (super.noSuchMethod(Invocation.method(#fetchBuildTxData, [utxosToUse]),
+              returnValue:
+                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
+          as _i16.Future<Map<String, dynamic>>);
+  @override
+  _i16.Future<Map<String, dynamic>> buildTransaction(
+          {List<_i8.UtxoObject>? utxosToUse,
+          Map<String, dynamic>? utxoSigningData,
+          List<String>? recipients,
+          List<int>? satoshiAmounts}) =>
+      (super.noSuchMethod(
+              Invocation.method(#buildTransaction, [], {
+                #utxosToUse: utxosToUse,
+                #utxoSigningData: utxoSigningData,
+                #recipients: recipients,
+                #satoshiAmounts: satoshiAmounts
+              }),
+              returnValue:
+                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
+          as _i16.Future<Map<String, dynamic>>);
+  @override
+  _i16.Future<void> fullRescan(
+          int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #fullRescan, [maxUnusedAddressGap, maxNumberOfIndexesToCheck]),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<int> estimateFeeFor(int? satoshiAmount, int? feeRate) =>
+      (super.noSuchMethod(
+          Invocation.method(#estimateFeeFor, [satoshiAmount, feeRate]),
+          returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  int roughFeeEstimate(int? inputCount, int? outputCount, int? feeRatePerKB) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #roughFeeEstimate, [inputCount, outputCount, feeRatePerKB]),
+          returnValue: 0) as int);
+  @override
+  int sweepAllEstimate(int? feeRate) =>
+      (super.noSuchMethod(Invocation.method(#sweepAllEstimate, [feeRate]),
+          returnValue: 0) as int);
+  @override
+  _i16.Future<bool> generateNewAddress() =>
+      (super.noSuchMethod(Invocation.method(#generateNewAddress, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+}
+
+/// A class which mocks [NodeService].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockNodeService extends _i1.Mock implements _i3.NodeService {
+  @override
+  _i12.FlutterSecureStorageInterface get secureStorageInterface =>
+      (super.noSuchMethod(Invocation.getter(#secureStorageInterface),
+              returnValue: _FakeFlutterSecureStorageInterface_12())
+          as _i12.FlutterSecureStorageInterface);
+  @override
+  List<_i20.NodeModel> get primaryNodes =>
+      (super.noSuchMethod(Invocation.getter(#primaryNodes),
+          returnValue: <_i20.NodeModel>[]) as List<_i20.NodeModel>);
+  @override
+  List<_i20.NodeModel> get nodes =>
+      (super.noSuchMethod(Invocation.getter(#nodes),
+          returnValue: <_i20.NodeModel>[]) as List<_i20.NodeModel>);
+  @override
+  bool get hasListeners =>
+      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<void> updateDefaults() => (super.noSuchMethod(
+      Invocation.method(#updateDefaults, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> setPrimaryNodeFor(
+          {_i15.Coin? coin,
+          _i20.NodeModel? node,
+          bool? shouldNotifyListeners = false}) =>
+      (super.noSuchMethod(
+              Invocation.method(#setPrimaryNodeFor, [], {
+                #coin: coin,
+                #node: node,
+                #shouldNotifyListeners: shouldNotifyListeners
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i20.NodeModel? getPrimaryNodeFor({_i15.Coin? coin}) => (super.noSuchMethod(
+          Invocation.method(#getPrimaryNodeFor, [], {#coin: coin}))
+      as _i20.NodeModel?);
+  @override
+  List<_i20.NodeModel> getNodesFor(_i15.Coin? coin) =>
+      (super.noSuchMethod(Invocation.method(#getNodesFor, [coin]),
+          returnValue: <_i20.NodeModel>[]) as List<_i20.NodeModel>);
+  @override
+  _i20.NodeModel? getNodeById({String? id}) =>
+      (super.noSuchMethod(Invocation.method(#getNodeById, [], {#id: id}))
+          as _i20.NodeModel?);
+  @override
+  List<_i20.NodeModel> failoverNodesFor({_i15.Coin? coin}) => (super
+      .noSuchMethod(Invocation.method(#failoverNodesFor, [], {#coin: coin}),
+          returnValue: <_i20.NodeModel>[]) as List<_i20.NodeModel>);
+  @override
+  _i16.Future<void> add(_i20.NodeModel? node, String? password,
+          bool? shouldNotifyListeners) =>
+      (super.noSuchMethod(
+              Invocation.method(#add, [node, password, shouldNotifyListeners]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> delete(String? id, bool? shouldNotifyListeners) => (super
+          .noSuchMethod(Invocation.method(#delete, [id, shouldNotifyListeners]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+      as _i16.Future<void>);
+  @override
+  _i16.Future<void> setEnabledState(
+          String? id, bool? enabled, bool? shouldNotifyListeners) =>
+      (super.noSuchMethod(
+              Invocation.method(
+                  #setEnabledState, [id, enabled, shouldNotifyListeners]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> edit(_i20.NodeModel? editedNode, String? password,
+          bool? shouldNotifyListeners) =>
+      (super.noSuchMethod(
+              Invocation.method(
+                  #edit, [editedNode, password, shouldNotifyListeners]),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> updateCommunityNodes() => (super.noSuchMethod(
+      Invocation.method(#updateCommunityNodes, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  void addListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#addListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void removeListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
+      returnValueForMissingStub: null);
+  @override
+  void notifyListeners() =>
+      super.noSuchMethod(Invocation.method(#notifyListeners, []),
+          returnValueForMissingStub: null);
+}
+
+/// A class which mocks [Manager].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockManager extends _i1.Mock implements _i6.Manager {
+  @override
+  bool get isActiveWallet => (super
+          .noSuchMethod(Invocation.getter(#isActiveWallet), returnValue: false)
+      as bool);
+  @override
+  set isActiveWallet(bool? isActive) =>
+      super.noSuchMethod(Invocation.setter(#isActiveWallet, isActive),
+          returnValueForMissingStub: null);
+  @override
+  _i13.CoinServiceAPI get wallet =>
+      (super.noSuchMethod(Invocation.getter(#wallet),
+          returnValue: _FakeCoinServiceAPI_13()) as _i13.CoinServiceAPI);
+  @override
+  bool get hasBackgroundRefreshListener =>
+      (super.noSuchMethod(Invocation.getter(#hasBackgroundRefreshListener),
+          returnValue: false) as bool);
+  @override
+  _i15.Coin get coin => (super.noSuchMethod(Invocation.getter(#coin),
+      returnValue: _i15.Coin.bitcoin) as _i15.Coin);
+  @override
+  bool get isRefreshing =>
+      (super.noSuchMethod(Invocation.getter(#isRefreshing), returnValue: false)
+          as bool);
+  @override
+  bool get shouldAutoSync => (super
+          .noSuchMethod(Invocation.getter(#shouldAutoSync), returnValue: false)
+      as bool);
+  @override
+  set shouldAutoSync(bool? shouldAutoSync) =>
+      super.noSuchMethod(Invocation.setter(#shouldAutoSync, shouldAutoSync),
+          returnValueForMissingStub: null);
+  @override
+  bool get isFavorite =>
+      (super.noSuchMethod(Invocation.getter(#isFavorite), returnValue: false)
+          as bool);
+  @override
+  set isFavorite(bool? markFavorite) =>
+      super.noSuchMethod(Invocation.setter(#isFavorite, markFavorite),
+          returnValueForMissingStub: null);
+  @override
+  _i16.Future<_i8.FeeObject> get fees =>
+      (super.noSuchMethod(Invocation.getter(#fees),
+              returnValue: Future<_i8.FeeObject>.value(_FakeFeeObject_7()))
+          as _i16.Future<_i8.FeeObject>);
+  @override
+  _i16.Future<int> get maxFee => (super.noSuchMethod(Invocation.getter(#maxFee),
+      returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<String> get currentReceivingAddress =>
+      (super.noSuchMethod(Invocation.getter(#currentReceivingAddress),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<_i9.Decimal> get availableBalance =>
+      (super.noSuchMethod(Invocation.getter(#availableBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i9.Decimal get cachedAvailableBalance =>
+      (super.noSuchMethod(Invocation.getter(#cachedAvailableBalance),
+          returnValue: _FakeDecimal_6()) as _i9.Decimal);
+  @override
+  _i16.Future<_i9.Decimal> get pendingBalance =>
+      (super.noSuchMethod(Invocation.getter(#pendingBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get balanceMinusMaxFee =>
+      (super.noSuchMethod(Invocation.getter(#balanceMinusMaxFee),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get totalBalance =>
+      (super.noSuchMethod(Invocation.getter(#totalBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i9.Decimal get cachedTotalBalance =>
+      (super.noSuchMethod(Invocation.getter(#cachedTotalBalance),
+          returnValue: _FakeDecimal_6()) as _i9.Decimal);
+  @override
+  _i16.Future<List<String>> get allOwnAddresses =>
+      (super.noSuchMethod(Invocation.getter(#allOwnAddresses),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  _i16.Future<_i8.TransactionData> get transactionData =>
+      (super.noSuchMethod(Invocation.getter(#transactionData),
+              returnValue:
+                  Future<_i8.TransactionData>.value(_FakeTransactionData_8()))
+          as _i16.Future<_i8.TransactionData>);
+  @override
+  _i16.Future<List<_i8.UtxoObject>> get unspentOutputs => (super.noSuchMethod(
+          Invocation.getter(#unspentOutputs),
+          returnValue: Future<List<_i8.UtxoObject>>.value(<_i8.UtxoObject>[]))
+      as _i16.Future<List<_i8.UtxoObject>>);
+  @override
+  set walletName(String? newName) =>
+      super.noSuchMethod(Invocation.setter(#walletName, newName),
+          returnValueForMissingStub: null);
+  @override
+  String get walletName =>
+      (super.noSuchMethod(Invocation.getter(#walletName), returnValue: '')
+          as String);
+  @override
+  String get walletId =>
+      (super.noSuchMethod(Invocation.getter(#walletId), returnValue: '')
+          as String);
+  @override
+  _i16.Future<List<String>> get mnemonic =>
+      (super.noSuchMethod(Invocation.getter(#mnemonic),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  bool get isConnected =>
+      (super.noSuchMethod(Invocation.getter(#isConnected), returnValue: false)
+          as bool);
+  @override
+  bool get hasListeners =>
+      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<void> updateNode(bool? shouldRefresh) => (super.noSuchMethod(
+      Invocation.method(#updateNode, [shouldRefresh]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
+      returnValueForMissingStub: null);
+  @override
+  _i16.Future<Map<String, dynamic>> prepareSend(
+          {String? address, int? satoshiAmount, Map<String, dynamic>? args}) =>
+      (super.noSuchMethod(
+              Invocation.method(#prepareSend, [], {
+                #address: address,
+                #satoshiAmount: satoshiAmount,
+                #args: args
+              }),
+              returnValue:
+                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
+          as _i16.Future<Map<String, dynamic>>);
+  @override
+  _i16.Future<String> confirmSend({Map<String, dynamic>? txData}) => (super
+      .noSuchMethod(Invocation.method(#confirmSend, [], {#txData: txData}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<String> send(
+          {String? toAddress,
+          int? amount,
+          Map<String, String>? args = const {}}) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #send, [], {#toAddress: toAddress, #amount: amount, #args: args}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<void> refresh() => (super.noSuchMethod(
+      Invocation.method(#refresh, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  bool validateAddress(String? address) =>
+      (super.noSuchMethod(Invocation.method(#validateAddress, [address]),
+          returnValue: false) as bool);
+  @override
+  _i16.Future<bool> testNetworkConnection() =>
+      (super.noSuchMethod(Invocation.method(#testNetworkConnection, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<void> initializeNew() => (super.noSuchMethod(
+      Invocation.method(#initializeNew, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> initializeExisting() => (super.noSuchMethod(
+      Invocation.method(#initializeExisting, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> recoverFromMnemonic(
+          {String? mnemonic,
+          int? maxUnusedAddressGap,
+          int? maxNumberOfIndexesToCheck,
+          int? height}) =>
+      (super.noSuchMethod(
+              Invocation.method(#recoverFromMnemonic, [], {
+                #mnemonic: mnemonic,
+                #maxUnusedAddressGap: maxUnusedAddressGap,
+                #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck,
+                #height: height
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> exitCurrentWallet() => (super.noSuchMethod(
+      Invocation.method(#exitCurrentWallet, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> fullRescan(
+          int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #fullRescan, [maxUnusedAddressGap, maxNumberOfIndexesToCheck]),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<bool> isOwnAddress(String? address) =>
+      (super.noSuchMethod(Invocation.method(#isOwnAddress, [address]),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<int> estimateFeeFor(int? satoshiAmount, int? feeRate) =>
+      (super.noSuchMethod(
+          Invocation.method(#estimateFeeFor, [satoshiAmount, feeRate]),
+          returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<bool> generateNewAddress() =>
+      (super.noSuchMethod(Invocation.method(#generateNewAddress, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  void addListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#addListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void removeListener(_i18.VoidCallback? listener) =>
+      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
+          returnValueForMissingStub: null);
+  @override
+  void notifyListeners() =>
+      super.noSuchMethod(Invocation.method(#notifyListeners, []),
+          returnValueForMissingStub: null);
+}
+
+/// A class which mocks [CoinServiceAPI].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockCoinServiceAPI extends _i1.Mock implements _i13.CoinServiceAPI {
+  @override
+  set onIsActiveWalletChanged(void Function(bool)? _onIsActiveWalletChanged) =>
+      super.noSuchMethod(
+          Invocation.setter(#onIsActiveWalletChanged, _onIsActiveWalletChanged),
+          returnValueForMissingStub: null);
+  @override
+  _i15.Coin get coin => (super.noSuchMethod(Invocation.getter(#coin),
+      returnValue: _i15.Coin.bitcoin) as _i15.Coin);
+  @override
+  bool get isRefreshing =>
+      (super.noSuchMethod(Invocation.getter(#isRefreshing), returnValue: false)
+          as bool);
+  @override
+  bool get shouldAutoSync => (super
+          .noSuchMethod(Invocation.getter(#shouldAutoSync), returnValue: false)
+      as bool);
+  @override
+  set shouldAutoSync(bool? shouldAutoSync) =>
+      super.noSuchMethod(Invocation.setter(#shouldAutoSync, shouldAutoSync),
+          returnValueForMissingStub: null);
+  @override
+  bool get isFavorite =>
+      (super.noSuchMethod(Invocation.getter(#isFavorite), returnValue: false)
+          as bool);
+  @override
+  set isFavorite(bool? markFavorite) =>
+      super.noSuchMethod(Invocation.setter(#isFavorite, markFavorite),
+          returnValueForMissingStub: null);
+  @override
+  _i16.Future<_i8.FeeObject> get fees =>
+      (super.noSuchMethod(Invocation.getter(#fees),
+              returnValue: Future<_i8.FeeObject>.value(_FakeFeeObject_7()))
+          as _i16.Future<_i8.FeeObject>);
+  @override
+  _i16.Future<int> get maxFee => (super.noSuchMethod(Invocation.getter(#maxFee),
+      returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<String> get currentReceivingAddress =>
+      (super.noSuchMethod(Invocation.getter(#currentReceivingAddress),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<_i9.Decimal> get availableBalance =>
+      (super.noSuchMethod(Invocation.getter(#availableBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get pendingBalance =>
+      (super.noSuchMethod(Invocation.getter(#pendingBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get totalBalance =>
+      (super.noSuchMethod(Invocation.getter(#totalBalance),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<_i9.Decimal> get balanceMinusMaxFee =>
+      (super.noSuchMethod(Invocation.getter(#balanceMinusMaxFee),
+              returnValue: Future<_i9.Decimal>.value(_FakeDecimal_6()))
+          as _i16.Future<_i9.Decimal>);
+  @override
+  _i16.Future<List<String>> get allOwnAddresses =>
+      (super.noSuchMethod(Invocation.getter(#allOwnAddresses),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  _i16.Future<_i8.TransactionData> get transactionData =>
+      (super.noSuchMethod(Invocation.getter(#transactionData),
+              returnValue:
+                  Future<_i8.TransactionData>.value(_FakeTransactionData_8()))
+          as _i16.Future<_i8.TransactionData>);
+  @override
+  _i16.Future<List<_i8.UtxoObject>> get unspentOutputs => (super.noSuchMethod(
+          Invocation.getter(#unspentOutputs),
+          returnValue: Future<List<_i8.UtxoObject>>.value(<_i8.UtxoObject>[]))
+      as _i16.Future<List<_i8.UtxoObject>>);
+  @override
+  set walletName(String? newName) =>
+      super.noSuchMethod(Invocation.setter(#walletName, newName),
+          returnValueForMissingStub: null);
+  @override
+  String get walletName =>
+      (super.noSuchMethod(Invocation.getter(#walletName), returnValue: '')
+          as String);
+  @override
+  String get walletId =>
+      (super.noSuchMethod(Invocation.getter(#walletId), returnValue: '')
+          as String);
+  @override
+  _i16.Future<List<String>> get mnemonic =>
+      (super.noSuchMethod(Invocation.getter(#mnemonic),
+              returnValue: Future<List<String>>.value(<String>[]))
+          as _i16.Future<List<String>>);
+  @override
+  bool get hasCalledExit =>
+      (super.noSuchMethod(Invocation.getter(#hasCalledExit), returnValue: false)
+          as bool);
+  @override
+  bool get isConnected =>
+      (super.noSuchMethod(Invocation.getter(#isConnected), returnValue: false)
+          as bool);
+  @override
+  _i16.Future<Map<String, dynamic>> prepareSend(
+          {String? address, int? satoshiAmount, Map<String, dynamic>? args}) =>
+      (super.noSuchMethod(
+              Invocation.method(#prepareSend, [], {
+                #address: address,
+                #satoshiAmount: satoshiAmount,
+                #args: args
+              }),
+              returnValue:
+                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
+          as _i16.Future<Map<String, dynamic>>);
+  @override
+  _i16.Future<String> confirmSend({Map<String, dynamic>? txData}) => (super
+      .noSuchMethod(Invocation.method(#confirmSend, [], {#txData: txData}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<String> send(
+          {String? toAddress, int? amount, Map<String, String>? args}) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #send, [], {#toAddress: toAddress, #amount: amount, #args: args}),
+          returnValue: Future<String>.value('')) as _i16.Future<String>);
+  @override
+  _i16.Future<void> refresh() => (super.noSuchMethod(
+      Invocation.method(#refresh, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> updateNode(bool? shouldRefresh) => (super.noSuchMethod(
+      Invocation.method(#updateNode, [shouldRefresh]),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  bool validateAddress(String? address) =>
+      (super.noSuchMethod(Invocation.method(#validateAddress, [address]),
+          returnValue: false) as bool);
+  @override
+  _i16.Future<bool> testNetworkConnection() =>
+      (super.noSuchMethod(Invocation.method(#testNetworkConnection, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+  @override
+  _i16.Future<void> recoverFromMnemonic(
+          {String? mnemonic,
+          int? maxUnusedAddressGap,
+          int? maxNumberOfIndexesToCheck,
+          int? height}) =>
+      (super.noSuchMethod(
+              Invocation.method(#recoverFromMnemonic, [], {
+                #mnemonic: mnemonic,
+                #maxUnusedAddressGap: maxUnusedAddressGap,
+                #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck,
+                #height: height
+              }),
+              returnValue: Future<void>.value(),
+              returnValueForMissingStub: Future<void>.value())
+          as _i16.Future<void>);
+  @override
+  _i16.Future<void> initializeNew() => (super.noSuchMethod(
+      Invocation.method(#initializeNew, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> initializeExisting() => (super.noSuchMethod(
+      Invocation.method(#initializeExisting, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> exit() => (super.noSuchMethod(Invocation.method(#exit, []),
+      returnValue: Future<void>.value(),
+      returnValueForMissingStub: Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<void> fullRescan(
+          int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck) =>
+      (super.noSuchMethod(
+          Invocation.method(
+              #fullRescan, [maxUnusedAddressGap, maxNumberOfIndexesToCheck]),
+          returnValue: Future<void>.value(),
+          returnValueForMissingStub:
+              Future<void>.value()) as _i16.Future<void>);
+  @override
+  _i16.Future<int> estimateFeeFor(int? satoshiAmount, int? feeRate) =>
+      (super.noSuchMethod(
+          Invocation.method(#estimateFeeFor, [satoshiAmount, feeRate]),
+          returnValue: Future<int>.value(0)) as _i16.Future<int>);
+  @override
+  _i16.Future<bool> generateNewAddress() =>
+      (super.noSuchMethod(Invocation.method(#generateNewAddress, []),
+          returnValue: Future<bool>.value(false)) as _i16.Future<bool>);
+}
diff --git a/test/widget_tests/wallet_info_row_test.dart b/test/widget_tests/wallet_info_row_test.dart
deleted file mode 100644
index d9537f6c0..000000000
--- a/test/widget_tests/wallet_info_row_test.dart
+++ /dev/null
@@ -1,57 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:flutter_test/flutter_test.dart';
-import 'package:mockito/annotations.dart';
-import 'package:mockito/mockito.dart';
-import 'package:stackwallet/providers/providers.dart';
-import 'package:stackwallet/services/coins/manager.dart';
-import 'package:stackwallet/services/wallets.dart';
-import 'package:stackwallet/services/wallets_service.dart';
-import 'package:stackwallet/widgets/wallet_info_row/sub_widgets/wallet_info_row_balance_future.dart';
-import 'package:stackwallet/widgets/wallet_info_row/wallet_info_row.dart';
-import 'package:stackwallet/utilities/enums/coin_enum.dart';
-import 'package:stackwallet/utilities/theme/light_colors.dart';
-import 'package:stackwallet/utilities/theme/stack_colors.dart';
-
-// import '../screen_tests/lockscreen_view_screen_test.mocks.dart';
-import 'wallet_info_row_test.mocks.dart';
-
-@GenerateMocks([WalletsService],
-    customMocks: [MockSpec<Manager>(returnNullOnMissingStub: true)])
-void main() {
-  testWidgets("returns wallet info for given wallet id", (widgetTester) async {
-    final service = MockWalletsService();
-    // final mockManager = MockManager();
-
-    // String? walletId = await service.addNewWallet(
-    //     name: "Test", coin: Coin.bitcoin, shouldNotifyListeners: false);
-    // final managerProvider = ChangeNotifierProvider<Manager>((ref) => {
-    //   return service.get;
-    // });
-
-    when(service.addNewWallet(
-            name: "Test", coin: Coin.bitcoin, shouldNotifyListeners: false))
-        .thenAnswer((_) => Future(() => "some wallet id"));
-
-    // when(service.getWalletId(walletName))
-    await widgetTester.pumpWidget(
-      ProviderScope(
-        overrides: [
-          walletsServiceChangeNotifierProvider.overrideWithValue(service),
-        ],
-        child: MaterialApp(
-          theme: ThemeData(
-            extensions: [
-              StackColors.fromStackColorTheme(
-                LightColors(),
-              ),
-            ],
-          ),
-          home: const WalletInfoRowBalanceFuture(
-            walletId: "some wallet id",
-          ),
-        ),
-      ),
-    );
-  });
-}
diff --git a/test/widget_tests/wallet_info_row_test.mocks.dart b/test/widget_tests/wallet_info_row_test.mocks.dart
deleted file mode 100644
index cca9a6ca5..000000000
--- a/test/widget_tests/wallet_info_row_test.mocks.dart
+++ /dev/null
@@ -1,393 +0,0 @@
-// Mocks generated by Mockito 5.2.0 from annotations
-// in stackwallet/test/widget_tests/wallet_info_row_test.dart.
-// Do not manually edit this file.
-
-import 'dart:async' as _i6;
-import 'dart:ui' as _i8;
-
-import 'package:decimal/decimal.dart' as _i4;
-import 'package:mockito/mockito.dart' as _i1;
-import 'package:stackwallet/models/models.dart' as _i3;
-import 'package:stackwallet/services/coins/coin_service.dart' as _i2;
-import 'package:stackwallet/services/coins/manager.dart' as _i9;
-import 'package:stackwallet/services/wallets_service.dart' as _i5;
-import 'package:stackwallet/utilities/enums/coin_enum.dart' as _i7;
-
-// ignore_for_file: type=lint
-// ignore_for_file: avoid_redundant_argument_values
-// ignore_for_file: avoid_setters_without_getters
-// ignore_for_file: comment_references
-// ignore_for_file: implementation_imports
-// ignore_for_file: invalid_use_of_visible_for_testing_member
-// ignore_for_file: prefer_const_constructors
-// ignore_for_file: unnecessary_parenthesis
-// ignore_for_file: camel_case_types
-
-class _FakeCoinServiceAPI_0 extends _i1.Fake implements _i2.CoinServiceAPI {}
-
-class _FakeFeeObject_1 extends _i1.Fake implements _i3.FeeObject {}
-
-class _FakeDecimal_2 extends _i1.Fake implements _i4.Decimal {}
-
-class _FakeTransactionData_3 extends _i1.Fake implements _i3.TransactionData {}
-
-/// A class which mocks [WalletsService].
-///
-/// See the documentation for Mockito's code generation for more information.
-class MockWalletsService extends _i1.Mock implements _i5.WalletsService {
-  MockWalletsService() {
-    _i1.throwOnMissingStub(this);
-  }
-
-  @override
-  _i6.Future<Map<String, _i5.WalletInfo>> get walletNames =>
-      (super.noSuchMethod(Invocation.getter(#walletNames),
-              returnValue: Future<Map<String, _i5.WalletInfo>>.value(
-                  <String, _i5.WalletInfo>{}))
-          as _i6.Future<Map<String, _i5.WalletInfo>>);
-  @override
-  bool get hasListeners =>
-      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
-          as bool);
-  @override
-  _i6.Future<bool> renameWallet(
-          {String? from, String? to, bool? shouldNotifyListeners}) =>
-      (super.noSuchMethod(
-          Invocation.method(#renameWallet, [], {
-            #from: from,
-            #to: to,
-            #shouldNotifyListeners: shouldNotifyListeners
-          }),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  _i6.Future<void> addExistingStackWallet(
-          {String? name,
-          String? walletId,
-          _i7.Coin? coin,
-          bool? shouldNotifyListeners}) =>
-      (super.noSuchMethod(
-          Invocation.method(#addExistingStackWallet, [], {
-            #name: name,
-            #walletId: walletId,
-            #coin: coin,
-            #shouldNotifyListeners: shouldNotifyListeners
-          }),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<String?> addNewWallet(
-          {String? name, _i7.Coin? coin, bool? shouldNotifyListeners}) =>
-      (super.noSuchMethod(
-          Invocation.method(#addNewWallet, [], {
-            #name: name,
-            #coin: coin,
-            #shouldNotifyListeners: shouldNotifyListeners
-          }),
-          returnValue: Future<String?>.value()) as _i6.Future<String?>);
-  @override
-  _i6.Future<List<String>> getFavoriteWalletIds() =>
-      (super.noSuchMethod(Invocation.method(#getFavoriteWalletIds, []),
-              returnValue: Future<List<String>>.value(<String>[]))
-          as _i6.Future<List<String>>);
-  @override
-  _i6.Future<void> saveFavoriteWalletIds(List<String>? walletIds) => (super
-      .noSuchMethod(Invocation.method(#saveFavoriteWalletIds, [walletIds]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> addFavorite(String? walletId) =>
-      (super.noSuchMethod(Invocation.method(#addFavorite, [walletId]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> removeFavorite(String? walletId) =>
-      (super.noSuchMethod(Invocation.method(#removeFavorite, [walletId]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> moveFavorite({int? fromIndex, int? toIndex}) =>
-      (super.noSuchMethod(
-          Invocation.method(
-              #moveFavorite, [], {#fromIndex: fromIndex, #toIndex: toIndex}),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<bool> checkForDuplicate(String? name) =>
-      (super.noSuchMethod(Invocation.method(#checkForDuplicate, [name]),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  _i6.Future<String?> getWalletId(String? walletName) =>
-      (super.noSuchMethod(Invocation.method(#getWalletId, [walletName]),
-          returnValue: Future<String?>.value()) as _i6.Future<String?>);
-  @override
-  _i6.Future<bool> isMnemonicVerified({String? walletId}) =>
-      (super.noSuchMethod(
-          Invocation.method(#isMnemonicVerified, [], {#walletId: walletId}),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  _i6.Future<void> setMnemonicVerified({String? walletId}) =>
-      (super.noSuchMethod(
-          Invocation.method(#setMnemonicVerified, [], {#walletId: walletId}),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<int> deleteWallet(String? name, bool? shouldNotifyListeners) =>
-      (super.noSuchMethod(
-          Invocation.method(#deleteWallet, [name, shouldNotifyListeners]),
-          returnValue: Future<int>.value(0)) as _i6.Future<int>);
-  @override
-  _i6.Future<void> refreshWallets(bool? shouldNotifyListeners) => (super
-      .noSuchMethod(Invocation.method(#refreshWallets, [shouldNotifyListeners]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  void addListener(_i8.VoidCallback? listener) =>
-      super.noSuchMethod(Invocation.method(#addListener, [listener]),
-          returnValueForMissingStub: null);
-  @override
-  void removeListener(_i8.VoidCallback? listener) =>
-      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
-          returnValueForMissingStub: null);
-  @override
-  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
-      returnValueForMissingStub: null);
-  @override
-  void notifyListeners() =>
-      super.noSuchMethod(Invocation.method(#notifyListeners, []),
-          returnValueForMissingStub: null);
-}
-
-/// A class which mocks [Manager].
-///
-/// See the documentation for Mockito's code generation for more information.
-class MockManager extends _i1.Mock implements _i9.Manager {
-  @override
-  bool get isActiveWallet => (super
-          .noSuchMethod(Invocation.getter(#isActiveWallet), returnValue: false)
-      as bool);
-  @override
-  set isActiveWallet(bool? isActive) =>
-      super.noSuchMethod(Invocation.setter(#isActiveWallet, isActive),
-          returnValueForMissingStub: null);
-  @override
-  _i2.CoinServiceAPI get wallet =>
-      (super.noSuchMethod(Invocation.getter(#wallet),
-          returnValue: _FakeCoinServiceAPI_0()) as _i2.CoinServiceAPI);
-  @override
-  bool get hasBackgroundRefreshListener =>
-      (super.noSuchMethod(Invocation.getter(#hasBackgroundRefreshListener),
-          returnValue: false) as bool);
-  @override
-  _i7.Coin get coin => (super.noSuchMethod(Invocation.getter(#coin),
-      returnValue: _i7.Coin.bitcoin) as _i7.Coin);
-  @override
-  bool get isRefreshing =>
-      (super.noSuchMethod(Invocation.getter(#isRefreshing), returnValue: false)
-          as bool);
-  @override
-  bool get shouldAutoSync => (super
-          .noSuchMethod(Invocation.getter(#shouldAutoSync), returnValue: false)
-      as bool);
-  @override
-  set shouldAutoSync(bool? shouldAutoSync) =>
-      super.noSuchMethod(Invocation.setter(#shouldAutoSync, shouldAutoSync),
-          returnValueForMissingStub: null);
-  @override
-  bool get isFavorite =>
-      (super.noSuchMethod(Invocation.getter(#isFavorite), returnValue: false)
-          as bool);
-  @override
-  set isFavorite(bool? markFavorite) =>
-      super.noSuchMethod(Invocation.setter(#isFavorite, markFavorite),
-          returnValueForMissingStub: null);
-  @override
-  _i6.Future<_i3.FeeObject> get fees =>
-      (super.noSuchMethod(Invocation.getter(#fees),
-              returnValue: Future<_i3.FeeObject>.value(_FakeFeeObject_1()))
-          as _i6.Future<_i3.FeeObject>);
-  @override
-  _i6.Future<int> get maxFee => (super.noSuchMethod(Invocation.getter(#maxFee),
-      returnValue: Future<int>.value(0)) as _i6.Future<int>);
-  @override
-  _i6.Future<String> get currentReceivingAddress =>
-      (super.noSuchMethod(Invocation.getter(#currentReceivingAddress),
-          returnValue: Future<String>.value('')) as _i6.Future<String>);
-  @override
-  _i6.Future<_i4.Decimal> get availableBalance =>
-      (super.noSuchMethod(Invocation.getter(#availableBalance),
-              returnValue: Future<_i4.Decimal>.value(_FakeDecimal_2()))
-          as _i6.Future<_i4.Decimal>);
-  @override
-  _i4.Decimal get cachedAvailableBalance =>
-      (super.noSuchMethod(Invocation.getter(#cachedAvailableBalance),
-          returnValue: _FakeDecimal_2()) as _i4.Decimal);
-  @override
-  _i6.Future<_i4.Decimal> get pendingBalance =>
-      (super.noSuchMethod(Invocation.getter(#pendingBalance),
-              returnValue: Future<_i4.Decimal>.value(_FakeDecimal_2()))
-          as _i6.Future<_i4.Decimal>);
-  @override
-  _i6.Future<_i4.Decimal> get balanceMinusMaxFee =>
-      (super.noSuchMethod(Invocation.getter(#balanceMinusMaxFee),
-              returnValue: Future<_i4.Decimal>.value(_FakeDecimal_2()))
-          as _i6.Future<_i4.Decimal>);
-  @override
-  _i6.Future<_i4.Decimal> get totalBalance =>
-      (super.noSuchMethod(Invocation.getter(#totalBalance),
-              returnValue: Future<_i4.Decimal>.value(_FakeDecimal_2()))
-          as _i6.Future<_i4.Decimal>);
-  @override
-  _i4.Decimal get cachedTotalBalance =>
-      (super.noSuchMethod(Invocation.getter(#cachedTotalBalance),
-          returnValue: _FakeDecimal_2()) as _i4.Decimal);
-  @override
-  _i6.Future<List<String>> get allOwnAddresses =>
-      (super.noSuchMethod(Invocation.getter(#allOwnAddresses),
-              returnValue: Future<List<String>>.value(<String>[]))
-          as _i6.Future<List<String>>);
-  @override
-  _i6.Future<_i3.TransactionData> get transactionData =>
-      (super.noSuchMethod(Invocation.getter(#transactionData),
-              returnValue:
-                  Future<_i3.TransactionData>.value(_FakeTransactionData_3()))
-          as _i6.Future<_i3.TransactionData>);
-  @override
-  _i6.Future<List<_i3.UtxoObject>> get unspentOutputs => (super.noSuchMethod(
-          Invocation.getter(#unspentOutputs),
-          returnValue: Future<List<_i3.UtxoObject>>.value(<_i3.UtxoObject>[]))
-      as _i6.Future<List<_i3.UtxoObject>>);
-  @override
-  set walletName(String? newName) =>
-      super.noSuchMethod(Invocation.setter(#walletName, newName),
-          returnValueForMissingStub: null);
-  @override
-  String get walletName =>
-      (super.noSuchMethod(Invocation.getter(#walletName), returnValue: '')
-          as String);
-  @override
-  String get walletId =>
-      (super.noSuchMethod(Invocation.getter(#walletId), returnValue: '')
-          as String);
-  @override
-  _i6.Future<List<String>> get mnemonic =>
-      (super.noSuchMethod(Invocation.getter(#mnemonic),
-              returnValue: Future<List<String>>.value(<String>[]))
-          as _i6.Future<List<String>>);
-  @override
-  bool get isConnected =>
-      (super.noSuchMethod(Invocation.getter(#isConnected), returnValue: false)
-          as bool);
-  @override
-  bool get hasListeners =>
-      (super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false)
-          as bool);
-  @override
-  _i6.Future<void> updateNode(bool? shouldRefresh) =>
-      (super.noSuchMethod(Invocation.method(#updateNode, [shouldRefresh]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  void dispose() => super.noSuchMethod(Invocation.method(#dispose, []),
-      returnValueForMissingStub: null);
-  @override
-  _i6.Future<Map<String, dynamic>> prepareSend(
-          {String? address, int? satoshiAmount, Map<String, dynamic>? args}) =>
-      (super.noSuchMethod(
-              Invocation.method(#prepareSend, [], {
-                #address: address,
-                #satoshiAmount: satoshiAmount,
-                #args: args
-              }),
-              returnValue:
-                  Future<Map<String, dynamic>>.value(<String, dynamic>{}))
-          as _i6.Future<Map<String, dynamic>>);
-  @override
-  _i6.Future<String> confirmSend({Map<String, dynamic>? txData}) => (super
-      .noSuchMethod(Invocation.method(#confirmSend, [], {#txData: txData}),
-          returnValue: Future<String>.value('')) as _i6.Future<String>);
-  @override
-  _i6.Future<String> send(
-          {String? toAddress,
-          int? amount,
-          Map<String, String>? args = const {}}) =>
-      (super.noSuchMethod(
-          Invocation.method(
-              #send, [], {#toAddress: toAddress, #amount: amount, #args: args}),
-          returnValue: Future<String>.value('')) as _i6.Future<String>);
-  @override
-  _i6.Future<void> refresh() =>
-      (super.noSuchMethod(Invocation.method(#refresh, []),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  bool validateAddress(String? address) =>
-      (super.noSuchMethod(Invocation.method(#validateAddress, [address]),
-          returnValue: false) as bool);
-  @override
-  _i6.Future<bool> testNetworkConnection() =>
-      (super.noSuchMethod(Invocation.method(#testNetworkConnection, []),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  _i6.Future<void> initializeNew() =>
-      (super.noSuchMethod(Invocation.method(#initializeNew, []),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> initializeExisting() =>
-      (super.noSuchMethod(Invocation.method(#initializeExisting, []),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> recoverFromMnemonic(
-          {String? mnemonic,
-          int? maxUnusedAddressGap,
-          int? maxNumberOfIndexesToCheck,
-          int? height}) =>
-      (super.noSuchMethod(
-          Invocation.method(#recoverFromMnemonic, [], {
-            #mnemonic: mnemonic,
-            #maxUnusedAddressGap: maxUnusedAddressGap,
-            #maxNumberOfIndexesToCheck: maxNumberOfIndexesToCheck,
-            #height: height
-          }),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> exitCurrentWallet() =>
-      (super.noSuchMethod(Invocation.method(#exitCurrentWallet, []),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<void> fullRescan(
-          int? maxUnusedAddressGap, int? maxNumberOfIndexesToCheck) =>
-      (super.noSuchMethod(
-          Invocation.method(
-              #fullRescan, [maxUnusedAddressGap, maxNumberOfIndexesToCheck]),
-          returnValue: Future<void>.value(),
-          returnValueForMissingStub: Future<void>.value()) as _i6.Future<void>);
-  @override
-  _i6.Future<bool> isOwnAddress(String? address) =>
-      (super.noSuchMethod(Invocation.method(#isOwnAddress, [address]),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  _i6.Future<int> estimateFeeFor(int? satoshiAmount, int? feeRate) =>
-      (super.noSuchMethod(
-          Invocation.method(#estimateFeeFor, [satoshiAmount, feeRate]),
-          returnValue: Future<int>.value(0)) as _i6.Future<int>);
-  @override
-  _i6.Future<bool> generateNewAddress() =>
-      (super.noSuchMethod(Invocation.method(#generateNewAddress, []),
-          returnValue: Future<bool>.value(false)) as _i6.Future<bool>);
-  @override
-  void addListener(_i8.VoidCallback? listener) =>
-      super.noSuchMethod(Invocation.method(#addListener, [listener]),
-          returnValueForMissingStub: null);
-  @override
-  void removeListener(_i8.VoidCallback? listener) =>
-      super.noSuchMethod(Invocation.method(#removeListener, [listener]),
-          returnValueForMissingStub: null);
-  @override
-  void notifyListeners() =>
-      super.noSuchMethod(Invocation.method(#notifyListeners, []),
-          returnValueForMissingStub: null);
-}